ITPub博客

首页 > 数据库 > Oracle > job调用过程报错 ORA-00942: table or view does not exist

job调用过程报错 ORA-00942: table or view does not exist

原创 Oracle 作者:SnowDBA 时间:2015-04-27 16:45:19 0 删除 编辑
问题描述:
A用户下创建一个存储过程proc_1。该存储过程需要访问用户B下的表t1
create table t1 as select * from B.t1

用户A执行proc_1存储过程可以成功,但是使用job调用该存储过程报错ORA-00942:table or view does not exist


问题分析:
存储过程被job调用期间失去了所属用户A的权限(访问用户B的表)


解决方法:
1. 显示授权。应用程序维护人员喜爱这种简单有效的方法。
grant select any table to A;

2. 在存储过程中添加关键字
CREATE OR REPLACE PROCEDURE proc_1 (name VARCHAR2)   Authid Current_User
AS
BEGIN
EXECUTE IMMEDIATE 'SET ROLE ALL';
...

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29047826/viewspace-1607104/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-06-21

  • 博文量
    223
  • 访问量
    1633582