프린트 하기

OS환경 : CentOS 7.0(64bit)


DB 환경 : Oracle Database 12.2.0.1


에러 : ORA-12012 , ORA-20001 AND ORA-06512 FROM ORA$AT_OS_OPT_SY_XXX

12cR2 설치 후 데이터 임포트 후 하루가 지난뒤 alert log 확인 결과 

아래 이상로그가 발견됨

1
2
3
4
5
6
7
8
9
10
2019-01-30T01:37:42.369242+09:00
Errors in file /oracle/diag/rdbms/xgims/XGIMS/trace/XGIMS_j000_127945.trc:
ORA-12012: ÀÛ¾÷ "SYS"."ORA$AT_OS_OPT_SY_1272"ÀÇ ÀÚµ¿ ½ÇÇàÁß ¿À·ù ¹ß»ý
ORA-12012: error on auto execute of job "SYS"."ORA$AT_OS_OPT_SY_1272"
ORA-20001: Statistics Advisor: Invalid task name for the current user
ORA-06512"SYS.DBMS_STATS",  47207Çà
ORA-06512"SYS.DBMS_STATS_ADVISOR",  882Çà
ORA-06512"SYS.DBMS_STATS_INTERNAL",  20059Çà
ORA-06512"SYS.DBMS_STATS_INTERNAL",  22201Çà
ORA-06512"SYS.DBMS_STATS",  47197Çà



해결 방법 : 아래 명령 실행

SYSDBA 권한으로 접속한 뒤 sys.wri$_adv_tasks 뷰 조회

1
2
3
4
5
6
SQL> 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');
 
no rows selected.

처음에는 no rows로 나옴


아래 패키지 실행

1
2
3
SQL> EXEC dbms_stats.init_package();
 
PL/SQL procedure successfully completed.


sys.wri$_adv_tasks 뷰 재조회

1
2
3
4
5
6
7
8
9
SQL> 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');
 
NAME                              CTIME    HOW_CREATED
-------------------------------- --------- -------------
AUTO_STATS_ADVISOR_TASK          30-JAN-19 CMD
INDIVIDUAL_STATS_ADVISOR_TASK    30-JAN-19 CMD

2건이 나오는것을 확인 가능함


Stats Advisor Tasks가 데이터베이스에서 사용 가능 해지면 데이터베이스 경고 로그에 더 이상 발생하지 않음



원인 : 데이터베이스에서 Stats Advisor Tasks를 사용할 수 없기 때문에 문제 발생




참조 : https://docs.oracle.com/en/database/oracle/oracle-database/12.2/readm/dbca-known-bugs.html#GUID-DBD9265E-2964-42AA-A534-FB4B9F35BB72

https://community.oracle.com/thread/4031378

2127675.1