背景:
单节点DG数据库准备迁移,要开启登录审计确认所有使用数据库的业务系统,数据库的audit_trail是OS。由于业务不能中断(单节点的锅)无法修改audit_trail,只能从audit file中汇总登录信息了
思路:
把数据库的其他审计都关掉,只留下登录审计,通过cat审计文件grep出登录信息,过滤出有用的信息。最后把审计信息按schema分类,每个schema一个文件
脚本:
[oracle@xxx scripts]$ more collect_audit.sh
source ~/.bash_profile
find /home/audit/ -mtime 4 -type f |xargs ls -lrt|awk '{print $9}' > /home/oracle/scripts/audit_log.lst
LOG_FILE=/home/oracle/scripts/audit_log.lst
while read line
do
cat $line|grep -E "TERMINAL"|grep -E "SESSIONID"|grep -E "COMMENT$TEXT" >> /home/oracle/scripts/audit_connect.txt
done < $LOG_FILE
cat /home/oracle/scripts/audit_connect.txt|awk '{print $8}'|sort|uniq|sed 's/\"//g' |while read line
do
FILE_NAME=/home/oracle/scripts/audit_detail_$line.txt
if [ -f $FILE_NAME ]; then
cat /home/oracle/scripts/audit_connect.txt|grep -E "$line" > $FILE_NAME
else
touch $FILE_NAME
cat /home/oracle/scripts/audit_connect.txt|grep -E "$line" > $FILE_NAME
fi
done
该博客介绍了如何在无法修改audit_trail的情况下,通过脚本收集和分析单节点DG数据库的登录审计信息。作者首先关闭了除登录审计外的所有其他审计,然后利用脚本从auditfile中筛选出登录相关数据,并按schema进行分类,确保在业务不中断的情况下完成审计信息的整理。
334

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



