oracle開啟audit(審計)
- SQL> CONN /AS SYSDBA
- SQL> show parameter audit
- NAME TYPE VALUE
- ------------------------------------ ----------- ------------------------------
- audit_file_dest string F:\APP\ADMINISTRATOR\ADMIN\ORCL\ADUMP
- audit_sys_operations boolean TRUE
- audit_trail string DB_EXTENDED
如果沒有使用下面語句更改:
- SQL> alter system set audit_trail=db_extended scope=spfile;
注意audit_trail要為DB_EXTENDED才記錄執行的具體語句...
2、重啟例項
- SQL> shutdown immediate;
- SQL> startup
3、針對某表的DML審計(錯誤的也記錄)
- SQL> AUDIT UPDATE,DELETE,INSERT ON T_TEST by access;
4、對該表做各種DML操作
用scott使用者登入
- SQL> conn scott/123
- SQL> create table t_test as select * from emp;
- SQL> update t_test set emp1='111';
- *
- 第 1 行出現錯誤:
- ORA-00904: "EMP1": 識別符號無效
- SQL> delete from t_test where rownum=1;
- 已刪除 1 行。
- SQL> commit;
5、查詢審計資訊
- SQL> select EXTENDED_TIMESTAMP,SESSION_ID,SQL_TEXT
- SQL> from DBA_COMMON_AUDIT_TRAIL ORDER BY EXTENDED_TIMESTAMP DESC;
或者
- SQL> select EXTENDED_TIMESTAMP,SESSION_ID,SQL_TEXT from DBA_COMMON_AUDIT_TRAIL
- SQL> where OBJECT_NAME='T_TEST'
- SQL> and STATEMENT_TYPE in ('INSERT','UPDATE','DELETE');
---結果:
- SQL> /
- EXTENDED_TIMESTAMP SESSION_ID SQL_TEXT
- ---------------------------------------- ---------- ----------------------------
- ------------
- 14-8月 -12 04.14.45.187000 下午 +08:00 190125 update t_test set emp1='111'
- 14-8月 -12 04.26.02.968000 下午 +08:00 190125 delete from t_test where rownum=1
注意:審計一般只用於對普通使用者操作,一般不審計SYS使用者
對於windows系統,對sys使用者的審計資訊並不存在AUDIT_FILE_DEST引數指定的目錄裡,而是在windows的事件管理器中。
---------------------------------------------------------------------------------------------------------------------
另外透過細粒度審計FGA也可以實現上述審計:
用法建立審計策略:
- Syntax
- DBMS_FGA.ADD_POLICY(
- object_schema VARCHAR2,
- object_name VARCHAR2,
- policy_name VARCHAR2,
- audit_condition VARCHAR2,
- audit_column VARCHAR2,
- handler_schema VARCHAR2,
- handler_module VARCHAR2,
- enable BOOLEAN );
刪除審計策略:
- DBMS_FGA.DROP_POLICY(
- object_schema VARCHAR2,
- object_name VARCHAR2,
- policy_name VARCHAR2 );
啟用審計策略:
- DBMS_FGA.ENABLE_POLICY(
- object_schema VARCHAR2 := NULL,
- object_name VARCHAR2,
- policy_name VARCHAR2,
- enable BOOLEAN := TRUE);
禁用審計策略:
- DBMS_FGA.DISABLE_POLICY(
- object_schema VARCHAR2,
- object_name VARCHAR2,
- policy_name VARCHAR2 );
首先,建立審計策略
- SQL> conn /as sysdba
- 已連線。
- SQL> begin
- 2 dbms_fga.add_policy
- 3 (
- 4 object_schema=>'SCOTT',object_name=>'T_TEST',
- 5 policy_name=>'Test_audit'
- 6 );
- 7 end;
- 8 /
- PL/SQL 過程已成功完成。
- SQL> conn scott/tigger
進行查詢
- SQL> select ename from t_test;
使用SYS登入進行查詢,
- SQL> select statement_type,SQL_TEXT from dba_fga_audit_trail;
- STATEME SQL_TEXT
- ------- ----------------------------------------
- SELECT select ename from t_test
------------
注意: 經過發現審計到的SQL語句存在著大小寫2種格式。
直接執行的SQL語句,是什麼樣的語句,審計到的也就是什麼樣。
在儲存裡執行的語句,審計到的全是大寫的語句。
儲存裡動態執行的語句,是什麼樣的語句,審計到的也就是什麼樣的語句。
- BEGIN
- EXECUTE immediate 'delete FrOm emp WHERE ROWNUM=1';
- END;
審計到的就是
-
DELETE delete FrOm emp WHERE ROWNUM=1;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29209863/viewspace-2129000/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE AUDIT審計(1)Oracle
- 【AUDIT]Oracle審計配置及常用sqlOracleSQL
- AUDIT審計(2)
- MySQL審計auditMySql
- Oracle Audit 審計功能的認識與使用Oracle
- SQL Server 審計(Audit)SQLServer
- Oracle 標準審計,設定AUDIT_SYSLOG _LEVEL引數Oracle
- MySQL審計外掛-MariaDB Audit PluginMySqlPlugin
- ORACLE AUDITOracle
- FGA審計及audit_trail引數AI
- mysql 5.7新增server_audit 安全審計功能MySqlServer
- Oracle Audit setupOracle
- Oracle審計(轉)Oracle
- Oracle:審計清理Oracle
- oracle審計-細粒度(轉)Oracle
- oracle 細粒度審計(fga)Oracle
- 開啟mysql 資料庫審計功能。MySql資料庫
- 在沒有開啟審計的情況下定位Oracle錯誤的登入Oracle
- [20190530]oracle Audit檔案管理.txtOracle
- oracle fga審計(欄位級)Oracle
- oracle10g審計(轉)Oracle
- Oracle OCP(52):細粒度審計Oracle
- Oracle OCP(51):簡單審計Oracle
- Oracle OCP(50):審計簡介Oracle
- [20191129]oracle Audit檔案管理3.txtOracle
- [20191128]oracle Audit檔案管理2.txtOracle
- Oracle開始啟動Java版本許可證的跟蹤審查 - theregisterOracleJava
- Oracle 統一審計- Best 實踐三Oracle
- Oracle 統一審計- Best 實踐一Oracle
- Oracle資料庫審計功能介紹Oracle資料庫
- oracle 11g 系統審計功能Oracle
- Disable Database Audit In Oracle 19c RAC-20220111DatabaseOracle
- Oracle 12c 統一審計(Unified Auditing)OracleNifi
- Oracle Linux 7使用syslog來管理Oracle ASM的審計檔案OracleLinuxASM
- Oracle Linux 7使用cron來管理Oracle ASM審計檔案目錄的增長OracleLinuxASM
- Oracle審計--AUD$佔用空間較大處理方案Oracle
- DM7審計之物件審計物件
- mysqlalchemy audit extensionMySql
- audit by user by table