如果在啟動數據庫時遇到ORA-32004: obsolete and/or deprecated parameter(s) specified 錯誤,這個是因為數據庫裡面設置了過時或不推薦使用的參數,如下描述所示:
SQL> ho oerr ora 32004
32004, 00000, "obsolete and/or deprecated parameter(s) specified"
// *Cause: One or more obsolete and/or parameters were specified in
// the SPFILE or the PFILE on the server side.
// *Action: See alert log for a list of parameters that are obsolete.
// or deprecated. Remove them from the SPFILE or the server
// side PFILE.
具體怎麼排除和解決呢? 那麼我們先從下面例子來,注意,這個僅僅是在測試服務器用作測試的案例。
SQL> ALTER SYSTEM SET SQL_TRACE=TRUE;
System altered.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE instance started.
Total System Global Area 1090519040 bytes
Fixed Size 1218920 bytes
Variable Size 234882712 bytes
Database Buffers 838860800 bytes
Redo Buffers 15556608 bytes
Database mounted.
Database opened.
SQL>
修改SQL_TRACE參數的值後,關閉實例,重啟實例是報錯:ORA-32004,一般如果遇到ORA-32004錯誤時,首先查看告警日志記錄,你會發現在告警日志裡面有這麼一段信息。
Deprecated system parameters with specified values:
sql_trace
End of deprecated system parameter listing
另外,你也可以通過下面SQL查看相關過時或不推薦設置的參數。
SQL> SELECT NAME, DESCRIPTION FROM V$PARAMETER V WHERE V.ISDEPRECATED='TRUE';
NAME DESCRIPTION
----------------- -------------------------------------------------------------------------------
lock_name_space lock name space used for generating lock names for standby/clone database
buffer_pool_keep Number of database blocks/latches in keep buffer pool
buffer_pool_recycle Number of database blocks/latches in recycle buffer pool
max_commit_propagation_delay Max age of new snapshot in .01 seconds
remote_archive_enable remote archival enable setting
log_archive_start start archival process on SGA initialization
parallel_server if TRUE startup in parallel server mode
parallel_server_instances number of instances to use for sizing OPS SGA structures
fast_start_io_target Upper bound on recovery reads
logmnr_max_persistent_sessions maximum number of threads to mine
serial_reuse reuse the frame segments
max_enabled_roles max number of roles a user can have enabled
global_context_pool_size Global Application Context Pool Size in Bytes
plsql_compiler_flags PL/SQL compiler flags
sql_trace enable SQL trace
parallel_automatic_tuning enable intelligent defaults for parallel execution parameters
drs_start start DG Broker monitor (DMON process)
17 rows selected
SQL> ALTER SYSTEM SET LOG_ARCHIVE_START=TRUE SCOPE=SPFILE;
此時查看告警日志,就會看到下面對應信息,那麼就可以確認是參數log_archive_start的問題。
Deprecated system parameters with specified values:
log_archive_start
End of deprecated system parameter listing
此時執行下面SQL語句,即可解決這個問題。
SQL> alter system reset log_archive_start scope=spfile sid='*';
System altered.