Copying Oracle JVM Permissions
Submitted by dmann on Tue, 03/31/2009 - 11:49
Now that I am working in an environment where I am responsible for more database instances it seems like data is always moving around. Machines are being retired, platforms are changing, all kinds of fun stuff. I often have to move using regular old Oracle import/export utilities. These utilities aren't the best at some of the more esoteric Oracle features so some 'backfilling' of objects or permissions may be required. Here are some queries that are helpful when moving a schema that has Oracle Java Virtual Machine (JVM) Dependencies:
Overview of all Java Permissions in a Database
SELECT * FROM DBA_JAVA_POLICY WHERE ENABLED='ENABLED' ORDER BY GRANTEE, KIND, TYPE_SCHEMA, TYPE_NAME, ACTION;
Grab permissions for specified userHere is a query that will give you grants associated with the Oracle JVM so that you can run them on another database.
SELECT 'exec dbms_java.grant_permission('''|| GRANTEE||''','''|| TYPE_SCHEMA||':'||TYPE_NAME||''','''|| NAME||''','''||ACTION||''');' as "Grant Stmt" FROM DBA_JAVA_POLICY WHERE GRANTEE = UPPER('&granteename') AND ENABLED='ENABLED' ORDER BY GRANTEE, KIND, TYPE_SCHEMA, TYPE_NAME, ACTION;