本文將官方安裝指南精簡為 7 大關鍵階段,去除冗長截圖,聚焦核心參數與易踩坑點,適合快速部署參考。
# 1. 掛載 RHEL 5 安裝光碟/ISO
mount -o loop /path/rhel5.iso /mnt/cdrom
# 2. 安裝必要 RPM 套件(含相依)
cd /mnt/cdrom/Server
rpm -ivh gcc-4.1.2-*.el5 \
make-3.81-*.el5 \
binutils-2.17.50-*.el5 \
libaio-0.3.106-*.el5 \
libaio-devel-0.3.106-*.el5 \
glibc-2.5-*.el5 \
glibc-devel-2.5-*.el5 \
compat-libstdc++-33-3.2.3-*.el5 \
compat-libstdc++-devel-33-3.2.3-*.el5 \
sysstat-7.0.2-*.el5 \
unixODBC-2.2.11-*.el5 \
unixODBC-devel-2.2.11-*.el5
# 3. 驗證
rpm -q gcc make binutils libaio libaio-devel glibc glibc-devel compat-libstdc++-33 compat-libstdc++-devel sysstat unixODBC unixODBC-devel
避坑:compat-libstdc++-devel 在部分鏡像缺失,可忽略;libaio-devel 雙重安裝無害。
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
useradd -u 54321 -g oinstall -G dba,oper oracle
passwd oracle # 設定密碼
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01
chmod -R 775 /u01
# Oracle 11gR2 建議值
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 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
sysctl -p # 立即生效
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
# .bash_profile
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
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.AL32UTF8
export TNS_ADMIN=$ORACLE_HOME/network/admin
umask 022
# 作為 oracle 用戶
cd /home/oracle
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
cd database
./runInstaller # 需 X11 轉發或 VNC 桌面
安裝向導關鍵選項:
orcl.example.com,SID:orcl/u01/app/oracle/oradata/u01/app/oracle/fast_recovery_area,大小 10GB+# 終端顯示提示時,另開 root 終端執行
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
# 1. 修正 dbstart/dbshut 中的 LISTENER 家目錄變數
sed -i 's/ORACLE_HOME_LISTNER=$1/ORACLE_HOME_LISTNER=$ORACLE_HOME/' $ORACLE_HOME/bin/dbstart
sed -i 's/ORACLE_HOME_LISTNER=$1/ORACLE_HOME_LISTNER=$ORACLE_HOME/' $ORACLE_HOME/bin/dbshut
# 2. 設定 /etc/oratab 自動啟動
sed -i 's/orcl:\/u01\/app\/oracle\/product\/11.2.0\/dbhome_1:N/orcl:\/u01\/app\/oracle\/product\/11.2.0\/dbhome_1:Y/' /etc/oratab
# 3. 關閉 SELINUX(避免權限怪異)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# 4. 重啟 OS 驗證
reboot
sqlplus / as sysdba
SELECT INSTANCE_NAME, STATUS FROM V$INSTANCE;
-- 應顯示 OPEN
lsnrctl status
-- 應顯示 LISTENER 狀態 READY,服務 orcl 狀態 READY
| 現象 | 可能原因 | 對策 |
|---|---|---|
| runInstaller 報 DISPLAY 錯誤 | X11 轉發未開、非 oracle 用戶登入 | 啟用 X11 Forwarding,確保以 oracle 用戶圖形登入 |
| 安裝檢查失敗:缺套件 | RPM 未裝或版本不符 | yum install 缺失套件,或從光碟手動 rpm -ivh |
| 資料庫建立卡住 | 熵池不足 /dev/random 讀取阻塞 | 安裝 rng-tools 或掛載 haveged,或啟用 /dev/urandom |
| EM 無法啟動 | 主機名解析失敗、防火牆阻擋 5500/1158/3938 | /etc/hosts 正確映射 hostname,開放防火牆埠 |
遵循此精簡手冊,標準單實例部署可在 40 分鐘內完成。生產環境建議額外規劃 ASM 儲存、啟用 HugePages、配置審計與加密。