问题描述:oracle数据库报错opidrv aborting process J001 ospid (31950) as a result of ORA-1013.
数据库:oracle 19.13
系统:rhel 7.3
1、异常原因
统计信息自动收集任务超过时间窗设置,进程被自动kill便会发出”opidrv aborting process J000 ospid (17826356) as a result of ORA-1013”告警.
2、相关查询
--统计信息搜集情况.
SQL> select client_name,job_name,job_status,job_duration,job_start_time from dba_autotask_job_history where job_start_time>sysdate-5 order by job_start_time;
CLIENT_NAME JOB_NAME JOB_STATUS JOB_DURATION JOB_START_TIME
----------------------------------- ------------------------------ ------------------------------ ------------------------- -----------------------------------
auto optimizer stats collection ORA$AT_OS_OPT_SY_596 SUCCEEDED +000 00:01:28 01-JUL-23 10.03.01.943496 AM PRC
auto optimizer stats collection ORA$AT_OS_OPT_SY_596 SUCCEEDED +000 00:02:32 01-JUL-23 02.03.07.514971 PM PRC
auto optimizer stats collection ORA$AT_OS_OPT_SY_596 SUCCEEDED +000 00:00:52 01-JUL-23 06.03.11.077942 PM PRC
auto optimizer stats collection ORA$AT_OS_OPT_SY_596 SUCCEEDED +000 00:00:33 01-JUL-23 10.03.16.717565 PM PRC
auto optimizer stats collection ORA$AT_OS_OPT_SY_597 SUCCEEDED +000 00:07:38 02-JUL-23 06.00.02.151911 AM PRC
auto optimizer stats collection ORA$AT_OS_OPT_SY_598 SUCCEEDED +000 00:01:42 02-JUL-23 10.03.29.127227 AM PRC
auto optimizer stats collection ORA$AT_OS_OPT_SY_598 SUCCEEDED +000 00:02:55 02-JUL-23 02.03.34.344247 PM PRC
auto optimizer stats collection ORA$AT_OS_OPT_SY_598 SUCCEEDED +000 00:02:27 02-JUL-23 06.03.38.222673 PM PRC
auto optimizer stats collection ORA$AT_OS_OPT_SY_598 SUCCEEDED +000 00:00:17 02-JUL-23 10.03.43.582082 PM PRC
auto optimizer stats collection ORA$AT_OS_OPT_SY_598 SUCCEEDED +000 00:10:45 03-JUL-23 10.00.02.146950 PM PRC
auto optimizer stats collection ORA$AT_OS_OPT_SY_598 STOPPED +000 04:00:00 04-JUL-23 10.00.00.239024 PM PRC
auto optimizer stats collection ORA$AT_OS_OPT_SY_599 STOPPED +000 03:59:59 05-JUL-23 10.00.00.847734 PM PRC
12 rows selected.
说明:可以查看下对应时间段AWR情况.
3、解决方案
说明:如下提供两个解决方案.
方案一:增加并行度
--查并行度
SQL> SELECT DBMS_STATS.get_prefs('DEGREE') FROM dual;
DBMS_STATS.GET_PREFS('DEGREE')
--------------------------------------------------------------------------------
NULL
说明:默认是AUTO_DEGREE,Oracle根据对象大小、CPU数量和初始化参数选择并行度.
--设置并行度为12.
SQL> exec DBMS_STATS.SET_GLOBAL_PREFS('DEGREE',12);
PL/SQL procedure successfully completed.
SQL> SELECT DBMS_STATS.get_prefs('DEGREE') FROM dual;
DBMS_STATS.GET_PREFS('DEGREE')
--------------------------------------------------------------------------------
12
方案二:增加自动搜集统计信息作业时间
--从4小时调整到6小时
BEGIN
dbms_scheduler.disable(name => 'THURSDAY_WINDOW');
dbms_scheduler.set_attribute(name => 'THURSDAY_WINDOW',
attribute => 'DURATION',
value => numtodsinterval(6, 'hour'));
dbms_scheduler.enable(name => 'THURSDAY_WINDOW');
END;
/
SQL> commit
参考网址:https://blog.csdn.net/Hehuyi_In/article/details/99847772