引數修改影響 sql version_count

psufnxk2000發表於2013-09-07
很多情況都會產生同一sql多版本的問題:
可以通過v$sql_shared_cursor中的列檢視不一樣的原因。
通過 10053檢視更具體的引數。

MOS 296377.1 上有 version_rpt 是一個分析version_count高的利器

下面試下版本高:
SQL> alter system flush shared_pool;

System altered.

SQL> select count(*) from t;

  COUNT(*)
----------
         2

SQL> select sql_id from v$sql where sql_text ='select count(*) from t';

SQL_ID
-------------
cyzznbykb509s

SQL> select version_count from v$sqlarea where sql_id='cyzznbykb509s';

VERSION_COUNT
-------------
            1


SQL> alter session set optimizer_mode=first_rows;

Session altered.

SQL> select count(*) from t;

  COUNT(*)
----------
         2

SQL> select version_count from v$sqlarea where sql_id='cyzznbykb509s';

VERSION_COUNT
-------------
            2

SQL> alter session set sql_trace=true;

Session altered.



SQL> select count(*) from t;

  COUNT(*)
----------
         2

SQL> select version_count from v$sqlarea where sql_id='cyzznbykb509s';

VERSION_COUNT
-------------
            3



SQL> show parameter pga_a

NAME_COL_PLUS_SHOW_PARAM
------------------------------------------------------------------------------
TYPE
-----------
VALUE_COL_PLUS_SHOW_PARAM
------------------------------------------------------------------------------
pga_aggregate_target
big integer
110M
SQL> alter system set pga_aggregate_target=100m;

System altered.

SQL> select count(*) from t;

  COUNT(*)
----------
         2

SQL> select version_count from v$sqlarea where sql_id='cyzznbykb509s';

VERSION_COUNT
-------------
            4

by song

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25099483/viewspace-772355/,如需轉載,請註明出處,否則將追究法律責任。

相關文章