如何监视数据库中的特定列

时间:2013-10-07 12:19:50

标签: java database oracle

我有一个Oracle数据库,我想要监视数据库中的特定表/列。如果列值超过阈值,我想调用我的java应用程序代码来执行一些操作LIKE EXAMPLE SCALE UP或SHUTDOWN。我怎样才能做到这一点?需要任何指示或帮助。

4 个答案:

答案 0 :(得分:1)

我建议您使用triggers,它们的目的是做这样的事情,在这种情况下我真的不会用Java搞砸它。

答案 1 :(得分:1)

Set Serverout On
Declare
comm Varchar2(2000);
Begin
comm := OSCommand_Run('/home/jguy/runJavaApp.sh')--for calling commands
DBMS_OUTPUT.Put_Line(comm);
End;

答案 2 :(得分:1)

您可以使用triggers(在这种情况下为更新触发器),它将在特定条件下执行特定function/stored procedure

答案 3 :(得分:1)

有多种方法可以做到这一点:

  1. 触发表,它将检查每个DML语句的列值以及值是否超过阈值。

  2. 由于触发器可能对表有一些性能影响,您可以创建调度存储过程的调度程序作业,该存储过程将定期调用(每分钟或任何您喜欢的任何内容),然后检查列值并调用java app如果它超过了门槛。

  3. 我更喜欢触发器,但检查对表的性能影响。

相关问题