You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle只读模式下Unified Audit策略无法生成Spillover文件问题

Oracle只读模式下统一审计Spillover文件未生成问题排查

问题场景

将Oracle数据库以只读模式打开,用于测试Spillover文件,同时创建了针对表KAMRAN.T1的SELECT操作的简单Unified Audit策略,但执行表查询时未生成Spillover文件(读写模式下该策略正常生效)。

基本信息

  • Unified Audit已启用
  • Unified Audit策略TEST已启用

策略启用状态验证

SELECT * FROM AUDIT_UNIFIED_ENABLED_POLICIES WHERE POLICY_NAME = 'TEST';

查询结果:

USER_NAME|POLICY_NAME|ENABLED_OPT|SUCCESS|FAILURE|
---------+-----------+-----------+-------+-------+
ALL USERS|TEST       |BY         |YES    |YES    |

策略定义验证

SELECT POLICY_NAME, AUDIT_OPTION, AUDIT_OPTION_TYPE, OBJECT_SCHEMA, OBJECT_NAME, OBJECT_TYPE 
FROM AUDIT_UNIFIED_POLICIES WHERE POLICY_NAME = 'TEST';

查询结果:

POLICY_NAME|AUDIT_OPTION|AUDIT_OPTION_TYPE|OBJECT_SCHEMA|OBJECT_NAME|OBJECT_TYPE|
-----------+------------+-----------------+-------------+-----------+-----------+
TEST       |SELECT      |OBJECT ACTION    |KAMRAN       |T1         |TABLE      |

数据库状态及审计参数

SQL> SELECT OPEN_MODE FROM V$DATABASE;

OPEN_MODE
--------------------
READ ONLY

SQL> show parameter audit

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest                      string      /u01/app/oracle/admin/ORCL/adump
audit_sys_operations                 boolean     TRUE
audit_syslog_level                   string
audit_trail                          string      OS
unified_audit_sga_queue_size         integer     1048576
SQL>

问题原因及解决方案

核心原因

Oracle数据库处于只读模式时,统一审计的后台进程AUDSYS无法将审计记录写入系统审计表(如UNIFIED_AUDIT_TRAIL),而Spillover文件的生成逻辑依赖于SGA队列满后向磁盘写入的机制,但只读模式下Oracle会限制部分审计后台操作:AUDSYS的默认表空间SYSAUX处于只读状态,无法写入审计记录,此时Oracle会直接丢弃暂存于SGA队列的审计记录,而非触发溢出文件生成。

处理方案

  1. 切换为读写模式测试(优先推荐)
    若测试场景允许,将数据库切换为读写模式后,溢出文件生成逻辑会恢复正常:

    SHUTDOWN IMMEDIATE;
    STARTUP;
    

    执行表查询操作后,检查audit_file_dest目录下是否生成Spillover文件。

  2. 确认审计目录权限
    检查/u01/app/oracle/admin/ORCL/adump目录是否具备Oracle用户的读写权限,权限不足会直接影响溢出文件生成(虽非只读模式下的核心原因,但需排除此基础问题)。

  3. 只读模式下的局限性说明
    若必须在只读模式下完成测试,需明确:Oracle原生不支持在只读模式下生成统一审计的Spillover文件,此为产品设计限制,无法通过参数调整绕过。


内容的提问来源于stack exchange,提问作者Kamran Abbasov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 15:52:37