Oracle19c使用adrci清理日志文件

本文讲解了如何在Oracle环境中使用ADRCI命令行工具高效清理过期的日志文件,包括trace、incident、listenerlog,适用于单机和集群场景,以释放磁盘空间。

Oracle中通常有好多日志文件,遇到异常情况会产生大量日志,造成磁盘空间紧张。
故需要清理对应文件。包括trace文件,incident文件,listener log文件等。
19c中oracle提供了一个ADRCI的命令行工具来查看ADR中的alert日志和trace信息,可以批量删除对应的日志文件。
adrci的位置在$ORACLE_HOME/bin目录下。

单机(集群)都看这里,只不过,集群是在grid用户下,而单机则是在oracle用户下。那么,怎么快速的找到它呢?

##就是这样。这里说的是 log.xml 监听日志文件
cd $ ORACLE_BASE/diag/tnslsnr/$HOSTNAME/listener/alert

下图中,显示的是监听日志文件​​log.xml​​的目录位置。
在这里插入图片描述
监听日志文件listener.log在这里!
在这里插入图片描述
如何查看监听日志文件的大小呢?
一般我们是进入监听日志文件所在目录,使用du -sh或者du -sh *或者du -sh listener.log查看其大小。但是,假如有数十上百个库,你也要一个一个进入目录,去查看吗?快捷命令来了。这样一定速度提高了效率。

cd $ ORACLE_BASE/diag/tnslsnr/$HOSTNAME/listener && du -sh *

有图有真相!我们只需要关注这两个文件夹的大小,即可决定是否需要清理。

在这里插入图片描述
如何清理呢?
首先,不需要停止监听服务。
其次,备份监听服务,以免带来不必要的麻烦,你懂的。
一般,我们这样操作。

监听日志文件log.xml如何清理呢?

使用adrci删除30天以前的
集群模式
[root@b19c01 ~]# su - grid
Last login: Wed Sep 14 23:23:47 CST 2022 on pts/3
[grid@b19c01:/home/grid]$ adrci
adrci> purge -age 43200 -type alert
adrci> exit

单机模式
[root@b19c01 ~]# su - oracle
Last login: Wed Se

### Oracle 19c 归档日志清理方法及最佳实践 #### 清理归档日志的方法 要清理Oracle 19c中的归档日志,可以按照以下方式操作: 1. **确认数据库处于ARCHIVELOG模式** 需要先验证当前数据库是否运行在`ARCHIVELOG`模式下。这可以通过执行SQL查询完成: ```sql SELECT log_mode FROM v$database; ``` 如果返回的结果为`NOARCHIVELOG`,则表示未启用归档功能;如果为`ARCHIVELOG`,则已启用归档功能[^3]。 2. **删除本地磁盘上的归档日志文件** 使用RMAN命令可以直接清除不再需要的归档日志文件。例如,通过指定时间范围或序列号来删除旧的归档日志: ```bash rman target / DELETE ARCHIVELOG UNTIL TIME 'SYSDATE-7'; -- 删除七天前的归档日志 DELETE NOPROMPT ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'; -- 不提示直接删除 ``` 3. **配置自动清理策略** 在生产环境中,通常会结合备份计划定期清理过期的归档日志。可以在RMAN中定义保留策略(Retention Policy),从而让系统自动处理超出保留期限的数据: ```bash CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; -- 设置7天窗口内的数据可恢复 CROSSCHECK ARCHIVELOG ALL; -- 检查现有归档日志状态 DELETE EXPIRED ARCHIVELOG ALL; -- 删除标记为失效的归档日志 ``` 4. **监控存储空间并调整归档路径** 定期检查归档日志目录的空间占用情况,并考虑重新分配归档目标位置以优化资源利用效率。可通过修改初始化参数实现更改默认存储备份地址的操作: ```sql ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=/new/archive/path' SCOPE=BOTH; ``` #### 最佳实践建议 为了确保高效且安全地管理归档日志,在日常运维过程中应遵循如下原则: - **制定合理的保留周期** 根据业务需求设定恰当的时间长度作为历史记录保存依据,既满足灾难恢复的要求又不会过度消耗物理介质容量。 - **实施增量式备份方案** 结合全量与差异两种类型的备份机制共同作用于整个生命周期内产生的各类变更内容之上,减少重复冗余部分所占据的比例份额。 - **加强权限控制措施** 对涉及敏感信息访问的相关账户采取严格的身份认证流程以及最小化授权准则,防止未经授权人员随意篡改或者销毁重要资料文档等行为发生概率提升至最低限度水平线之下。 ```python # Python脚本示例用于自动化检测归档日志大小 import os def check_archive_size(directory): total_size = sum(os.path.getsize(f) for f in os.listdir(directory) if os.path.isfile(os.path.join(directory, f))) return round(total_size / (1024 * 1024), 2) archive_dir = '/path/to/archivelogs' print(f"Total Archive Log Size: {check_archive_size(archive_dir)} MB") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值