我是oracle的新手。我需要在我的数据库中获取预定的作业。
我查询了
DBA_SCHEDULER_JOBS,
DBA_SCHEDULER_SCHEDULES, DBA_SCHEDULER_PROGRAMS,
DBA_SCHEDULER_JOB_CLASSES, DBA_JOBS.
但Oracle发出错误
"ORA-00942: table or view does not exist".
当我查询ALL_JOBS和USER_JOBS时,没有检索到任何行。请告诉我应该看哪个表。
答案 0 :(得分:12)
DBA视图受到限制。因此,除非您作为DBA或类似特权用户连接,否则您将无法查询它们。
ALL视图显示您可以看到的信息。通常情况下,这是您提交的工作,除非您有其他权限。
您需要的权限在“管理员指南”中定义。 Find out more
因此,您需要一个DBA帐户,或者需要与DBA团队聊天才能获得所需信息。
答案 1 :(得分:3)
我认为您需要SCHEDULER_ADMIN角色来查看dba_scheduler表(但是这可能也授予您权利)
请参阅:http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/schedadmin001.htm
答案 2 :(得分:2)
因为 SCHEDULER_ADMIN 角色是一个强大的角色,允许被授权者以任何用户身份执行代码,所以您应该考虑授予单个调度程序系统权限。使用常规SQL授权语法授予对象和系统特权。例如,数据库管理员是否发出以下语句:
授予scott创建工作;
执行此声明后, scott可以在其架构中创建作业,计划或程序。
从http://docs.oracle.com/cd/B19306_01/server.102/b14231/schedadmin.htm#i1006239
复制