2008-09-16 19 views
0

我正在尋找一個簡單的C#代碼片段來監視Oracle數據庫,並基本檢查其最新更新。它可以是命令行(很適合未來與Nagios的集成)或GUI。我已經做了一些原型,但代碼往往會變得冗長,因爲我還在學習語言。用於監視C#中Oracle數據庫中最後一個INSERT/UPDATE的片段?

任何建議/意見將不勝感激。

+0

@ Lord Burner:好的,先生,我需要監視一組表格,有些應用程序在那裏插入記錄,由於數據本身有些描述性,我可以用相對簡單的選擇語句進行檢查。我想關鍵是玩時間戳和last_update記錄。 – 2008-09-16 12:05:28

回答

1

一個可能的解決方案是:

  1. 添加表示上次更新時間MY_TABLE表日期字段。

    ALTER TABLE my_table ADD (last_update_time DATE);

  2. 創建該字段的索引。

    CREATE INDEX i_my_table_upd_time ON my_table (last_update_time);

  3. 創建該表上的那個大火ON UPDATE和ON INSERT和商店SYSDATE進入新領域的數據庫觸發器。

    CREATE OR REPLACE TRIGGER my_table_insert_trg 
    BEFORE INSERT OR UPDATE 
    ON my_table 
    FOR EACH ROW 
    BEGIN 
        :new.last_update_time := SYSDATE; 
    END; 
    

現在,您可以發出以下查詢每5分鐘

SELECT max(last_update_time) FROM my_table; 

,它會給你的時候,你的表的最後更新。

有沒有簡單的方法來從甲骨文獲得通知,抱歉。

+0

我真的很感謝你的幫助謝爾蓋,謝謝! – 2010-04-09 13:13:54

相關問題