ITPub博客

首页 > 数据库 > Oracle > [20260924]避免oracle audit sys operations记录到messages文件2(补充).txt

[20260924]避免oracle audit sys operations记录到messages文件2(补充).txt

原创 Oracle 作者:lfree 时间:2026-09-24 20:55:34 0 删除 编辑

[20260924]避免oracle audit sys operations记录到messages文件2(补充).txt

--//昨天通过修改/etc/rsyslog.conf文件,找到下划线那行,增加;local0.none;local1.none;local2.none如下内容。
#*.info;mail.none;authpriv.none;cron.none action(type="omfile" file="/var/log/messages")
*.info;mail.none;authpriv.none;cron.none;local0.none;local1.none;local2.none action(type="omfile" file="/var/log/messages")

local0.info                     /var/log/oracle_audit.log
local1.info                     /var/log/oracle_unified_audit.log
local2.info                     /var/log/oracle_unified_audit_common.log
--//这样避免/var/log/messages文件出现oracle sys 操作以及审计操作相关信息,分解记录在上述文件中。

--//突然发现自己的测试环境/var/log/messages文件,反复出现如下信息。理论也可以实现将systemd写入特定的文件。
Sep 23 17:14:40 centos9 systemd[1]: Starting Network Manager Script Dispatcher Service...
Sep 23 17:14:40 centos9 systemd[1]: Started Network Manager Script Dispatcher Service.
Sep 23 17:14:50 centos9 systemd[1]: NetworkManager-dispatcher.service: Deactivated successfully.

--//找到如下链接:
https://fritshoogland.wordpress.com/2019/07/03/getting-rid-of-annoying-repetitive-messages-in-var-log-messages/

--//原始链接存在一个小错误,作者少写一个等号。使用如下命令rsyslogd -N1检查发现错误:
# rsyslogd -N1
rsyslogd: version 8.2510.0-2.el9, config validation run (level 1), master config /etc/rsyslog.conf
rsyslogd: error during parsing file /etc/rsyslog.d/10-oracle.conf, on or before line 1: syntax error on token '=' [v8.2510.0-2.el9 try https://www.rsyslog.com/e/2207 ]
rsyslogd: could not interpret master config file '/etc/rsyslog.conf'. [v8.2510.0-2.el9 try https://www.rsyslog.com/e/2207 ]

--//正确的修改如下:
# cat /etc/rsyslog.d/10-oracle.conf
if $programname == 'systemd' then /var/log/systemd.log
& stop

--//简单解析:
--// then /var/log/systemd.log ---- 定义了一个动作:写文件
--// & stop                    ---- 给上一个动作追加一个"停止处理"操作
--//写成一行不行,随时可以使用rsyslogd -N1检查配置是否正确。

--//重启rsyslog.service服务:
# systemctl restart rsyslog.service

--//简单测试:
# logger -p user.info -t systemd "test message"

# tail -1 /var/log/systemd.log
Sep 24 16:21:54 centos9 systemd[3924]: test message

2.继续学习:
--//上网查了一些资料,发现还可以这样写:
# cat /etc/rsyslog.d/10-oracle.conf
:programname, startswith, "systemd"  /var/log/systemd.log
& stop
--//这样开始是systemd的进程名都会写入/var/log/systemd.log文件。

# tail -10 /etc/rsyslog.conf
local0.info                     /var/log/oracle_audit.log
local1.info                     /var/log/oracle_unified_audit.log
local2.info                     /var/log/oracle_unified_audit_common.log

:programname, regex, "^ora_...._book$"   /var/log/oracle_merge.log
& stop

:programname, regex, "^oracle_"   /var/log/oracle_merge.log
& stop

--//支持正则表达式,可以合并/var/log/oracle_audit.log ,/var/log/oracle_unified_audit.log到/var/log/oracle_merge.log。
--//注意不能写在10-oracle.conf文件里面,该配置优先读取并配置。
--//也不能写在local0.info前面,后面的stop会停止后续的操作。

3.补充logrotate相关配置:

# cat /etc/logrotate.d/oracle
/var/log/oracle_audit.log
/var/log/oracle_unified_audit.log
/var/log/oracle_unified_audit_common.log
/var/log/oracle_merge.log
{
  size=20M
  rotate 4
  copytruncate
  delaycompress
  notifempty
}

# cat /etc/logrotate.d/rsyslog
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
/var/log/systemd.log
{
    missingok
    sharedscripts
    postrotate
        /usr/bin/systemctl -s HUP kill rsyslog.service >/dev/null 2>&1 || true
    endscript
}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-3183890/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    4006
  • 访问量
    7969025