程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Oracle11G監控單張表的增刪改操作

Oracle11G監控單張表的增刪改操作

編輯:Oracle教程

Oracle11G監控單張表的增刪改操作


前言:   一:使用數據庫自帶的審計功能 SQL> show parameter audit   2,開啟審計功能   需要用sysdba,注意audit_trail要為DB_EXTENDED才記錄執行的具體語句...   3,關閉審計功能 SQL> alter system set audit_trail = none scope=spfile;   4,針對某張表的審計功能 AUDIT UPDATE,DELETE,INSERT ON T_TEST by access;   5,對該張表進行各種DML操作測試   6,查詢審計的信息 select EXTENDED_TIMESTAMP,SESSION_ID,SQL_TEXT from DBA_COMMON_AUDIT_TRAIL ORDER BY EXTENDED_TIMESTAMP DESC;   二,采用觸發器   看到線上數據庫load比以前增加蠻多的,為了單張表的監控開啟審計比較消耗資源,有些不劃算,所以可以采用另外一種辦法來做,就是在表上建立觸發器。   1,先建立建立測試表:   查看已經建立的表 aaa_test與trig_sql。   2,並且在 trig_sql表上面添加索引: create index idx_time on plas.trig_sql (LT);   3,建立觸發器 create or replace trigger pri_test   4,開始進行數據操作測試: insert into plas.aaa_test1 select 2,'tom',sysdate from dual;   5,去查看表記錄,會發現如下 SQL> select * from plas.trig_sql; PS:看到SQLTEXT有些都為 begin :id := sys.dbms_transaction.local_transaction_id; end; 的,是因為我執行的insert、delete、update語句在plsqldev.exe客戶端執行的,所以沒有記錄下執行的sql語句。而有些通過[email protected] (TNS V1-V3)客戶端連接執行的,會記錄下執行過的update語句。   6,統計下當前都有哪些用戶以及ip執行了dml操作。 SQL> select username,client_ip from plas.trig_sql group by username,client_ip;  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved