我有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有任何方法让程序自己检测问题,避免杀戮?
非常感谢。