设为首页 加入收藏

TOP

手动清理Oracle审计记录(一)
2015-11-12 21:29:11 来源: 作者: 【 】 浏览:14
Tags:手动 清理 Oracle 审计 记录

一、审计的相关配置
--环境
SQL> select * from v$version where rownum=1;


BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production


SQL> show parameter audit


NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE? ? ? ? VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest? ? ? ? ? ? ? ? ? ? ? string? ? ? /home/oraprod/app/product/11.2
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? .0/dbhome_1/rdbms/audit
audit_sys_operations? ? ? ? ? ? ? ? boolean? ? FALSE
audit_syslog_level? ? ? ? ? ? ? ? ? string
audit_trail? ? ? ? ? ? ? ? ? ? ? ? ? string? ? ? DB? --此值为当前Oracle 11gR2缺省配置


--从下面的查询中可以看出,当前的审计位于system表空间
SQL> col segment_name FOR a10
SQL> SELECT owner,segment_name,tablespace_name FROM dba_segments WHERE segment_name ='AUD$';


OWNER? ? ? ? ? ? ? ? ? ? ? ? ? SEGMENT_NA TABLESPACE_NAME
------------------------------ ---------- ------------------------------
SYS? ? ? ? ? ? ? ? ? ? ? ? ? ? AUD$? ? ? SYSTEM


二、修改审计存储表空间
新增一个表空间用于存储审计日志
SQL> CREATE tablespace audit_data datafile '/home/oracle/app/oradata/orcl/audit01.dbf'
? 2? SIZE 100M autoextend ON NEXT 50M;


SQL> @tbs_free.sql


TABLESPACE_NAME? ? ? ? ? ? ? ? USED (MB FREE (MB TOTAL (M PER_FR
------------------------------ -------- -------- -------- ------
AUDIT_DATA? ? ? ? ? ? ? ? ? ? ? ? ? ? 1? ? 1,199? ? 1,200? 100 %
SYSAUX? ? ? ? ? ? ? ? ? ? ? ? ? ? 1,133? ? ? 77? ? 1,210? ? 6 %
SYSTEM? ? ? ? ? ? ? ? ? ? ? ? ? ? 1,875? ? ? 15? ? 1,890? ? 1 %


-- 设定审计数据存放表空间?
SQL> BEGIN
? 2? ? DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION(
? 3? ? ? AUDIT_TRAIL_TYPE => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD,
? 4? ? ? AUDIT_TRAIL_LOCATION_VALUE => 'AUDIT_DATA'
? 5? ? );
? 6? END;
? 7? /
BEGIN
*
ERROR at line 1:
ORA-46267: Insufficient space in 'AUDIT_DATA' tablespace, cannot complete
operation
ORA-06512: at "SYS.DBMS_AUDIT_MGMT", line 1576
ORA-06512: at line 2
-- 错误提示,尽管我们使用了自动扩展表空间,依旧提示空间不够


-- 查看当前审计数据大小,如下为1152MB
SQL> select segment_name,bytes/1024/1024 from dba_segments where segment_name='AUD$';


SEGMENT_NAME? ? ? ? ? ? ? BYTES/1024/1024
------------------------- ---------------
AUD$? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1152


-- 下面调整数据文件大小
SQL> alter database datafile '/home/oracle/app/oradata/orcl/audit01.dbf' resize 1200m;


Database altered.


-- 再次设定审计数据存放表空间OK
SQL> BEGIN
? 2? ? DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION(
? 3? ? ? AUDIT_TRAIL_TYPE => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD,
? 4? ? ? AUDIT_TRAIL_LOCATION_VALUE => 'AUDIT_DATA'
? 5? ? );
? 6? END;
? 7? /


PL/SQL procedure successfully completed.


Elapsed: 00:02:23.10
--整个过程花费了2m23s,主要是期间进行了数据搬迁


SQL> SELECT owner,segment_name,tablespace_name FROM dba_segments WHERE segment_name ='AUD$';


OWNER? ? ? ? ? ? ? ? ? ? ? ? ? SEGMENT_NAME? ? ? ? ? ? ? ? ? TABLESPACE_NAME
------------------------------ ------------------------------ ------------------------------
SYS? ? ? ? ? ? ? ? ? ? ? ? ? ? AUD$? ? ? ? ? ? ? ? ? ? ? ? ? AUDIT_DATA


SQL> @tbs_free.sql


TABLESPACE_NAME? ? ? ? ? ? ? ? USED (MB FREE (MB TOTAL (M PER_FR
------------------------------ -------- -------- -------- ------
AUDIT_DATA? ? ? ? ? ? ? ? ? ? ? ? 1,153? ? ? 47? ? 1,200? ? 4 %
SYSAUX? ? ? ? ? ? ? ? ? ? ? ? ? ? 1,143? ? ? 67? ? 1,210? ? 6 %
SYSTEM? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 724? ? 1,166? ? 1,890? 62 %


-- 从上面的这个查询可以看出,原来位于system表空间的AUD$被迁移到了AUDIT_DATA
-- 相应地AUDIT_DATA表空间已使用增加,而SYSTEM表空间使用率下降


-- 查看审计数据字典配置信息
SQL> col PARAMETER_NAME FOR a30
SQL> col PARAMETER_VALUE FOR a15
SQL> col AUDIT_TRAIL FOR a20
SQL> SELECT PARAMETER_NAME, PARAMETER_VALUE, AUDIT_TRAIL
? 2? FROM DBA_AUDIT_MGMT_CONFIG_PARA

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oracle表空间过大时候的处理 下一篇Oracle大表清理truncate .. reuse..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: