주제 : FULL or SCHEMA Export fails with ORA-6553 PLS-561
1. 자바가 설치되어 있는지 확인한다.
SQL> SELECT count(*) FROM dba_objects WHERE object_type LIKE 'JAVA%';
-> 4,000건 이상 조회되어야 한다.
만약 자바가 필요없다면 $ORACLE_HOME/javavm/install/rmjvm.sql 스크립트를 이용하여 삭제하자.
단, 오라클 8.1.6의 rmjvm.sql은 문제가 있으므로 (BUG:1179670) 내용을 다음과 같이 수정한 후 스크립트를 실행해야 한다.
(변경전) call rmjvm.run(true)
(변경후) execute rmjvm.run(true)
그리고 나서 SYS 계정으로 접속 후 다음을 실행한다.
2. SYS 계정의 문제일 가능성이 있다.
SQL> SELECT dbms_java.longname(name) FROM obj$ WHERE type# = 29 and status != 1;
-> 정상 상태라면 0건이어야 하는데, 만약 문제가 있다면 ORA-6553 PLS-561이 발생할 것이다.
Export tests whether the Synonym 'DBMS_JAVA' is defined.
If it is defined, export assumes java has been installed and it uses dbms_java.longname to get the long version of synonym names.
Otherwise, it assumes it can't use dbms_java and just takes the name out of sys.syn$.
It looks like DBMS_JAVA was defined but initjvm didn't run (or failed somewhere).