如果在启动数据库时遇到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
另外,我们来看看一个使用过时参数的案例,例如,在设置了参数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.