暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

同步工具导致Oracle ASM实例审计日志暴增

原创 Xiaofei Huangfu 2025-03-17
367

适用范围

Oracle Database 12.2+

问题概述

Oracle 12.2 RAC 节点1数据库软件基础目录/u01使用率超过99%,应用连接数据库异常。

问题原因

节点1 ASM实例的audit目录审计日志突然暴增。根本原因是同步工具产生大量审计日志导致的。近期部署同步工具DHMS后才产生大量审计日志。

解决方案

1、备份并清理申请日志。
2、/u01基础软件目录扩容。有100g扩容至300G。

建议

1、数据库生产环境部署任何产品应进行充分测试,特别是性能和空间使用等;
2、上线后应加强数据库的空间使用和性能等监控。

说明:什么是DHMS?

达梦数据实时同步软件(以下简称 DMHS)是支持异构环境的高性能、高可靠、高可扩展数据库实时同步复制系统。基于成熟的关系数据模型和标准接口,支持多种软硬件平台,能够灵活的配置出一对一、一对多、多对一、多对多以及级联等多种形式的复制拓扑结构,可以广泛应用于应急系统、容灾备份、负载均衡、数据移植、联机维护、订阅分发、多业务中心等业务领域。

分析过程

1、检查目录使用率

[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 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、检查审计文件

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] ''
--检查dmdba用户
[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文件脚本

#!/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-

最后修改时间:2025-03-17 14:58:19
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论