专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Oracle技术

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

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
物化视图等一些问题 。。。望大家指教。。
最近 在做物化视图。。遇到一些问题 不知道如何解决。。。希望在这里可以得到各位大虾的指教 。。 先感谢了 。呵呵


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 as
begin
   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语句生成建立物化视图的脚本(和你存储过程差不多),然后执行脚本,确认问题出现在哪儿。

------解决方案--------------------
查查在哪里卡死,你这样写,很容易挂起;
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: