Oracle 8i was released with a
bang. We upgraded our development instance from
Oracle 8 to Oracle 8i using the database assistant.
The database was running on a solaris platform and
everything was running fine. One of the dba's who
was restarting the database after some changes to
the SGA shouted out, hey man there is a message
"ORA-25138: PARAMETER_NAME initialization parameter
has been made obsolete".
Obsoleted Parameters
Is that an error on oracle's
part?., No, they retired these parameters in the
name of manageability. How do we find out what has
been obsoleted. We set out to find the information
and after talking to some friends at Oracle and
other beta sites, we learned that oracle had that
information in the data dictionary.
The information related
to this is stored in the v$obsolete_parameter table.
This table has the parameter name and a flag indicating
if the parameter has actually been set. But has
oracle really retired all the parameters that they
mentioned here, no, they have underscored some of
our favourite parameters like the log_simultaneous_copies
etc. ( Underscore, what is that?. Oracle has
some parameters that they dont you to use unless
you absolutely need to use them. These are hidden
parameters that are not documented and they all
start with an _, like _corrupt_rollback_segments
etc.)
To see the list of parameter names and if they have
been specified in your init.ora you can use the
following statement.
sql> select name, isspecified
from v$obsolete_parameter;
To check if your parameter
was obsoleted or underscored, you can query the
x$ksppo table. The value in the ksppoflag column
identifies if the parameter has been eliminated
or underscored. Eliminated values are identified
by a flag of 1 and underscored values are identified
by 2;
sql> select kspponm, ksppoflg,
from v$obsolete_parameter;