Ref.
http://space.itpub.net/12020513/viewspace-627031
dbms_stats收集統計資訊時候no_invalidate參數
用於是否與收集相關object的cursor失效,defalut(9i false, 10g dbms_stats.auto_invalidate(為null))
true:當收集完統計資訊後,收集物件的cursor不會失效(讓SQL不會產生新的執行計畫,新的子游標)
false:當收集完統計資訊後,收集物件的cursor會立即失效(讓SQL產生新的執行計畫,新的子游標)
用於是否與收集相關object的cursor失效,defalut(9i false, 10g dbms_stats.auto_invalidate(為null))
true:當收集完統計資訊後,收集物件的cursor不會失效(讓SQL不會產生新的執行計畫,新的子游標)
false:當收集完統計資訊後,收集物件的cursor會立即失效(讓SQL產生新的執行計畫,新的子游標)
no_invalidate=false, forces all the currently dependent cursors to age out and flushed from the shared pool whether the execution plan is changed or not.
Usage:
execute dbms_stats.gather_table_stats('OWNER','TABLE_NAME',no_invalidate=>FALSE, cascade=>TRUE);
cascade=>TRUE ==> 分析所有與表格相關之索引
如果要針對整個SCHEMA:
#test.sh , Usage : ./test.sh USERNAME
sqlplus "/ as sysdba" < <EOF
--execute dbms_stats.gather_table_stats('OWNER','TABLE_NAME',no_invalidate=>FALSE , cascade=>TRUE);
set linesize 200
spool analyze_$1.sql
set heading off
select 'execute dbms_stats.gather_table_stats('''||OWNER || ''','''||TABLE_NAME||''',no_invalidate=>FALSE , cascade=>TRUE);' from dba_tables where owner='$1';
spool off
EOF
cascade=>TRUE ==> 分析所有與表格相關之索引
如果要針對整個SCHEMA:
#test.sh , Usage : ./test.sh USERNAME
sqlplus "/ as sysdba" <
--execute dbms_stats.gather_table_stats('OWNER','TABLE_NAME',no_invalidate=>FALSE , cascade=>TRUE);
set linesize 200
spool analyze_$1.sql
set heading off
select 'execute dbms_stats.gather_table_stats('''||OWNER || ''','''||TABLE_NAME||''',no_invalidate=>FALSE , cascade=>TRUE);' from dba_tables where owner='$1';
spool off
EOF
沒有留言:
張貼留言