今天启动数据库的时候出现如下错误:

SQL> startup
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE instance started.
Database mounted.
Database opened.

解法办法:

1、查看详细的错误信息
SQL> ho oerr ora 32004    #查看详细的错误信息
32004, 00000, "obsolete or deprecated parameter(s) specified for %s instance"
// *Cause:  Obsolete or deprecated parameters for this instance type
//          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.

2、查看告警日志文件alterSID.ora

  告警日志文件的存放位置可以通过background_dump_dest参数来获取,Oracle 10g的默认存放地址在/u01/app/oracle/admin/bdump/目录中,但在Oracle 11g做些了改变文件默认存放在/u01/app/oracle/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace/下。

  通过alertSID.ora文件可以找到如下信息:

Deprecated system parameters with specified values:
  remote_os_authent
因为设置了remote_os_authent参数,才会出现ORA-32004信息,此参数为过期或者不被建议设置的参数。

3、导出pfile文件,删除remote_os_authent参数,startp pfile='/u01/......./initorcl.ora'

注:即使通过alter system 语句将remote_os_authent设置为默认的值,也还是会出现此问题。必须删除spfile或pfile里面设置的值,才不会出现此问题。