物化视图job无法执行

之前把32位10.2.0.1升级到64位10.2.0.4,折腾了好久,过后一切正常,今天查了下job,发现刷新物化视图的job没有执行,next_date 已经是4000-1-1 broken也是Y了
手动执行
SQL> exec dbms_job.run(61);
BEGIN dbms_job.run(61); END;

*
第 1 行出现错误:
ORA-12011: 无法执行 1 作业
ORA-06512: 在 "SYS.DBMS_IJOB", line 406
ORA-06512: 在 "SYS.DBMS_JOB", line 275
ORA-06512: 在 line 1

单独执行对应的procedure没问题,查看alert,发现报错
Fri Feb 17 14:27:29 2012
Errors in file d:\oracle\product\10.2.0\admin\akbhdb\udump\akbhdb_ora_348.trc:
ORA-12012: 自动执行作业 61 出错
ORA-01031: 权限不足
ORA-06512: 在 "SYS.DBMS_SNAPSHOT", line 2251
ORA-06512: 在 "SYS.DBMS_SNAPSHOT", line 2457
ORA-06512: 在 "SYS.DBMS_IREFRESH", line 685
ORA-06512: 在 "SYS.DBMS_REFRESH", line 195
ORA-06512: 在 line 1
没升级之前都没有问题的,咋会这样
直接从权限考虑,开始赋予很多权限,都是不行,后来想到是物化视图,查询了对应物化视图有的权限
SQL> select distinct privilege from dba_sys_privs where privilege like '%MATERIALIZED%';

PRIVILEGE
----------------------------------------
DROP ANY MATERIALIZED VIEW
CREATE MATERIALIZED VIEW
ALTER ANY MATERIALIZED VIEW
CREATE ANY MATERIALIZED VIEW

直接把这4个都加上 grant 权限 to user;
再次运行job
SQL> exec dbms_job.run(61);

PL/SQL 过程已成功完成。
不甘心,开始挨个revoke
revoke DROP ANY MATERIALIZED VIEW from user;
并重复测试执行job,发现原来是ALTER ANY MATERIALIZED VIEW这个权限,这次总算安心了

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25680865/viewspace-716668/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25680865/viewspace-716668/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值