热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

ORA-600[17182],ORA-07445[kghrst()+1567]

ORA-600[17182],ORA-07445[kghrst()+1567]

ORA-600 [17182],ORA-07445 [kghrst()+1567]

今天,一个11.2.0.2 on CentOS5.8 x86-64 的单点库,出现了问题。

具体现象就是,每次alter database open时,会在10几秒内 自动crash(崩溃)掉

alert 日志如下

------------------------------------------------------------------------------------------------------------------------

SMON: slave died unexpectedly, downgrading to serial recovery
Errors in file /cvms/app/Oracle/diag/rdbms/hncvms/HNCVMS/trace/HNCVMS_smon_11203.trc (incident=187832):
ORA-00600: internal error code, arguments: [17182], [0x2B7C8E7CD7A0], [], [], [], [], [], [], [], [], [], []
Incident details in: /cvms/app/oracle/diag/rdbms/hncvms/HNCVMS/incident/incdir_187832/HNCVMS_smon_11203_i187832.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Doing block recovery for file 12 block 470173
Resuming block recovery (PMON) for file 12 block 470173
Block recovery from logseq 31163, block 68 to scn 70921364289
Recovery of Online Redo Log: Thread 1 Group 1 Seq 31163 Reading mem 0
Mem# 0: /cvms/app/oracle/oradata/HNCVMS/redo01.log
Block recovery completed at rba 31163.135.16, scn 16.2201887554
ORACLE Instance HNCVMS (pid = 14) - Error 600 encountered while recovering transaction (11, 3) on object 75050.
Errors in file /cvms/app/oracle/diag/rdbms/hncvms/HNCVMS/trace/HNCVMS_smon_11203.trc:
ORA-00600: internal error code, arguments: [17182], [0x2B7C8E7CD7A0], [], [], [], [], [], [], [], [], [], []
Exception [type: SIGSEGV, SI_KERNEL(general_protection)] [ADDR:0x0] [PC:0x90890C3, kghrst()+1567] [flags: 0x0, count: 1]
Errors in file /cvms/app/oracle/diag/rdbms/hncvms/HNCVMS/trace/HNCVMS_smon_11203.trc (incident=187833):
ORA-07445: exception encountered: core dump [kghrst()+1567] [SIGSEGV] [ADDR:0x0] [PC:0x90890C3] [SI_KERNEL(general_protection)] []
ORA-00600: internal error code, arguments: [17182], [0x2B7C8E7CD7A0], [], [], [], [], [], [], [], [], [], []
Incident details in: /cvms/app/oracle/diag/rdbms/hncvms/HNCVMS/incident/incdir_187833/HNCVMS_smon_11203_i187833.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Mon Feb 17 10:44:11 2014
PMON (ospid: 11177): terminating the instance due to error 474

------------------------------------------------------------------------------------------------------------------------------

通过观察日志,看部分

Doing block recovery for file 12 block 470173
Resuming block recovery (PMON) for file 12 block 470173
Block recovery from logseq 31163, block 68 to scn 70921364289
Recovery of Online Redo Log: Thread 1 Group 1 Seq 31163 Reading mem 0
Mem# 0: /cvms/app/oracle/oradata/HNCVMS/redo01.log
Block recovery completed at rba 31163.135.16, scn 16.2201887554
ORACLE Instance HNCVMS (pid = 14) - Error 600 encountered while recovering transaction (11, 3) on object 75050.

再根据原理分析,则可以定位到问题是出现在Instance recovery时出现的。通过报错可以判断,是对 file12 block 470173 也就是 object id为 75050 中的一个块,出现了问题(坏块)

导致instance recover时遭遇到了600错误,Pmon 终止,Pmon的终止又导致 整个实例的down掉

遇到这个情况,我们分两步处理:

第一步:启动实例,查询file 12 block 470173 以及object 75050 是属于哪个类型的对象

1、启动实例

启动实例时,会执行Instance recovery,而recovery又会crash库,那么我们需要将 instance recovery的动作暂时先停掉

根据现在的spfile 创建一个pfile,然后在pfile后面跟一条:

event="10513 trace name context forever, level 2"
2、查询对象(现在系统是不会崩溃了,但是数据库状态是非正常的,因为没有instance recovery)

1)SQL> SELECT owner, object_name, object_type FROM dba_objects WHERE object_id = 75050;
2) SQL> select segment_type,owner,segment_name from dba_extents where file_id = &file_id and &block between block_id and block_id+blocks -1;
根据上面反馈的信息,把对象类型查出来


推荐阅读
  • 深入理解Java MySQL数据库连接池实现
    尽管利用Apache Commons DBCP等工具可以轻松构建数据库连接池,但本文详细解析了数据库连接池的工作机制,提供了详尽的注释,帮助开发者深入理解其内部运作。这不仅有助于提高数据库操作的效率,还能增强应用程序的稳定性和性能。 ... [详细]
  • 本文深入探讨网页游戏的开发流程,涵盖从程序框架设计到具体实现的技术细节,旨在为开发者提供全面的指导。 ... [详细]
  • GBase 8s SQL 指南:多列约束详解
    本文档详细介绍了如何在GBase 8s中使用多列约束格式,将其应用于现有表的一列或多列。这种格式类似于CREATE TABLE语句中的多列约束,但提供了一些额外的选项,如INDEX DISABLED关键字。 ... [详细]
  • PySpark实战:高效使用DataFrame超越RDD
    本文深入探讨了PySpark中DataFrame的使用方法及其相对于传统RDD的优势,旨在帮助开发者更好地理解和利用这一强大工具。 ... [详细]
  • 今天发现Mysql的主从数据库没有同步先上Master库:mysqlshowprocesslist;查看下进程是否Sleep太多。发现很正常。showmaster ... [详细]
  • 本文总结了WebSphere应用服务器出现宕机问题的解决方法,重点讨论了关键参数的调整,包括数据源连接池、线程池设置以及JVM堆大小等,旨在提升系统的稳定性和性能。 ... [详细]
  • 本文探讨了Java编程中MVC模式的优势与局限,以及如何利用Java开发一款基于鸟瞰视角的赛车游戏。 ... [详细]
  • 尽管PHP是一种强大且灵活的Web开发语言,但开发者在使用过程中常会陷入一些典型的陷阱。本文旨在列出PHP开发中最为常见的10种错误,并提供相应的预防建议。 ... [详细]
  • 基于Java的学生宿舍管理系统设计
    本论文探讨了如何利用Java技术设计和实现一个高效的学生宿舍管理系统。该系统旨在提高宿舍管理的效率,减少人为错误,同时增强用户体验。通过集成用户认证、数据管理和查询功能,系统能够满足学校宿舍管理的多样化需求。 ... [详细]
  • 本文介绍了MySQL数据库的安全权限管理思想及其制度流程,涵盖从项目开发、数据库更新到日常运维等多个方面的详细流程控制,旨在通过严格的流程管理和权限控制,有效预防数据安全隐患。 ... [详细]
  • MyBatis 开发技巧:延迟加载与查询缓存详解
    本文详细探讨了 MyBatis 中的延迟加载和查询缓存机制,旨在帮助开发者更好地理解和利用这些特性来优化数据库访问性能。 ... [详细]
  • 本项目展示了如何利用Java技术构建一个高效的考勤数据管理系统,特别适用于处理大量数据的情况,如企业员工考勤记录等。项目包括完整的源代码和详细的文档说明,适合用于毕业设计或实际工作场景。 ... [详细]
  • 本文详细解析了 SUCTF 2019 中的 EasySQL 题目,重点探讨了堆叠注入与 UNION 注入的区别及其应用条件。 ... [详细]
  • 本文探讨了在CentOS操作系统中遇到的Docker服务启动失败以及Docker命令无响应的问题,并提供了一套详细的排查与解决步骤。 ... [详细]
  • 本文详细探讨了Xshell6评估版到期后无法使用的常见问题,并提供了有效的解决方案,包括如何合法购买授权以继续使用。 ... [详细]
author-avatar
Shellycs68
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有