暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

简单到不敢相信!Oracle 数据库日志收集方法

点击上方蓝字,关注我们




想学会更多实用技巧,欢迎加入青学会MOP技术社区(实名社区)。

加入方法:公众号后台回复关键字“加入”获取小助手微信,添加后登记入会。

同时欢迎大家在评论区留言互动交流!社区会不定期举行相关的抽奖、公开分享活动。

如果你有想了解的知识点希望我们发文可以后台私信。

最近联合几个 Oracle ACE技术专家 开通了一个付费微信群,都是具有10多年金融、医疗、制造业10年以上的一线专家,坑位费399/人,无限期,目前群内近150。加群后会有一些福利(分享各类技术文档,干货资源,问题解答等等),更有特邀嘉宾会定期在群内直播,解读AWR,快问快答等!有问题我们尽量都解答,毕竟399不能都解决所有问题。有兴趣联系微:ywu0613

内部知识库正在筹建中,不止有oracle!

正文开始

在 Oracle 数据库的运维工作中,日志信息就像是数据库的 “健康报告”,能为我们揭示它的运行状态和潜在问题。无论是单实例数据库,还是复杂的 RAC 集群,亦或是 CRS(Cluster Ready Services)相关日志,掌握它们的收集方法都是运维人员必备的技能。今天,就让我们一起走进 Oracle 11g数据库日志的世界,了解如何高效收集这些关键信息。


单实例日志收集

日志存放位置

单实例数据库的日志信息存放位置相对固定且容易查找。通常,日志文件位于以下路径:

$ORACLE_BASE/diag/rdbms/dbname/instancename/trace/alter_instername.log

查询日志位置

我们也可以通过查询数据库来确认 alter 以及 trace 日志位置。打开 sqlplus,以 sysdba 身份登录:

sqlplus  as sysdba

复制

然后执行以下查询:

select * from v$diag_info;

复制

或者:

show parameter background_dump_dest;

复制

此外,还可以在数据库中查询得到 trace 文件路径:

select value from v$diag_info where name='Default Trace File';

复制

通过这些方法,我们就能精准定位单实例数据库的日志文件,为后续的故障排查和性能分析提供依据。


RAC 集群 alter、trace 日志信息收集

日志存放规律

在 Oracle RAC 集群环境下,每个节点的 Alert.log 和数据库进程的 trace 日志都存放在相同目录下。对于 alter 日志,其存放路径为:

$ORACLE_BASE/diag/rdbms/database_name/instance_name/trace/alter_instancename.log

进程日志信息

以节点的 LMS 进程为例,其 trace 日志文件命名规则如下:

$ORACLE_BASE/diag/rdbms/database_name/instance_name/trace/LMS_*.trc

类似的,还有其他进程的日志文件,如:

$ORACLE_BASE/diag/rdbms/database_name/instance_name/trace/LCK_*.trc

$ORACLE_BASE/diag/rdbms/database_name/instance_name/trace/LMON_*.trc

$ORACLE_BASE/diag/rdbms/database_name/instance_name/trace/LMD_*.trc

这些日志文件记录了各个数据库进程的详细信息,对于分析集群中的进程交互和问题定位非常有帮助。


CRS 日志收集

环境准备

集群由 grid 用户管理,所以在进行 CRS 日志查找时,需要确保以下环境变量已正确设置:

  • 确保 CRS_HOME 已经设置
  • 确保 ORACLE_BASE 已经设置
  • 确保 HOSTNAME正确设置

收集方法

  • 对于 11gR2 :执行 GRID_HOME 下面的 diagcollectin.sh:

    <GRID_HOME>/bin/diagcollection.sh

    复制

在不同版本的 Oracle 数据库中,执行上述脚本后,会生成不同的日志文件压缩包,如 crsData_.tar.gz、ocrData_.tar.gz、oraData_.tar.gz、coreData_.tar.gz 等,这些文件包含了丰富的 CRS 日志信息,有助于我们深入了解集群的运行状况。

其他日志获取

如果 CRS 有安装,还可以在以下位置获取 Oprocd 相关内容:

/var/opt/oracle/hostname

此外,如果 CRS 没有安装,可以通过以下步骤获取日志信息:

  1. 运行 cluvfy 脚本(需要以 oracle 软件所有者身份运行):

    cd $ORACLE_HOME/bin
    script tmp/cluvfy.log
    cluvfy stage -post crsinst -n all -verbose
    exit

    复制
  2. 如果 CRS 没有安装,可以从 10gR2 DVD 或从 OTN 下载 cluvfy,然后设置环境变量 CV_HOME、CV_JDKHOME 和可选的 CV_DESTLOC,执行以下命令:

    cd $CV_HOME
    script cluvfy.log
    cluvfy stage -pre crsinst -n <node1, node2 > ## Replace node1,node2 with actual node names
    exit

    复制

这些日志信息对于分析 CRS 的安装、配置和运行过程中的问题至关重要。

收集 Oracle 数据库的 Trace、Alert 信息以及 CRS 日志是数据库运维工作中的重要环节。无论是单实例数据库,还是 RAC 集群,掌握这些日志的收集方法,能够帮助我们更好地了解数据库的运行状态,及时发现和解决问题。在实际操作中,要根据不同的数据库架构和版本,选择合适的日志收集方式,为数据库的稳定运行保驾护航。希望这篇文章能为初学者在 Oracle 数据库运维的学习之路上提供一些有价值的帮助。


END


往期文章回顾

MOP社区新闻

  青学会MOP技术社区成立了!

  青学会专家顾问团成员介绍

金仓专栏

  告别繁琐!KingbaseES v9数据库一键安装-青学会&金仓专栏(1)

  KingbaseES v9数据库Docker安装-青学会&金仓专栏(2)

  KingbaseES数据脱敏-青学会&金仓专栏(3)

  KingbaseES后台服务管理-青学会&金仓专栏(4)

  电科金仓KES日常运维命令集锦-青学会&金仓专栏(5)


DBA实战小技巧

  推荐一款超实用的openGauss数据库安装工具!

  实战:记一次RAC故障排查
  DBA实战运维小技巧安装篇(一)Oracle 主流版本不同架构下的静默安装指南
  DBA实战运维小技巧存储篇(一)根目录满了如何处理
  DBA实战运维小技巧存储篇(二)打包迁移单机数据库至新存储

MOP社区投稿-内核开发

  浅谈 PostgreSQL GUC 模块原理

  简单解析 IvorySQL 增强 Oracle xml 兼容能力的原理

  简单讨论 PostgreSQL C语言拓展函数返回数据表的方式

  简单分析 pg_config 程序的作用与原理
  Redis 日志机制简介(一):SlowLog
  Redis 日志机制简介(二):AOF 日志
  Redis 日志机制简介(三):RDB 日志
  pg_cron插件使用介绍
  Redis 的指令表实现机制简介
  pg几款源码工具介绍
  Redis 事务功能简介

MOP顾问说

   MOP顾问说:MOP 三种主流数据库常用 SQL(一)

  MOP顾问说: 服务器内存

  MOP 顾问说:Linux Nice 值与 CPU 优先级揭秘


文章转载自青年数据库学习互助会,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论