oracle trigger觸發器這servererror
/************建立用於審計的表t_trace************/
SQL> create table t_trace(username varchar2(10),terminal varchar2(10),ip varchar2(20),time date,action varchar2(100),errormsg varchar2(1000));
Table created
/***********建立用於審計系統操作出錯事件的觸發器************/
SQL> create or replace trigger tr_system_error
2 after servererror on database --關鍵字:servererror,操作一旦出錯即觸發
3 declare
4 begin
5 insert into t_trace values(sys.login_user,sys_context('userenv','terminal'),sys_context('userenv','ip_address'),sysdate,sys.sysevent,dbms_utility.format_error_stack);
6 end; --觸發器不用顯式commit
7 /
Trigger created
/***********未錯誤操作前的審計表t_trace************/
SQL> select * from t_trace;
USERNAME TERMINAL IP TIME ACTION ERRORMSG
---------- ---------- -------------------- ----------- -------------------------------------------------------------------------------- --------------------------------------------------------------------------------
/***********另一會話模擬一個錯誤操作/
SQL> drop table t_xs purge;
drop table t_xs purge
ORA-00942: table or view does not exist
/***********重新回到原會話錯誤操作已經捕獲並記錄在審計表**************/
SQL> select * from t_trace;
USERNAME TERMINAL IP TIME ACTION ERRORMSG
---------- ---------- -------------------- ----------- -------------------------------------------------------------------------------- --------------------------------------------------------------------------------
TBL_BCK 123-PC 127.0.0.1 2013/4/18 1 SERVERERROR ORA-00942: table or view does not exist
小結:1,servererror事件與觸發器trigger
2,sys_context函式
sys_user函式
sys_字首的函式
3,servererror可記錄所有oracle操作同錯的動作
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-758791/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 禁止oracle表的觸發器triggerOracle觸發器
- Mysql之觸發器triggerMySql觸發器
- MySQL入門-- TRIGGER(觸發器)MySql觸發器
- PL/SQL 07 觸發器 triggerSQL觸發器
- SQLite建立觸發器 CREATE TRIGGERSQLite觸發器
- system trigger中的servererror事件驗證ServerError事件
- oracle trigger觸發器審計schema物件的變更ddlOracle觸發器物件
- Oracle 過程(Procedure)、函式(Function)、包(Package)、觸發器(Trigger)Oracle函式FunctionPackage觸發器
- Oracle觸發器Oracle觸發器
- Oracle觸發器觸發級別Oracle觸發器
- [MySQL光速入門]026 觸發器 trigger!!!MySql觸發器
- ORACLE DDL觸發器Oracle觸發器
- Oracle之觸發器Oracle觸發器
- oracle ddl 觸發器Oracle觸發器
- Oracle觸發器6(建立系統事件觸發器)Oracle觸發器事件
- 根據業務寫觸發器(oracle觸發器片)觸發器Oracle
- ORACLE觸發器詳解Oracle觸發器
- Oracle登陸觸發器Oracle觸發器
- oracle 觸發器-表同步Oracle觸發器
- Oracle 登入觸發器Oracle觸發器
- oracle 觸發器 client 事件Oracle觸發器client事件
- Oracle開發基礎-觸發器Oracle觸發器
- oracle 批量刪除觸發器Oracle觸發器
- oracle 觸發器的例項Oracle觸發器
- Oracle 觸發器 限制DDL操作Oracle觸發器
- Oracle12c中多宿主環境(CDB&PDB)的資料庫觸發器(Database Trigger)Oracle資料庫觸發器Database
- Oracle 觸發器中使用遊標Oracle觸發器
- Oracle觸發器詳細介紹Oracle觸發器
- 為什麼trigger()無法觸發hover事件事件
- oracle儲存過程和觸發器Oracle儲存過程觸發器
- Oracle中觸發器的應用 (zt)Oracle觸發器
- oracle觸發器~ 更新多表的問題Oracle觸發器
- Oracle Instead of 觸發器的使用Oracle觸發器
- Oracle資料庫DDL審計觸發器觸發的bug問題Oracle資料庫觸發器
- ORACLE 觸發器語法及例項 一Oracle觸發器
- ORACLE 觸發器語法及例項 二Oracle觸發器
- ORACLE 觸發器語法及例項 三Oracle觸發器
- oracle 觸發器 和 常用內建程式包Oracle觸發器