Sunday, 10 February 2013

ORA-29532: Java call terminated by uncaught Java exception: java.lang.Error: Updater commit failure


BEGIN
DBMS_JAVA.grant_permission('SCOTT', 'java.io.FilePermission', '<<ALL FILES>>', 'read ,write, execute, delete');
END;
/
BEGIN
Dbms_Java.Grant_Permission('SCOTT', 'SYS:java.lang.RuntimePermission', 'writeFileDescriptor', '');
END;
/

Error:
BEGIN
*
ERROR at line 1:
ORA-29532: Java call terminated by uncaught Java exception: java.lang.Error:
Updater commit failure
ORA-06512: at "SYS.DBMS_JAVA", line 793
ORA-06512: at line 2

Sometimes an application running in the Oracle JVM will fail with a java permissions error having the following format:
java.sql.SQLException: ORA-29532:Java call terminated by uncaught Java exception:

1st  methodology to solve this issue:
Brought down JVM application and then retry your application.

2nd methodology to solve this issue:

1) Format a call "dbms_java.grant_permission" procedure as described below.
2) Logon as SYS or SYSTEM
3) Issue the TWO commands shown below
4) Logoff as SYS or SYSTEM
5) Retry your application

---------------
For Example
---------------
1) Logon as SYS or SYSTEM
2) Issue the following commands :

BEGIN
DBMS_JAVA.grant_permission('SCOTT', 'java.io.FilePermission', '<<ALL FILES>>', 'read ,write, execute, delete');
END;
/
commit;
/
Note: Commit is mandatory !!

3) Logoff as SYS or SYSTEM

4) Retry your application