Oracle中審計刪除(DELETE)操作的觸發器
Oracle中審計刪除(DELETE)操作的觸發器
轉載連結:http://www.eygle.com/archives/2011/01/oracle_after_delete_trigger.html
幫朋友寫的一個簡單審計刪除操作的觸發器,供參考。首先是授權:
SQL> connect / as sysdba建立測試表及審計表:
Connected.
SQL> grant select on v_$sql to eygle;
Grant succeeded.
SQL> grant select on v_$session to eygle;
Grant succeeded.
SQL> connect eygle/eygle建立如下觸發器:
Connected.
SQL> create table eygle as select user_id,username from dba_users;
Table created.
SQL> desc eygle
Name Null? Type
----------------------------------------- -------- ----------------------------
USER_ID NOT NULL NUMBER
USERNAME NOT NULL VARCHAR2(30)
SQL> create table eygle_delete_audit
2 (user_id number,username varchar2(30),deleteby varchar2(30),deldate date,ipaddress varchar2(50),sqltext clob);
Table created.
CREATE OR REPLACE TRIGGER eygle_after_delete測試刪除操作:
AFTER DELETE
ON eygle
FOR EACH ROW
BEGIN
INSERT INTO eygle_delete_audit
SELECT :old.user_id,:old.username,user,sysdate,SYS_CONTEXT ('userenv', 'ip_address')
,q.sql_text
FROM v$sql q, v$session s
WHERE s.audsid = (SELECT USERENV ('SESSIONID') FROM DUAL)
AND s.sql_id = q.sql_id;
END;
/
SQL> connect eygle/eygle@rac1
Connected.
SQL> delete from eygle where user_id=46;
1 row deleted.
SQL> commit;
Commit complete.
SQL> truncate table eygle_delete_audit;
Table truncated.
SQL> delete from eygle where user_id=0;
1 row deleted.
SQL> commit;
Commit complete.
SQL> select * from eygle_delete_audit;
USER_ID USERNAME DELETEBY
---------- ------------------------------ ------------------------------
DELDATE IPADDRESS
------------ --------------------------------------------------
SQLTEXT
--------------------------------------------------------------------------------
0 SYS EYGLE
12-JAN-11 172.16.3.248
delete from eygle where user_id=0
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17252115/viewspace-740740/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle 批量刪除觸發器Oracle觸發器
- 找回Oracle中Delete刪除的記錄Oracledelete
- oracle delete 分批刪除Oracledelete
- Oracle資料庫DDL審計觸發器觸發的bug問題Oracle資料庫觸發器
- JN專案-刪除觸發器的命令觸發器
- SQL Server 觸發器的修改與刪除SQLServer觸發器
- Oracle 刪除表中重複記錄的DELETE SQLOracledeleteSQL
- 觸發器中操作LOB觸發器
- Oracle 觸發器 限制DDL操作Oracle觸發器
- sql觸發器刪除資料庫中的級聯記錄SQL觸發器資料庫
- oracle trigger觸發器審計schema物件的變更ddlOracle觸發器物件
- JN專案-觸發器級聯刪除觸發器
- 10.1.0.3delete觸發器的bug3Ddelete觸發器
- Oracle 審計的初步操作Oracle
- 檢視oracle 資料庫中的級聯刪除(delete cascade)Oracle資料庫delete
- Oracle使用系統級觸發器審計重要帳號的DDL語句Oracle觸發器
- Oracle中,一個Delete操作的流程Oracledelete
- 審計資料庫登陸登出觸發器資料庫觸發器
- LARGE DELETE快速刪除delete
- 除錯觸發器除錯觸發器
- Oracle中觸發器的應用 (zt)Oracle觸發器
- Linux命令curl去操作delete去刪除資源Linuxdelete
- 審計資料庫登陸失敗觸發器資料庫觸發器
- postgresql 觸發器操作SQL觸發器
- ZT Oracle中,一個Delete操作的流程Oracledelete
- delete和truncate刪除的區別delete
- Oracle觸發器Oracle觸發器
- Oracle觸發器觸發級別Oracle觸發器
- Elasticsearch增刪改查 之 —— Delete刪除Elasticsearchdelete
- 【實驗】【審計】【FGA】使用Oracle的審計功能監控資料庫中的可疑操作Oracle資料庫
- SQL Server觸發器建立、刪除、修改、檢視示例步驟SQLServer觸發器
- DML操作 DDL觸發器觸發器
- Oracle閃回查詢恢復delete刪除資料Oracledelete
- Oracle 審計和測試操作Oracle
- SAP ABAP OData 服務如何支援刪除(Delete)操作試讀版delete
- 【Oracle】刪除大表操作一則Oracle
- 【原創】 演示一個通過觸發器進行審計的示例觸發器
- ORACLE DDL觸發器Oracle觸發器