Oracle 安裝專用用戶與群組
# 建立群組
/usr/sbin/groupadd oinstall # Oracle Inventory 群組
/usr/sbin/groupadd dba # OSDBA 群組 (SYSDBA 權限)
# 建立 oracle 用戶
/usr/sbin/useradd -m -g oinstall -G dba oracle
# 設定密碼
passwd oracle
# 驗證
id oracle
# 輸出範例:uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)
目錄結構與權限
# 建立基礎目錄 (OFA 標準)
mkdir -p /u01/app/oracle # Oracle Base
mkdir -p /u02/oradata # 資料檔目錄
# 設定擁有者與權限
chown -R oracle:oinstall /u01/app/oracle /u02/oradata
chmod -R 775 /u01/app/oracle /u02/oradata
Linux 核心參數調整 (sysctl)
Linux 核心支援動態修改參數,無需重啟。Oracle 10g 最低需求:
| 參數 | 最低值 | 說明 |
| kernel.shmall | 2097152 | 共享記憶體總頁數 (4KB 頁) |
| kernel.shmmax | 2147483648 | 單一共享記憶體段最大位元組 (2GB) |
| kernel.shmmni | 4096 | 共享記憶體段最大數量 |
| kernel.sem | 250 32000 100 128 | 信號陣列:單陣列信號量、系統總信號量、單陣列操作數、陣列數 |
| fs.file-max | 65536 | 系統最大開啟檔案數 |
| net.ipv4.ip_local_port_range | 1024 65000 | 本地埠範圍,避免衝突 |
永久生效配置 /etc/sysctl.conf
cat >> /etc/sysctl.conf <
驗證參數生效
/sbin/sysctl -a | grep shm
/sbin/sysctl -a | grep sem
/sbin/sysctl -a | grep file-max
/sbin/sysbinctl -a | grep ip_local_port_range
若系統現值大於最低值,勿降低,保持現值。
Shell 限制配置 /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
環境變數設定 (.bash_profile)
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:/lib:/usr/lib
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
安裝前檢查清單
- 核心參數符合最低需求
- 磁碟空間:/u01 ≥ 4GB、/u02 ≥ 2GB、/tmp ≥ 1GB
- 記憶體 ≥ 1GB,Swap ≥ 1.5x RAM
- 套件相容性:glibc、libstdc++、gcc、make、sysstat 等
- 主機名解析:/etc/hosts 包含完整主機名與 IP
- 上一篇文章: Oracle CHECK 約束詳解:定義規則、多約束共存、刪除級聯與資料字典查詢
- 下一篇文章: Oracle ROWNUM 分頁查詢陷阱:為何 ORDER BY 後 ROWNUM 失效與正確子查詢寫法
Copyright ©
程式碼之家 All Rights Reserved