在 Linux 環境部署 Oracle 12c 是資料庫管理員的基本功之一。本文詳細記錄在 CentOS 6.5 64 位元系統上安裝 Oracle 12c 的完整流程,涵蓋系統前置作業、核心參數調校、使用者環境建置、圖形介面安裝設定,以及安裝過程中常見錯誤的排除方案,供讀者參考實作。
首先建立 Oracle 所需的使用者群組與安裝擁有者:
groupadd oinstall groupadd dba mkdir -p /u01/oracle useradd -g oinstall -G dba -d /u01/oracle oracle
說明: 家目錄指定為 /u01/oracle 亦可保留預設值。建立使用者後,需設定密碼並授權目錄權限:
passwd oracle chown -R oracle:oinstall /u01 chmod -R 775 /u01/
yum -y install tigervnc-server vncserver # 輸入密碼 ps -ef | grep vnc # 客戶端連線:IP:1
Oracle 12c 依賴大量開發函式庫與系統工具,請逐一確認或透過 yum 批次安裝:
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 glibc-devel-2.5 glibc-headers-2.5 kernel-headers-2.6.18 ksh-20060214 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
/etc/sysctl.conffs.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 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586
套用變更:/sbin/sysctl -p
/etc/security/limits.conforacle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
/etc/pam.d/loginsession required pam_limits.so
/etc/profileif [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
~/.bash_profileexport ORACLE_BASE=/u01 export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1 export ORACLE_SID=hxw168 export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
安裝程式需 X Server 支援,執行:
xdpyinfo | grep "name of display" # 輸出範例:name of display: :1.0 export DISPLAY=:1.0
編輯 /etc/hosts 確保 IP 與主機名對應:
192.168.198.188 oracle
12c 容器資料庫架構下,建立一般使用者需加上 C## 前綴,或在 PDB 中建立本地使用者。參考解決方案:外部連結
主機共享記憶體 (/dev/shm) 過小導致。調整方式:
vi /etc/fstab # 修改 tmpfs 掛載行 tmpfs /dev/shm tmpfs defaults,size=6G 0 0 # 重新掛載生效 mount -o remount /dev/shm
修改 $ORACLE_HOME/network/admin/listener.ora,確認 SID_LIST 區段包含正確的 ORACLE_HOME 與 SID_NAME,修改後重啟監聽:
lsnrctl stop lsnrctl start
# /etc/init.d/oracle su - oracle <結語
完成上述步驟即可在 CentOS 6.5 上成功部署 Oracle 12c。實務上建議依據硬體規格進一步調整 SGA/PGA 參數,並配合 RMAN 建立備份策略,確保生產環境穩定運行。