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

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

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

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

  • 我有一台mac电脑,正在尝试使用Shutil库的基本复制或移动功能。 每当我运行代码时,控制台都会打印一个错误: 或者类似于那个错误的东西。 下面是我的代码: 代码应该将单个文件从scr文件夹复制到最大文件夹。 我试图改变目录和打印目录使用: 这是我使用以下命令时遇到的错误:PermissionError:[Errno 1]操作不允许