在 Linux 環境中部署 Oracle 10g 是一項具挑戰性的任務,其複雜度遠超作業系統本身的安裝。然而,若能成功完成安裝,不僅能掌握資料庫部署技巧,更能深入理解 Linux 系統管理的核心知識。本文將詳細記錄在 RedHat Enterprise Linux 3 (x86) 平台上安裝 Oracle 10g 的完整流程,供參考。
Oracle 10g 對硬體資源要求較高,建議配置如下:
官方支援的作業系統版本有限,僅包含 RedHat ES/AS 2.1、RedHat ES/AS 3 及 UnitedLinux 1.0 (均為 x86 架構)。雖然 RedHat 9 也可安裝,但需額外處理相依套件。本文以 RedHat ES 3 (x86) 為例,且已安裝 X Window 圖形介面。
執行以下指令驗證必要 RPM 套件是否已安裝:
# rpm -q gcc make binutils openmotif setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel
最低版本要求:gcc-3.2.3-2 以上,其他套件版本請參考 Oracle 官方文件。
| 檢查項目 | 指令 | 建議值 |
|---|---|---|
| 實體記憶體 | # grep MemTotal /proc/meminfo | ≥ 512 MB |
| 交換空間 | # grep SwapTotal /proc/meminfo | ≥ 1 GB |
| /tmp 可用空間 | # df -k /tmp | ≥ 400 MB |
| 磁碟可用空間 | # df -k | ≥ 4 GB |
| OS 版本 | # cat /etc/issue | RedHat ES 3 |
Oracle 安裝需要以下群組與用戶:
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# id oracle # 驗證群組成員資格
# passwd oracle # 設定密碼
# mkdir -p /u01/app/oracle
# mkdir -p /u02/oradata
# chown -R oracle:oinstall /u01/app/oracle /u02/oradata
# chmod -R 755 /u01/app/oracle /u02/oradata
/u01/app/oracle 為 Oracle Base 目錄,/u02/oradata 為資料檔預存放目錄。
編輯 /etc/sysctl.conf,加入以下參數 (數值為建議最小值,實際應視實體記憶體調整):
kernel.shmall = 2097152
kernel.shmmax = 2147483648 # 建議設為實體記憶體的一半
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
套用變更:# /sbin/sysctl -p
編輯 /etc/security/limits.conf:
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
確認 /etc/pam.d/login 包含:session required /lib/security/pam_limits.so
針對 Oracle 用戶的 Shell 環境 (/etc/profile 或 ~/.bash_profile) 設定 ulimit:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
以 oracle 用戶登入,編輯 ~/.bash_profile:
umask 022
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=sales
export PATH=$PATH:$ORACLE_HOME/bin
# 確保未設定 ORACLE_HOME 與 TNS_ADMIN
unset ORACLE_HOME
unset TNS_ADMIN
執行 source ~/.bash_profile 生效,並用 env | grep ORA 驗證。
# mount /dev/cdrom /mnt/cdrom$ su - oracle$ xhost +$ /mnt/cdrom/runInstaller依圖形介面提示完成安裝,建議選擇「僅安裝軟體」,稍後使用 DBCA 建立資料庫。
unset LANG 或修改 /etc/sysconfig/i18n 設為 LANG="en_US"ctx/lib/env_ctx.mk 回報錯誤,於 INSO_LINK 行加入 $(LDLIBFLAG)dlhdparm -d 1 /dev/hda 開啟 DMA 模式,並加入 /etc/rc.local 永久生效結語:Oracle 10g 在 Linux 上的安裝過程繁瑣但邏輯清晰,關鍵在於前期的系統檢查與參數調優。完成安裝後,建議立即套用最新 Patch Set 並配置自動備份策略,確保生產環境穩定運行。