본문 바로가기

IT관련

ORA-00942, ORA-06512 오라클 에러 SYS.DBMS_SQLTUNE

Oracle Realtime SQL Monitor 기능을 sys 유저가 아닌 일반 유저에서 사용하고자 하는 경우, 권한 부족으로 다음과 같이 에러가 발생합니다.

 

 

report_sql_monitor() 함수에서 사용하는 딕셔너리뷰를 조회할 수 없기 때문에 ORA-00942 에러가 발생하고,

DBMS_SQLTUNE() 함수 실행권한이 없어 ORA-06512 에러가 발생합니다.

sys 나 system 유저의 경우 권한이 있기 때문에 에러없이 정상적으로 실행됩니다.

 

 

다음과 같이 권한을 부여하면, 일반 유저에서도 Realtime SQL Monitor 기능을 이용할 수 있습니다.

 


/*
   sys 유저에서 실행
*/
SQL> grant ADVISOR, ADMINISTER SQL TUNING SET, SELECT ANY DICTIONARY to scott;

 

scott 유저에 권한을 부여했습니다.

 

 

이제 scott 유저에서도 report_sql_monitor() 함수를 호출할 수 있습니다.

 

 

▶ 참고) 오라클 Plan, Trace 쉽게 보는 - Realtime SQL Monitoring