2011-10-12 35 views
11

我是oracle新手。我需要在我的数据库中获得预定的工作。如何列出在我的数据库中运行的计划作业?

我问

DBA_SCHEDULER_JOBS, 
DBA_SCHEDULER_SCHEDULES, DBA_SCHEDULER_PROGRAMS, 
DBA_SCHEDULER_JOB_CLASSES, DBA_JOBS. 

,但是当我问ALL_JOBS和USER_JOBS没有行被检索甲骨文发出错误

"ORA-00942: table or view does not exist". 

。请告诉我应该看哪张桌子。

回答

11

DBA视图受限制。因此,除非您以DBA或类似特权用户身份连接,否则您将无法查询它们。

ALL视图显示您允许看到的信息。通常这将是你提交的工作,除非你有额外的权限。

您需要的权限在“管理指南”中定义。 Find out more

因此,无论您需要一个DBA帐户,还是需要与您的DBA团队聊天,以获取您需要的信息。

+10

复制如果你不想阅读手册:'SELECT * FROM ALL_SCHEDULER_JOBS;'。 – 2014-06-13 15:43:50

1

因为 SCHEDULER_ADMIN 角色是一个功能强大的作用,允许持证人以任何用户执行代码,您应该考虑授予个人调度程序系统权限。对象和系统权限使用常规的SQL授权语法来授予。一个例子是如果数据库管理员发出以下语句:

GRANT CREATE JOB TO scott;

执行此语句后,scott可以在他的模式中创建作业,计划或程序。

http://docs.oracle.com/cd/B19306_01/server.102/b14231/schedadmin.htm#i1006239