【赛迪网-it技术报道】在使用dbms_stats分析表的时候,我们经常要保存之前的分析,以防分析后导致系统性能低下然后进行快速恢复。
首先创建一个分析表,该表是用来保存之前的分析值:
sql> begin
2 dbms_stats.create_stat_table(ownname => 'test',stattab => 'stat_table');
3 end;
4 /
pl/sql 过程已成功完成。
分析表信息
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 过程已成功完成。
导出表分析信息到stat_table中。
sql> begin
2 dbms_stats.export_table_stats(ownname => 'test',tabname => 'a',stattab => 'stat_table');
3 end;
4 /
pl/sql 过程已成功完成。
sql>
同理也有
export_column_stats:导出列的分析信息
export_index_stats:导出索引分析信息
export_system_stats:导出系统分析信息
export_table_stats:导出表分析信息
export_schema_stats:导出方案分析信息
export_database_stats:导出数据库分析信息
import_column_stats:导入列分析信息
import_index_stats:导入索引分析信息
import_system_stats:导入系统分析信息
import_table_stats:导入表分析信息
import_schema_stats:导入方案分析信息
import_database_stats:导入数据库分析信息
gather_index_stats:分析索引信息
gather_table_stats:分析表信息,当cascade为true时,分析表、列(索引)信息
gather_schema_stats:分析方案信息
gather_database_stats:分析数据库信息
gather_system_stats:分析系统信息
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 过程已成功完成。
导入分析信息
sql> begin
2 dbms_stats.import_table_stats(ownname => 'test',tabname => 'a',stattab => 'stat_table');
3 end;
4 /
pl/sql 过程已成功完成。
sql>
闽公网安备 35060202000074号