由于要随时查询数据,所以就在一台机器上排定了一个JOB,专门用来刷新SNAPSHOT的,每隔20分钟刷新一次。这个JOB一共要刷新4个SNAPSHOT,其中有一个数据量比较大,大概200多万条记录,原先几天刷新都没有问题,但是过了一段时间之后就不能刷新了,手动刷新也不行。现在只要一出现这个问题就要重新再建SNAPSHOT,哪位高手能解决这个问题?不胜感激!附:JOB的语句如下
fadwadm/fadwadm@micwebexecute dbms_snapshot.refresh('sn_asse');
execute dbms_snapshot.refresh('sn_err');
execute dbms_snapshot.refresh('wo');
execute dbms_snapshot.refresh('trn_log');COMMIT;

解决方案 »

  1.   

    怎么Oracle这么少人上来的啊?
      

  2.   

    重新建SNAPSHOT就可以刷新了吗?
      

  3.   

    可能SNAPSHOT的时间,在执行一段时间,在某个时间段形成了JOB的并发数增加,超过ORACLE的定义数引起错误!
      

  4.   

    首先要看snapshot是完全刷新还是快速刷新.然后用dbms_mview.explain_mview来检查为什么不能刷新;如果在表mv_capabilities_table中查询到的相关数据均显示为支持DML刷新并且snapshot为快速刷新模式,那么把refresh fast on demand改为refresh fast on commit试试