Oracle審計參數
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
- 審計參數解析
AUDIT_TRAIL啟用或禁用數據庫審計。當設置該參數為NONE或FALSE時,將禁止數據庫審計;當設置該參數為OS時,將激活數據庫審計,並將審計記錄寫入到OS審計跟蹤文件中;當設置該參數為DB或TRUE時,將激活數據庫審計,並將審計記錄寫入到數據字典SYS.AUD$中;當設置該參數為DB_EXTENDED時,不僅將審計記錄寫入到數據字典SYS.AUD$中,還會填充該數據字典的SQLBIND和SQLTEXT列。
取值說明:
none 禁用數據庫審計
os 啟用數據庫審計,並將數據庫審計記錄定向到操作系統審計記錄
db 啟用數據庫審計,並將數據庫所有審計記錄定向到數據庫的SYS.AUD$表
db,extended 啟用數據庫審計,並將數據庫所有審計記錄定向到數據庫的SYS.AUD$表。另外,填充SYS.AUD$表的SQLBIND 列和SQLTEXT CLOB 列。
xml 啟用數據庫審計,並將所有記錄寫到XML格式的操作系統文件中。
xml,extended 啟用數據庫審計,輸出審計記錄的所有列,包括SqlText和SqlBind的值。
2.查詢當前數據庫審計參數
查詢當前審計參數 SQL> show parameter audit_trail;
修改當前審計參數為DB_EXTENDED(這樣可以查詢到具體執行的sql)
① 執行SQL> ALTER SYSTEM SET audit_trail=DB,EXTENDED SCOPE=SPFILE;
② 登陸數據庫主機,切換到oracle用戶用sysdba登陸用戶
[oracle@localhost ~]$ sqlplus / as sysdba
③ 依次執行以下語句重啟數據庫 SQL> shutdown immediate; SQL> startup
④ 再次查詢審計參數 SQL> show parameter audit_trail;
1.取消審計
noaudit insert,update,delete on testuser.tables;
tables 表名
---添加審計
audit create table,update table,insert table,delete table by testuser by access;
audit execute procedure by testuser by access;
3.測試審計是否開啟
① 執行SQL> select * from dba_audit_trail;檢查是否有相應的審計信息。
三、 遷移表空間
將審計信息遷移到非系統表空間、以防止系統表空間撐爆。
我們先創建一個叫audit_data的表空間來存放數據
CREATE TABLESPACE audit_data LOGGING DATAFILE ‘/data01/oracle/oradata/AUTODB/datafile/audit_data.dbf‘ SIZE 10240M AUTOEXTEND ON NEXT 100M MAXSIZE 12000M;
遷移表至新的表空間
SQL> alter table audit$ move tablespace audit_data;
SQL> alter index i_audit rebuild online tablespace audit_data;
SQL> alter table audit_actions move tablespace audit_data;
SQL> alter index i_audit_actions rebuild online tablespace audit_data;
SQL>alter table AUD$ move tablespace audit_data;
查詢表空間是否遷移成功的相關SQL
SQL> SELECT table_name, tablespace_name FROM dba_tables WHERE table_name IN (‘AUD$‘, ‘FGA_LOG$‘,’AUDIT$’,’I_AUDIT’,’AUDIT_ACTIONS,’I_AUDIT_ACTIONS’) ORDER BY table_name;
Oracle審計參數