告别手工翻日志!Oracle RAC 日志聚合可视化工具 OracleLogVisualizer

最近为了分析一个Oracle 故障,我做了个小工具用于聚合排序Oracle RAC的日志,如tfactl打包的日志。

为什么需要它?

做过 Oracle RAC 故障排查的 DBA 都有过这样的经历:

  • 一个节点异常,alert_xxx.logocssd.logohasd.logcrsd.log、各种 .trc 散落在几十个目录里;
  • 每个文件的时间戳格式还不一样(CRS alert、RDBMS alert、listener、trace、syslog),没法直接按时间对比;
  • 想看”这个时刻集群到底发生了什么”,得手工打开七八个文件对着时间戳来回翻,眼睛都快看花;
  • 好不容易定位到某条 CRS-xxxx 错误,又要在海量日志里找它前后发生了什么。

OracleLogVisualizer 就是为了解决这个问题而生的。

它把指定目录下所有 Oracle 日志 / trace 文件解析后聚合成一张表,按时间排序、关键字高亮、实时过滤——相当于给 RAC 日志装了个”时间轴浏览器”。

核心特性

🕐 多格式时间戳统一解析

自动识别并归一化 5 种常见日志时间戳:

格式示例来源
yyyy-MM-dd HH:mm:ss.SSS2026-08-10 10:12:08.221CRS / 集群 alert
*** yyyy-MM-ddTHH:mm:ss.uuuuuu+HH:MM*** 2026-08-10T10:12:08.223482+08:00trace (.trc)
EEE MMM dd HH:mm:ss yyyyWed Aug 10 10:12:08 2026RDBMS alert
dd-MMM-yyyy HH:mm:ss10-AUG-2026 10:12:08listener
MMM dd HH:mm:ssAug 10 10:12:08 hostname process:syslog / messages

日期与内容分行的日志也能自动合并:只含时间戳的行会被识别为”时间标记”,下一行内容自动继承该时间戳,合并成一行显示,不会产生空行或错位。

🎨 关键字高亮,问题一眼定位
  • 内置 20+ 个 Oracle RAC / CRS 故障高频关键字,命中即红底加粗高亮: ERRORFAILORA-FATALevictionmisscounthas been evictedreconfigurationOHASD exitingRebootCRS-8500clssscProcessKillShutdown: Initiating shutdown due toUnable to discover any voting files……
  • 支持自定义关键字(逗号分隔),你的关注点由你说了算;
  • 行级着色:ERROR 红、WARNING 黄,错误行在整张表中一眼可见。
🔍 灵活过滤
  • 实时过滤:输入即过滤,支持 | 分隔的多关键字;
  • 一键错误过滤:只看 ERROR|ORA-|FATAL
  • 一键启动记录:筛选集群/数据库启动事件(CRS-8500、Starting ORACLE instance、cgroup 初始化);
  • 快捷键:Ctrl+O 打开目录、Ctrl+F 聚焦搜索框、Ctrl+L 清空过滤;
  • 点击表头可按时间戳重新排序。
🚀 海量日志流畅加载
  • 实测 110 万行级别的日志目录可以流畅加载、滚动、过滤;
  • 后台线程分块加载(SwingWorker),界面不卡死;
  • 解析过程带进度条,随时可取消。
📤 结果可导出

当前可见行一键导出为 CSV,方便二次分析或存档汇报。

技术内幕

  • 纯 JDK Swing 实现,零第三方依赖,整个 JAR 只有 40KB,绿色免安装,拷到任何有 JVM 的机器即可运行;
  • 智能目录策略:自动排除 incidenttitanagentzabbix 目录下的 .trc 噪音;var/log 下只解析 message/messages,避免无关日志干扰;
  • 脏数据清理:自动过滤掉无时间戳或无消息内容的无效行;
  • 粘性时间戳:无时间戳的续行(如堆栈、多行信息)自动继承最近时间戳,多行日志不会散架;
  • 性能实测(Windows 环境):
日志目录行数解析耗时
CRS trace661,443≈ 6.5 s
ASM trace102,992≈ 22 s
listener91,320≈ 2.5 s
messages (syslog)19,411≈ 0.8 s

适用场景

  • RAC 集群故障排查:快速还原”事故前后”完整时间线;
  • 节点驱逐(eviction)分析:从海量日志中秒级定位 CSSD / OHASD 相关异常;
  • 集群启动/关闭过程复盘:一键筛选启动记录,核对各资源拉起顺序;
  • 数据库升级、迁移后的日志巡检;
  • 一线 DBA 的日常日志快速预览。

下载与联系

链接:https://pan.baidu.com/s/1lHkrlLZyGSFrvELHxRBkPA?pwd=uvr2 提取码:uvr2 复制这段内容后打开百度网盘手机App,操作更方便哦

Leave a Comment