首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 10g on Linux 安裝全紀錄:從硬體需求到環境配置的避坑指南

     編輯:Oracle 資料庫基礎

在 Linux 上安裝 Oracle 10g 向來被視為「權限、套件、核心參數、環境變數」四大地獄的綜合考驗。本文以 Red Hat Enterprise Linux 3 (x86) 為例,完整記錄從硬體檢查、OS 套件驗證、建立使用者/群組、目錄權限、核心參數調校、Shell 限制、掛載光碟、Oracle 使用者環境配置,到啟動 runInstaller 的全流程,並標註常見踩坑點與驗證指令,供後續部署參考。

一、硬體需求檢查

項目檢查指令建議值實測判斷
實體記憶體grep MemTotal /proc/meminfo≥ 512 MB(建議 1 GB)輸出值 ≥ 建議值即通過
Swap 空間grep SwapTotal /proc/meminfo≥ 1 GB同上
/tmp 可用空間df -k /tmp≥ 400 MB同上
磁碟可用空間df -k≥ 4 GB含軟體、資料、備份預留

CPU:主頻 ≥ 2.0 GHz;磁碟:建議 7200 RPM 以上,生產環境推薦 SCSI/RAID。

二、作業系統與套件驗證

1. OS 版本

cat /etc/issue   # 預期輸出 Red Hat Enterprise Linux ES release 3

官方支援:RHEL 2.1/3 (x86)、UnitedLinux 1.0 (x86);RHEL 9 亦可安裝但需額外相容套件。

2. 必備 RPM 套件

# 核心開發工具
gcc-3.2.3-2 或更新
make-3.79
binutils-2.11

# 相容性套件(關鍵!)
openmotif-2.2.2-16
setarch-1.3-1
compat-db-4.0.14.5
compat-gcc-7.3-2.96.122
compat-gcc-c++-7.3-2.96.122
compat-libstdc++-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122

驗證方式:rpm -q <package_name> 逐一確認;缺漏請從安裝光碟或 RHN 安裝。

三、建立 Oracle 使用者與群組

# 1. 檢查是否已存在
grep oinstall /etc/group
grep dba      /etc/group

# 2. 建立群組與使用者
groupadd oinstall      # Oracle Inventory 群組
groupadd dba           # OSDBA 群組
useradd -g oinstall -G dba oracle
id oracle              # 驗證 uid/gid/群組
passwd oracle          # 設定密碼

注意:群組名拼寫必須為 oinstall(非 osintall),否則後續安裝會報錯。

四、目錄建立與權限

mkdir -p /u01/app/oracle   # ORACLE_BASE
mkdir -p /u02/oradata      # 選擇性資料檔目錄

chown -R oracle:oinstall /u01/app/oracle /u02/oradata
chmod -R 755             /u01/app/oracle /u02/oradata

五、核心參數調校

編輯 /etc/sysctl.conf 新增/修改:

kernel.shmall     = 2097152
kernel.shmmax     = 2147483648   # 物理記憶體一半,單位 bytes
kernel.shmmni     = 4096
kernel.sem        = 250 32000 100 128
fs.file-max       = 65536
net.ipv4.ip_local_port_range = 1024 65000

套用:/sbin/sysctl -p;驗證:/sbin/sysctl -a | grep <param>。

六、Shell 資源限制

編輯 /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

依預設 Shell 修改啟動檔:

  • Bash/Ksh:/etc/profile 加入 ulimit -u 16384 -n 65536(針對 oracle 使用者)。
  • C Shell:/etc/csh.login 加入 limit maxproc 16384; limit descriptors 65536。

七、Oracle 使用者環境變數

以 oracle 登入,編輯 ~/.bash_profile:

umask 022
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export NLS_LANG=AMERICAN_AL32UTF8   # 依實際字元集調整

執行 source ~/.bash_profile,再用 env | grep ORA 驗證。

八、掛載安裝媒體並啟動安裝

# root 執行
mount /dev/cdrom /mnt/cdrom

# 切換 oracle 使用者
su - oracle
cd /mnt/cdrom
./runInstaller

圖形介面依提示完成:Inventory 目錄、權限、資料庫類型(一般/資料倉儲/交易處理)、字元集、密碼、儲存路徑等。

九、常見安裝失敗排查

現象可能原因對策
runInstaller 無法啟動圖形介面X11 轉發未開啟 / DISPLAY 未設定xhost +;export DISPLAY=:0.0 或 SSH -X
缺少 libaio / libstdc++相容套件未裝補裝 compat-libstdc++*、libaio
核心參數不足sysctl.conf 未生效sysctl -p 並重新檢查
權限錯誤目錄擁有者非 oracle:oinstallchown -R oracle:oinstall ...

安裝完成後,執行 $ORACLE_HOME/root.sh(需 root),並驗證 sqlplus / as sysdba 可正常連線。建議立即建立資料庫備份策略與監控腳本,將安裝成果轉化為可維運的生產環境。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved