Here's a script to show differences in default parameter values between releases.
Kind of interesting results.
Jared
-- parmdiff2.sql
-- show init parms that differ between instances
-- a parameter is displayed only if it appears
-- in both database, and is set to default
--
-- the purpose of this is to determine if the default
-- value for a parameter has changed between database
-- releases. Undocumented parameters are included.
-- create_xviews.sql needs to be run first
-- for this to work unless you logon as SYS
col cinstance1 noprint new_value uinstance1
col cinstance2 noprint new_value uinstance2
prompt
prompt Parmdif2f - Compare init.ora parms for 2 Oracle Instances
prompt Parameters are displayed only if they appear in
prompt both instances and are set to default values
prompt
prompt This helps explain database behavior changes
prompt between releases
prompt
prompt Instance 1:
set feed off term off
select '&1' cinstance1 from dual;
set term on
prompt
prompt Instance 2:
set term off
select '&2' cinstance2 from dual;
set term on feed on
set line 110
break on name skip 1
col name format a40
col value format a40
col database format a8 head 'DB'
spool parmdiff2.txt
-- basic parm query
--select a.ksppinm name, b.ksppstvl value
--from x$ksppi a, x$ksppsv b
--where a.indx = b.indx
select p.name, p.value, p.database
from (
(
select a.ksppinm name, b.ksppstvl value, '&&uinstance1' database
from x$ksppi@&&uinstance1 a, x$ksppsv@&&uinstance1 b
where a.indx = b.indx
minus
select a.ksppinm name, b.ksppstvl value, '&&uinstance1' database
from x$ksppi@&&uinstance2 a, x$ksppsv@&&uinstance2 b
where a.indx = b.indx
)
union all
(
select a.ksppinm name, b.ksppstvl value, '&&uinstance2' database
from x$ksppi@&&uinstance2 a, x$ksppsv@&&uinstance2 b
where a.indx = b.indx
minus
select a.ksppinm name, b.ksppstvl value, '&&uinstance2' database
from x$ksppi@&&uinstance1 a, x$ksppsv@&&uinstance1 b
where a.indx = b.indx
)
) p,
-- this query used to limit output to parameters
-- that both instances have in common, and are
-- set to default values
(
select name
from
(
select a.ksppinm name, b.ksppstvl value, '&&uinstance1' database
from x$ksppi@&&uinstance1 a, x$ksppsv@&&uinstance1 b
where a.indx = b.indx
-- get only defaults that have changed
-- if ksppstdf is TRUE, then it is a default value
and b.ksppstdf = 'TRUE'
union
select a.ksppinm name, b.ksppstvl value, '&&uinstance2' database
from x$ksppi@&&uinstance2 a, x$ksppsv@&&uinstance2 b
where a.indx = b.indx
and b.ksppstdf = 'TRUE'
) p3
group by name
having count(*) > 1
) p2
where p.name = p2.name
order by name, value, database
/
spool off
undef 1 2
Richard Foote <[EMAIL PROTECTED]>
Sent by: [EMAIL PROTECTED] 10/03/2003 08:54 AM
|
To: Multiple recipients of list ORACLE-L <[EMAIL PROTECTED]> cc: Subject: Re: Huge optimization costs with 9.2 |
We has problems with another undocumented parameter that changed when we
migrated to 9i in August last year. _B_TREE_BITMAP_PLANS change from false
to true and caused a number of issues with sub-optimal execution plans.
Another possible trap for the unwary ...
Cheers
Richard
----- Original Message -----
To: "Multiple recipients of list ORACLE-L" <[EMAIL PROTECTED]>
Sent: Thursday, October 02, 2003 2:54 AM
> One of the undocumented init.ora parameters that changed from 8 to 9 is
> "_UNNEST_SUBQUERY" (from false to true). You could try if that is the
> culprit. Of course, since it is an undocumented parameter, get the
blessing
> from Oracle support before using it in a production database.
>
> At 10:09 AM 10/1/2003, you wrote:
> >Joan, what is the difference in the plans? What specific feature
> >made the difference? Are the values of
> >optimizer_index_cost_adj and optimizer_index_caching same on both
> >versions? How about histograms? What is with
> >db_file_multiblock_read_count,sort_area_size and hash_area_size? Is
> >everything same as in 8i? May be setting of those parameters can be
> >tweaked to your benefit?
> >
> >On Wed, 2003-10-01 at 11:54, Joan Hsieh wrote:
> > > Kirti,
> > >
> > > I had upgraded a database from 8.1.7.4 to 9.2.0.4. Before the upgrade,
> > > performance is good. After upgrade, one query run time from 2 min to
12
> > > hours. Of course, I re-analyzed all tables and indexes. The explain
plan
> > > changed from hash join to nested-loop. All the parameters are same. So
I
> > > have to put optimized_feature_enable=8.1.7 to make run normal as
usual.
> > > I hate to disable the new feature, but no choose.
>
> Wolfgang Breitling
> Oracle7, 8, 8i, 9i OCP DBA
> Centrex Consulting Corporation
> http://www.centrexcc.com
>
>
> --
> Please see the official ORACLE-L FAQ: http://www.orafaq.net
> --
> Author: Wolfgang Breitling
> INET: [EMAIL PROTECTED]
>
> Fat City Network Services -- 858-538-5051 http://www.fatcity.com
> San Diego, California -- Mailing list and web hosting services
> ---------------------------------------------------------------------
> To REMOVE yourself from this mailing list, send an E-Mail message
> to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
> the message BODY, include a line containing: UNSUB ORACLE-L
> (or the name of mailing list you want to be removed from). You may
> also send the HELP command for other information (like subscribing).
>
--
Please see the official ORACLE-L FAQ: http://www.orafaq.net
--
Author: Richard Foote
INET: [EMAIL PROTECTED]
Fat City Network Services -- 858-538-5051 http://www.fatcity.com
San Diego, California -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).