创建一个专用表保存各表的统计信息
exec dbms_statscreate_stat_table(ksfys);
将各表的统计信息导入到ksfys表中
exec dbms_statsexport_table_stats(kstcl_cust_base_infonullfys);
可以创建不是登陆用户下的表如用system登陆可以创建表到ks用户下
或将指定schema的统计信息导入到ksfys表中
exec dbms_statsexport_schema_stats(ksfys);
注
若将整个数据库的统计信息导出到某个表必须按以下方式做
)用SYSDBA角色的用户登陆(如system)
) exec dbms_statcreate_stat_table(systemtbl_name); 记住此处创建的表必须是登陆用户下的表
) exec dbms_statexport_database_stats(tbl_name)
****
导出表状态SCHEMA统计信息保存导出信息的表的SCHEMA可以和登陆用户名不一致另外导入统计信息的表和原表尽可能
是同一schema下的
导出整个数据库统计信息保存导出信息的表的SCHEMA必须和登陆用户名一致必须是DBA角色
查看统计信息是否导入
select * from ksfys;
删除某张表的统计信息
exec dbms_statsdelete_table_stats(kstcl_cust_base_info);
查看统计信息是否被删除
select table_name to_char(LAST_ANALYZEDyyyymmdd hh:mi:ss)
from ALL_tables where lower(table_name) LIKE tcl_cust_%_info%;
导入先前导出的统计信息
exec dbms_statsimport_table_stats(kstcl_cust_base_infonullfys);
注意tcl_cust_base_info和fys都是在ks用户下的表