ORACLE RAC--如何定位追踪产生的core文件

简介:

在RAC环境里,经常会有core文件产生,产生的原因:程序崩溃,内核有可能把该程序当前内存映射到core文件里,方便程序员找到程序出现问题的地方。那么如何定位及追踪core呢?以下操作即是:

 

1.查找到系统程序崩溃时产生的core文件:

[root@rac1 ~]# find /u01 -name core.* -exec ls -lthr {} \; 
-rw------- 1 root root 480M Sep 27 12:01 /u01/oracle/product/crs/log/rac1/crsd/core.3907

core文件大小为480M,文件还挺大的。所以,平时,如果遇到磁盘空间不足的时候,没准就是core文件在做怪呢!

2.定位出是由于哪个文件产生的core文件:

[root@rac1 ~]# find /u01 -name core.* -exec ls -lthr {} \;|awk '{print $9}'|xargs file 
/u01/oracle/product/crs/log/rac1/crsd/core.3907: ELF 32-bit LSB core file Intel 80386, version 1 (SYSV), SVR4-style, from 'crsd.bin'

由以下命令,可以看出core.3907的产生,是由于'crsd.bin'文件引起的。

3.使用gdb对core进行追踪:


[root@rac1 ~]# gdb /u01/oracle/product/crs/bin/crsd.bin /u01/oracle/product/crs/log/rac1/crsd/core.3907 
GNU gdb Fedora (6.8-37.el5) 
Copyright (C) 2008 Free Software Foundation, Inc. 
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it. 
There is NO WARRANTY, to the extent permitted by law. Type "show copying" 
and "show warranty" for details. 
This GDB was configured as "i386-redhat-linux-gnu"...

warning: Can't read pathname for load map: Input/output error.

warning: .dynamic section for "/lib/libdl.so.2" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations 
Reading symbols from /lib/libm.so.6...done. 
Loaded symbols for /lib/libm.so.6 
Reading symbols from /lib/libpthread.so.0...done. 
Loaded symbols for /lib/libpthread.so.0 
Reading symbols from /u01/oracle/product/crs/lib/libocr10.so...done. 
Loaded symbols for /u01/oracle/product/crs/lib/libocr10.so 
Reading symbols from /u01/oracle/product/crs/lib/libocrb10.so...done. 
Loaded symbols for /u01/oracle/product/crs/lib/libocrb10.so 
Reading symbols from /u01/oracle/product/crs/lib/libocrutl10.so...done. 
Loaded symbols for /u01/oracle/product/crs/lib/libocrutl10.so 
Reading symbols from /u01/oracle/product/crs/lib/libhasgen10.so...done. 
Loaded symbols for /u01/oracle/product/crs/lib/libhasgen10.so 
Reading symbols from /u01/oracle/product/crs/lib/libclntsh.so.10.1...done. 
Loaded symbols for /u01/oracle/product/crs/lib/libclntsh.so.10.1 
Reading symbols from /u01/oracle/product/crs/lib/libskgxn2.so...done. 
Loaded symbols for /u01/oracle/product/crs/lib/libskgxn2.so 
Reading symbols from /lib/libdl.so.2...done. 
Loaded symbols for /lib/libdl.so.2 
Reading symbols from /lib/libnsl.so.1...done. 
Loaded symbols for /lib/libnsl.so.1 
Reading symbols from /usr/lib/libstdc++.so.5...done. 
Loaded symbols for /usr/lib/libstdc++.so.5 
Reading symbols from /lib/libc.so.6...done. 
Loaded symbols for /lib/libc.so.6 
Reading symbols from /lib/ld-linux.so.2...done. 
Loaded symbols for /lib/ld-linux.so.2 
Reading symbols from /u01/oracle/product/crs/lib/libnnz10.so...done. 
Loaded symbols for /u01/oracle/product/crs/lib/libnnz10.so 
Reading symbols from /lib/libgcc_s.so.1...done. 
Loaded symbols for /lib/libgcc_s.so.1 
Reading symbols from /lib/libnss_files.so.2...done. 
Loaded symbols for /lib/libnss_files.so.2 
Core was generated by `/u01/oracle/product/crs/bin/crsd.bin reboot'. 
Program terminated with signal 6, Aborted.
 
[New process 4787] 
[New process 4789] 
[New process 4786] 
[New process 4785] 
[New process 4784] 
[New process 4783] 
[New process 4782] 
[New process 4781] 
[New process 4780] 
[New process 4779] 
[New process 4778] 
[New process 4721] 
[New process 4701] 
[New process 4700] 
[New process 4665] 
[New process 4664] 
[New process 4663] 
[New process 4662] 
[New process 4661] 
[New process 4660] 
[New process 4659] 
[New process 4658] 
[New process 4657] 
[New process 4656] 
[New process 4655] 
[New process 4654] 
[New process 4653] 
[New process 4652] 
[New process 4651] 
[New process 4650] 
[New process 4649] 
[New process 4648] 
[New process 4647] 
[New process 4641] 
[New process 4640] 
[New process 4639] 
[New process 4638] 
[New process 4637] 
[New process 4636] 
[New process 4635] 
[New process 4634] 
[New process 4514] 
[New process 3907] 
#0 0x00389402 in __kernel_vsyscall () 
(gdb) where 
#0 0x00389402 in __kernel_vsyscall () 
#1 0x009a1df0 in raise () from /lib/libc.so.6 
#2 0x009a3701 in abort () from /lib/libc.so.6 
#3 0x0099b26b in __assert_fail () from /lib/libc.so.6 

#4 0x08363c8e in destr_detour5 () at clsThreadMain.cpp:70 
#5 0x00af45ab in start_thread () from /lib/libpthread.so.0 
#6 0x00a4acfe in clone () from /lib/libc.so.6 
(gdb) 
 

注意:上面的两行红色部分:

Core was generated by `/u01/oracle/product/crs/bin/crsd.bin reboot'. 
Program terminated with signal 6, Aborted.

 

恰恰说明,由于系统发生reboot重启操作,而产生了core文件。

 

     本文转自vcdog 51CTO博客,原文链接:http://blog.51cto.com/255361/837514,如需转载请自行联系原作者


相关实践学习
阿里云图数据库GDB入门与应用
图数据库(Graph Database,简称GDB)是一种支持Property Graph图模型、用于处理高度连接数据查询与存储的实时、可靠的在线数据库服务。它支持Apache TinkerPop Gremlin查询语言,可以帮您快速构建基于高度连接的数据集的应用程序。GDB非常适合社交网络、欺诈检测、推荐引擎、实时图谱、网络/IT运营这类高度互连数据集的场景。 GDB由阿里云自主研发,具备如下优势: 标准图查询语言:支持属性图,高度兼容Gremlin图查询语言。 高度优化的自研引擎:高度优化的自研图计算层和存储层,云盘多副本保障数据超高可靠,支持ACID事务。 服务高可用:支持高可用实例,节点故障迅速转移,保障业务连续性。 易运维:提供备份恢复、自动升级、监控告警、故障切换等丰富的运维功能,大幅降低运维成本。 产品主页:https://www.aliyun.com/product/gdb
相关文章
|
2月前
|
存储 Oracle NoSQL
Oracle 表空间、数据文件、schema的关系
Oracle 表空间、数据文件、schema的关系
32 2
|
29天前
|
XML Java 数据库连接
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——hibernate的config文件(hibernate.cfg.xml)
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——hibernate的config文件(hibernate.cfg.xml)
10 0
|
6月前
|
Oracle 关系型数据库 数据库
9-4 Oracle管理表空间和数据文件
9-4 Oracle管理表空间和数据文件
|
1月前
|
存储 运维 Oracle
Oracle系列十八:Oracle RAC
Oracle系列十八:Oracle RAC
|
2月前
|
Oracle 关系型数据库
oracle Hanganalyze no RAC
oracle Hanganalyze no RAC
15 0
|
2月前
|
Oracle 关系型数据库
oracle rac 手工安装补丁,不适用auto
oracle rac 手工安装补丁,不适用auto
25 3
|
3月前
|
SQL 存储 Oracle
oracle如何定期备份数据库sql文件
【1月更文挑战第7天】oracle如何定期备份数据库sql文件
58 8
|
4月前
|
Oracle 关系型数据库 数据库
这个问题可能是由于Flink在尝试获取Oracle的预览数据时,没有找到启动标志文件
这个问题可能是由于Flink在尝试获取Oracle的预览数据时,没有找到启动标志文件
43 1
|
4月前
|
SQL Oracle 关系型数据库
Oracle - Spool导出数据到TXT文件
Oracle - Spool导出数据到TXT文件
51 0
|
3月前
|
Oracle 关系型数据库
【Oracle】sqlplus 复制数据文件时出现拒绝访问
【Oracle】sqlplus 复制数据文件时出现拒绝访问

推荐镜像

更多