两台数据库电脑,一台上面的物化视图是从另一台电脑上的基表中取数据的,设置是每 3 秒种增量刷新,正常情况没有问题,现在问题是  当基表所在的电脑重新启动再启动数据库正常后(意思就是两台电脑网络断开再重新恢复正常后),  另一台电脑中物化视图就再也刷新不了了。大概查看了下,发现是刷新组不工作了,状态处于“中断”,还有个就是 开始刷新时间不是 sysdate 了(创建的时候设置开始刷新时间就是sysdate),变成 4000年1月1号了。  只有在orahome手动点即时刷新,并且把刷新时间改回 sysdate之后, 物化试图才能恢复正常。 请问有没有办法保证在这种情况下不用手动操作就能自动恢复?????? 散了所有分,救命啊!!!

解决方案 »

  1.   

    感觉上没有好的办法让系统自动激活已经故障的MView。使用excute DBMS_MVIEW.refresh('物化视图名','参数') 
    参数:增量是'f',不过由于有过网络中断,建议使用'c'完全刷新。
    可以手动刷新试图。
      

  2.   

    有没有此job:dbms_refresh.refresh('"MVADMIN"."REP_REFRESH"');如果有,那就再做个下面的job,就可以解决网络断开自动恢复。sql>create or replace procedure resume_broken_job as
    CURSOR my_broken_jobs IS SELECT job FROM user_jobs WHERE broken = 'Y'; 
    BEGIN   
          FOR broken_job IN my_broken_jobs LOOP  
              BEGIN 
                    dbms_job.broken(broken_job.job, FALSE);  /*设置job的broken为N,这样job可以再次执行*/
                    commit;
                    EXCEPTION WHEN OTHERS THEN NULL;  
              END;  
          END LOOP; 
    END; 
    /sql>variable job2 number;
    begin  
    dbms_job.submit(:job2,'resume_broken_job;',sysdate,'sysdate+5/(24*60*60)');
    commit; 
    end;
    /我在物化视图复制环境中用过,没有问题。请参考。
      

  3.   

    用job来做,就可以达到你想要的目的。
      

  4.   

    最好的办法是重建你的物化视图,因为重建过程会重新full refresh一次并重新执行新的job,所花费的成本比你去修复oracle的job问题要快很多.
      

  5.   

    非常感谢大家,尤其是 zdyrain(雨),你的方法确实没问题,这两天问题比较多,所以没空来结贴,现在在配置物化视图的双向复制环境又碰到问题,想再问你一下,两边的数据库名完全相同可以吗? 因为我是在两台虚拟机上做实验。。虚拟机是直接copy的,所以只改了个ip地址不一样,其他都一样。 这样行吗? 还有在配置过程中建dblink的名字是不是一定和globa_name相同? 希望得到你的帮忙,看了网上的帖子也没能搞定。。好急。。
      

  6.   

    两边的数据库名完全相同可以吗?  
    是可以的,主体站点---物化视图站点 两个数据库(好像叫方案更合适些)可以不一样的名字也可以一样,如果两个都是主体站点的话,好像必须同名(这是我的同事测试出来的结果)。我的database link 建立的情况如下,给你参考下。
    alter database rename global_name to hh.garims.com;HH =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.1)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SID = tsgarims)
          (SERVER = DEDICATED)
        )
      )Create database link hh.garims.com connect to repadmin identified by repadmin using 'HH';
      

  7.   

    zdyrain(雨), 能不能加下我 msn?   msn: [email protected] ,这贴我结了, 今天配置好后,开始小量数据测试没问题, 后来在 物化站点更新 500万数据,结果发现 主表没被更新。。郁闷ing。。
      

  8.   

    不好意思,一直没有上来,呵呵,我的msn基本不上,留qq吧  29940283