如果在启动数据库时遇到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> startupORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE instance started.
Total System Global Area 1090519040 bytesFixed Size 1218920 bytesVariable Size 234882712 bytes
Database Buffers 838860800 bytesRedo 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 databasebuffer_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 flagssql_trace enable SQL traceparallel_automatic_tuning enable intelligent defaults for parallel execution parameters
drs_start start DG Broker monitor (DMON process)17 rows selected另外,我们来看看一个使用过时参数的案例,例如,在设置了参数log_archive_start后,重启就会遇到ORA-32004: obsolete and/or deprecated parameter(s) specified
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.