Oracle使用系統級觸發器審計重要帳號的DDL語句
Oracle使用系統級觸發器審計重要帳號的DDL語句
如果要審計資料庫中的DDL操作,那麼可以通過DDL觸發器來實現,本節介紹一個例子,把資料庫中的所有DDL操作都記錄下來。本例子可以在oracle 8i或更高的版本中使用。
第一步,建立表空間和相關的日誌表:
create tablespace statlog datafile '/oradata/statlog.dbf' size 200m;
create table stat$log_ddl
(
ddl_date date,
user_name varchar2(30),
ip_addr VARCHAR2(30),
obj_name VARCHAR2(50),
ddl_type VARCHAR2(30),
object_type VARCHAR2(18),
owner VARCHAR2(30),
SQL_TEXT VARCHAR2(1000)
) TABLESPACE STATLOG;
第二步,建立資料庫級的DDL觸發器,把所有的DDL操作都記錄下來
CREATE OR REPLACE TRIGGER DDL_audit AFTER CREATE OR ALTER OR DROP OR TRUNCATE OR
GRANT OR REVOKE OR RENAME
on DATABASE
declare
ipaddr varchar2(20);
STEXT VARCHAR2(1000);
BEGIN
begin
select sys_context('USERENV', 'IP_ADDRESS') into ipaddr FROM dual;
exception when others then
ipaddr:='-';
end;
begin
select SQL_TEXT INTO STEXT FROM v$open_cursor WHERE UPPER(sql_text) LIKE 'ALTER%';
exception when others then
STEXT:='-';
end;
insert into sys.stat$log_DDL values
(sysdate,
user,
nvl (ipaddr,'-'),
NVL(ora_dict_obj_name,'-'),
NVL(ORA_SYSEVENT,'-'),
NVL(ora_dict_obj_type,'-'),
NVL(ora_dict_obj_owner,'-'),
STEXT
);
exception when others then
null;
end;
/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17252115/viewspace-747054/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用系統級觸發器禁用DDL語句觸發器
- Oracle11g安全審計–重要帳號的DDL語句操作記錄Oracle
- Oracle資料庫DDL審計觸發器觸發的bug問題Oracle資料庫觸發器
- oracle trigger觸發器審計schema物件的變更ddlOracle觸發器物件
- ORACLE DDL觸發器Oracle觸發器
- oracle ddl 觸發器Oracle觸發器
- 使用自治事務在觸發器中執行DDL語句示例觸發器
- 簡單使用oracle的審計語句Oracle
- 監控oracle的觸發器語句(轉)Oracle觸發器
- 【實驗】Oracle審計語句的使用演示Oracle
- Oracle 觸發器 限制DDL操作Oracle觸發器
- Oracle中審計刪除(DELETE)操作的觸發器Oracledelete觸發器
- ORACLE資料庫DDL審計觸發器與隱藏引數_system_trig_enabledOracle資料庫觸發器
- Oracle觸發器6(建立系統事件觸發器)Oracle觸發器事件
- Oracle觸發器觸發級別Oracle觸發器
- Oracle 獲取ddl語句Oracle
- Audit裡審計SQL語句與審計系統許可權的區別SQL
- mysql繞過行觸發器,實現語句觸發器MySql觸發器
- DML操作 DDL觸發器觸發器
- 關於觸發器在行級和語句級的執行順序問題觸發器
- Oracle使用審計監控使用者執行過的SQL語句OracleSQL
- ORACLE很重要的sql語句OracleSQL
- oracle檢視建立物件的DDL語句Oracle物件
- 觸發器中獲取SQL語句觸發器SQL
- oracle使用dbms_metadata.get_ddl包檢視DDL語句定義Oracle
- Oracle 儲存過程中的DDL語句Oracle儲存過程
- 淺析Linux系統帳戶的管理和審計(轉)Linux
- Oracle中獲取TABLE的DDL語句的方法Oracle
- oracle之 獲取建表ddl語句Oracle
- 搬運工,oracle獲得ddl語句Oracle
- Oracle Exp誤匯入系統帳號的補救方法Oracle
- Oracle利用dbms_metadata.get_ddl檢視DDL語句Oracle
- 執行oracle DDL語句要注意的問題Oracle
- 審計資料庫登陸登出觸發器資料庫觸發器
- Oracle11gr2 審計語句增強(二)Oracle
- Oracle11gr2 審計語句增強(一)Oracle
- 資料庫觸發器,禁止DDL操作資料庫觸發器
- 使用資料泵匯出DDL語句