Almost-Native

오라클 java 에러 ORA-29545: badly formed class: User has attempted to load a class .. dbms_java.grant_permission(<user>, LoadClassInPackage... 본문

Java 프로그램 개발, IT

오라클 java 에러 ORA-29545: badly formed class: User has attempted to load a class .. dbms_java.grant_permission(<user>, LoadClassInPackage...

2023. 8. 23. 23:11

오라클 DBMS 에 Java 프로그램을 로딩할 때, 아래와 같은 에러가 발생하는 경우가 있습니다.

 

loadjava -user hr Hello.class
Password:
***
Error while creating class Hello
    ORA-29545: badly formed class: User has attempted to load a class (Hello) into a restricted package. 
Permission can be granted using  dbms_java.grant_permission(<user>, LoadClassInPackage...
ORA-06512: at line 1

The following operations failed
    class Hello: creation (createFailed)
exiting  : Failures occurred during processing

 

위의 경우는 Hello.class 자바 클래스 파일을 loadjava 유틸리티를 이용해서 hr 유저로 로딩하는 과정입니다.

로딩할때, ORA-29545 에러가 발생하고,  dbms_java.grant_permission(<user>, LoadClassInPackage ... 과 같이 권한을 부여하는 것이 필요하다고 안내하고 있습니다.

 

아래와 같이 권한을 부여하면 됩니다.

 

$ sqlplus / as sysdba
SQL> begin
              dbms_java.grant_permission(
                   'HR', 'SYS:oracle.aurora.security.JServerPermission', 'LoadClassInPackage.*', null);
          end;
          /

 

위에서 HR 은 로딩할 DB 유저입니다.

 

 

Comments