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

修改 Oracle 非動態參數:透過 PFILE/SPFILE 重啟生效完整流程

     編輯:Oracle 資料庫基礎

動態 vs 非動態參數

ALTER SYSTEM SET param = value SCOPE=MEMORY|SPFILE|BOTH 僅適用於動態參數。嘗試修改非動態參數(如 utl_file_dir、db_block_size、processes)會報 ORA-02095。

標準修改流程

  1. 從 SPFILE 產生 PFILE
    SQL> CONNECT / AS SYSDBA
    SQL> CREATE PFILE='/tmp/initORCL.ora' FROM SPFILE;
    
  2. 關閉資料庫
    SQL> SHUTDOWN IMMEDIATE
    
  3. 編輯 PFILE 新增/修改參數
    *.utl_file_dir='/u01/app/oracle/utl_file'
    *.processes=500
    
  4. 從新 PFILE 重建 SPFILE 並啟動
    SQL> CREATE SPFILE FROM PFILE='/tmp/initORCL.ora';
    SQL> STARTUP
    
  5. 驗證生效
    SQL> SHOW PARAMETER utl_file_dir
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    utl_file_dir                         string      /u01/app/oracle/utl_file
    

最佳實踐

  • 修改前備份舊 SPFILE:cp $ORACLE_HOME/dbs/spfileORCL.ora /backup/spfileORCL.ora.$(date +%F)
  • 叢集環境 (RAC) 需在所有節點同步修改,或使用 SCOPE=SPFILE SID='*'。
  • 11g+ 可用 ALTER SYSTEM SET ... SCOPE=SPFILE SID='*' 直接修改非動態參數,重啟生效,無需手工 PFILE。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved