views:

216

answers:

1

I export an oracle "schema" using

exp userid=/ file=pt.dmp log=pt.log owner=FOO buffer=10000000 statistics=NONE direct=Y

and then import it into a different schema on the same oracle instance on the same SID using

imp userid=/ file=pt.dmp fromuser=FOO touser=paul

When I try to access the stored procedures with the new user, I get

ORA-29541: class PAUL.ESMQOracleStoredProc could not be resolved

Any idea why one user can resolve this but another one can't?

+3  A: 

The error message indicates that this is a java stored procedure. So it requires java permissions. The CREATE PROCEDURE privilege won't cover it. For starters FOO will need JAVAUSERPRIV as well, so perhaps this is what PAUL lacks?

In addition, if that JSP does anything esoteric it will require additional privileges granted through dbms_java.grant_permission(). You can find that out by using the DBA_JAVA_POLICY view to compare granted permissions for PAUL and FOO.

APC
The DBA tells me that the Java stored procedure compiles under the "FOO" user but not under the "PAUL" user. Fortunately we've eliminated the need for the Java stored procedure so I haven't pursued it any further.
Paul Tomblin