【问题标题】:What Privilege Do I Need to Alter User Jobs in Oracle Database?在 Oracle 数据库中更改用户作业需要什么权限?
【发布时间】:2016-11-18 02:42:40
【问题描述】:

在我们的一个 Oracle 数据库实例中,我无法修改 user_jobs 视图中的一行(我想修改 Next_Date 以便作业将在指定时间执行一次)。作为所有者和 sysdba,我都无法做到这一点。错误代码是01031 权限不足提示。我知道我可以这样做,因为我能够在另一个数据库实例中做同样的事情。那么我需要什么样的权限来改变这个视图呢?谢谢!

【问题讨论】:

  • @BobJarvis,感谢您的评论。我作为 DBA 的经验很少,所以我不确定你指的是什么观点。想详细说明一下吗?
  • 我之前评论的第一句话是指向另一个 StackOverflow 问题的链接,该问题提供了有关如何自己找到答案的信息。
  • 如果您尝试运行 update user_jobs set ... 之类的东西,那将无法可靠运行。数据字典表不能直接修改,至少不能安全可靠。相反,您需要使用 API,例如 DBMS_JOBS 或 DBMS_SCHEDULER。
  • @JonHeller。谢谢你的评论。就像我提到的那样,我作为 DBA 的经验很少。我只是使用 PL/SQL Developer 并运行查询 SELECT * FROM USER_JOBS FOR UPDATE 然后我将直接修改 UI 中的字段。你说它不安全也不可靠。但我100%无法修改它。所以我猜还有一些禁止我这样做的标志?但是在另一个数据库实例中我可以做到吗?

标签: oracle database-administration


【解决方案1】:

切勿直接修改数据字典中的表。这些“表格”中的大多数都是关于未记录对象的复杂视图。不知道如果你修改它们会发生什么。

改为使用记录在案的过程DBMS_JOB.CHANGE 来修改作业属性。或者更好的是,避免使用那些老式的作业并使用更新的 DBMS_SCHEDULER 包来创建和管理作业。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-24
    • 2011-01-01
    • 1970-01-01
    • 2020-06-21
    • 2010-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多