同步工具导致Oracle ASM实例审计日志暴增
适用范围
Oracle Database 12.2+
问题概述
Oracle 12.2 RAC 节点1数据库软件基础目录/u01使用率超过99%,应用连接数据库异常。
问题原因
节点1ASM实例的audit目录审计日志突然暴增。根本原因是同步工具产生大量审计日志导致的。近期部署同步工具DHMS后才产生大量审计日志。
解决方案
1、备份并清理申请日志。
2、/u01基础软件目录扩容。有100g扩容至300G。
建议
1、数据库生产环境部署任何产品应进行充分测试,特别是性能和空间使用等;
2、上线后应加强数据库的空间使用和性能等监控。
说明:什么是DHMS?
达梦数据实时同步软件(以下简称 DMHS)是支持异构环境的高性能、高可靠、高可扩展数据库实时同步复制系统。基于成熟的关系数据模型和标准接口,支持多种软硬件平台,能够灵活的配置出一对一、一对多、多对一、多对多以及级联等多种形式的复制拓扑结构,可以广泛应用于应急系统、容灾备份、负载均衡、数据移植、联机维护、订阅分发、多业务中心等业务领域。
分析过程
1、检查目录使用率
“`$df -h
[grid@hostodb rdbms]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rootvg-root 183G 182G 1G 99% /
devtmpfs 126G 0 126G 0% /dev
tmpfs 126G 1.8G 124G 2% /dev/shm
tmpfs 126G 4.1G 122G 4% /run
tmpfs 126G 0 126G 0% /sys/fs/cgroup
/dev/sda2 1014M 174M 841M 18% /boot
/dev/sda1 200M 9.8M 191M 5% /boot/efi
/dev/mapper/vg_backup-lv_backup 1.8T 1.1T 689G 61% /backup
tmpfs 26G 12K 26G 1% /run/user/42
tmpfs 26G 12K 26G 1% /run/user/0
tmpfs 26G 56K 26G 1% /run/user/54321
tmpfs 26G 44K 26G 1% /run/user/54322
[grid@hostodb rdbms]$ du -sh * |sort -rh
6.7G audit
50M mesg
44M admin
42M xml
30M lib
7.2M jlib
448K utl
152K log
132K public
112K install
8.0K doc
4.0K demo
[grid@hostodb rdbms]$
/u01 目录使用率已经超过99%,/u01目录下使用率最大的目录是ASM实例的审计目录aduit目录
2、检查audit目录
-rw-r—– 1 grid oinstall 10240033 Dec 9 10:34 +ASM1_ora_8212_20241209103319353259143795.aud
-rw-r—– 1 grid oinstall 10240035 Dec 9 10:34 +ASM1_ora_55199_20241209103256473366143795.aud
-rw-r—– 1 grid oinstall 10240035 Dec 9 10:34 +ASM1_ora_20521_20241209103318786657143795.aud
-rw-r—– 1 grid oinstall 10240035 Dec 9 10:34 +ASM1_ora_48447_20241209103342648258143795.aud
-rw-r—– 1 grid oinstall 10240031 Dec 9 10:34 +ASM1_ora_550_20241209103324575493143795.aud
-rw-r—– 1 grid oinstall 10240033 Dec 9 10:35 +ASM1_ora_8212_20241209103411788828143795.aud
-rw-r—– 1 grid oinstall 10240035 Dec 9 10:35 +ASM1_ora_23857_20241209103351578015143795.aud
-rw-r—– 1 grid oinstall 10240033 Dec 9 10:35 +ASM1_ora_2702_20241209103400082457143795.aud
-rw-r—– 1 grid oinstall 10240035 Dec 9 10:35 +ASM1_ora_17325_20241209103357810223143795.aud
-rw-r—– 1 grid oinstall 10240035 Dec 9 10:35 +ASM1_ora_48447_20241209103433591336143795.aud
-rw-r—– 1 grid oinstall 5004258 Dec 9 10:35 +ASM1_ora_550_20241209103447768455143795.aud
-rw-r—– 1 grid oinstall 1345887 Dec 9 10:35 +ASM1_ora_2702_20241209103516477262143795.aud
-rw-r—– 1 grid oinstall 1617393 Dec 9 10:35 +ASM1_ora_23857_20241209103514018677143795.aud
-rw-r—– 1 grid oinstall 7004692 Dec 9 10:35 +ASM1_ora_20521_20241209103433549151143795.aud
-rw-r—– 1 grid oinstall 9333030 Dec 9 10:35 +ASM1_ora_55199_20241209103414213024143795.aud
-rw-r—– 1 grid oinstall 1254591 Dec 9 10:35 +ASM1_ora_17325_20241209103516754201143795.aud
-rw-r—– 1 grid oinstall 4866596 Dec 9 10:35 +ASM1_ora_8212_20241209103501931125143795.aud
-rw-r—– 1 grid oinstall 304566 Dec 9 10:35 +ASM1_ora_48447_20241209103525092991143795.aud
每分钟产生近20个aud审计文件
3、检查审计文件
[grid@hostodb audit]$ tail -40 +ASM1_ora_48447_20241209103525092991143795.aud
Mon Dec 9 10:36:18 2024 +08:00
LENGTH : ‘192’
ACTION :[53] ‘begin dbms_diskgroup.read(:1, :2, :3, :4); end;’
DATABASE USER:[3] ‘SYS’
PRIVILEGE :[6] ‘SYSDBA’
CLIENT USER:[5] ‘dmdba’
CLIENT TERMINAL:[0] ”
STATUS:[1] ‘0’
DBID:[0] ”
Mon Dec 9 10:36:18 2024 +08:00
LENGTH : ‘192’
ACTION :[53] ‘begin dbms_diskgroup.read(:1, :2, :3, :4); end;’
DATABASE USER:[3] ‘SYS’
PRIVILEGE :[6] ‘SYSDBA’
CLIENT USER:[5] ‘dmdba’
CLIENT TERMINAL:[0] ”
STATUS:[1] ‘0’
DBID:[0] ”
Mon Dec 9 10:36:18 2024 +08:00
LENGTH : ‘192’
ACTION :[53] ‘begin dbms_diskgroup.read(:1, :2, :3, :4); end;’
DATABASE USER:[3] ‘SYS’
PRIVILEGE :[6] ‘SYSDBA’
CLIENT USER:[5] ‘dmdba’
CLIENT TERMINAL:[0] ”
STATUS:[1] ‘0’
DBID:[0] ”
Mon Dec 9 10:36:18 2024 +08:00
LENGTH : ‘192’
ACTION :[53] ‘begin dbms_diskgroup.read(:1, :2, :3, :4); end;’
DATABASE USER:[3] ‘SYS’
PRIVILEGE :[6] ‘SYSDBA’
CLIENT USER:[5] ‘dmdba’
CLIENT TERMINAL:[0] ”
STATUS:[1] ‘0’
DBID:[0] ”
[grid@hostodb audit]$ id dmdba
uid=54323(dmdba) gid=54331(dinstall) groups=54331(dinstall),54321(oinstall)
[grid@hostodb audit]$
“`
审计日志均是dmdba用户发起的,通过特权用户sys调用dbms_diskgroup.read包,该包是直接读取ASM共享存储上的文件数据流。dmdba用户是部署同步工具DMHS的操作系统用户。
所以,产生的多个审计日志是Oralce的正常审计特权用户的审计行为,而不是bug。
4、调整清理audit文件脚本
[grid@hostodb scripts]$ more del_aud.sh
!/bin/bash
today=$(date +%Y-%m-%d-%H:%M:%S)
echo “#########clear aud $today #####” >> /home/grid/scripts/clearaud_result_gi.log
find /u01/product/grid/12.2.0/rdbms/audit -name “*.aud” -type f |xargs rm -rf
echo “completed clear aud files.” >> /home/grid/scripts/clearaud_result_gi.log
把清理audit日志脚本调整为每2h执行一次
[grid@hostodb scripts]$ crontab -l
- */2 * * * sh /home/grid/scripts/del_aud.sh
[grid@hostodb scripts]$
-the end-