自Oracle 数据库11g 以来,所有跟踪、事件转储和数据包、警报日志、运行状况监视器报告、核心转储和更多文件都存储在 ADR 中,这是一个基于文件的自动诊断信息库,用于简化数据库诊断数据管理。尽管有新的 11g 功能,但这些文件的管理或清除并没有显着简化。不幸的是,新的 Oracle 实用程序 ADRCI 无法清除Oracle 数据库在 ADR 中生成的所有文件。因此,您应该使用其他 Unix OS方法和工具来完成 Oracle 11g 数据库管理。这次我们将讨论 Oracle System Audit 文件以及如何定期清除它们。
与Oracle 数据库的SYS、SYSDBA 或 SYSOPER 连接始终受到审计。有时这会导致创建过多的审计文件。当这被认为是一个问题时,它无法在数据库端解决,因此必须检查为什么包括 Oracle Enterprise Manager (OEM) 组件和代理在内的“客户端”应用程序连接如此频繁,如 SYSDBA/SYSOPER。所以这种类型的审计在Oracle 数据库中是强制性的并且不能关闭。但是,审计信息的数量取决于 AUDIT_SYS_OPERATIONS 参数,该参数允许对同一操作系统审计跟踪文件中 SYS/SYSDBA/SYSOPER 发出的所有语句进行附加审计。如果参数 AUDIT_SYS_OPERATIONS=TRUE,Oracle 不仅会审计 SYS/SYSDBA/SYSOPER 连接细节,还会审计它们的 SQL 操作。在任何情况下,名称如
sql*plus> show parameter audit
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /opt/app/oracle/admin/orcl/ adump
audit_sys_operations boolean FALSE
我在下面分享了一种在 Unix 上使用简单的 Unix 命令清除这些审计文件的方法,基于以下内容:
$ find /opt/oracle/orcl/adump/ -name '*.aud' -mtime +40 -exec rm -f {} \;
上述命令可以包含在Linux crontab 调度程序中以定期运行。
注意:
– AUDIT_FILE_DEST 在 Windows 上无效,Windows 上的所有 Oracle 审计跟踪信息都记录在 Windows 事件查看器中。
– 从 10gR2 开始,运行在 Linux 上的数据库生成的审计数据可以写入 SYSLOG
后面会分享更多精彩内容,感兴趣的朋友可以关注下!
留言与评论(共有 0 条评论) “” |