0

Oracle データベースを監視し、基本的に最後の更新を確認するための C# コードの簡単なサンプル スニペットを探しています。コマンドライン (Nagios との将来の統合に最適) または GUI のいずれかです。私はいくつかのプロトタイプを作成しましたが、まだ言語を学習しているため、コードが長くなる傾向があります。

任意の提案/コメントをいただければ幸いです。

4

1 に答える 1

1

考えられる解決策の1つは次のとおりです。

  1. 最終更新時刻を表す DATE フィールドを 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;

テーブルが最後に更新された時刻が表示されます。

Oracle から通知を受け取る簡単な方法はありません。申し訳ありません。

于 2009-04-20T03:00:38.223 に答える