Oracle数据库作为企业级应用的主流选择,其Linux版本在稳定性和性能上表现优异。不过Oracle的安装向来以步骤繁琐著称,尤其是早期版本的RedHat系统,依赖包和内核参数的准备稍有遗漏就会在安装过程中报错。本文将以RedHat Enterprise Linux 5.5为例,完整演示Oracle 11g Release 2(11.2.0.1)的安装过程,包括安装前的系统准备、Oracle用户创建、环境变量配置、图形化安装以及安装后的验证,每一步都给出具体命令和注意事项。

一、安装前的系统检查与准备工作
在正式安装Oracle之前,需要先确认服务器的硬件条件是否达标。Oracle 11g对内存的要求是至少1GB物理内存,推荐2GB以上,交换分区(swap)一般是物理内存的1.5到2倍。可以用下面的命令查看当前系统的内存和交换分区情况:
grep MemTotal /proc/meminfo grep SwapTotal /proc/meminfo df -h /tmp df -h /u01
除了内存之外,磁盘空间也要提前规划。Oracle软件本身大约需要5GB左右的空间,如果后续还要创建数据库,建议为Oracle的安装目录单独划分一个分区或者逻辑卷,挂载点常用/u01,空间建议不低于15GB。/tmp目录的可用空间不应小于500MB,否则安装程序启动时就会直接报错退出。
接下来是安装依赖包。RedHat 5.5的安装光盘或者yum源中需要包含以下软件包,可以通过rpm -qa | grep 包名逐个检查,缺少的用rpm -ivh或者yum install补齐:
binutils-2.17.50.0.6 compat-libstdc++-33-3.2.3 elfutils-libelf-0.125 elfutils-libelf-devel-0.125 gcc-4.1.2 gcc-c++-4.1.2 glibc-2.5-24 glibc-common-2.5 libaio-0.3.106 libaio-devel-0.3.106 libgcc-4.1.2 libstdc++-4.1.2 libstdc++--devel-4.1.2 make-3.81 sysstat-7.0.2 unixODBC-2.2.11 unixODBC-devel-2.2.11
这里要特别提醒一点: compat-libstdc++-33 这个包在RedHat 5.5默认安装时经常缺失,而它恰恰是Oracle安装检查阶段的必检项。如果服务器可以联网,配置好yum源后直接批量安装是最省事的做法;如果是离线环境,就需要把安装光盘挂载到本地目录逐个安装rpm包。
二、修改内核参数并创建Oracle用户
Oracle对共享内存、信号量、端口范围等内核参数有明确要求。编辑/etc/sysctl.conf文件,在末尾追加以下内容:
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65535 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576
其中kernel.shmmax代表单个共享内存段的最大值,官方建议设置为物理内存的一半(单位是字节,上面示例对应512MB内存的场景),实际部署时要根据服务器内存大小换算。写完后执行/sbin/sysctl -p让参数立即生效,如果执行时报某个参数不存在的错误,说明当前内核版本不含该项,注释掉即可。
接着修改/etc/security/limits.conf,为Oracle用户设置进程数和文件句柄数的上限:
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65535
然后创建Oracle用户和相关用户组。Oracle建议使用两个组分别管理数据库的安装身份和日常维护身份:
groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle passwd oracle
创建完用户后,规划目录结构并授权。标准的Optimal Flexible Architecture(OFA)目录规范如下:
mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1 mkdir -p /u01/app/oracle/oradata mkdir /u01/app/oracle/inventory chown -R oracle:oinstall /u01 chmod -R 775 /u01
目录权限这里不要图省事直接给777,按chown加chmod 775的组合来设置,既保证oracle用户可以读写,又符合最小权限原则。另外还要在/etc/pam.d/login文件中添加session required /lib/security/pam_limits.so,确保limits.conf的配置能对会话生效。最后切换到oracle用户,在.bash_profile中配置环境变量:
export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export ORACLE_SID=orcl export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
写完执行source .bash_profile使其生效。注意ORACLE_SID不要超过8个字符,全局数据库名和环境变量中的SID保持一致可以避免后续启动时找不到实例的问题。
三、执行Oracle图形化安装
将Oracle 11g的安装包解压(两个zip包解压到同一目录会合并成database文件夹),以oracle用户身份登录图形界面或者通过xhost +配合Xmanager远程显示,进入database目录执行./runInstaller启动安装程序。如果界面出现乱码,是中文 locale 未安装导致的,可以先执行export LANG=en_US.UTF-8切换为英文界面再安装。
安装向导的第一步是取消勾选“I wish to receive security updates via My Oracle Support”,然后选择“Install database software only”,先只装软件不建库,这样逻辑更清晰,也方便出错时重来。选择“Single instance database installation”单实例安装,语言选English和Simplified Chinese。数据库版本建议选Enterprise Edition企业版,如果只是测试环境选Standard Edition也可以节省空间。
接下来安装程序会定位Oracle Base和Oracle Home路径,正常情况下会自动读取之前配置的环境变量,直接点下一步即可。安装前的环境检查(Prerequisite Checks)是最容易出问题的环节,常见的警告项处理方式如下:
- 物理内存不足:测试环境可以勾选Ignore忽略,生产环境必须扩容;
- 内核参数不匹配:回过头检查sysctl.conf并确认执行过sysctl -p;
- 缺少依赖包:根据列出的包名逐个补装,版本高于要求的可以勾选忽略;
- swap空间不足:临时扩容可以用dd命令创建一个文件作为补充swap。
所有检查通过或合理忽略后,点击Install开始复制文件。整个安装过程大约持续十几分钟到半小时不等,中途会弹出提示要求以root身份执行两个脚本:/u01/app/oracle/inventory/orainstRoot.sh和/u01/app/oracle/product/11.2.0/dbhome_1/root.sh。另开一个终端,用root登录依次执行这两个脚本,看到提示按回车接受默认路径即可,执行完成后回到图形界面点OK,整个软件安装就完成了。
四、使用DBCA创建数据库并验证安装结果
软件装好后,以oracle用户执行dbca启动数据库配置助手。选择“Create a Database”,模板选“General Purpose or Transaction Processing”通用用途。全局数据库名和SID填orcl,然后为SYS、SYSTEM等管理账户设置密码,测试环境可以用同一个密码简化操作,生产环境务必使用强密码并分开设置。
存储选项保持默认的文件系统即可,数据库文件位置默认放在$ORACLE_BASE/oradata下。闪回恢复区和归档模式在初建时可以先不开,后续有需要再通过SQL调整。字符集这一步很关键,如果应用主要处理中文数据,建议选择ZHS16GBK或者AL32UTF8,字符集一旦建库确定,后期修改非常麻烦。内存分配可以先用自动内存管理,设置SGA和PGA的总体目标值后由Oracle自动调节。所有选项确认后点击Finish开始建库,过程一般需要十分钟以上。
建库完成后还需要配置监听器,执行netca命令,选择Listener配置,添加一个名为LISTENER的监听,协议TCP,端口保持默认的1521。监听配置完成后验证整个环境是否就绪:
su - oracle lsnrctl status sqlplus / as sysdba SQL> select status from v$instance; SQL> select instance_name, version from v$instance;
如果lsnrctl status显示The command completed successfully,实例状态查询返回OPEN,说明数据库已经正常运行。最后可以设置开机自启动:编辑/etc/oratab将orcl一行末尾的N改为Y,再在/etc/rc.local中加入su - oracle -c "dbstart",这样服务器重启后数据库会自动拉起。至此,RedHat Linux 5.5平台上的Oracle 11g完整安装流程全部结束,剩下的就是根据业务需要创建表空间和用户了。
RedHat Linux 5.5Oracle 11g安装Linux数据库修改时间:2026-09-07 19:52:48