在 CentOS 6.3 (x86_64) 上安裝 Oracle 10g R2 (10.2.0.1) 需處理核心參數、32 位元相容套件、SELinux、防火牆、安裝介面顯示等多項前置作業。本文記錄從硬體需求、系統調校、Oracle 用戶建立、環境變數設定、解壓安裝、圖形介面安裝至補丁升級的完整步驟。
# 記憶體 (建議 ≥ 2GB)
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
# 磁碟空間 (建議 ≥ 10GB)
df -h
# 圖形介面或命令
setup # 選 Firewall configuration → Disabled
vi /etc/selinux/config
# SELINUX=disabled
# 立即生效無需重啟
setenforce 0
# Oracle 官方文檔要求套件 + libXp (安裝介面必要)
yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 \
elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 \
glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh \
libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 \
libstdc++ libstdc++.i686 libstdc++-devel make sysstat libXp
# 安裝介面報錯時補裝 32 位元圖形庫
yum -y install libXp.i686 libXt.i686 libXtst.i686
groupadd oinstall
groupadd dba
useradd -m -g oinstall -G dba oracle
passwd oracle # 設定密碼
id oracle # 驗證 uid/gid
visudo
# 在 root ALL=(ALL) ALL 下新增
oracle ALL=(ALL) ALL
kernel.shmall = 4294967296
kernel.shmmax = 68719476736
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
# 套用
sysctl -p
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
session required /lib64/security/pam_limits.so
session required pam_limits.so
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
vi /etc/redhat-release
# 將 CentOS release 6.3 (Final) 改為
redhat 4
mkdir -p /opt/oracle/102
chown -R oracle:dba /opt/oracle
127.0.0.1 localhost localhost.localdomain
ORACLE_BASE=/opt/oracle
ORACLE_HOME=$ORACLE_BASE/102
ORACLE_SID=orcl
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH
source ~/.bash_profile
10201_database_linux_x86_64.cpio 放入 /opt/oraclecd /opt/oracle && cpio -idmv < 10201_database_linux_x86_64.cpiocd databaseexport LANG=en_US (避免中文亂碼)export DISPLAY=:0.0 && xhost + (允許圖形介面顯示)./runInstallerdba,設定 SYS/SYSTEM 密碼libXp.so.6、libXt.so.6、libXtst.so.6 缺失,執行步驟 2 的補裝指令p6810189_10204 (10.2.0.4) 或最新 PSUAL32UTF8netca,啟用 EM emca -config dbcontrol db/etc/init.d/oracledb (chkconfig --add)關鍵坑點:1) 必須裝 32 位元圖形庫 (.i686) 否則安裝介面啟動失敗 2) /etc/redhat-release 必須改為 redhat 4 否則安裝程式拒絕 3) /dev/shm 空間需 ≥ MEMORY_TARGET 4) SELinux 必須關閉。