oracledbms_stats统计信息管理(八)

2015-03-04 17:07:26 · 作者: · 浏览: 119
END; / --步骤2:导出表的分析信息到统计表stat_table中。 BEGIN dbms_stats.export_table_stats(ownname => 'JINRILOG',tabname => 'ORDERLOG',stattab => 'STAT_TABLE'); END; / --步骤3:将统计信息导入到你的目标库 --步骤4:从统计信息表中导入统计信息到当前模式 BEGIN DBMS_STATS.import_table_stats(ownname => 'JINRILOG',tabname => 'ORDERLOG',stattab => 'STAT_TABLE'); END; / exec dbms_stats.gather_table_stats('JINRILOG','USEROPERATELOG',cascade => true); execute dbms_stats.gather_table_stats(ownname => 'JINRILOG',tabname => 'ORDERLOG' ,estimate_percent =>DBMS_STATS.AUTO_SAMPLE_SIZE ,method_opt => 'for all indexed columns' ,cascade => true,degree =>8 ); ---------------------------------------------------- 5.管理统计信息 ---------------------------------------------------- ---5.1修改统计信息保留时间 DBMS_STATS.ALTER_STATS_HISTORY_RETENTION ( retention IN NUMBER); ---5.2还原以前版本的统计信息 恢复统计信息功能给了DBA亡羊补牢的机会.如果新版本的统计信息导致不可预知的问题 /************* DBMS_STATS.RESTORE_SCHEMA_STATS( ownname VARCHAR2, as_of_timestamp TIMESTAMP WITH TIME ZONE, force BOOLEAN DEFAULT FALSE, no_invalidate BOOLEAN DEFAULT to_no_invalidate_type (GET_PARAM('NO_INVALIDATE'))); DBMS_STATS.RESTORE_TABLE_STATS ( ownname VARCHAR2, tabname VARCHAR2, as_of_timestamp TIMESTAMP WITH TIME ZONE, restore_cluster_index BOOLEAN DEFAULT FALSE, force BOOLEAN DEFAULT FALSE, no_invalidate BOOLEAN DEFAULT to_no_invalidate_type (GET_PARAM('NO_INVALIDATE'))); DBMS_STATS.RESTORE_SCHEMA_STATS( as_of_timestamp TIMESTAMP WITH TIME ZONE); ******************/ select dbms_stats.get_stats_history_availability from dual; GET_STATS_HISTORY_AVAILABILITY --------------------------------------------------------------------------- 28-1月 -15 02.10.00.252146000 下午 +08:00 exec DBMS_STATS.RESTORE_SCHEMA_STATS( ownname=>
'SCOTT', as_of_timestamp=>'28-1月 -15 02.10.00.252146000 下午 +08:00', no_invalidate=>false ); ---5.3验证统计信息 PENDING功能就是防患于未然.dba收集了新的统计信息但是在确定 新的统计信息比现在使用的统计信息更好之前不想让数据库自动使用. 而由dba经过性能测试以后再发布到系统里让数据库使用新的统计信息. /**********************************语法相关 -- DBMS_STATS.SET_TABLE_PREFS ( ownname IN VARCHAR2, tabname IN VARCHAR2, pname IN VARCHAR2, pvalue IN VARCHAR2); pname值: CASCADE DEGREE ESTIMATE_PERCENT GRANULARITY INCREMENTAL INCREMENTAL_LEVEL INCREMENTAL_STALENESS METHOD_OPT NO_INVALIDATE PUBLISH STALE_PERCENT TABLE_CACHED_BLOCKS OPTIONS -- DBMS_STATS.SET_SCHEMA_PREFS ( ownname IN VARCHAR2, pname IN VARCHAR2, pvalue IN VARCHAR2); pname值: CASCADE DEGREE ESTIMATE_PERCENT GLOBAL_TEMP_TABLE_STATS GRANULARITY INCREMENTAL INCREMENTAL_LEVEL INCREMENTAL_STALENESS METHOD_OPT NO_INVALIDATE PUBLISH STALE_PERCENT TABLE_CACHED_BLOCKS OPTIONS BMS_STATS.SET_SCHEMA_PREFS('SH','CASCADE', 'DBMS_STATS.AUTO_CASCADE'); DBMS_STATS.SET_SCHEMA_PREFS('SH' 'ESTIMATE_PERCENT','9'); DBMS_STATS.SET_SCHEMA_PREFS('SH', 'DEGREE','99'); -- DBMS_STATS.PUBLISH_PENDING_STATS ( ownname IN VARCHAR2 DEFAULT USER, tabname IN VARCHAR2, no_invalidate BOOLEAN DEFAULT to_no_invalidate_type(get_param('NO_INVALIDATE')), force IN BOOLEAN DEFAULT FALSE); -- DBMS_STATS.DELETE_PENDING_STATS ( ownname IN VARCHAR2 DEFAULT USER, tabname IN VARCHAR2); ********************************/ ----使用演