1. Oracle有三个已定义好的automated maintenance tasks.

  1. Automatic Optimizer Statistics Collection—用于收集各种数据库对象的统计信息。这里又有三种模式:

    • ‘ALL’ – Statistics are collected for all objects in the system
    • ‘ORACLE’ – Statistics are collected for all Oracle owned objects
    • ‘AUTO’ – Oracle decides for which objects to collect statistics
    • 可以通过以下API进行设置
            DBMS_STATS.SET_GLOBAL_PREFS (
      pname VARCHAR2,
      pval VARCHAR2);

      pname为”AUTOSTATS_TARGET”,pval为以上三个值之一。

  2. Automatic Segment Advisor—Identifies segments that have space available for reclamation, and makes recommendations on how to defragment those segments. You can also run the Segment Advisor manually to obtain more up-to-the-minute recommendations or to obtain recommendations on segments that the Automatic Segment Advisor did not examine for possible space reclamation.
  3. Automatic SQL Tuning Advisor—Examines the performance of high-load SQL statements, and makes recommendations on how to tune those statements. You can configure this advisor to automatically implement SQL profile recommendations.

2. 这些automated maintenace tasks在maintenance windows里得到执行。同样,Oracle已经定义好的7个windows,对应每周的每一天。周一到周五是从22:00到次日的02:00,周六和周日是从06:00到次日的02:00。

3. 如果不想这些automated maintenance tasks在一些windows里不被执行,或者完全不希望执行这些tasks。可以通过下面的API。

DBMS_AUTO_TASK_ADMIN.DISABLE(...)

4. 对于maintenance windows,系统会切换到相应的resource plan。如果你不想你原来的resource plan 被切换掉的话,记得在你设置resource plan时,在resource plan的名字前面加上force:。如下面所示:

ALTER SYSTEM SET RESOURCE_MANAGER_PLAN = 'FORCE:mydb_plan';

自动化是个好东西,不过这建立上你正确理解了它们的基础上,要不有时就会出现莫名其妙的结果了。

举个简单的例子:如果你在某个时候truncate了一个表,之后重新加载了海量的数据,如果在你truncate后,加载数据之前,收集统计信息的任务启动了,那么它会把这个表的统计信息更新为空表的数据。于是,你的很多涉及到这个表的SQL语句就会莫名其妙的慢下来甚至于执行不完了,原因就在于统计信息的错误变化(海量->空),导致CBO对很多语句从原来的索引访问者变成了致命的全表扫描了。

最新文章

  1. Spring(三)__aop编程
  2. C#开发微信门户及应用(6)--微信门户菜单的管理操作
  3. JavaScript数据类型转换
  4. exp/imp 参数说明,中英对照
  5. Android 手机卫士--xutils说明与下载方法使用
  6. unity3d 三分钟实现简单的赛车漂移
  7. [aspx]控件及代码小例
  8. 慕课网-安卓工程师初养成-3-9 Java中运算符的优先级
  9. 如何设置适当的ramp-up period值
  10. iOS/object-c: 枚举类型 enum,NS_ENUM,NS_OPTIONS
  11. Java编程性能优化一
  12. Openstack Ice-House 版本号说明--之中的一个 NOVA
  13. mac安装office2011,提示无法打开文件Normal.dotm,因为内容有错误
  14. Windows Phone 8初学者开发—第19部分:设置RecordAudio.xaml页面
  15. Cocoapods最新安装教程
  16. Android开发技巧——使用Dialog实现仿QQ的ActionSheet菜单
  17. http.go
  18. 7-6-有向图强连通分量的Kosaraju算法-图-第7章-《数据结构》课本源码-严蔚敏吴伟民版
  19. _pvp_killed_loot
  20. [LeetCode] 反转整数

热门文章

  1. JS常用的设计模式(3)-——观察者模式
  2. 深入理解JavaScript系列(10):JavaScript核心(晋级高手必读篇)
  3. node.js压缩和解压缩
  4. mardown文档的用法
  5. mac上如何卸载node
  6. javascript实现数据结构: 稀疏矩阵之三元组线性表表示
  7. Android存储扩展学习-----应用的清除数据和清除缓存
  8. .Net中会存在内存泄漏吗
  9. 基本类型int强转short时发生了什么?
  10. 虚拟机配置静态 IP 以后无法连接的解决办法