Oracle19c使用adrci清理日志文件

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 Sep 14 23:23:47 CST 2022 on pts/3
[oracle@b19c01:/home/oracle]$ adrci
adrci> purge -age 43200 -type alert
adrci> exit

1.删除incident文件
调用adrci

[root@prod-idm-storage incident]# adrci
ADRCI: Release 11.2.0.2.0 - Production on Tue May 7 15:19:08 2019
Copyright © 1982, 2009, Oracle and/or its affiliates. All rights reserved.
ADR base = “/app/oracle”

查看目录

adrci> show home
ADR Homes:
diag/rdbms/orcl/orcl

存在多个home需要指定单个home进行操作

adrci> set homepath diag/rdbms/tyrz/tyrz

查看incident

adrci> show incident
ADR Home = /app/oracle/diag/rdbms/orcl/orcl:
INCIDENT_ID PROBLEM_KEY CREATE_TIME
243353 ORA 227 2018-08-31 09:22:40.871000 +08:00
262554 ORA 227 2018-08-31 09:34:26.395000 +08:00
339426 ORA 1578 2018-09-22 06:01:46.329000 +08:00
339370 ORA 1578 2018-09-22 10:07:49.852000 +08:00
339402 ORA 1578 2018-09-22 14:08:23.558000 +08:00
339386 ORA 1578 2018-09-22 18:08:47.587000 +08:00
339394 ORA 1578 2018-09-22 22:09:26.524000 +08:00
339410 ORA 1578 2018-09-23 06:01:17.392000 +08:00
339387 ORA 1578 2018-09-23 10:10:58.257000 +08:00
339411 ORA 1578 2018-09-23 14:11:21.786000 +08:00
339412 ORA 1578 2018-09-23 18:11:59.186000 +08:00
339413 ORA 1578 2018-09-23 22:12:19.998000 +08:00
339414 ORA 1578 2018-09-24 22:01:20.661000 +08:00
339434 ORA 1578 2018-09-25 22:01:21.496000 +08:00
339415 ORA 1578 2018-09-26 22:01:09.127000 +08:00
339442 ORA 1578 2018-09-27 22:01:26.124000 +08:00
339450 ORA 1578 2018-09-28 22:01:21.893000 +08:00
339403 ORA 1578 2018-09-29 06:01:25.350000 +08:00
339418 ORA 1578 2018-09-29 10:07:14.940000 +08:00
339388 ORA 1578 2018-09-29 14:07:53.091000 +08:00
339389 ORA 1578 2018-09-29 18:08:10.510000 +08:00
339404 ORA 1578 2018-09-29 22:08:50.151000 +08:00
339419 ORA 1578 2018-09-30 06:01:15.858000 +08:00
339390 ORA 1578 2018-09-30 10:10:21.898000 +08:00
339391 ORA 1578 2018-09-30 14:10:47.874000 +08:00
339371 ORA 1578 2018-09-30 18:11:24.833000 +08:00
339405 ORA 1578 2018-09-30 22:11:47.994000 +08:00
339372 ORA 1578 2018-10-01 22:01:17.620000 +08:00
339435 ORA 1578 2018-10-02 22:01:30.078000 +08:00
339451 ORA 1578 2018-10-03 22:01:23.725000 +08:00
339420 ORA 1578 2018-10-04 22:01:21.404000 +08:00
339416 ORA 1578 2018-10-05 22:01:15.775000 +08:00
339421 ORA 1578 2018-10-06 06:01:29.564000 +08:00
339417 ORA 1578 2018-10-06 10:08:21.342000 +08:00
339422 ORA 1578 2018-10-06 14:08:52.711000 +08:00
345607 ORA 1578 2018-10-06 18:09:17.919000 +08:00
345609 ORA 1578 2018-10-06 22:09:56.154000 +08:00
339436 ORA 1578 2018-10-07 06:01:18.502000 +08:00
339406 ORA 1578 2018-10-07 10:01:23.514000 +08:00
339407 ORA 1578 2018-10-07 14:01:46.542000 +08:00
339354 ORA 1578 2018-10-07 18:02:21.533000 +08:00
339355 ORA 1578 2018-10-07 22:02:45.654000 +08:00
339498 ORA 1578 2018-10-08 22:01:23.626000 +08:00
339466 ORA 1578 2018-10-09 22:01:21.970000 +08:00
339467 ORA 1578 2018-10-10 22:01:11.649000 +08:00
339499 ORA 1578 2018-10-11 22:01:17.955000 +08:00
339443 ORA 1578 2018-10-12 22:01:24.071000 +08:00
339423 ORA 1578 2018-10-13 06:01:17.901000 +08:00
339373 ORA 1578 2018-10-13 10:06:37.319000 +08:00
339374 ORA 1578 2018-10-13 14:07:14.910000 +08:00
First 50 rows fetched (*** more available ***)

删除100天前的incident 14400=60min24100

adrci>purge -age 144000 -type incident

退出

adrci> exit

帮助

adrci> help purge
Usage: PURGE [[-i | ] |
[-age [-type ALERT|INCIDENT|TRACE|CDUMP|HM|UTSCDMP]]]:
Purpose: Purge the diagnostic data in the current ADR home. If no
option is specified, the default purging policy will be used.
Options:
[-i id1 | id1 id2]: Users can input a single incident ID, or a
range of incidents to purge.
[-age ]: Users can specify the purging policy either to all
the diagnostic data or the specified type. The data older than
ago will be purged
[-type ALERT|INCIDENT|TRACE|CDUMP|HM|UTSCDMP]: Users can specify what type of data to be purged.
Examples:
purge
purge -i 123 456
purge -age 60 -type incident

2.删除listener log

adrci> purge -age 8760 -type alert

3.删除TRACE
查看trace

adrci> show tracefile
diag/rdbms/oam/oam/trace/oam_vkrm_10487.trc
diag/rdbms/oam/oam/trace/oam_vkrm_6627.trc
diag/rdbms/oam/oam/trace/oam_j003_26131.trc
diag/rdbms/oam/oam/trace/oam_m000_404.trc
diag/rdbms/oam/oam/trace/oam_m000_20336.trc
diag/rdbms/oam/oam/trace/oam_w000_3502.trc
diag/rdbms/oam/oam/trace/oam_vkrm_31062.trc
diag/rdbms/oam/oam/trace/oam_m000_14702.trc
diag/rdbms/oam/oam/trace/oam_j000_949.trc
diag/rdbms/oam/oam/trace/oam_vkrm_28172.trc
diag/rdbms/oam/oam/trace/alert_oam.log
diag/rdbms/oam/oam/trace/oam_vkrm_12182.trc
diag/rdbms/oam/oam/trace/oam_w000_31588.trc
diag/rdbms/oam/oam/trace/oam_j000_6363.trc
diag/rdbms/oam/oam/trace/oam_w001_8741.trc
diag/rdbms/oam/oam/trace/oam_m000_15978.trc
diag/rdbms/oam/oam/trace/oam_vkrm_15883.trc
diag/rdbms/oam/oam/trace/oam_m000_5141.trc
diag/rdbms/oam/oam/trace/oam_j001_15641.trc
diag/rdbms/oam/oam/trace/oam_j000_21062.trc
diag/rdbms/oam/oam/trace/oam_m000_24268.trc
diag/rdbms/oam/oam/trace/oam_m000_21366.trc
diag/rdbms/oam/oam/trace/oam_vkrm_14072.trc

删除操作

adrci> purge -age 8760 -type trace

<think>好的,我现在需要处理用户关于“The Oracle base remains unchanged”的查询。首先,我需要明确用户的具体需求。用户可能是在数据库或系统管理领域遇到这个问题,尤其是在Oracle数据库的上下文中。 首先,我应该回忆Oracle数据库中的基本概念,比如Oracle Base。Oracle Base是Oracle软件的根目录,通常包含所有Oracle产品的安装文件和配置。当用户提到“Oracle base remains unchanged”,可能涉及到安装、升级或迁移过程中的某个步骤,需要保持Oracle Base不变。 接下来,用户可能遇到的情况包括:升级Oracle数据库但保持原有的Oracle Base路径;或者在克隆数据库时希望不改变原有的基础目录;或者在配置多实例时共享同一个Oracle Base。需要确定用户具体是在哪种情境下碰到这个问题,但用户没有提供更多细节,所以需要覆盖常见的情况。 然后,我需要考虑保持Oracle Base不变的常见原因。例如,维护环境一致性,避免路径变动引发的配置问题,或者遵循企业的IT规范。同时,可能需要注意的潜在问题,比如磁盘空间不足,权限设置是否正确,或者是否与其他实例冲突。 用户可能想知道如何正确操作以确保Oracle Base不变,比如在安装或升级过程中指定相同的ORACLE_BASE路径,或者修改响应文件(response file)中的相关参数。另外,可能涉及的环境变量设置,如.bash_profile或/etc/profile中的ORACLE_BASE变量是否需要更新。 此外,还需要提醒用户注意事项,例如检查现有Oracle Base的权限和所有权是否正确,确保足够的存储空间,以及备份重要数据以防万一。可能还需要解释Oracle Base与ORACLE_HOME的区别,避免用户混淆这两个概念。 最后,总结关键点,确保回答结构清晰,步骤明确,帮助用户理解在不同操作中如何保持Oracle Base不变,并预防潜在问题。同时,保持语言简洁,避免技术术语过于复杂,适合不同层次的理解。</think>关于“Oracle base remains unchanged”(Oracle基目录保持不变)的解释及操作指南如下: --- ### **1. 概念解析** 在Oracle数据库体系中,**ORACLE_BASE** 是核心目录路径,用于存储所有Oracle产品的安装文件、配置和日志。其默认结构如下: ``` $ORACLE_BASE/ ├── admin/ # 管理脚本和日志 ├── cfgtoollogs/ # 配置工具日志 ├── product/ # 软件安装目录(ORACLE_HOME位于此) └── diag/ # 诊断文件(ADR) ``` 当提示“Oracle base remains unchanged”时,通常指在以下场景中保持原有路径不变: - **数据库升级**:新版本沿用旧版本的基目录。 - **多实例部署**:多个数据库实例共享同一基目录。 - **环境迁移**:将数据库移动到新服务器但保留原始目录结构。 --- ### **2. 保持ORACLE_BASE不变的场景** #### **场景1:数据库升级** - **操作步骤**: 1. 运行Oracle安装程序时,手动指定与旧版本相同的`ORACLE_BASE`路径。 2. 验证新版本`ORACLE_HOME`是否生成在`$ORACLE_BASE/product`下。 - **注意事项**: - 确保旧版本的日志和配置文件已备份。 - 检查磁盘空间是否足够容纳新旧版本文件。 #### **场景2:克隆数据库** - **操作步骤**: 1. 使用`CREATE CONTROLFILE`或`RMAN DUPLICATE`命令时,保持`ORACLE_BASE`参数与源库一致。 2. 修改监听器配置(`listener.ora`)指向原路径。 - **注意事项**: - 检查文件权限是否允许新实例访问原目录。 - 避免文件路径冲突(如日志文件名重复)。 --- ### **3. 配置方法** #### **通过响应文件(Response File)** 在静默安装或批量部署时,编辑响应文件指定路径: ```properties # 示例 response_file.rsp oracle.install.option=INSTALL_DB_SWONLY ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/product/19c/dbhome_1 ``` #### **通过环境变量** 在Linux/Unix系统中,设置用户环境变量: ```bash # 修改 .bash_profile 或 /etc/profile export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/19c/dbhome_1 export PATH=$ORACLE_HOME/bin:$PATH ``` --- ### **4. 常见问题与解决** | **问题** | **原因** | **解决方案** | |-----------------------------|--------------------------|-------------------------------------| | 安装时报错“路径不存在” | 目录未创建或权限不足 | 手动创建目录并设置权限:`chown -R oracle:oinstall /u01` | | 日志文件写入失败 | 磁盘空间不足 | 清理日志或扩展存储空间 | | 多实例冲突 | 相同路径下文件重复 | 为每个实例分配独立的子目录(如`diag/rdbms/db1`, `diag/rdbms/db2`) | --- ### **5. 关键原则** - **一致性**:跨环境(开发、测试、生产)保持相同`ORACLE_BASE`结构。 - **隔离性**:通过子目录区分不同组件(如`diag/`, `admin/`)。 - **可维护性**:定期清理日志使用`ADRCI`工具)并监控存储使用。 如需进一步分析具体问题,请提供操作上下文或错误日志
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值