oracle使用觸發器監控哪使用者刪除了表記錄

datapeng發表於2014-08-19
    最近,客戶反映有一個表的記錄被人修改了,想查歸檔日誌,又比較麻煩,叫我們做了一個觸發器來監控一下這個表,看看是誰做的事。
    於是我們就用一個觸發器幫他解決了這個問題

1、建立接收刪除使用者的表資訊
SQL> create table tab_mon_midify as (select sid,username,program,machine,'000.000.000.000'  ipadd,sysdate moditime from v$session where 0=1);
Table created.

該表分別記錄了,刪除的使用者、機器名、ip及刪除時間等

2、建立觸發器

SQL> create or replace trigger tab_mon_mod_tr
    1  before delete or update on BPMDB.T_MDM_SAP_GLACCOUNT
    2  for each row

    3  begin

    4   insert into tab_mon_midify select sid,username,program,machine,sys_context('userenv','ip_address'),sysdate from v$session where audsid = userenv('sessionid');
    5  end;
    6   /


3、建好觸發器後,就可以監控對錶的修改了,一旦修改,記錄會自動插入監控表裡面!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29371470/viewspace-1253842/,如需轉載,請註明出處,否則將追究法律責任。

相關文章