PLS-00201: identifier 'DBMS_APPLICATION_INFO' must be declared
Oracle/Administration 2013/09/16 14:36
실수로 sys의 패키지를 삭제하여 아래와 같은 에러가 발생할 수 있다.
삭제한 패키지를 재생성하면 간단히 처리되는 문제이나, 삭제를 하였기 때문에 어떻게 선언이 되어 있는지 알수가 없다.
/product/버전/rdbms/admin/ 하위에 sys에 생성되어 있는 패키지등의 sql 파일이 존재하며,
DBMS_APPLICATION_INFO 패키지가 삭제되었다면 dbmsapin.sql, prvtapin.plb 파일을 실행해 주면 된다.
SQL> @dbmsapin.sql
Package created.
create public synonym dbms_application_info for sys.dbms_application_info
*
ERROR at line 1:
ORA-00955: name is already used by an existing object
Grant succeeded.
SQL> @prvtapin.plb
Package body created.
SQL> show user
USER is "TESTUSER"
삭제한 패키지를 재생성하면 간단히 처리되는 문제이나, 삭제를 하였기 때문에 어떻게 선언이 되어 있는지 알수가 없다.
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00201: identifier 'DBMS_APPLICATION_INFO' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
ORA-06550: line 1, column 7:
PLS-00201: identifier 'DBMS_APPLICATION_INFO' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
/product/버전/rdbms/admin/ 하위에 sys에 생성되어 있는 패키지등의 sql 파일이 존재하며,
DBMS_APPLICATION_INFO 패키지가 삭제되었다면 dbmsapin.sql, prvtapin.plb 파일을 실행해 주면 된다.
SQL> @dbmsapin.sql
Package created.
create public synonym dbms_application_info for sys.dbms_application_info
*
ERROR at line 1:
ORA-00955: name is already used by an existing object
Grant succeeded.
SQL> @prvtapin.plb
Package body created.
SQL> show user
USER is "TESTUSER"
SQL> exec DBMS_APPLICATION_INFO.SET_MODULE('SQL*plus', 'Testing DBMS_APPLICATION_INFO');
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.