当前位置: 代码迷 >> Oracle技术 >> 物化视图等一些有关问题 。望大家指教。
  详细解决方案

物化视图等一些有关问题 。望大家指教。

热度:133   发布时间:2016-04-24 08:39:31.0
物化视图等一些问题 。。。望大家指教。。
最近 在做物化视图。。遇到一些问题 不知道如何解决。。。希望在这里可以得到各位大虾的指教 。。 先感谢了 。呵呵


1.在做物化视图时 因为SQL里有很多库 到ORACLE时 要创建很多物化视图过程
SQL code
declare  sqls varchar(1000);      cursor tb1 is select t."name" as name from sysdatabases@master t where t."name" like 'USER%'       order by t."name";      begin      for i in tb1      loop          sqls:='CREATE MATERIALIZED VIEW '||i.name||'.test1 nologging '||               'TABLESPACE USER2009 '||               'BUILD DEFERRED '||               'as  select * from test1@'||i.name||               ' where rownum=rownum ';                 execute immediate sqls;                end loop;      end;create or replace procedure USER2009 asbegin   declare       sqls varchar(1000);            cursor tb1 is select t."name" as name from sysdatabases@master t where t."name" like 'USER%' order by t."name";            begin            for i in tb1            loop                     sqls:='begin dbms_mview.refresh('''||trim(i.name)||'.test1''); end;';            execute immediate sqls;            end loop;            end;end;

因为物化视图有近200个 所以用了循环 可是 现在有个问题是 每次创建 我的电脑都会有一个进程产生 一直到电脑卡死为止。。有什么方法可以让它物化视图完毕后 把进程断掉么?

2.同样是上面的代码 执行到一半的时候 会出现一个错误 说提取违反顺序 。。然后断开了。。 请问这是什么原因造成的 如何解决 ?



再次感谢。。期待回答。。~

------解决方案--------------------
1、单步调试一下,确认卡在什么地方。
2、或者直接通过SQL语句生成建立物化视图的脚本(和你存储过程差不多),然后执行脚本,确认问题出现在哪儿。

------解决方案--------------------
查查在哪里卡死,你这样写,很容易挂起;
  相关解决方案