欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 11g自动分析

程序员文章站 2022-04-18 15:32:15
...

这篇文章我要说的是关于Oracle 11g的自动分析。在11g中,自动分析跟10g或者以前的版本有明显区别,查询的方式不一样。在10g中,优

很长一段时间没有写日志了,甚是惭愧啊!

最近在工作中也慢慢总结了一些知识点,在此记录一下:

这篇文章我要说的是关于Oracle 11g的自动分析。在11g中,,自动分析跟10g或者以前的版本有明显区别,查询的方式不一样。在10g中,优化统计信息的收集是通过scheduler job来自动完成的,dba可以通过dbms_scheduler package的enable procedure与disable procedure来启动与关闭,在11g中,oracle提供了全新的package dbms_auto_task_admin来完成统计信息的收集工作。最直观的方法还是通过OEM查看调度中心,里面可以看到有哪些调度。

oracle的自动分析,默认是每天晚上10:00到第二天早上6:00以及周六全天运行,对于某些应用的系统,如果晚上和周末也并不是空闲时候,那么自动分析功能也许会影响业务系统的性能,我们的系统前端时间就是每天晚上22:30左右以及有时的周六严重受影响,后来我关掉自动分析后,业务系统有很明显改善,在以前那些时段几乎一样正常工作。

至于关闭11g 自动分析的方法,可以通过oem关闭,也可以通过plsql关闭,通过oem关闭的方法我就不说了,我下面主要说下通过plsql关闭的方法:

BEGIN

DBMS_AUTO_TASK_ADMIN.DISABLE(

client_name => 'auto optimizer stats collection',

operation => NULL,

window_name => NULL);

END;

/

自动分析每次运行的时间很长,所以要查看它运行的状态和job名,按照之前的10g的方法是查询不到的。因为每次通过自动分析产出的过程名都不一样,都是类似于 '"SYS"."ORA$AT_SA_SPC_SY_7644"'这样的,另外跟自动分析一起运行的调度还有一个auto space advisor 这个也是可以关闭的。关闭的方法跟上面一样,只需修改下名称即可。

Oracle 11g自动分析