zoukankan      html  css  js  c++  java
  • 分享oracle 审计日志清理 的清理方法及相关命令

    分享oracle 审计日志清理 的清理方法及相关命令

    2017-07-06 20:42来源:中国存储网
    下面分享oracle 审计日志清理 的清理方法及相关命令

    --进入审计日志目录:

    cd $ORACLE_BASE/admin/$ORACLE_SID/adump

    --删除3个月前的审计文件:

    find ./ -type f -name "*.aud" -mtime +91|xargs rm -f

    --一次清空所有审计文件

    find ./ -type f -name "*.aud"|xargs rm-f

    find ./ -mtime +7 -name "*.aud" -type f –delete

    通常我们新装好一个数据库中查询审计开关的时候,可能会发现它的设置为DB。(预装设置,如果为其他表示被认为设置过)

    SQL>show parameter audit_trail

    Name       TYPE     VALUE

    -----------------------------------

    audit_trail   string     DB

    audit_trail=DB,代表的是,oracle将把每次审计跟踪记录在数据库的一张叫做AUD$的表中。

    SQL>select owner,table_name,tablespace_name from dba_tables a where a.table_name ='AUD$'

    OWNER        TABLE_NAME        TABLESPACE_NAME

    --------------------------------------------------------------

    SYS                AUD$                    SYSTEM

    而这张表所在的表空间,正式oracle数据库最重要的SYSTEM表空间。

    由于这个表空间非常特殊:如果此时它正好被设置为自动扩展(AUT=YES)的话:

    SQL>select a.tablespace_name,a.bytes,a.autoextensible from dba_data_files a where a.tablespace_name='SYSTEM'

    TABLESPACE_NAME        BYTES              AUT

    --------------------------------------------------------

    SYSTEM                          2147473648    YES    

    长此以往,SYSTEM表空间最终会因为过度肥胖把磁盘撑爆。

    (反过来,如果SYSTEM表空间的autoextensible=NO,AUD$表就没地方写就会报错无法分配空间)

    SO,有点数据库就会根据情况,将审计功能“关闭”:

    1.设置审计参数关闭

    SQL>alter system set audit_trail=none scope=spfile;

    2.重启数据库

    SQL>shutdown immediate;

    SQL>startup;

    这时候小伙伴以为高枕无忧了,其实,oracle早有准备,有一个叫强制审计的变态功能在等着你。

    只要你敢

    用SYSDBA或者SYSOPER权限登录数据库

    敢startup

    敢shutdown

    oracle就给你在$ORACLE_BASE/admin/$ORACLE_SID/adump 目录中记.aud的文件

    所以,开了DB功能,会同时将审计日志记在AUD$表中和操作系统aud文件中。

    设置为NONE,仍然会而且毫无其他办法的将记录在操作系统aud文件中。

    *数据库的表为:sys.aud$

    *操作系统目录为:$ORACLE_BASE/admin/实例名/adump/

    可通过SQL>show parameter audit 查询到)

    是不是很变态?

    所以这个目录长期不清理的话,会积压大量*.aud文件

    长期大量不删除的话,会影响到操作系统inodes

    所以,小伙伴们:

    如果为DB,记得定期清空aud$表

    SQL>truncate table sys.aud$;

    如果你不想用DB功能,可以设置关闭

    SQL>alter system set audit_trail=none scope=spfile;

    注意,需要重启数据库

    SQL>shutdown immediate;

    SQL>startup;

    如果为NONE,记得清空aud文件或者配置crontab定时任务定时清空aud文件。

    注意:不要直接删除adump目录,否则,你会sqlplus不了数据库。
    转自中国存储网,原文链接:http://www.chinastor.com/db/sec/0F63G422017.html

  • 相关阅读:
    2017-10-11seowhy记录
    2017.8.23创业项目方向
    西安项目分析
    创业方法
    做seowhy官网需要三个人
    2017.8.2 高级长尾编辑技巧
    Golang 任务队列策略 -- 读《JOB QUEUES IN GO》
    Go 到底有没有引用传参(对比 C++ )
    使用xorm工具,根据数据库自动生成 go 代码
    golang的Channel
  • 原文地址:https://www.cnblogs.com/yaoyangding/p/12260107.html
Copyright © 2011-2022 走看看