
想学会更多实用技巧,欢迎加入青学会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_
其他日志获取
如果 CRS 有安装,还可以在以下位置获取 Oprocd 相关内容:
/var/opt/oracle/hostname
此外,如果 CRS 没有安装,可以通过以下步骤获取日志信息:
运行 cluvfy 脚本(需要以 oracle 软件所有者身份运行):
cd $ORACLE_HOME/bin
script tmp/cluvfy.log
cluvfy stage -post crsinst -n all -verbose
exit复制如果 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 数据库运维的学习之路上提供一些有价值的帮助。
往期文章回顾
MOP社区新闻
金仓专栏
告别繁琐!KingbaseES v9数据库一键安装-青学会&金仓专栏(1)
KingbaseES v9数据库Docker安装-青学会&金仓专栏(2)
DBA实战小技巧
实战:记一次RAC故障排查
DBA实战运维小技巧安装篇(一)Oracle 主流版本不同架构下的静默安装指南
DBA实战运维小技巧存储篇(一)根目录满了如何处理
DBA实战运维小技巧存储篇(二)打包迁移单机数据库至新存储
MOP社区投稿-内核开发
简单解析 IvorySQL 增强 Oracle xml 兼容能力的原理
简单讨论 PostgreSQL C语言拓展函数返回数据表的方式
简单分析 pg_config 程序的作用与原理
Redis 日志机制简介(一):SlowLog
Redis 日志机制简介(二):AOF 日志
Redis 日志机制简介(三):RDB 日志
pg_cron插件使用介绍
Redis 的指令表实现机制简介
pg几款源码工具介绍
Redis 事务功能简介