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

Linux 安裝 Oracle 10g/11g 完整前置作業指南:用戶、目錄、核心參數、Shell 限制

     編輯:Oracle 資料庫基礎

1. 建立 Oracle 群組與使用者

/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -m -g oinstall -G dba oracle
id oracle
# uid=501(oracle) gid=502(oinstall) groups=502(oinstall),503(dba)

passwd oracle  # 設定密碼

2. 建立 OFA 標準目錄結構

mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app
chmod -R 775 /u01/app

ORACLE_BASE=/u01/app/oracle,後續安裝指向此處。

3. 核心參數設定 (/etc/sysctl.conf)

kernel.shmall = 2097152
kernel.shmmax = 536870912        # 11g 建議 4GB 以上,視實體記憶體調整
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 262144
# 立即生效
/sbin/sysctl -p

# 驗證
/sbin/sysctl -a | grep -E 'shm|sem|file-max|ip_local_port_range|rmem|wmem'

4. Shell 限制 (/etc/security/limits.conf)

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

5. PAM 登入載入 limits (/etc/pam.d/login)

session required /lib/security/pam_limits.so

6. Profile 載入 ulimit (/etc/profile)

if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
  umask 022
fi

7. CShell 登入腳本 (/etc/csh.login)

if ( $USER == "oracle" ) then
  limit maxproc 16384
  limit descriptors 65536
  umask 022
endif

8. 驗證清單

  • [ ] id oracle 顯示正確群組
  • [ ] /u01/app/oracle 擁有者 oracle:oinstall、權限 775
  • [ ] sysctl -p 無錯誤、關鍵參數生效
  • [ ] su - oracle; ulimit -a 顯示 nproc/nofile 符合硬限制
  • [ ] hostname 可解析、/etc/hosts 含 IP、FQDN、短名

注意事項

  • OEL/RHEL 6+ 已預設部分參數,若預設值 ≥ 建議值可保留。
  • shmmax 建議設為實體記憶體 50%~80%,但至少 536870912 (512MB)。
  • 安裝前務必以 root 完成上述步驟,再切換 oracle 執行 runInstaller。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved