本帖最后由 yoyolee 于 2010-12-27 15:43:22 编辑

解决方案 »

  1.   

    你就再写一个job,去检查job是broken的job,如果job broken了,你再这个job里重新激活它。。
      

  2.   

    CREATE OR REPLACE FUNCTION DbLinkIsOk(i_DbLinkName VARCHAR2) RETURN BOOLEAN IS
    BEGIN
      EXECUTE IMMEDIATE 'select * from dual@' || i_DbLinkName;
      RETURN TRUE;
    EXCEPTION
      WHEN OTHERS THEN
        RETURN FALSE;
    END;--上面一个自定义函数,用来检查dblink是否正常
    --在调用dblink时,调用此函数判断一下
    if DbLinkIsOk('dblink名字') then
        --执行远程操作
    end if;