詳解Oracle 11G新特性:Statistics Preferences(信息收集)

概述

今天主要分享下Oracle11g的新特性--Statistics Preferences,可以實現對指定對象進行信息收集。可以在table、schema、database、global級別設置statistics preference。


1、查看當前數據庫是否設置了statistics preference

在11g中增加了三個選項:

1.publish 取值為true、false。 收集到的統計信息是否存到數據字典中。在10g中是自動存到數據字典中,即自動發佈;在11g中可以先現將統計信息置於pending狀態(這些統計信息被稱為pending statistics),確認對性能有提升後再發布。

2.stale_percent 設置對象統計信息過期的閥值。自數據庫統計對象收集後,對象中的行被修改的百分比超過該值就會被認為統計信息是過期的。

3.incremental 是否進行增量收集

SQL> select * from dba_tab_stat_prefs;
SQL> desc dba_tab_stat_prefs;
詳解Oracle 11G新特性:Statistics Preferences(信息收集)


2、信息收集

dbms_stats.set_database_prefs

dbms_stats.set_global_prefs procedure

dbms_stats.set_schema_prefs procedure

dbms_stats.set_table_prefs procedure

其中:

  • DBMS_STATS.SET_TABLE_PREFS (
  • ownname IN VARCHAR2, #Owner name
  • tabname IN VARCHAR2, #Table name
  • pname IN VARCHAR2, #Preference name
  • pvalue IN VARCHAR2 #Preference value. If NULL is specified, it will set the Oracle default value.
  • );
exec dbms_stats.set_table_prefs('SCOTT','DEPT','PUBLISH','TRUE');
select dbms_stats.get_prefs('PUBLISH','SCOTT','DEPT') get_prefs from dual;
select * from dba_tab_stat_prefs;
exec dbms_stats.set_table_prefs('SCOTT','DEPT','PUBLISH','FALSE');
select dbms_stats.get_prefs('PUBLISH','SCOTT','DEPT') get_prefs from dual;
select * from dba_tab_stat_prefs;
詳解Oracle 11G新特性:Statistics Preferences(信息收集)


3、常用腳本:statistics_global_prefs.sql

Displays the top-level global statistics preferences

SET SERVEROUTPUT ON
DECLARE
PROCEDURE display(p_param IN VARCHAR2) AS
l_result VARCHAR2(50);
BEGIN
l_result := DBMS_STATS.get_prefs (pname => p_param);
DBMS_OUTPUT.put_line(RPAD(p_param, 30, ' ') || ' : ' || l_result);
END;
BEGIN
display('AUTOSTATS_TARGET');
display('CASCADE');
display('DEGREE');
display('ESTIMATE_PERCENT');
display('METHOD_OPT');
display('NO_INVALIDATE');
display('GRANULARITY');
display('PUBLISH');
display('INCREMENTAL');
display('STALE_PERCENT');
END;
/
詳解Oracle 11G新特性:Statistics Preferences(信息收集)

輸出內容:

詳解Oracle 11G新特性:Statistics Preferences(信息收集)


覺得有用的朋友多幫忙轉發哦!後面會分享更多devops和DBA方面的內容,感興趣的朋友可以關注下~

詳解Oracle 11G新特性:Statistics Preferences(信息收集)


分享到:


相關文章: