重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 328|回复: 0
打印 上一主题 下一主题

[工具] 手动删除集群下面的+asm的trace文件夹里的trc后缀文件

[复制链接]
跳转到指定楼层
楼主
发表于 2025-12-21 12:35:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先确认当前告警日志中是否有重要信息。

1. TRC 文件的生成条件:
bash

# TRC 文件在以下情况下生成:
# 1. ASM 实例启动/关闭
# 2. ASM 实例异常终止
# 3. 发生错误或警告
# 4. 执行诊断事件跟踪
# 5. 性能问题诊断

2. 删除 TRC 文件的影响:
bash

# 删除后不会立即生成新的 TRC 文件
# 只有在特定触发条件下才会生成新的 TRC 文件

# 示例路径:
+ASM/diag/asm/+asm/+ASM/trace/
├── alert_+ASM.log    # 告警日志(会自动增长)
├── +ASM_ora_1234.trc # 跟踪文件(删除后不会自动创建)
└── +ASM_ora_1234.trm # 跟踪元数据

如何安全清理 TRC 文件:
方法1:使用 ADRCI 工具(推荐)
# 1. 进入 ADRCI
adrci

# 2. 查看诊断信息
ADRCI> SHOW HOME
ADRCI> SET HOME diag/asm/+asm/+ASM

# 3. 查看跟踪文件
ADRCI> IPS PACK TRACE
ADRCI> SHOW TRACEFILE

# 4. 使用 PURGE 命令清理
ADRCI> PURGE -AGE 60 -TYPE TRACE  # 清理60分钟前的跟踪文件


方法2:Oracle 自动清理---------待验证
sql

-- 1. 查看和设置自动清理策略
SELECT * FROM V$DIAG_OPTIONS;

-- 2. 设置跟踪文件保留时间(单位:分钟)
-- 默认是 43200 分钟(30天)
EXEC DBMS_AUTO_TASK_IMMEDIATE.SET_TRACE_RETENTION(1440); -- 改为1天

方法3:手动清理脚本---------待验证
bash

#!/bin/bash
# 安全清理 ASM TRC 文件的脚本

ASM_TRACE_PATH="/opt/oracle/diag/asm/+asm/+ASM/trace"
LOG_FILE="/tmp/asm_trace_clean.log"

# 1. 停止写入(可选,需要重启ASM)
# srvctl stop asm -n $(hostname -s)

# 2. 只删除旧的 TRC 文件(保留最近7天的)
find $ASM_TRACE_PATH -name "*.trc" -mtime +7 -type f -delete >> $LOG_FILE 2>&1
find $ASM_TRACE_PATH -name "*.trm" -mtime +7 -type f -delete >> $LOG_FILE 2>&1

# 3. 保留 alert 日志和当前会话的 trace
# 不要删除 alert_+ASM.log 和最新的 trace 文件

# 4. 重新启动 ASM(如果停止了)
# srvctl start asm -n $(hostname -s)

echo "清理完成,查看日志: $LOG_FILE"

删除后重新生成的方法
触发 TRC 文件生成的几种方式:
# 1. 重启 ASM 实例(会生成新的 TRC)
srvctl stop asm -n node1
srvctl start asm -n node1

# 2. 使用诊断事件生成 TRC
sqlplus / as sysasm
ALTER SESSION SET EVENTS 'immediate trace name ASM_DISK string level 10';

# 3. 模拟错误触发跟踪
# 注意:生产环境慎用
ALTER DISKGROUP DATA MOUNT FORCE;

# 4. 使用 oradebug 生成跟踪
oradebug setmypid
oradebug unlimit
oradebug tracefile_name  # 查看生成的 TRC 文件

重要注意事项
⚠️ 不要删除:
# 1. 不要删除 alert_+ASM.log(告警日志)
# 2. 不要删除当前正在使用的 TRC 文件
# 3. 不要删除最近24小时内的诊断文件
# 4. 不要删除有活跃会话的跟踪文件

# 检查文件是否在使用中
lsof /opt/oracle/diag/asm/+asm/+ASM/trace/*.trc



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2026-4-17 20:09 , Processed in 0.217398 second(s), 23 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表