当前位置: 首页 > 面试题库 >

dba_jobs_running:尝试从过程中访问时,表或视图不存在

唐彬炳
2023-03-14
问题内容

只需使用类似的内容查询正在运行的作业

select * from dba_jobs_running;

在我的sqldevelopers SQL控制台中执行时,效果很好。

但是,在过程中具有完全相同的语句时,它不起作用。编译失败

PL/SQL: ORA-00942: table or view does not exist

有任何想法吗?是否有需要考虑的范围?

任何建议都将受到高度赞赏,在此先感谢:)


问题答案:

您可能需要对拥有该过程用户进行DBA_JOBS_RUNNING的直接授予。通过角色进行GRANT无效。…授予必须是明确的。

编辑:

从过程内执行SELECT与从过程外执行SELECT要求不同的权限(例如,在SQL-
Developer中)。拥有过程的用户必须已被明确授予表或视图的权限…如果不是从视图外部运行查询,则不是这种情况(例如,您可以通过角色来授予权限)

您需要以SYS身份连接并进入:

GRANT SELECT ON SYS.DBA_JOBS_RUNNING TO <user-that-owns-proc>;


 类似资料:
  • 问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想要改善这个问题吗? 更新问题,使它成为Stack Overflow的主题。 7年前关闭。 改善这个问题 我正在尝试将Oracle数据库连接到我的JAVA Web项目。当使用系统用户连接创建到数据库的连接时,将成功建立连接。 但是当我在连接中执行一个简单的select *命令时,它说 错误代码942,SQL状态42000:ORA-0

  • 问题内容: 我正在开发一个android应用程序,并且有一个按钮可以启动/暂停某些模拟过程。在此过程运行时,我需要实时输出一些数据。但是,当我为仿真创建新线程时,无法从该线程访问视图(将其命名为TextView),因为只能从创建它们的线程访问它们。另一方面,新线程是必需的,因为否则在仿真运行时,用户将无法执行任何操作(例如,按下其他一些按钮)。在这种情况下,创建新服务还需要创建一个新线程。我应该如

  • UPDATE IDConfig设置女性ID=女性ID 1; 获取错误,如您正在使用安全更新模式,并且您试图更新一个没有使用KEY列的WHERE的表要禁用安全模式,请在首选项中切换选项-

  • 我有以下功能可以将图片的较小版本合并到图片本身的较大版本: 然而,我得到了以下错误: CORS策略阻止了从源“http://localhost:53594”访问“http://xxxxxxx.com/testpicture.jpg”上的映像:请求的资源上没有“access-control-allow-origin”标头。 我使用了“匿名”交叉起源声明,应该可以解决这个问题,但它似乎没有造成任何影响