Oracle11gr2 AUDIT清除功能增強(四)

yangtingkun發表於2010-09-03

11.2中,Oracle對於AUDIT記錄的清除工作進行了增強。

這一篇介紹清除手工清除作業系統審計資訊。

Oracle11gr2 AUDIT清除功能增強(一):http://yangtingkun.itpub.net/post/468/496990

Oracle11gr2 AUDIT清除功能增強(二):http://yangtingkun.itpub.net/post/468/498990

Oracle11gr2 AUDIT清除功能增強(三):http://yangtingkun.itpub.net/post/468/504803

 

 

審計資訊可以儲存在資料庫中,也可以儲存在作業系統中,這是由初始化引數AUDIT_TRAIL決定的:

SQL> show parameter audit_trail

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_trail                          string      DB

即使是AUDIT_TRAIL設定為DB,有些審計資訊仍然會儲存在作業系統上,比如作業系統驗證的登陸資訊。在進行作業系統驗證的時候,資料庫有可能都沒有啟動,因此這種資訊比如儲存在作業系統上。

無論是設定TRAIL儲存在OS上,還是這種作業系統驗證的審計資訊,以前都只能透過手工的方式刪除。

11gr2開始,可以在資料庫中執行作業系統上審計資訊的刪除操作:

[oracle@bjtest adump]$ cd $ORACLE_BASE/admin/test112/adump
[oracle@bjtest adump]$ ls
test112_ora_10207_1.aud  test112_ora_15316_1.aud  test112_ora_27301_1.aud  test112_ora_32614_1.aud  test112_ora_6250_1.aud
test112_ora_10226_1.aud  test112_ora_15317_1.aud  test112_ora_27318_1.aud  test112_ora_32626_1.aud  test112_ora_6312_1.aud
test112_ora_10243_1.aud  test112_ora_15318_1.aud  test112_ora_27423_1.aud  test112_ora_32753_1.aud  test112_ora_6312_2.aud
test112_ora_10256_1.aud  test112_ora_15321_1.aud  test112_ora_27482_1.aud  test112_ora_3524_1.aud   test112_ora_6408_1.aud
.
.
.
test112_ora_15288_1.aud  test112_ora_26780_1.aud  test112_ora_32356_1.aud  test112_ora_6016_2.aud
test112_ora_15311_1.aud  test112_ora_26848_1.aud  test112_ora_32386_1.aud  test112_ora_6057_1.aud
test112_ora_15312_1.aud  test112_ora_27210_1.aud  test112_ora_32520_1.aud  test112_ora_6110_1.aud
test112_ora_15315_1.aud  test112_ora_27210_2.aud  test112_ora_32520_2.aud  test112_ora_6122_1.aud
[oracle@bjtest adump]$ ls |grep aud -c
266
[oracle@bjtest adump]$ more test112_ora_9649_1.aud
Audit file /data/oracle/admin/test112/adump/test112_ora_9649_1.aud
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /data/oracle/product/11.2
System name:    Linux
Node name:      bjtest
Release:        2.6.18-8.el5xen
Version:        #1 SMP Tue Jun 5 23:53:34 EDT 2007
Machine:        x86_64
Instance name: test112
Redo thread mounted by this instance: 1
Oracle process number: 22
Unix process pid: 9649, image: oracle@bjtest (TNS V1-V3)

Tue May  4 18:55:27 2010 +08:00
LENGTH : '160'
ACTION :[7] 'CONNECT'
DATABASE USER:[1] '/'
PRIVILEGE :[6] 'SYSDBA'
CLIENT USER:[6] 'oracle'
CLIENT TERMINAL:[5] 'pts/2'
STATUS:[1] '0'
DBID:[10] '4284478783'

在資料庫中呼叫DBMS_AUDIT_MGMT包的CLEAN_AUDIT_TRAIL過程,並指定AUDIT_TRAIL_OS型別:

[oracle@bjtest ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期五 9 3 23:41:23 2010

Copyright (c) 1982, 2009, Oracle.  All rights reserved.


連線到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0      Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

SQL> BEGIN
  2  DBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL(
  3  DBMS_AUDIT_MGMT.AUDIT_TRAIL_OS,
  4  FALSE);
  5  END;
  6  /

PL/SQL 過程已成功完成。

再次檢查當前目錄下的AUDIT資訊:

[oracle@bjtest adump]$ ls
test112_ora_14431_1.aud  test112_ora_15213_1.aud  test112_ora_15215_1.aud  test112_ora_15217_1.aud

絕大部分的AUDIT記錄都被清除。不過似乎Oracle在清除作業系統級的審計記錄時還存在一點小bug,因為留下4個記錄沒有被清除,而從這四個記錄的內容上看,並沒有任何的特別之處。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-672572/,如需轉載,請註明出處,否則將追究法律責任。

相關文章