dblink引起的死进程

时间:2014-03-28 11:20:51

标签: oracle11g dblink

我有PL / SQL程序从远程数据库复制数据。这两个数据库都是11g。大多数 程序运行正常的时间。但是,当远程数据库出现一些意外问题时 (比如关机等......但并非所有关机都会导致问题)它导致程序挂起和 没做什么。 我的程序如下所示:

Loop
begin
  insert into table as select * from table@remote;
  sleep 20 seconds;
exception
  when others then
     record error...
end;
 end loop;

由于我们无法控制远程数据库,因此我们无法使用具有快速刷新的materialize视图。这个 是我们可以做的唯一方法。

如果进程挂起,我们只能终止进程并重新启动它。即使是为了杀死这个过程, 这个过程被标记为被杀死,而不是立即被完全杀死。

上面代码中的异常语句确实捕获了一些错误,但没有捕到这种错误 error.Is有任何方法让程序自己检测问题,避免杀戮?

非常感谢。

0 个答案:

没有答案