溫馨提示×

centos oracle配置注意事項

小樊
51
2025-09-26 09:12:34
欄目: 云計算

CentOS系統配置Oracle數據庫注意事項

一、系統準備階段

  1. 系統更新與兼容性檢查
    安裝前需將CentOS系統更新至最新版本(sudo yum update -y),確保內核版本、glibc庫等與Oracle數據庫版本兼容(如Oracle 19c支持CentOS 7/8)??赏ㄟ^uname -a查看內核版本,參考Oracle官方文檔確認兼容性。

  2. 硬件資源規劃

    • 內存:Oracle最低要求512MB,但生產環境建議至少2GB(推薦4GB以上),以保證數據庫實例和監聽器的穩定運行。
    • 硬盤空間:安裝包及臨時文件需至少10GB,生產環境建議預留20GB以上(用于數據文件、歸檔日志等)。
    • Swap空間:若內存≤2GB,Swap需為內存的1.5倍;2-16GB則與內存大小一致;>16GB可設為16GB。
  3. 依賴包安裝
    必須提前安裝Oracle運行所需的依賴包,否則會導致安裝失敗。常用命令(以CentOS 7為例):

    sudo yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
    

    部分預安裝包(如oracle-database-preinstall-19c)可自動安裝依賴,簡化流程。

  4. 用戶與組管理
    創建專用用戶和組以實現權限隔離:

    sudo groupadd oinstall  # 所屬組
    sudo groupadd dba       # 數據庫管理員組
    sudo useradd -g oinstall -G dba oracle  # 創建oracle用戶并加入組
    sudo passwd oracle      # 設置密碼
    

    所有Oracle文件(如安裝目錄、數據目錄)需歸屬oracle:oinstall。

二、系統參數配置

  1. 內核參數調整
    編輯/etc/sysctl.conf,添加以下關鍵參數以優化系統性能:

    fs.aio-max-nr = 1048576        # 異步I/O最大請求數
    fs.file-max = 6815744          # 系統最大文件句柄數
    kernel.shmall = 2097152        # 共享內存總頁數
    kernel.shmmax = 4294967295     # 單個共享內存段最大大?。ㄗ止潱?/span>
    kernel.shmmni = 4096           # 共享內存段最大數量
    kernel.sem = 250 32000 100 128 # 信號量參數(semmsl, semmns, semopm, semmni)
    net.ipv4.ip_local_port_range = 9000 65500 # 本地端口范圍
    net.core.rmem_default = 262144 # 接收緩沖區默認大小
    net.core.rmem_max = 4194304    # 接收緩沖區最大值
    net.core.wmem_default = 262144 # 發送緩沖區默認大小
    net.core.wmem_max = 1048576    # 發送緩沖區最大值
    

    執行sudo sysctl -p使配置生效。

  2. 用戶資源限制
    編輯/etc/security/limits.conf,添加以下限制以防止Oracle進程因資源不足被終止:

    oracle soft nproc 2047         # 用戶進程軟限制
    oracle hard nproc 16384        # 用戶進程硬限制
    oracle soft nofile 1024        # 用戶打開文件數軟限制
    oracle hard nofile 65536       # 用戶打開文件數硬限制
    oracle soft stack 10240        # 用戶??臻g軟限制
    

    編輯/etc/pam.d/login,添加session required pam_limits.so以使限制生效。

  3. PAM模塊配置
    確保PAM模塊加載pam_limits.so,編輯/etc/pam.d/login文件,添加以下行:

    session required pam_limits.so
    

三、Oracle安裝與目錄配置

  1. 安裝目錄設置
    創建Oracle安裝目錄(如/u01/app/oracle)和數據目錄(如/u01/oradata),并設置正確權限:

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

    安裝包需上傳至安裝目錄(如/u01/app/oracle),解壓后執行runInstaller啟動安裝向導。

  2. 環境變量配置
    編輯oracle用戶的~/.bash_profile(或~/.bashrc),添加以下環境變量:

    export ORACLE_BASE=/u01/app/oracle  # Oracle基目錄
    export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1  # Oracle主目錄(根據實際路徑調整)
    export ORACLE_SID=ORCLCDB           # 數據庫實例名(默認)
    export PATH=$ORACLE_HOME/bin:$PATH  # 添加Oracle命令到PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib  # 庫文件路徑
    export LANG=C                       # 字符集
    export NLS_LANG=AMERICAN_AMERICA.AL32UTF8  # 數據庫字符集
    

    執行source ~/.bash_profile使配置生效。

四、網絡與安全配置

  1. 監聽器配置
    安裝完成后,需配置監聽器以允許遠程連接。編輯$ORACLE_HOME/network/admin/listener.ora文件,確保包含以下內容:

    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))  # 監聽地址和端口
        )
      )
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = ORCLCDB)
          (ORACLE_HOME = $ORACLE_HOME)
          (SID_NAME = ORCLCDB)
        )
      )
    

    啟動監聽器:lsnrctl start,檢查狀態:lsnrctl status。

  2. 防火墻設置
    若系統啟用了防火墻(如CentOS 7的firewalld),需開放Oracle監聽端口(默認1521):

    sudo firewall-cmd --permanent --add-port=1521/tcp
    sudo firewall-cmd --reload
    

    生產環境中建議關閉防火墻或配置更嚴格的訪問規則。

  3. SELinux配置
    SELinux會限制Oracle進程的權限,建議禁用:

    sudo setenforce 0  # 臨時禁用
    sudo sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config  # 永久禁用
    

五、其他注意事項

  1. 時間同步
    確保數據庫服務器與客戶端時間同步(可使用NTP服務),避免因時間差異導致數據不一致或連接問題。

  2. 日志監控
    定期檢查Oracle日志文件(如$ORACLE_BASE/diag/rdbms/$ORACLE_SID/trace/alert_$ORACLE_SID.log),及時發現并解決問題。

  3. 備份策略
    安裝完成后,立即配置數據庫備份(如RMAN),確保數據安全。

  4. 字符集一致性
    安裝前確認系統字符集(locale命令)與Oracle字符集(如AL32UTF8)一致,避免亂碼問題。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女