--创建语句
create MATERIALIZED VIEW v_ceshi
  REFRESH FAST
  START WITH SYSDATE      
  NEXT TRUNC(SYSDATE,'HH24')+1/24  
AS
  SELECT * FROM TMP_LJX_20100402_ceshi@ZJDX_SMS;但是创建不成功的,报错:
ORA-04052: 在查找远程对象 FM.XN_FM_OBJ_GROUPNAME@FM_MASTER 时出错
ORA-00604: 递归 SQL 层 1 出现错误
ORA-03106: 致命的双工通信协议错误
ORA-02063: 紧接着line(源于FM_MASTER)直接查询SELECT * FROM TMP_LJX_20100402_ceshi@ZJDX_SMS; 是可以查出数据的而且不报错!

解决方案 »

  1.   

    有没有创建物化图日志?
    CREATE MATERIALIZED VIEW LOG ON TMP_LJX_20100402_ceshi;.
      

  2.   

    很可能是bug 5671074  
    如果是这样你就要打patch5671074 了。
      

  3.   

    --先创建同义词
    CREATE SYNONYM TMP_LJX_20100402_ceshi FOR  TMP_LJX_20100402_ceshi@ZJDX_SMS;--再:create MATERIALIZED VIEW v_ceshi
      REFRESH FAST
      START WITH SYSDATE   
      NEXT TRUNC(SYSDATE,'HH24')+1/24   
    AS
      SELECT * FROM TMP_LJX_20100402_ceshi;
    --另外,注意1楼的,要在远程库上为 TMP_LJX_20100402_ceshi 加上物化视图日志
      

  4.   

    看看日志有没有什么信息。
    单独执行SELECT * FROM TMP_LJX_20100402_ceshi@ZJDX_SMS;由没有问题有可能是bug导致。
      

  5.   

    oracle版本很重要,还有就是要先创建物化视图日志表