
以下是对 Oracle 19C ASM 中 V$ASM_AUDIT_CONFIG_PARAMS 动态性能视图 的深度解析,涵盖作用、使用场景、字段含义、相关视图、基表、原理及常用 SQL 查询:
1. 核心作用
V$ASM_AUDIT_CONFIG_PARAMS 集中管理 ASM 审计系统的配置参数,提供:
- ASM 审计功能的全局开关状态
- 审计事件捕获粒度的精细控制
- 审计记录存储位置和保留策略配置
- 审计性能优化参数的调整接口
📌 定位:
ASM 审计的"控制面板",决定审计系统捕获什么、如何存储以及保留多久。
2. 使用场景
- 审计系统初始化:部署时配置审计策略
- 合规性调整:根据安全要求修改审计级别
- 故障排查:诊断审计功能异常(如事件未记录)
- 性能优化:调整审计缓冲区大小减少I/O影响
- 存储管理:修改审计记录存储位置(磁盘组)
- 版本升级:检查新版本支持的审计特性
3. 字段含义(关键列)
| 列名 | 数据类型 | 说明 |
|---|---|---|
NAME | VARCHAR2(64) | 参数名称(不区分大小写) |
VALUE | VARCHAR2(4000) | 参数当前值 |
DEFAULT_VALUE | VARCHAR2(4000) | 参数默认值 |
DESCRIPTION | VARCHAR2(256) | 参数功能描述 |
IS_MODIFIABLE | VARCHAR2(5) | 是否可修改:IMMEDIATE(动态生效)FALSE(需重启/不可修改) |
UPDATE_SOURCE | VARCHAR2(16) | 最后修改来源:SPFILEMEMORYINITIAL(默认值) |
LAST_UPDATED | TIMESTAMP(6) | 最后修改时间戳 |
核心参数详解
| 参数名 | 默认值 | 说明 | 可修改性 |
|---|---|---|---|
AUDIT_ENABLED | FALSE | 审计全局开关(TRUE/FALSE) | IMMEDIATE |
AUDIT_LEVEL | NONE | 审计粒度:NONE(关闭)MINIMAL(关键操作)ALL(全量) | IMMEDIATE |
AUDIT_LOCATION | +DATA | 审计记录存储磁盘组 | FALSE |
AUDIT_RETENTION_PERIOD | 43200 | 审计记录保留时间(分钟,默认30天) | IMMEDIATE |
AUDIT_BUFFER_SIZE | 1048576 | 内存审计缓冲区大小(字节) | FALSE |
AUDIT_FLUSH_INTERVAL | 300 | 缓冲区刷新到磁盘间隔(秒) | IMMEDIATE |
AUDIT_EXCLUDE_OPERATIONS | NULL | 排除的操作类型(逗号分隔,如MOUNT,REBALANCE) | IMMEDIATE |
AUDIT_INCLUDE_USERS | SYS* | 包含的用户(通配符支持,如SYS%,ASMSNMP%) | IMMEDIATE |
4. 相关视图与基表
相关视图
| 视图 | 说明 |
|---|---|
V$ASM_AUDIT | 当前有效的审计事件 |
V$ASM_AUDIT_CLEAN_EVENTS | 已清理的审计事件 |
V$ASM_ATTRIBUTE | 磁盘组属性(含审计相关设置) |
GV$ASM_AUDIT_CONFIG_PARAMS | RAC 环境的全局视图(所有节点) |
基表(X$表)
X$KFFAUDCFG:V$ASM_AUDIT_CONFIG_PARAMS的底层内存结构-- 查看基表结构(仅供研究) SELECT * FROM X$KFFAUDCFG WHERE kffaudcfg_name = 'AUDIT_ENABLED';
5. 核心原理
审计系统架构
关键工作机制
- 动态生效:
-- 修改参数立即生效 ALTER SYSTEM SET "_asm_audit_level" = 'ALL' SCOPE = MEMORY; - 存储位置:
- 审计记录存储在
AUDIT_LOCATION指定磁盘组的元数据区 - 使用 ASM 文件扩展名
.aud(Oracle 内部管理)
- 审计记录存储在
- 性能优化:
AUDIT_BUFFER_SIZE:减少小I/O操作AUDIT_FLUSH_INTERVAL:控制写入频率
- 安全控制:
AUDIT_INCLUDE_USERS:聚焦特权用户AUDIT_EXCLUDE_OPERATIONS:忽略低风险操作
6. 常用 SQL 查询示例
(1) 查看所有审计配置
SELECT NAME,
VALUE,
DEFAULT_VALUE,
DESCRIPTION,
IS_MODIFIABLE
FROM V$ASM_AUDIT_CONFIG_PARAMS;
(2) 检查审计系统状态
SELECT
(SELECT VALUE FROM V$ASM_AUDIT_CONFIG_PARAMS WHERE NAME='AUDIT_ENABLED') AS enabled,
(SELECT VALUE FROM V$ASM_AUDIT_CONFIG_PARAMS WHERE NAME='AUDIT_LEVEL') AS audit_level,
(SELECT COUNT(*) FROM V$ASM_AUDIT) AS current_events
FROM DUAL;
(3) 修改审计配置(需 SYSASM 权限)
-- 启用审计
ALTER SYSTEM SET "_asm_audit_enabled" = TRUE SCOPE = MEMORY;
-- 设置全量审计
ALTER SYSTEM SET "_asm_audit_level" = 'ALL' SCOPE = MEMORY;
-- 调整保留期为90天
ALTER SYSTEM SET "_asm_audit_retention_period" = 129600 SCOPE = MEMORY; -- 90*24*60
(4) 排除特定操作审计
ALTER SYSTEM SET "_asm_audit_exclude_operations" = 'REBALANCE,CHECK' SCOPE = MEMORY;
(5) 审计配置持久化
-- 创建SPFILE(如果不存在)
CREATE SPFILE FROM MEMORY;
-- 或修改现有SPFILE
ALTER SYSTEM SET "_asm_audit_enabled" = TRUE SCOPE = SPFILE;
(6) 诊断配置问题
-- 检查未生效的修改
SELECT NAME, VALUE, UPDATE_SOURCE
FROM V$ASM_AUDIT_CONFIG_PARAMS
WHERE UPDATE_SOURCE = 'MEMORY'
AND VALUE != (SELECT VALUE FROM V$ASM_AUDIT_CONFIG_PARAMS
WHERE NAME = SELF.NAME AND UPDATE_SOURCE = 'SPFILE');
总结
- 核心作用:统一管理 ASM 审计系统的行为参数
- 关键参数:
AUDIT_ENABLED:审计总开关AUDIT_LEVEL:事件捕获粒度AUDIT_RETENTION_PERIOD:合规性关键参数
- 运维重点:
- 最佳实践:
- 生产环境启用
AUDIT_ENABLED=TRUE和AUDIT_LEVEL=MINIMAL - 定期检查
V$ASM_AUDIT确保审计功能正常 - 使用
SCOPE=SPFILE持久化关键配置
- 生产环境启用
- 注意事项:
- 全量审计 (
AUDIT_LEVEL=ALL) 可能导致 5-10% 性能下降 - 修改
AUDIT_LOCATION需要重建审计系统 - RAC 环境中需在所有节点同步配置
- 全量审计 (
⚠️ 警告:
修改以下参数需重启 ASM 实例(IS_MODIFIABLE=FALSE):
AUDIT_LOCATIONAUDIT_BUFFER_SIZE
生产环境操作需规划维护窗口!
欢迎关注我的公众号《IT小Chen》

被折叠的 条评论
为什么被折叠?



