设为首页 收藏本站
查看: 1085|回复: 0

[经验分享] Oracle入门教程:统计信息的恢复和备份

[复制链接]

尚未签到

发表于 2018-9-12 08:23:21 | 显示全部楼层 |阅读模式
  Oracle 11g 增加了系统信息的备份和恢复功能,分别是在系统级别,用户级别,表级别!当我们对oracle 系统对象进行统计信息收集时,为了防止新的统计信息之后的执行计划不如之前的,我们可以利用
  dbms_stats.export_(database/schema/table)_stats 导出统计信息到创建的表中
  dbms_stats.import_(database/schema/table)_stats 导入统计信息到系统中
  cuug本周五晚8点免费Oracle网络公开课《人生最痛苦的事:人还在钱没了——守护数据库的备份信息》
  来进行恢复统计信息!
  对统计信息的备份和恢复包括如下等级
  1)数据库的统计信息备份恢复(只能是sys用户下)
  exec dbms_stats.create_stat_table('sys','stat_sys');
  exec dbms_stats.export_database_stats('stat_sys');
  exec dbms_stats.import_database_stats('stat_sys');
  2)方案的统计信息备份恢复(只能在方案拥有者的用户下,yang为用户名)
  exec dbms_stats.create_stat_table('yang','stat_2');
  exec dbms_stats.export_schema_stats('yang','stat_2');
  exec dbms_stats.import_schema_stats('yang','stat_2');
  3)表的统计信息备份恢复(只能在表拥有者的用户下)
  exec dbms_stats.create_stat_table('yang','stat_3');
  exec dbms_stats.export_table_stats('yang','T1',null,'stat_3');
  exec dbms_stats.import_table_stats('yang','T1',null,'stat_3');
  下面针对用户级别做一个测试!
  1 创建统计信息备份存放的表
  www.linuxidc.com@linuxidc> exec dbms_stats.create_stat_table('yang','stat_4');
  PL/SQL procedure successfully completed.
  2 对用户yang 进行统计,并将统计信息导出到表里面!
  www.linuxidc.com@linuxidc> begin
  2  dbms_stats.gather_schema_stats(
  3  ownname          => 'yang',
  4  estimate_percent => 100,

  5  method_opt       => 'for all columns>  6  degree           => 2);
  7  end;
  8  /
  PL/SQL procedure successfully completed.
  www.linuxidc.com@linuxidc> select table_name,last_analyzed from user_tables where table_name='T2';
  TABLE_NAME                     LAST_ANALYZED
  ------------------------------ ------------------
  T2                             27-FEB-12
  www.linuxidc.com@linuxidc> exec dbms_stats.export_schema_stats('yang','stat_4');
  PL/SQL procedure successfully completed.
  3 删除之前的统计信息并查询验证
  www.linuxidc.com@linuxidc> exec dbms_stats.delete_schema_stats('yang');
  PL/SQL procedure successfully completed.
  www.linuxidc.com@linuxidc> select table_name,last_analyzed from user_tables where table_name='T2';
  TABLE_NAME                     LAST_ANALYZED
  ------------------------------ ------------------
  T2
  4 将之前备份的统计信息从新导入
  www.linuxidc.com@linuxidc> exec dbms_stats.import_schema_stats('yang','stat_4');
  PL/SQL procedure successfully completed.
  查询yang 用户下的t2表的统计分析时间!
  www.linuxidc.com@linuxidc> select table_name,last_analyzed from user_tables where table_name='T2';
  TABLE_NAME                     LAST_ANALYZED
  ------------------------------ ------------------
  T2                             27-FEB-12


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-573109-1-1.html 上篇帖子: 如何恢复并理解oracle删除数据的原理 下篇帖子: Oracle 10g AND Oracle 11g手工建库案例之--Oracle 10g
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表