Chinaunix首页 | 论坛 | 博客
  • 博客访问: 687272
  • 博文数量: 147
  • 博客积分: 5347
  • 博客等级: 大校
  • 技术积分: 1453
  • 用 户 组: 普通用户
  • 注册时间: 2005-06-06 11:11
文章分类

全部博文(147)

文章存档

2014年(4)

2012年(9)

2011年(5)

2010年(28)

2009年(21)

2008年(29)

2007年(15)

2006年(17)

2005年(19)

我的朋友

分类: Oracle

2007-08-17 12:26:50

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'用户下的表。
  
阅读(2533) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~