Exportar um banco de dados Oracle, importá -lo para um usuário diferente, procedimentos armazenados não funcionam
-
19-09-2019 - |
Pergunta
Eu exporto um Oracle "esquema" usando
exp userid=/ file=pt.dmp log=pt.log owner=FOO buffer=10000000 statistics=NONE direct=Y
e depois importá -lo para um esquema diferente na mesma instância do Oracle no mesmo SID usando
imp userid=/ file=pt.dmp fromuser=FOO touser=paul
Quando tento acessar os procedimentos armazenados com o novo usuário, recebo
ORA-29541: class PAUL.ESMQOracleStoredProc could not be resolved
Alguma idéia do por que um usuário pode resolver isso, mas outro não pode?
Solução
A mensagem de erro indica que este é um Java procedimento armazenado. Portanto, requer permissões de Java. o CREATE PROCEDURE
O privilégio não cobre isso. Para iniciantes, Foo precisará JAVAUSERPRIV
Além disso, então talvez seja isso que Paulo não tem?
Além disso, se esse JSP fizer algo esotérico, exigirá privilégios adicionais concedidos por meio de dbms_java.grant_permission()
. Você pode descobrir isso usando A visualização dba_java_policy Para comparar permissões concedidas para Paul e Foo.