一個測試環境的12.2.0.1數據庫后台alert不斷報出以下錯誤信息:
Errors in file /d12/app/oracle/diag/rdbms/test/test/trace/test_j001_4981.trc: ORA-12012: error on auto execute of job "SYS"."ORA$AT_OS_OPT_SY_21" ORA-20001: Statistics Advisor: Invalid task name for the current user ORA-06512: at "SYS.DBMS_STATS", line 47207 ORA-06512: at "SYS.DBMS_STATS_ADVISOR", line 882 ORA-06512: at "SYS.DBMS_STATS_INTERNAL", line 20059 ORA-06512: at "SYS.DBMS_STATS_INTERNAL", line 22201 ORA-06512: at "SYS.DBMS_STATS", line 47197
看了一下報錯頻率,大概是每隔10分鍾報一次。該庫是12.2.0.1的CDB,其中還有兩個pdb。
從MOS找到一篇對應的文章:ORA-12012 Error on auto execute of job "SYS"."ORA$AT_OS_OPT_SY_<NN> in 12.2 Database (Doc ID 2127675.1)
分析可能是在建庫的時候沒有執行dbms_stats.init_package()
$ sqlplus / as sysdba SQL> EXEC dbms_stats.init_package(); PL/SQL procedure successfully completed. SQL> column name format A35 SQL> set linesize 120 SQL> SQL> select name, ctime, how_created 2 from sys.wri$_adv_tasks 3 where owner_name = 'SYS' 4 and name in ('AUTO_STATS_ADVISOR_TASK','INDIVIDUAL_STATS_ADVISOR_TASK'); NAME CTIME HOW_CREATED ----------------------------------- --------- ------------------------------ AUTO_STATS_ADVISOR_TASK 17-JUN-17 CMD INDIVIDUAL_STATS_ADVISOR_TASK 17-JUN-17 CMD
執行結束后,觀察日志,不再繼續報錯!