안녕하세요, 이번에 작성한 내용은 ORA-20001 Statistics Advisor Invalid task name 오류 코드 해결방법 관련 사항입니다.
요즘 데이터베이스 관련 작업을 오라클을 이용해서 많이 하시는데 오라클로 데이터 베이스를 구축을 할 때 여러가지 오류 코드를 경험을 하실 겁니다.
그 중 하나인 ORA-20001에 대해서 어떤 오류이고 해결 방법은 어떤 것이 있는지 자세히 알아보도록 하겠습니다.
ORA-20001 Invalid task name 오류 코드
그래도 오라클의 경우에는 ORA-코드 넘버 처럼 나름대로 Clash 나는 부분에 대해서 나름 오류 코드를 잘 정립을 해서 사용자가 어떤 부분이 문제가 있는지 알기가 쉽습니다.
이런 ORA 오류 중 하나가 바로 ORA-20001 오류입니다.
ORA-20001 오류는 일반적으로 SQL 구문에서 사용자 정의 예외가 발생할 때 발생하는 Oracle 오류입니다.
해당 오류의 경우에는 통계 정보와 관련된 오류 메시지이며 다른 오류와 같이 발생하기도 하는데 ORA-20001 만 대한 문제라기보다는 다른 오류 메시지와 연동해서 문제를 해결해야 합니다.

참고로 같이 빈번하게 발생하는 ORA 오류 코드로는 ORA-06512 가 있는데 ‘ORA-06512 오류 해결 방법’ 링크를 참조 하시면 코드 해결하시는데 도움이 되실 겁니다.
그리고 ORA-20001 의 오류 메시지를 보면 아시겠지만 에러에 나오는 “Statistics Advisor” 구문을 보고 유추할 수 있듯이 통계정보와 관련된 오류입니다.
Errors in file /app/기존에 작업하는 파일 경로 및 trc 파일 이름 명시:
ORA-12012: 작업 "SYS"."ORA$AT_OS_OPT_SY_1540"의 자동 실행중 오류 발생
ORA-20001: Statistics Advisor: Invalid task name for the current user
ORA-06512: "SYS.DBMS_STATS", 2223행
ORA-06512: "SYS.DBMS_STATS_ADVISOR", 732행
ORA-06512: "SYS.DBMS_STATS_INTERNAL", 30041행
ORA-06512: "SYS.DBMS_STATS_INTERNAL", 12101행
ORA-06512: "SYS.DBMS_STATS", 38767행
▶”액세스가 거부되었습니다.” 외장하드 문제 해결 방법
ORA-20001 Invalid task name 해결방법
ORA-20001 오라클 오류의 경우 SQL 구문에서 통계적으로 문제가 되는 부분을 알려주는 오류 메시지인데, 해당 오류는 통계적인 부분뿐만 아니라 사용자 정의 예외가 발생할 때 발생하는 오류이기도 합니다.
그럼 아래 2가지 케이스별로 해결방법에 대해서 설명 드리도록 하겠습니다.
1) 통계 관련 문제로 발생하는 오류 메세지
“Statistics Advisor” 문구가 같이 통계 관련해서 발생하는 경우에는 의외로 간단하게 해결이 가능합니다.
해당 DB의 유저로 접속을 한 다음에 “dbms_stats.init_package()”를 실행을 해주면 해결이 됩니다.
2) 사용자 정의 예외로 인해 발생 오류 메시지
반면 PL/SQL 블록에서 사용자 정의 예외가 발생할 때 발생하는 Oracle 오류 메시지인 경우에는 예외 메시지가 너무 길거나 사용자 정의 예외 처리 코드에 문제가 있을 때 발생하는 경우가 많습니다.
이런 경우에는 해당 메시지를 확인 후 오류 메시지가 알려주는 구체적인 라인과 문장에 대해서 사용자 정의가 제대로 되어 있는지를 확인해 주시는 걸 추천드립니다.
즉 구문 오류, 누락된 또는 잘못된 코드 또는 변수 선언 문제 등을 확인을 해주셔야 합니다.
만약 예외 메시지가 너무 긴 경우, ‘MAXIMUM_ERROR_LENGTH’ 매개변수를 수정하여 메시지의 최대 길이를 늘려 주시는 걸 추천 드립니다.
아니면 ‘DBMS_UTILITY.SET_PARAMETER’ 프로시저를 사용하시면 의외로 쉽게 해결이 가능할 수 도 있습니다.
ORA-20001 오류 수정 방법
STEP 1 – ORA-20001 오류가 통계적인 사항인이 사용자 정의 예외로 인해 발생하는 오류 인지 확인
STEP 2 – 통계 관련 에러인 경우에는 유저 접속 후 ‘dbms_stats.init_package()’를 실행
STEP 3 – 사용자 정의 예외인 경우에는 ‘MAXIMUM_ERROR_LENGTH’ 매개변수를 수정을 실행
STEP 4 – 또한 ‘DBMS_UTILITY.SET_PARAMETER’ 프로시저를 사용
▶ ORA-06502 PL/SQL 수치 또는 값 오류 해결 방법
관련 글
결론
이상입니다. 지금까지 ORA-20001 Statistics Advisor Invalid task name 오류 코드 해결방법 대해서 포스팅을 작성하였습니다.
해당 오류 코드가 발생을 하시면 일단 통계 관련 문제와 사용자 정의 예외로 인해 발생한 오류인지를 구별해서 해결책을 적용을 하시는 걸 추천 드립니다.
그래도 그나마 오라클 데이터베이스의 경우에는 오류 코드별 설명이 자세히 구글에 나와있기 때문에 스스로 문제해결도 가능한 DB 프로그램인거 같습니다.
그럼 이만 마무리 하며 제 포스팅을 통해서 오류 해결하시는데 도움이 되셨으면 합니다.
참고로 해당 글은 제가 스스로 공부하고 검토하여 작성한 글이기에 오류가 있을 수 있는 점 참조 부탁 드립니다.
감사합니다.