联系:手机/微信(+86 17813235971) QQ(107644445)
标题:记录AUTO_SPACE_ADVISOR_JOB导致负载异常
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
早上上班,检查数据库,发现监控日志中在晚上1点到4点钟服务器异常负载现象,查看awr日志发现AUTO_SPACE_ADVISOR_JOB运行异常
0.数据库版本
SQL> select * from v$version; BANNER ---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi PL/SQL Release 10.2.0.4.0 - Production CORE 10.2.0.4.0 Production TNS for Linux: Version 10.2.0.4.0 - Production NLSRTL Version 10.2.0.4.0 - Production
1.资源使用情况
cpu情况
逻辑读情况
物理读情况
通过这些可以看出,在晚上的时间点,AUTO_SPACE_ADVISOR_JOB占用了系统的资源的大部分,导致系统负载过高,也许是出现告警的主要原因。
2.查看运行情况
SQL> col status FOR A10 SQL> COL RUN_DURATION FOR A20 SQL> COL start_date FOR A20 SQL> COL log_date FOR A20 SQL> SELECT status,TO_CHAR(ACTUAL_START_DATE,'YYYY-MM-DD HH24:MI:SS') start_date, 2 TO_CHAR (log_date, 'YYYY-MM-DD HH24:MI:SS') log_date,RUN_DURATION 3 FROM dba_scheduler_job_run_details 4 WHERE job_name = 'AUTO_SPACE_ADVISOR_JOB' order by 3; STATUS START_DATE LOG_DATE RUN_DURATION ---------- -------------------- -------------------- -------------------- SUCCEEDED 2011-12-31 00:00:02 2011-12-31 00:03:05 +000 00:03:03 SUCCEEDED 2012-01-02 00:00:03 2012-01-02 00:03:05 +000 00:03:03 SUCCEEDED 2012-01-03 00:00:02 2012-01-03 00:02:17 +000 00:02:15 SUCCEEDED 2012-01-04 00:00:02 2012-01-04 00:01:41 +000 00:01:39 SUCCEEDED 2012-01-05 00:01:14 2012-01-05 04:02:05 +000 04:00:51
从这里看出,平时AUTO_SPACE_ADVISOR_JOB运行时间只有3分钟左右的时间就可以结束,昨天异常的运行了4个小时。
3.了解AUTO_SPACE_ADVISOR_JOB作用
SQL> select COMMENTS from dba_scheduler_jobs 2 where job_name='AUTO_SPACE_ADVISOR_JOB'; COMMENTS ------------------------------------------- auto space advisor maintenance job
从这里看出,该job的主要作用是是用于segment advisor,如果不使用该功能,可以暂时使用下面语句关闭该job
execute dbms_scheduler.disable('AUTO_SPACE_ADVISOR_JOB');
4.对于AUTO_SPACE_ADVISOR_JOB总结
因为该job的在10.2的某些版本中出现类此bug情况,查看mos发现在10.2.0.4中已经修复,但是我这里因为只是出现了一次,暂时不能定位是bug还是数据库偶尔异常,继续观察,如果再出现类此现象,可以采取临时关闭该job的方式处理。