0

我正在寻找一个简单的 C# 代码示例片段来监视 Oracle 数据库并基本上检查它的最后更新。它可以是命令行(非常适合将来与 Nagios 集成)或 GUI。我已经做了一些原型,但代码往往会变得很长,因为我还在学习这门语言。

任何建议/评论将不胜感激。

4

1 回答 1

1

一种可能的解决方案是:

  1. 向 MY_TABLE 表添加一个表示上次更新时间的 DATE 字段。

    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 回答