Posted on 2009-01-16 16:46
Neil's NoteBook 閱讀(298)
評論(0) 編輯 收藏 所屬分類:
ORACLE
1\ 創建一個專用表保存各表的統計信息:
exec dbms_stats.create_stat_table(''ks38'',''fys'');
2\ 將各表的統計信息導入到ks38.fys表中;
exec dbms_stats.export_table_stats(''ks38'',''tcl_cust_base_info'',null,''fys'');
---可以創建不是登陸用戶下的表;如用system登陸,可以創建表到‘ks38''用戶下
或將指定schema的統計信息導入到ks38.fys表中
exec dbms_stats.export_schema_stats(''ks38'',''fys'');
注:
若將整個數據庫的統計信息導出到某個表必須按以下方式做:
1)用SYSDBA角色的用戶登陸(如system)
2) exec dbms_stat.create_stat_table(''system'',''tbl_name''); ----記住:此處創建的表必須是登陸用戶下的表。
3) exec dbms_stat.export_database_stats(''tbl_name'')
****
導出表狀態、SCHEMA統計信息,保存導出信息的表的SCHEMA可以和登陸用戶名不一致;另外導入統計信息的表和原表盡可能
是同一schema下的
導出整個數據庫統計信息,保存導出信息的表的SCHEMA必須和登陸用戶名一致,必須是DBA角色。
3\ 查看統計信息是否導入:
select * from ks38.fys;
4\ 刪除某張表的統計信息:
exec dbms_stats.delete_table_stats(''ks38'',''tcl_cust_base_info'');
5\ 查看統計信息是否被刪除:
select table_name ,to_char(LAST_ANALYZED,''yyyymmdd hh24:mi:ss'')
from ALL_tables where lower(table_name) LIKE ''tcl_cust_%_info%'';
6\ 導入先前導出的統計信息:
exec dbms_stats.import_table_stats(''ks38'',''tcl_cust_base_info'',''fys'');
注意:tcl_cust_base_info和fys都是在’ks38''用戶下的表。
原文地址:
http://database.e800.com.cn/articles/2007/819/1187467720638726675_1.html