写了一个存储过程,涉及到表分区的删除和拆分,所以索引必须重建,单独执行存储过程没有问题,但是在JOB中自动运行时出现权限不足的问题,我也查过相关资料,都说要显示的授权,可是我把所有能想到的权限都显示的授予了,还是报权限不足的错误!
注:重建索引用的是动态SQL语句,因为有很多表,重建的索引无法预知!

解决方案 »

  1.   

    实在找不到原因可以尝试赋给public相关权限试试
    但是不推荐这样做。
      

  2.   

    create or replace procedure xx(xxx IN CHARACTER) authid current_user
    as
    在as前加上authid current_user也不行吗?
      

  3.   

    加了authid current_user 可以在存储过程中运行,但是放到JOB中仍然权限不足
      

  4.   

    具体是哪个语句在报错呢?授予 alter any table ,alter any index 权限有无风险?
      

  5.   

    想不出你这里怎么会出错。job中执行索引重建,分区拆分,应该问题不大。
    如果实在不行,可以使用scheduled task或者cron来实现