在Linux下安装Oracle 10g的步骤指南,如何在Linux系统上轻松安装Oracle 10g?,如何在Linux系统上轻松搞定Oracle 10g安装?

前天 3582阅读
在Linux系统上安装Oracle 10g需依次完成环境准备、软件配置及数据库创建,首先确保系统满足硬件要求(内存≥1GB,磁盘空间≥2.5GB),并安装必要的依赖包(如libaiogcc),修改内核参数(/etc/sysctl.conf)和用户限制(/etc/security/limits.conf),创建Oracle用户组及用户,解压安装包后,运行runInstaller启动图形化界面,按提示配置安装路径、字符集等选项,最后执行根脚本(root.sh)完成配置,并通过dbca工具创建数据库实例,安装后可通过sqlplus验证连接,建议关闭非必要服务以优化性能,注意:需提前配置正确的环境变量(如ORACLE_HOME)以避免常见错误。

在Linux系统上部署Oracle 10g数据库需要系统性地完成环境准备、软件配置和数据库创建三大步骤,首先需要确保系统满足最低硬件要求(包括内存、交换空间和磁盘空间),并安装必要的依赖包(如libaiogcc等),然后创建专用的Oracle用户和组,配置内核参数(通过/etc/sysctl.conf文件)及用户环境变量(在~/.bash_profile中设置),解压安装包后,运行runInstaller启动图形化安装界面,根据提示选择安装类型、设置目录路径和监听端口,安装过程中需要以root身份执行orainstRoot.shroot.sh两个关键脚本,最后使用DBCA工具创建数据库实例,并通过lsnrctl status命令验证监听服务状态,特别提醒:安装前应关闭防火墙和SELinux以避免潜在冲突,安装完成后建议使用SQL*Plus进行连接测试。

系统要求

硬件配置要求

  • 内存:最低1GB(生产环境推荐4GB以上,大型应用建议8GB或更高)
  • 交换空间
    • 物理内存≤2GB时:建议为物理内存的2倍
    • 2GB<物理内存<8GB时:建议为物理内存的1.5倍
    • 物理内存≥8GB时:建议与物理内存等量
  • 磁盘空间
    • 基础安装:至少5GB用于Oracle软件(考虑日志和临时文件)
    • 数据库文件:初始1.5GB起(根据实际数据量调整,建议预留50%增长空间)
    • 临时空间:建议1GB以上(用于安装过程中的解压操作)

操作系统兼容性

Oracle 10g支持以下主流Linux发行版及其特定版本:

发行版 支持版本 架构要求
Red Hat Enterprise Linux 0/4.0/5.0 32位/64位(需对应版本)
SUSE Linux Enterprise Server 9/10 32位/64位
Asianux 0/3.0 32位(亚洲地区专用)

在Linux下安装Oracle 10g的步骤指南,如何在Linux系统上轻松安装Oracle 10g?,如何在Linux系统上轻松搞定Oracle 10g安装? 第1张

(主流Linux发行版对Oracle 10g的支持情况对比图)

安装前准备工作

创建专用用户和组

# 创建Oracle安装组和管理组(推荐使用标准命名规范)
groupadd -g 1000 oinstall
groupadd -g 1001 dba
groupadd -g 1002 oper
# 创建Oracle用户并设置密码(建议禁止交互式登录)
useradd -u 1000 -g oinstall -G dba,oper -d /home/oracle -s /bin/bash oracle
echo "oracle:YourSecurePassword123" | chpasswd
# 创建必要的目录结构
mkdir -p /home/oracle/.ssh
chmod 700 /home/oracle/.ssh

规划安装目录结构

# 创建Oracle基础目录(遵循OFA标准)
mkdir -p /u01/app/oracle/product/10.2.0/db_1
mkdir -p /u01/app/oracle/{admin,cfgtoollogs,diag,fast_recovery_area}
# 设置目录权限(确保安全性与功能性平衡)
chown -R oracle:oinstall /u01
chmod -R 775 /u01
find /u01 -type d -exec chmod g+s {} \;

系统内核参数优化

编辑/etc/sysctl.conf文件,添加以下经过优化的参数配置:

# 共享内存设置(根据实际内存调整)
kernel.shmall = 1073741824  # 总共享内存页数
kernel.shmmax = 4294967296  # 最大共享内存段大小(4GB)
kernel.shmmni = 4096        # 共享内存段最大数量
# 信号量设置(进程间通信)
kernel.sem = 250 32000 100 128
# 参数说明:SEMMSL SEMMNS SEMOPM SEMMNI
# 文件系统优化
fs.file-max = 6815744       # 系统最大文件句柄数
fs.aio-max-nr = 1048576     # 异步IO请求数
# 网络参数优化(高并发环境需调整)
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

应用内核参数修改并验证:

sysctl -p
sysctl -a | grep -E 'shm|sem|file-max'

在Linux下安装Oracle 10g的步骤指南,如何在Linux系统上轻松安装Oracle 10g?,如何在Linux系统上轻松搞定Oracle 10g安装? 第2张

(系统内核参数优化前后性能对比示意图)

用户资源限制配置

编辑/etc/security/limits.conf文件,添加以下经过优化的限制设置:

# 进程数限制
oracle   soft   nproc    2047
oracle   hard   nproc    16384
# 文件描述符限制
oracle   soft   nofile   65536
oracle   hard   nofile   65536
# 堆栈大小限制
oracle   soft   stack    10240
oracle   hard   stack    32768
# 内存锁定限制(适用于RAC)
oracle   soft   memlock  3145728
oracle   hard   memlock  3145728

安装必要依赖包

根据不同发行版选择对应的安装命令:

RHEL/CentOS系统:

yum groupinstall -y "Development Tools"
yum install -y binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel \
    gcc gcc-c++ glibc glibc-common glibc-devel libaio libaio-devel libgcc \
    libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel \
    pdksh ksh xorg-x11-utils xorg-x11-xauth libXp

SLES系统:

zypper install -t pattern devel_basis
zypper install libaio1 libstdc++33 glibc-32bit libgcc_s1-32bit libXp6-32bit

Oracle 10g安装过程

配置Oracle用户环境变量

编辑~/.bash_profile文件,添加以下经过优化的环境配置:

# Oracle基础设置
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
# 路径设置
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
# 字符集设置(推荐使用Unicode)
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
# 终端和编辑器设置
export EDITOR=vi
export TERM=xterm-256color
# SQL*Plus优化设置
export SQLPATH=$ORACLE_HOME/sqlplus/admin

使配置立即生效:

source ~/.bash_profile

准备安装文件

# 创建临时目录并解压安装包
mkdir -p /tmp/oracle_install
unzip 10201_database_linux32.zip -d /tmp/oracle_install
# 验证文件完整性
cd /tmp/oracle_install/database
md5sum -c response/stage/Components/oracle.swd.jre/1.4.2.0.0/1/DataFiles/*.jar | grep FAILED
# 设置正确的文件权限
chown -R oracle:oinstall /tmp/oracle_install
find /tmp/oracle_install -type f -exec chmod 644 {} \;
find /tmp/oracle_install -type d -exec chmod 755 {} \;

在Linux下安装Oracle 10g的步骤指南,如何在Linux系统上轻松安装Oracle 10g?,如何在Linux系统上轻松搞定Oracle 10g安装? 第3张

(Oracle安装包解压过程及目录结构示意图)

启动图形化安装界面

# 设置DISPLAY变量(根据实际环境调整)
export DISPLAY=your_workstation_ip:0.0
xhost +local:oracle
# 解决可能的libXp依赖问题
if ! ldconfig -p | grep libXp.so.6; then
    yum install -y libXp
fi
# 启动安装程序(推荐使用静默模式检查先决条件)
cd /tmp/oracle_install/database
./runInstaller -ignoreSysPrereqs -waitforcompletion -silent \
    -responseFile /tmp/oracle_install/database/response/enterprise.rsp

图形界面安装步骤详解

  1. 欢迎界面

    • 选择"高级安装"模式以获得完整配置选项
    • 记录安装日志路径(默认在$ORACLE_BASE/oraInventory/logs
  2. 安装类型选择

    • 企业版(完整功能,包含分区选项、OLAP等)
    • 标准版(基础功能,适合中小型应用)
    • 自定义安装(可选组件,适合高级用户)
  3. Oracle主目录配置

    • 名称:OraDb10g_home1
    • 路径:$ORACLE_BASE/product/10.2.0/db_1
    • 验证目录可写性和空间充足性
  4. 产品组件选择

    • Oracle Database 10g
    • Oracle Net Services
    • Oracle Enterprise Manager
    • Oracle SQL Developer Kit
  5. 数据库配置

    • 全局数据库名:orcl.yourdomain.com
    • SID前缀:orcl(保持与$ORACLE_SID一致)
    • 字符集:AL32UTF8(Unicode,推荐)或ZHS16GBK(简体中文)
  6. 管理选项

    • 配置Database Control进行本地管理
    • 设置通知邮箱(可选)
    • 配置每日自动备份(建议启用)
  7. 数据库存储

    • 文件系统(默认)
    • ASM(需要额外配置)
    • 裸设备(高级配置)
  8. 备份与恢复

    • 启用自动备份
    • 设置快速恢复区(建议$ORACLE_BASE/fast_recovery_area
    • 配置备份计划
  9. 安全设置

    • 为SYS/SYSTEM设置复杂密码(12字符以上,含大小写、数字和特殊字符)
    • 选择是否使用相同的密码(生产环境不建议)

执行root脚本

安装完成后,按照提示以root身份执行以下脚本:

# 第一个脚本:配置inventory目录
/u01/app/oracle/oraInventory/orainstRoot.sh
# 第二个脚本:配置root权限
/u01/app/oracle/product/10.2.0/db_1/root.sh
# 验证执行结果
grep 'SUCCESS' /u01/app/oracle/oraInventory/logs/install*.log

安装后配置

启动数据库服务

# 启动监听器(详细模式)
su - oracle -c "lsnrctl start LISTENER"
# 连接数据库并启动实例
sqlplus / as sysdba <<EOF
STARTUP;
ALTER SYSTEM REGISTER;
SELECT status FROM v$instance;
EXIT;
EOF
# 验证监听状态
lsnrctl status | grep -E 'Service|Status'

配置自动启动

创建优化的系统服务脚本/etc/init.d/dbora

#!/bin/bash
# chkconfig: 345 99 10
# description: Oracle 10g auto start-stop script
ORACLE_OWNER=oracle
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
case "" in
'start')
    echo -n $"Starting Oracle DB: "
    su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME" >/var/log/oracle_start.log 2>&1
    su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole" >>/var/log/oracle_start.log 2>&1
    touch /var/lock/subsys/dbora
    echo "OK"
    ;;
'stop')
    echo -n $"Stopping Oracle DB: "
    su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole" >/var/log/oracle_stop.log 2>&1
    su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME" >>/var/log/oracle_stop.log 2>&1
    rm -f /var/lock/subsys/dbora
    echo "OK"
    ;;
'restart')
    
chmod 755 /etc/init.d/dbora
chkconfig --add dbora
chkconfig dbora on
systemctl enable dbora  # 对于systemd系统
stop

常见问题解决方案

start ;; *) echo "Usage:

图形界面显示问题

{start|stop|restart}" exit 1 esac exit 0

配置服务自启动:

# 确保X11转发配置正确
echo $DISPLAY  # 应显示类似 localhost:10.0
# 解决常见X11错误
yum install -y xorg-x11-xauth xorg-x11-fonts-* xorg-x11-utils
# 如果使用SSH转发
ssh -Y oracle@server_ip

依赖包缺失错误

# 使用yum-utils工具自动查找依赖
yum install -y yum-utils
repoquery --whatprovides "libaio.so.1"
# 安装32位兼容库
yum install -y libstdc++-*.i686 glibc-*.i686 libaio-*.i686
# 验证库文件
ldd $ORACLE_HOME/bin/oracle | grep "not found"

数据库连接问题

listener.ora 示例:
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = dbhost.example.com)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
  )
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
      (PROGRAM = extproc)
    )
  )
tnsnames.ora 示例:

检查并优化网络配置文件:

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dbhost.example.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl.example.com)
    )
  )
EMREP =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dbhost.example.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SID = orcl)
      (UR = A)
    )
  )

重要安全建议

版本升级计划

  • Oracle 10g已于2013年终止支持,存在已知安全漏洞
  • 建议迁移至Oracle 19c或21c等长期支持版本
    1. 如必须使用,应应用最新的补丁集(10.2.0.5)
      • 安全加固措施
        ALTER PROFILE DEFAULT LIMIT
          FAILED_LOGIN_ATTEMPTS 5
          PASSWORD_LIFE_TIME 90
          PASSWORD_REUSE_TIME 365
          PASSWORD_REUSE_MAX 10;
        REVOKE ALL ON SYS.USER$ FROM PUBLIC;
        REVOKE EXECUTE ON UTL_FILE FROM PUBLIC;
    2. AUDIT SELECT TABLE, UPDATE TABLE, INSERT TABLE, DELETE TABLE BY ACCESS;
      AUDIT EXECUTE PROCEDURE BY ACCESS;

      • 密码策略:备份策略优化
      • 最小权限原则:
        rman target / <<EOF
        RUN {
          ALLOCATE CHANNEL ch1 DEVICE TYPE DISK FORMAT '/backup/%U.bak';
          BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG;
          BACKUP CURRENT CONTROLFILE;
          CROSSCHECK BACKUP;
          DELETE NOPROMPT OBSOLETE;
        }
        EOF
      • 启用审计:性能监控方案
    3. BEGIN
        DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
      END;
      /

      • RMAN全备脚本示例:
        SELECT *
      • 自动生成AWR报告:
      • 关键指标监控:

      免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

      目录[+]