ALTER SYSTEM SET param = value SCOPE=MEMORY|SPFILE|BOTH 僅適用於動態參數。嘗試修改非動態參數(如 utl_file_dir、db_block_size、processes)會報 ORA-02095。
SQL> CONNECT / AS SYSDBA
SQL> CREATE PFILE='/tmp/initORCL.ora' FROM SPFILE;
SQL> SHUTDOWN IMMEDIATE
*.utl_file_dir='/u01/app/oracle/utl_file'
*.processes=500
SQL> CREATE SPFILE FROM PFILE='/tmp/initORCL.ora';
SQL> STARTUP
SQL> SHOW PARAMETER utl_file_dir
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
utl_file_dir string /u01/app/oracle/utl_file
cp $ORACLE_HOME/dbs/spfileORCL.ora /backup/spfileORCL.ora.$(date +%F)SCOPE=SPFILE SID='*'。ALTER SYSTEM SET ... SCOPE=SPFILE SID='*' 直接修改非動態參數,重啟生效,無需手工 PFILE。