迁移后物化视图任务执行报错ORA

阅读: 评论:0

迁移后物化视图任务执行报错ORA

迁移后物化视图任务执行报错ORA

今天用expdp&impdp迁移数据到另一个新库
迁移后有个定时任务执行失败如下
Errors in file /oracle/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_:
ORA-12012: 自动执行作业 150812 出错
ORA-23404: 刷新组 "ttd"."xxxx" 不存在
ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: 在 "SYS.DBMS_REFRESH", line 23
ORA-06512: 在 "SYS.DBMS_REFRESH", line 195
ORA-06512: 在 line 1
Wed Oct 22 12:08:45 2014
查询刷新组,发现新环境刷新组不存在,原来环境有
select rowner, rname, job, interval from all_refresh;
对比原来的库的物化视图和新导入库物化视图的定义发现,新导入库中物化视图少了start with 和 next 子句的话,这样就导致没有创建刷新组,由于原来的job中的刷新任务导入到新库中,所以新库在调用fresh时报错
但是可以使用exec fresh('mv');进行刷新
问题解决方法:

删除新库中的物化视图,然后重新创建,同时删除job中的原来的刷新任务,因为再次创建物化视图时会重新创建job如果不删除就会有个定时任务


如下解释:
这个错误还需要从materialized view的创建开始追溯,因为如果在create materialized view语句中加入start with 和 next 子句的话,创建MV的过程中会自动创建一个job,制定定期刷新计划,例如:
create materialized view t1_mv refresh fast 
start with to_date('21-07-2009 17:15:00', 'dd-mm-yyyy hh24:mi:ss') 
  next TRUNC(SYSDATE,'HH')+375/1440
  with primary key 
    as select * from t1;
 
SQL> select job, schema_user, interval, what from all_jobs;
 
       JOB SCHEMA_USER        INTERVAL                            WHAT
---------- ------------------ ----------------------------------- ----------------------------------------------
        21 WANGXIAOQI         TRUNC(SYSDATE,'HH')+375/1440        fresh('"WANGXIAOQI"."T1_MV"');
 
SQL>
 可以看到,这个job中的执行内容是:fresh('"WANGXIAOQI"."T1_MV"'); 而不是我们普通手动刷新MV时用的 fresh 。
再来研究一下dbms_refresh这个数据包,这个包是用于产生一个刷新组以方便MV一组为单位统一刷新的。而当MV被制定刷新策略的方式指定时,会自动创建一个刷新组,并将该MV添加至这个刷新组中,所以job可以使用fresh来进行刷新。可以来看一下:
 
SQL> select rowner, rname, job, interval from all_refresh where rname = 'T1_MV';
 
ROWNER               RNAME                   JOB INTERVAL
-------------------- ---------------- ---------- ----------------------------------------
WANGXIAOQI           T1_MV                    21 TRUNC(SYSDATE,'HH')+375/1440
 
    再看这个组的成员:
 
SQL> select rowner, rname, job, interval from all_refresh_children where rname = 'T1_MV';
 
ROWNER               RNAME                   JOB INTERVAL
-------------------- ---------------- ---------- ----------------------------------------
WANGXIAOQI           T1_MV                    21 TRUNC(SYSDATE,'HH')+375/1440
 

本文发布于:2024-02-03 04:15:00,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170690490048584.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:报错   视图   ORA
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23