Oracle データベースを監視し、基本的に最後の更新を確認するための C# コードの簡単なサンプル スニペットを探しています。コマンドライン (Nagios との将来の統合に最適) または GUI のいずれかです。私はいくつかのプロトタイプを作成しましたが、まだ言語を学習しているため、コードが長くなる傾向があります。
任意の提案/コメントをいただければ幸いです。
考えられる解決策の1つは次のとおりです。
最終更新時刻を表す DATE フィールドを MY_TABLE テーブルに追加します。
ALTER TABLE my_table ADD (last_update_time DATE);
そのフィールドにインデックスを作成します。
CREATE INDEX i_my_table_upd_time ON my_table (last_update_time);
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 から通知を受け取る簡単な方法はありません。申し訳ありません。