我想写一个程序,用来监控数据库中某一个表的数据是否被添加,删除或者修改,然后将这些变动存入一个我自己定义的表中。本来想使用触发器,但需要修改源表。要进行数据一一比较,效率太低,你有什么办法,既不用修改源表,效率又可以让大家接受的高招吗?

解决方案 »

  1.   

    1. 物化视图v$log可以非常简单的得到你想要的东西,去看看这方面的材料吧
    2. oracle还有一个Audit功能也可以基本满足你的需要
      

  2.   

    觸發器.但觸發器記錄不到是哪個user 修改的.
      

  3.   

    我也要做类似的工作
    oracle日志或审计都比较复杂,而且感觉不太稳定(看网上说的,自己没试)
    而且是分布式系统,并且有一些业务规则,看来只能写触发器了