千家信息网

Oracle Linux 7使用cron来管理Oracle ASM审计文件目录的增长

发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,使用cron来管理Oracle ASM审计文件目录的增长如果不对Oracle ASM实例的审计文件目录进行定期维护那么它将会包含大量的审计文件。如果存在大理审计文件可能会造成文件系统耗尽磁盘空间或in
千家信息网最后更新 2025年11月11日Oracle Linux 7使用cron来管理Oracle ASM审计文件目录的增长

使用cron来管理Oracle ASM审计文件目录的增长
如果不对Oracle ASM实例的审计文件目录进行定期维护那么它将会包含大量的审计文件。如果存在大理审计文件可能会造成文件系统耗尽磁盘空间或indoes,或者由于文件系统扩展限制而造成Oracle运行缓慢,还有可能造成Oracle ASM实例在启动时hang住。这里将介绍如何使用Linux的cron工具来管理Oracle ASM审计文件目录的文件数量。

下面将介绍具体的操作,而且这些操作必须对于RAC环境中的每个节点执行。
1.识别Oracle ASM审计目录
这里有三个目录可能存在Oracle ASM的审计文件。所有三个目录都要控制让其不要过度增长。两个缺省目录是基于Oracle ASM实例启动时环境变量的设置。为了判断系统右的缺省目录,以安装Grid Infrastructure软件的用户(grid)登录系统,设置环境变量,因此可以连接到Oracle ASM实例,运行echo命令。

[grid@cs1 ~]$ . /usr/local/bin/oraenvORACLE_SID = [+ASM1] ? +ASM1The Oracle base remains unchanged with value /u01/app/grid[grid@cs1 ~]$ echo $ORACLE_HOME/rdbms/audit/u01/app/product/12.2.0/crs/rdbms/audit[grid@cs1 ~]$ echo $ORACLE_BASE/admin/$ORACLE_SID/adump/u01/app/grid/admin/+ASM1/adump[grid@cs2 ~]$ . /usr/local/bin/oraenvORACLE_SID = [+ASM2] ? The Oracle base remains unchanged with value /u01/app/grid[grid@cs2 ~]$ echo $ORACLE_HOME/rdbms/audit/u01/app/product/12.2.0/crs/rdbms/audit[grid@cs2 ~]$ echo $ORACLE_BASE/admin/$ORACLE_SID/adump/u01/app/grid/admin/+ASM2/adump

第三个Oracle ASM审计目录可以使用SQL*Plus登录Oracle ASM实例后进行查询

grid@cs1 ~]$ sqlplus / as sysasmSQL*Plus: Release 12.2.0.1.0 Production on Wed Aug 1 14:13:47 2018Copyright (c) 1982, 2016, Oracle.  All rights reserved.Connected to:Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit ProductionSQL> select value from v$parameter where name = 'audit_file_dest';VALUE--------------------------------------------------------------------------------/u01/app/product/12.2.0/crs/rdbms/audit

这里第三个目录与第一个目录是相同的

2.给Grid Infrastructure软件用户使用cron的权限
Oracle ASM的审计文件是由Grid Infrastructure软件用户所创建的,它通常为oracle或grid。移动或删除审计文件的命令必须由Grid Infrastructure软件用户来执行。在Oracle Linux中如果/etc/cron.allow 文件存在,只有在文件中出现其登录名称的用户可以使用 crontab 命令。root 用户的登录名必须出现在cron.allow 文件中,如果/etc/cron.deny 文件存在,并且用户的登录名列在其中,那么这些用户将不能执行crontab命令。如果只有/etc/cron.deny 文件存在,任一名称没有出现在这个文件中的用户可以使用crontab 命令。在Oracle Linux 7.1中只有/etc/cron.deny文件,而且访文件没有任何用户存在,就是说所有用户都能执行crontab命令。

[root@cs1 etc]# cat cron.deny[root@cs1 etc]# ls -lrt crontab-rw-r--r--. 1 root root 451 Apr 29  2014 crontab[root@cs1 etc]# chmod 777 crontab[root@cs1 etc]# ls -lrt crontab-rwxrwxrwx. 1 root root 451 Apr 29  2014 crontab

3.添加命令到crontab来管理审计文件
以Grid Infrastructure软件用户来向crontab文件增加命令

[grid@cs1 ~]$ crontab -e0 6 * * sun /usr/bin/find /u01/app/product/12.2.0/crs/rdbms/audit /u01/app/grid/admin/+ASM1/adump /u01/app/product/12.2.0/crs/rdbms/audit -maxdepth 1 -name '*.aud' -mtime +30 -delete

这个crontab条目在每个星期日的上午6点执行find命令,find命令将从三个审计目录中找出保存时间超过30天的所有审计文件将其删除。如果想要保存审计文件更长的时间,那么在执行find命令后,将相关审计文件移到备份目录中,例如:

0 6 * * sun /usr/bin/find /u01/app/product/12.2.0/crs/rdbms/audit /u01/app/grid/admin/+ASM1/adump /u01/app/product/12.2.0/crs/rdbms/audit -maxdepth 1 -name '*.aud' -mtime +30 -execdir /bin/mv {} /archived_audit_dir \;

检查crontab

[grid@cs1 ~]$ crontab -l0 6 * * sun /usr/bin/find /u01/app/product/12.2.0/crs/rdbms/audit /u01/app/grid/admin/+ASM1/adump /u01/app/product/12.2.0/crs/rdbms/audit -maxdepth 1 -name '*.aud' -mtime +30 -delete


文件 审计 目录 用户 命令 三个 实例 软件 登录 系统 管理 只有 环境 增长 变量 名称 时间 运行 不对 相同 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 机房三区服务器是 常州java软件开发管理 知网项目数据库 香港有哪些软件开发公司吗 鄞州手机软件开发项目管理 安卓用什么技术连接数据库 数据库的不等于怎么写 ftp服务器的创建 崇明区信息软件开发专业服务 重庆 服务器托管 沭阳什么是网络技术参考价格 我的时候服务器身份验证 迪普科技北京软件开发面试 安全性最高的数据库 长宁区电商软件开发厂家范围 服务器密码安全 服务器管理口HDM命令行目录 传统数据库和列族数据库的对比 数据库用cmd怎么登陆 腾讯极光服务器不稳定 软件开发中什么时候用到线程 信访部门网络安全制度 休宁软件开发系统 软件开发工具封装 小米9账号登陆时显示服务器错误 数据库的安全第一道保障 文职专题党日网络安全心得体会 黄浦区电商软件开发定制大概费用 华为招计算机网络技术人员吗 韩国天气预报软件开发
0