千家信息网

Oracle 12C RAC报错ORA-20001: Statistics Advisor

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,最近某涛oracle 12C RAC 数据库是问题不断,刚刚解决了 ora-07445问题,有的处理新问题,主要报错如下:alert日志报错信息:ORA-12012: error on auto ex
千家信息网最后更新 2025年01月22日Oracle 12C RAC报错ORA-20001: Statistics Advisor最近某涛oracle 12C RAC 数据库是问题不断,刚刚解决了 ora-07445问题,有的处理新问题,主要报错如下:
alert日志报错信息:
ORA-12012: error on auto execute of job "SYS"."ORA$AT_OS_OPT_SY_88"
ORA-20001: Statistics Advisor: Invalid Task Name For the current user <== Note it
ORA-06512: at "SYS.DBMS_STATS", line 46861
ORA-06512: at "SYS.DBMS_STATS_ADVISOR", line 734
ORA-06512: at "SYS.DBMS_STATS_INTERNAL", line 19930
ORA-06512: at "SYS.DBMS_STATS_INTERNAL", line 21934
ORA-06512: at "SYS.DBMS_STATS", line 46851

官方给我的问题原因:

Seed database was most likely not created right by package dbms_stats.init_package not being ran.

Dbms_stats.init_package creates statistics advisor. This procedure is executed during database creation. If something went wrong during database creation,(for example, init_package is not called for some reason), this kind of errors may be seen in alert log when auto job tries to execute.


解决方法:

Run dbms_stats.init_package() in the container database to create the tasks correctly:

$ sqlplus / as sysdba

EXEC dbms_stats.init_package();


column name format A35
set linesize 120

select name, ctime, how_created
from sys.wri$_adv_tasks
where owner_name = 'SYS'
and name in ('AUTO_STATS_ADVISOR_TASK','INDIVIDUAL_STATS_ADVISOR_TASK');


Output of the query will look like this:

NAME CTIME HOW_CREATED
----------------------------------- ---------- ------------------------------
AUTO_STATS_ADVISOR_TASK 14-APR-16 CMD
INDIVIDUAL_STATS_ADVISOR_TASK 14-APR-16 CMD


文档ID : Doc ID 2127675.1
0