代码之家  ›  专栏  ›  技术社区  ›  Paul Tomblin

导出Oracle数据库,将其导入其他用户,存储过程不起作用

  •  2
  • Paul Tomblin  · 技术社区  · 14 年前

    我使用导出Oracle“架构”

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

    然后将它导入到同一个sid上的同一个Oracle实例上的另一个架构中,使用

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

    当我尝试使用新用户访问存储过程时,我会

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

    知道为什么一个用户可以解决这个问题,而另一个用户不能解决吗?

    1 回复  |  直到 14 年前
        1
  •  3
  •   APC    14 年前

    错误消息表明这是 爪哇 存储过程。因此它需要Java权限。这个 CREATE PROCEDURE 特权不能覆盖它。对于初学者,foo需要 JAVAUSERPRIV 还有,所以也许这就是保罗所缺少的?

    此外,如果JSP做了任何深奥的事情,它将需要通过 dbms_java.grant_permission() . 你可以通过使用 the DBA_JAVA_POLICY view 比较Paul和Foo的授权权限。