Oracle 11g Release 2 在 CentOS 6.x 上的安裝涉及系統參數調整、依賴套件安裝、用戶環境配置等多個環節。本文整理了從作業系統安裝到資料庫啟動的完整步驟,並針對常見坑點(如 ksh 版本、中文字體、tmpfs 大小)給出解決方案。
chkconfig iptables off; chkconfig ip6tables off(生產環境請配置規則而非關閉)。/etc/selinux/config,設定 SELINUX=disabled,重啟生效。rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel libgcc libstdc++ libstdc++-devel libaio libaio-devel make sysstat
缺失套件可從安裝光盤或官方源安裝,例如:
rpm -ivh compat-libcap1-1.10-1.i686.rpm compat-libstdc++-33-3.2.3-69.el6.i686.rpm libaio-devel-0.3.107-10.el6.i686.rpm
rpm -q unixODBC unixODBC-devel
rpm -ivh unixODBC-2.2.14*.rpm unixODBC-devel-2.2.14*.rpm
官方文檔要求 ksh,但 CentOS 6 預設版本可能過新導致安裝程式報錯。建議安裝舊版:
wget ftp://.../ksh-20100621-18.el5.i386.rpm
wget ftp://.../pdksh-5.2.14-37.el5_8.1.i386.rpm
rpm -ivh ksh-20100621-18.el5.i386.rpm pdksh-5.2.14-37.el5_8.1.i386.rpm
mkdir -p /usr/share/fonts/zh_CN/TrueType
cd /usr/share/fonts/zh_CN/TrueType
wget ftp://.../zysong.ttf
# 刷新字體快取
fc-cache -fv
kernel.shmmni = 8192
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
執行 sysctl -p 生效。
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
session required pam_limits.so
groupadd oinstall
groupadd dba
groupadd oper
groupadd asmadmin
useradd -g oinstall -G dba,oper,asmadmin oracle
passwd oracle
mkdir -p /u01/app/oracle/product/11.2.0
mkdir /u01/oradata
chmod -R 755 /u01
chown -R oracle:oinstall /u01
編輯 /home/oracle/.bash_profile:
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0
export ORACLE_SID=ora
export PATH=$PATH:$ORACLE_HOME/bin:/usr/local/sbin:/usr/local/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export LANG="zh_CN.UTF-8"
export ORACLE_TERM=vt100
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
執行 source /home/oracle/.bash_profile 生效。
su - oracleunzip linux_11gR2_database_1of2.zip; unzip linux_11gR2_database_2of2.zipxhost +,或配置 SSH X11 Forwarding。cd database; ./runInstaller/tmp 空間不足,需調整 tmpfs 大小:/etc/fstab,修改 tmpfs 行:tmpfs /dev/shm tmpfs defaults,size=6g 0 0mount -o remount /dev/shm。wget ftp://.../rlwrap-0.37.tar.gz
tar zxvf rlwrap-0.37.tar.gz
cd rlwrap-0.37; ./configure; make && make install
echo 'alias sqlplus="rlwrap sqlplus"' >> /home/oracle/.bash_profile
sqlplus / as sysdba
@?/sqlplus/admin/help/hlpbld.sql helpus.sql
# 使用方式:HELP SHUTDOWN
certutil -setreg chain\minRSAPubKeyBitLength 512
startup / shutdown immediatelsnrctl start|stop|statusemctl start|stop dbconsoleSELECT username, default_tablespace FROM user_users;CREATE USER ... IDENTIFIED BY ...; GRANT CONNECT, RESOURCE TO ...;CentOS 6.5 安裝 Oracle 11g R2 的關鍵在於:系統依賴套件完整、核心參數達標、字體與 ksh 版本正確、tmpfs 空間足夠。按步驟操作並留意安裝程式的前置檢查報告,通常可順利完成部署。生產環境請參考 Oracle 官方安裝指南進行更嚴格的安全與效能調優。