Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 9i统计作业的权限_Oracle_Oracle9i_Privileges_Job Scheduling_Ora 12012 - Fatal编程技术网

Oracle 9i统计作业的权限

Oracle 9i统计作业的权限,oracle,oracle9i,privileges,job-scheduling,ora-12012,Oracle,Oracle9i,Privileges,Job Scheduling,Ora 12012,我们希望将自动统计数据收集从外部脚本转移到Oracle 9i的作业调度程序中。这是一项非常简单的工作,代码基本上如下所示: DBMS_JOB.SUBMIT( JOB => <output variable>, WHAT => 'DBMS_STATS.GATHER_DATABASE_STATS( cascade => TRUE, options => ''GATHER AUTO'');', NEXT_DATE

我们希望将自动统计数据收集从外部脚本转移到Oracle 9i的作业调度程序中。这是一项非常简单的工作,代码基本上如下所示:

DBMS_JOB.SUBMIT(  
    JOB => <output variable>,  
    WHAT => 'DBMS_STATS.GATHER_DATABASE_STATS(
        cascade => TRUE, options => ''GATHER AUTO'');',  
    NEXT_DATE => <start date>,  
    INTERVAL => 'SYSDATE + 7');
我没有得到的部分是,我提交作业的用户拥有收集这些数据库统计信息的正确权限——如果我手动运行该命令,它就会工作。我很好奇Oracle是否忽略了用户在创建过程中拥有的任何基于角色的特权,因此我直接授予用户任何分析权限,但仍然没有骰子


我是否需要直接授予用户一些其他权限才能完成此操作?如果我在模式的所有者下提交作业,我宁愿不必为每个模式做单独的作业。您使用的是哪个版本的9i。我记得在一个AskTom线程上读到关于9.2.0.1出现问题并且需要执行授权选择的内容,我将查找该线程


另外,由于您正在运行DB stats not子例程分析任何字典

这是什么用户?您专门为作业创建的用户?这是我们创建的用户,尽管不是专门为作业创建的。用户需要在我们的所有模式中执行各种工作,因此它有一个自定义角色,该角色赋予它系统权限来执行几乎所有事情。这就是为什么我认为Oracle忽略了基于角色的特权,因为否则该作业就不会有访问权限不足的问题。
ORA-12012: error on auto execute of job 25
ORA-20000: Insufficient privileges to analyze an object in Database
ORA-06512: at "SYS.DBMS_STATS", line 11015
...