2012-05-02 81 views
0

我需要在數據庫中設置一個標誌,以防鏈接服務器(我從中定期更新數據)無法訪問。鏈接服務器無法訪問時設置標誌,oracle

有什麼建議嗎?

+0

爲什麼不使用Oracle Replication或Streams? Oracle提供的這些內置功能爲我們提供了處理事務的功能,因此我們不必推出自己的功能。 – APC

回答

0

您可以嘗試從遠程數據庫中選擇雙重數據庫,並記下它何時不可用。

declare 

    l_available number; 

begin 

    begin 

     -- Try and find the remote DB. 
     execute immediate 'select 1 from [email protected]_db' 
        into l_available; 

    exception when others then 
     l_available := 0; 

    end; 

    update my_table 
     set available = l_available 
    where server = remove_db; 

end; 
/
+0

非常感謝您,但鏈接服務器上的查詢需要大量時間,連接可能在查詢過程中停止。 我想我可以使用實際的查詢而不是選擇1以相同的方式 – mstrobilo

+0

是的,或者如果查詢錯誤然後運行這個來仔細檢查查詢失敗或服務器。 – Ben