Sunday, 25 November 2012

Resetting Initialization Parameters

After starting your Oracle database, you are confronted with the following warning:
SQL> startupORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE instance started.

Total System Global Area  285212672 bytes
Fixed Size                  1260420 bytes
Variable Size             180356220 bytes
Database Buffers          100663296 bytes
Redo Buffers                2932736 bytes
Database mounted.
Database opened.
 
After a bit of research, you determine that someone inadvertently set an Oracle initialization parameter that is marked as obsolete and/or deprecated. For the purpose of this example, let's assume that someone set "log_archive_start=true" in your Oracle10g database.
You now want to correct this action and remove the setting. No problem. If you are using a text-based initialization parameter file (init<ORACLE_SID>.ora), simply remove the entry from the text file and restart the database. Problem solved.
However, what if you are using an Oracle SPFILE? You think about this for a few seconds and decide to set the value of log_archive_start back to its default setting of FALSE in an effort to clear the setting. To your surprise, the warning still exists:
SQL> alter system set log_archive_start=false scope=spfile;

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  285212672 bytes
Fixed Size                  1260420 bytes
Variable Size             180356220 bytes
Database Buffers          100663296 bytes
Redo Buffers                2932736 bytes
Database mounted.
Database opened.
At this point, you are tempted to just open the binary SPFILE and remove the entry! I don't think I have to tell you this would be a very bad idea!
Well, the solution is simple - simply reset the initialization parameter. Take note that you must supply the SID= option to the ALTER SYSTEM command.
The following statement will reset the above initialization parameter (removing it from the SPFILE):
SQL> alter system reset log_archive_start scope=spfile sid='*';

System altered.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup
ORACLE instance started.

Total System Global Area  285212672 bytes
Fixed Size                  1260420 bytes
Variable Size             180356220 bytes
Database Buffers          100663296 bytes
Redo Buffers                2932736 bytes
Database mounted.
Database opened.
Say good-bye to your warning message!

No comments:

Post a Comment