HP-UX安装Oracle 11.2.0.3单机执行任何命令均报错Memory Fault(coredump)分析解决
1. 故障现象
顺利无报错安装Oracle软件之后,执行netca、dbca等任何Oracle相关命令均报错Memory fault(coredump)
$ sqlplus / as sysdba
Memory fault(coredump)
$ expdp
Memory fault(coredump)
$ rman target /
Memory fault(coredump)
复制
2. 分析
2.1 检查参数
检查操作系统参数以及ulimit限制,发现该报错与参数与ulimit无关。
2.2 更换Oracle版本
通过安装11.2.0.4版本,报错依旧,依然是可以正常安装软件,执行命令报相同错误。
2.3 tusc追踪
tusc -Dfaepo /tmp/sqlplus.out -T %T sqlplus / as sysdba
# 节选部分关键内容
# 在判断当前时间以及访问时区文件之后就开始mmap分配内存
gettimeofday(0x9fffffffffffc6b0, NULL) ....................................................... = 0
stat("/usr/lib/tztab", 0x9fffffffffffc5d0) ................................................... = 0
open("/usr/lib/tztab", O_RDONLY|0x800, 01210) ................................................ = 9
mmap(NULL, 18261, PROT_READ, MAP_PRIVATE, 9, 0) .............................................. = 0x9fffffff7f568000
close(9) ..................................................................................... = 0
gettimeofday(0x9fffffffffffc6b0, NULL) ....................................................... = 0
gettimeofday(0x9fffffffffffc580, NULL) ....................................................... = 0
lseek(8, 1536, SEEK_SET) ..................................................................... = 1536
read(8, "\0\bbb81\0\0\08 bb82\0\0\086bb83".., 512) ........................................... = 512
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) .................... = 0x9fffffff7f564000
open("/oracle/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1", O_RDONLY|0x800, 0163060) = 9
# 分配内存
mmap(NULL, 8192, PROT_READ, MAP_PRIVATE, 9, 121794560) ....................................... = 0x9fffffff7f562000
# mmap分配之后其实检测信号掩码之后就开始取消分配内存munmap
sigprocmask(SIG_SETMASK, 0x9ffffffffffd2560, 0x9ffffffffffd2580) ............................. = 0
sigprocmask(SIG_SETMASK, 0x9ffffffffffd2510, 0x9ffffffffffd2530) ............................. = 0
sigprocmask(SIG_SETMASK, 0x9ffffffffffd2530, 0x9ffffffffffd2510) ............................. = 0
sigsetreturn(NULL, 0x6211988, 48640) ......................................................... = 0
sigprocmask(SIG_SETMASK, 0x9ffffffffffd2510, 0x9ffffffffffd2530) ............................. = 0
sigprocmask(SIG_SETMASK, 0x9ffffffffffd2530, 0x9ffffffffffd2510) ............................. = 0
sigaction(SIGBUS, NULL, 0x9fffffff7f7d42b0) .................................................. = 0
# 省略相似输出
sigaction(SIGSEGV, 0x9fffffff7f7d42e0, NULL) ................................................. = 0
sigprocmask(SIG_SETMASK, 0x9ffffffffffd2810, NULL) ........................................... = 0
munmap(0x9fffffff7f330000, 28672) ............................................................ = 0
munmap(0x9fffffff7f338000, 36864) ............................................................ = 0
munmap(0x9fffffff7f344000, 8192) ............................................................. = 0
close(12) .................................................................................... = 0
munmap(0x9fffffff7f346000, 8192) ............................................................. = 0
munmap(0x9fffffff7f560000, 8192) ............................................................. = 0
close(11) .................................................................................... = 0
munmap(0x9fffffff7f348000, 16384) ............................................................ = 0
munmap(0x9fffffff7f34c000, 49152) ............................................................ = 0
munmap(0x9fffffff7f567000, 4096) ............................................................. = 0
close(10) .................................................................................... = 0
munmap(0x9fffffff7f358000, 733184) ........................................................... = 0
munmap(0x9fffffff7f40c000, 1388544) .......................................................... = 0
munmap(0x9fffffff7f562000, 8192) ............................................................. = 0
close(9) ..................................................................................... = 0
Received signal 11, SIGSEGV, in user mode, [SIG_DFL], partial siginfo
Siginfo: si_code: SEGV_ACCERR, faulting address: 0x1, si_errno: 0
PC: 00000001000000a0.0 break.m 0x16000
exit(11) [implicit] .......................................................................... WIFSIGNALED(SIGSEGV)|WCOREDUMP
# 从上面可以看出,在判断了当前系统时间之后,就开始分配内存,之后就取消分配内存,之后就报错了,生成了core文件。
复制
3. 解决
分析到2.3,去检查了一下系统时间,基本就已经确定问题了,系统当前时间不正确,使用date命令确认一下如下:
# date
Thu Jul 2 11:21:05 MDT 1970
# 修改系统时间为正确时间,问题解决。
复制
最后修改时间:2022-06-13 17:28:22
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
1970年,一个神奇的的年份
2年前

评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1328次阅读
2025-03-13 11:40:53
Oracle RAC ASM 磁盘组满了,无法扩容怎么在线处理?
Lucifer三思而后行
804次阅读
2025-03-17 11:33:53
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
470次阅读
2025-03-13 14:38:19
Oracle 如何修改 db_unique_name?强迫症福音!
Lucifer三思而后行
366次阅读
2025-03-12 21:27:56
Oracle DataGuard高可用性解决方案详解
孙莹
318次阅读
2025-03-26 23:27:33
Oracle分区和执行计划相关的几个问题
听见风的声音
311次阅读
2025-03-07 08:51:42
切换Oracle归档路径后,不能正常删除原归档路径上的归档文件
dbaking
253次阅读
2025-03-19 14:41:51
风口浪尖!诚通证券扩容采购Oracle 793万...
Roger的数据库专栏
247次阅读
2025-03-24 09:42:53
墨天轮个人数说知识点合集
JiekeXu
244次阅读
2025-04-01 15:56:03
一键装库脚本3分钟极速部署,传统耗时砍掉95%!
IT邦德
243次阅读
2025-03-10 07:58:44