講解DBMS_STATS的分析表與備份分析信息
在使用DBMS_STATS分析表的時(shí)候,我們經(jīng)常要保存之前的分析,以防分析后導(dǎo)致系統(tǒng)性能低下然后進(jìn)行快速恢復(fù)。
首先創(chuàng)建一個(gè)分析表,該表是用來(lái)保存之前的分析值:
SQL> begin
2 dbms_stats.create_stat_table(ownname => 'TEST',stattab => 'STAT_TABLE');
3 end;
4 /
PL/SQL 過(guò)程已成功完成。
分析表信息
SQL> BEGIN
2 --DBMS_STATS.delete_table_stats(ownname => 'TEST',tabname => 'A');
3 DBMS_STATS.gather_table_stats(ownname => 'TEST',tabname => 'A');
4 END;
5 /
PL/SQL 過(guò)程已成功完成。
導(dǎo)出表分析信息到stat_table中。
SQL> BEGIN
2 dbms_stats.export_table_stats(ownname => 'TEST',tabname => 'A',stattab => 'STAT_TABLE');
3 END;
4 /
PL/SQL 過(guò)程已成功完成。
SQL>
同理也有
EXPORT_COLUMN_STATS:導(dǎo)出列的分析信息
EXPORT_INDEX_STATS:導(dǎo)出索引分析信息
EXPORT_SYSTEM_STATS:導(dǎo)出系統(tǒng)分析信息
EXPORT_TABLE_STATS:導(dǎo)出表分析信息
EXPORT_SCHEMA_STATS:導(dǎo)出方案分析信息
EXPORT_DATABASE_STATS:導(dǎo)出數(shù)據(jù)庫(kù)分析信息
IMPORT_COLUMN_STATS:導(dǎo)入列分析信息
IMPORT_INDEX_STATS:導(dǎo)入索引分析信息
IMPORT_SYSTEM_STATS:導(dǎo)入系統(tǒng)分析信息
IMPORT_TABLE_STATS:導(dǎo)入表分析信息
IMPORT_SCHEMA_STATS:導(dǎo)入方案分析信息
IMPORT_DATABASE_STATS:導(dǎo)入數(shù)據(jù)庫(kù)分析信息
GATHER_INDEX_STATS:分析索引信息
GATHER_TABLE_STATS:分析表信息,當(dāng)cascade為true時(shí),分析表、列(索引)信息
GATHER_SCHEMA_STATS:分析方案信息
GATHER_DATABASE_STATS:分析數(shù)據(jù)庫(kù)信息
GATHER_SYSTEM_STATS:分析系統(tǒng)信息
SQL> select count(*) from stat_table;
COUNT(*)
----------
1
刪除分析信息
SQL> BEGIN
2 DBMS_STATS.delete_table_stats(ownname => 'TEST',tabname => 'A');
3 END;
4 /
PL/SQL 過(guò)程已成功完成。
導(dǎo)入分析信息
SQL> BEGIN
2 DBMS_STATS.import_table_stats(ownname => 'TEST',tabname => 'A',stattab => 'STAT_TABLE');
3 END;
4 /
PL/SQL 過(guò)程已成功完成。
SQL>