【Unified Auditing】统一审计的进程架构体系

勤奋不是嘴上说说而已,而是实际的行动,在勤奋的苦度中持之以恒,永不退却。业精于勤,荒于嬉;行成于思,毁于随。在人生的仕途上,我们毫不迟疑地选择勤奋,她是几乎于世界上一切成就的催产婆。只要我们拥着勤奋去思考,拥着勤奋的手去耕耘,用抱勤奋的心去对待工作,浪迹红尘而坚韧不拔,那么,我们的生命就会绽放火花,让人生的时光更加的闪亮而精彩。

导读:本篇文章讲解 【Unified Auditing】统一审计的进程架构体系,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

Unified Auditing的架构体系之—进程

统一审计的审计结果写入AUDSYS的模式

统一审计的审计结果写到数据文件中的方式主要有2种,队列写入模式(Queued-write mode)和立即写模式(Immediate-write mode)。关于这两种写的方式,我们可以参考下面的2个图。

图:

  **队列写入模式图**

这里写图片描述
立即写模式图
这里写图片描述

立即写模式(Immediate-write mode):同步写入方法,统一审计的审计结果生成后,直接写入到AUDSYS schema 的审计表CLI_SWP$XXXX中。

队列写入模式(Queued-write mode):异步写入方法,统一审计的审计结果生成后,先把统一审计的审计结果保存在SGA中称为[SGA Queue]的队列中,然后周期性地从SGA Queue写入到AUDSYS schema 的审计表CLI_SWP$XXXX中(关于存储可以参看上一章的内容)。这种方式是数据库默认采用的设置。

立即写模式(Immediate-write mode)介绍

是一种同步写入的方法,这种模式和12c以前传统的审计结果写入磁盘方式一样,在生成审计结果的同时立即写入到磁盘中,所以优点是不会因为实例突然崩溃(Instance Crash)等导致审计数据的丢失。但另一方面,因为操作和审计磁盘写同时进行,会对数据库操作的性能产生一定的影响。

队列写入模式(Queued-write mode)介绍

如上图所示,统一审计的审计结果生成后,保存在SGA中称为[SGA Queue]的队列中,满足以下的任何一个条件时由后台进程GEN0负责写入到磁盘中。

  • 达到刷新时间间隔
  • 达到[SGA Queue]队列的临界值

[SGA Queue]的队列大小由初期化参数UNIFIED_AUDIT_SGA_QUEUE_SIZE来决定,默认大小为1M,可设置的范围为1MB ~ 30 MB 。

  SQL> show parameter UNIFIED_AUDIT
  NAME                            TYPE      VALUE
  ------------------------------- --------- -----------
  unified_audit_sga_queue_size    integer   1048576

参考:
Database Reference

UNIFIED_AUDIT_SGA_QUEUE_SIZE

对于统一审计(Unified Auditing)相关的设置参数,我们可以通过以下的方法查看。

例:

  SQL> col Description format a26
  SQL> col Parameter format a30
  SQL> select a.ksppinm "Parameter",a.KSPPDESC "Description",
    2         b.ksppstvl "Value"
    3  from sys.x$ksppi a, sys.x$ksppcv b
    4  where a.indx = b.indx and a.ksppinm like '%unified_audit%';

  Parameter                      Description                 Value
  ------------------------------ --------------------------  --------
  _unified_audit_policy_disabled Disable Default Unified Au  FALSE
                                 dit Policies on DB Create 

  unified_audit_sga_queue_size   Size of Unified audit SGA   1048576
                                 Queue                     

  _unified_audit_flush_threshold Unified Audit SGA Queue Fl  85 ★
                                 ush Threshold                

  _unified_audit_flush_interval  Unified Audit SGA Queue Fl  3  ★
                                 ush Interval

由以上我们可以看到,

  • 后台进程GEN0的SGA Queue刷新间隔是由隐含参数_unified_audit_flush_interval来控制的,默认值为3秒。
  • [SGA Queue]队列的临界值是由隐含参数_unified_audit_flush_threshold来控制的,默认值为[SGA Queue]队列大小的85% 即:UNIFIED_AUDIT_SGA_QUEUE_SIZE * 85% 。

统一审计的审计结果保存在SGA中称为[SGA Queue]的队列中,然后周期性地从SGA Queue写入到AUDSYS schema 的审计表CLI_SWP$XXXX中,所以队列写入模式的优点是可以最大限度地减少由于审计对数据库操作性能的影响,但是由于是异步写入的方式,所以因为实例突然崩溃(Instance Crash)或者SHUTDOWN ABORT等情况下,有可能导致在SGA中的审计数据的丢失。

当然,除了由后台进程自动进行磁盘写入以外,也可以手动地调DBMS_AUDIT_MGMT.FLUSH_UNIFIED_AUDIT_TRAIL
函数,把SGA Queue中的统一审计的审计数据刷新到AUDSYS schema 的审计表CLI_SWP$XXXX中。

例:

SQL> audit all;

Audit succeeded.

SQL> noaudit all;

Noaudit succeeded.

SQL>  EXEC DBMS_AUDIT_MGMT.FLUSH_UNIFIED_AUDIT_TRAIL;

PL/SQL procedure successfully completed.

统一审计的审计结果写入模式的设定

可以通过DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_PROPERTY函数,对数据库默认的写入模式进行修改。
需要注意的是,该设置仅对当前的CDB或PDB有效。

例:

SQL>---设定立即写模式(Immediate-write mode)
SQL> BEGIN
  2   DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_PROPERTY(
  3      DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED,
  4      DBMS_AUDIT_MGMT.AUDIT_TRAIL_WRITE_MODE,
  5      DBMS_AUDIT_MGMT.AUDIT_TRAIL_IMMEDIATE_WRITE);
  6  END;
  7  /

PL/SQL procedure successfully completed.


SQL>---确认写入模式
SQL> SELECT PARAMETER_VALUE
  2  FROM DBA_AUDIT_MGMT_CONFIG_PARAMS
  3  WHERE PARAMETER_NAME = 'AUDIT WRITE MODE';

PARAMETER_VALUE
-------------------------------------------------
IMMEDIATE WRITE MODE

SQL>---设定队列写入模式(Queued-write mode)
SQL> BEGIN
  2   DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_PROPERTY(
  3      DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED,
  4      DBMS_AUDIT_MGMT.AUDIT_TRAIL_WRITE_MODE,
  5      DBMS_AUDIT_MGMT.AUDIT_TRAIL_QUEUED_WRITE);
  6  END;
  7  /

PL/SQL procedure successfully completed.

SQL>---确认写入模式
SQL> SELECT PARAMETER_VALUE
  2  FROM DBA_AUDIT_MGMT_CONFIG_PARAMS
  3  WHERE PARAMETER_NAME = 'AUDIT WRITE MODE';

PARAMETER_VALUE
-------------------------------------------------
QUEUED WRITE MODE

参考:
Database Security Guide

Setting the Write Mode for Unified Audit Trail Records

统一审计的审计数据无法写入时的处理

大家可能已经注意到队列写入模式图的右下角的出力部分。
这一部分是指当无法向数据库写入统一审计的审计数据时(如:数据库正在关闭或者变成了只读模式等),为了防止审计数据的丢失,Oracle会把审计数据写入到系统的如下文件中(nn为随机数值)。

$ORACLE_BASE/audit/$ORACLE_SID/ora_audit_nn.bin  

但数据库恢复到正常时,可以通过以下的Procedure调用,把这些系统文件再导入到AUDSYS schema 下的CLI_SWP$XXXX统一审计的存储表中。

EXEC DBMS_AUDIT_MGMT.LOAD_UNIFIED_AUDIT_FILES;

当这些系统文件导入到数据库中后,相应的文件会自动地被删除掉。

※另外,这里需要注意的是,当有大量存储文件时,利用Procedure向数据库导入统一审计结果,可能会影响到性能。

版权声明:本文为博主原创文章,转载请注明出处,谢谢。http://blog.csdn.net/lukeunique

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/141644.html

(0)

相关推荐

  • Redis中LocalDateTime的序列化问题、缓存在增删改查中的处理逻辑

    导读:本篇文章讲解 Redis中LocalDateTime的序列化问题、缓存在增删改查中的处理逻辑,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

    技术随笔 2023年1月6日
    00
  • 初识爬虫①

    导读:本篇文章讲解 初识爬虫①,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

    也许你感觉自己的努力总是徒劳无功,但不必怀疑,你每天都离顶点更进一步。今天的你离顶点还遥遥无期。但你通过今天的努力,积蓄了明天勇攀高峰的力量。加油!

    技术随笔 2023年3月3日
    00
  • 【狂神说Java】Spring5

    导读:本篇文章讲解 【狂神说Java】Spring5,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

    技术随笔 2023年2月6日
    00
  • 【Redis学习笔记】第二章【2.4】Redis数据类型–set

    有时候,不是因为你没有能力,也不是因为你缺少勇气,只是因为你付出的努力还太少,所以,成功便不会走向你。而你所需要做的,就是坚定你的梦想,你的目标,你的未来,然后以不达目的誓不罢休的那股劲,去付出你的努力,成功就会慢慢向你靠近。

    导读:本篇文章讲解 【Redis学习笔记】第二章【2.4】Redis数据类型–set,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

    技术随笔 2023年5月29日
    00
  • Spring AOP实现记录操作日志

    导读:本篇文章讲解 Spring AOP实现记录操作日志,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

    技术随笔 2023年1月9日
    00
  • 谈谈synchronized 和 ReentrantLock 的区别?

    追求适度,才能走向成功;人在顶峰,迈步就是下坡;身在低谷,抬足既是登高;弦,绷得太紧会断;人,思虑过度会疯;水至清无鱼,人至真无友,山至高无树;适度,不是中庸,而是一种明智的生活态度。

    导读:本篇文章讲解 谈谈synchronized 和 ReentrantLock 的区别?,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

    技术随笔 2023年4月2日
    00
  • CollectionUtils

    导读:本篇文章讲解 CollectionUtils,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

    技术随笔 2023年2月14日
    00
  • 问题定位总结

    导读:本篇文章讲解 问题定位总结,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

    技术随笔 2023年2月13日
    00
  • 简单使用 uwsgi + nginx 在本地 Ubuntu 成功部署 django 项目

    导读:本篇文章讲解 简单使用 uwsgi + nginx 在本地 Ubuntu 成功部署 django 项目,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

    2023年2月11日
    00
  • 【JVM实战系列】「监控调优体系」实战开发arthas-spring-boot-starter监控你的微服务是否健康

    导读:本篇文章讲解 【JVM实战系列】「监控调优体系」实战开发arthas-spring-boot-starter监控你的微服务是否健康,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

    2023年1月6日
    00

发表回复

登录后才能评论