修改并行参数引发ORA-600 [kgeade_is_0]的问题处理
客户有一套数据库,这周有例行停机维护的时间,于是我们趁这次停机例行维护的时间区间进行PARALLEL_EXECUTION_MESSAGE_SIZE参数的修改,修改完成后在重启的过程中遇到了ORA-00600[KGEADE_IS_0]的错误。首先来说一下为什么要修改PARALLEL_EXECUTION_MESSAGE_S
客户有一套数据库,这周有例行停机维护的时间,于是我们趁这次停机例行维护的时间区间进行PARALLEL_EXECUTION_MESSAGE_SIZE参数的修改,修改完成后在重启的过程中遇到了ORA-00600[KGEADE_IS_0]的错误。首先来说一下为什么要修改PARALLEL_EXECUTION_MESSAGE_SIZE这个参数,根据Oracle最佳实践的推荐,10g默认装完数据库该参数的值是2152,也有可能是2048,推荐将这个值设置成8192,而在11g中,这个值默认被设置成了16K,是可以满足大多数应用场景的。这个值的作用就是在并行执行中消息的大小。这个值越大,需要的shared pool也就越大。虽然能获得更好的性能,但是相应的内存也需要的更多了。还有:这个参数在并行恢复或者是standby recover情况下,增加它的大小到4096以上,也能提升至少20%恢复速度。
我们来看一下我们的报错的情况,我们修改一个节点该参数,然后直接重启。
Sun Jul 13 16:57:58 CST 2014 Errors in file /oracle/app/oracle/admin/racdb/bdump/racdb1_m000_21519.trc: ORA-00600: internal error code, arguments: [kgeade_is_0], [], [], [], [], [], [], [] Sun Jul 13 16:57:59 CST 2014 Errors in file /oracle/app/oracle/admin/racdb/bdump/racdb1_mmon_21339.trc: ORA-00600: internal error code, arguments: [kgeade_is_0], [], [], [], [], [], [], [] Sun Jul 13 16:58:00 CST 2014 Errors in file /oracle/app/oracle/admin/racdb/bdump/racdb1_mmon_21339.trc: ORA-00600: internal error code, arguments: [kgeade_is_0], [], [], [], [], [], [], [] Sun Jul 13 16:58:00 CST 2014 Trace dumping is performing id=[cdmp_20140713165800] Sun Jul 13 16:58:01 CST 2014 Trace dumping is performing id=[cdmp_20140713165801] Sun Jul 13 16:58:07 CST 2014 Errors in file /oracle/app/oracle/admin/racdb/bdump/racdb1_m000_21519.trc: ORA-00600: internal error code, arguments: [kgeade_is_0], [], [], [], [], [], [], [] Sun Jul 13 16:58:07 CST 2014 Trace dumping is performing id=[cdmp_20140713165807] *** 2014-07-13 16:57:58.781 ksedmp: internal or fatal error ORA-00600: internal error code, arguments: [kgeade_is_0], [], [], [], [], [], [], [] Current SQL statement for this session: select tablespace_id, rfno, allocated_space, file_size, file_maxsize, changescn_base, changescn_wrap, flag from GV$FILESPACE_USAGE where inst_id != :inst and (changescn_wrap >= :w or (changescn_wrap = :w and changescn_base >= :b)) *** 2014-07-13 16:57:59.274 ksedmp: internal or fatal error ORA-00600: internal error code, arguments: [kgeade_is_0], [], [], [], [], [], [], [] Current SQL statement for this session: SELECT INSTANCE_NAME, HOST_NAME, NVL(GVI_STARTUP_TIME, SYSTIMESTAMP) - INTERVAL '1' SECOND AS SHUTDOWN_TIME FROM (SELECT RRI.INSTANCE_NAME AS INSTANCE_NAME, RRI.HOST_NAME AS HOST_NAME, FROM_TZ(RRI.STARTUP_TIME , '+00:00') AS RRI_STARTUP_TIME, DBMS_HA_ALERTS_PRVT.INSTANCE_STARTUP_TIMESTAMP_TZ(GVI.STARTUP_TIME) AS GVI_STARTUP_TIME FROM RECENT_RESOURCE_INCARNATIONS$ RRI LEFT OUTER JOIN GV$INSTANCE GVI ON GVI.INSTANCE_N AME = RRI.RESOURCE_NAME WHERE RRI.RESOURCE_TYPE = 'INSTANCE' AND :B2 = RRI.DB_UNIQUE_NAME AND :B1 = RRI.DB_DOMAIN) WHERE GVI_STARTUP_TIME IS NULL OR GVI_STARTUP_TIME > RRI_STARTUP_TIME GROUP BY INSTANCE_NAME, HOST_NAME, GVI_STARTUP_TIME ----- PL/SQL Call Stack ----- object line object handle number name 0x7de705a8 301 package body SYS.DBMS_HA_ALERTS_PRVT 0x7de64740 1 anonymous block
可以看到,都是在查询GV$视图的语句出现了这个错误。我们在来看一下它出错时候的堆栈信息。
ksedst()+31 call ksedst1() 000000000 ? 000000001 ? 7FFF778810B0 ? 7FFF77881110 ? 7FFF77881050 ? 000000000 ? ksedmp()+610 call ksedst() 000000000 ? 000000001 ? 7FFF778810B0 ? 7FFF77881110 ? 7FFF77881050 ? 000000000 ? ksfdmp()+63 call ksedmp() 000000003 ? 000000001 ? 7FFF778810B0 ? 7FFF77881110 ? 7FFF77881050 ? 000000000 ? kgerinv()+161 call ksfdmp() 006AE9A20 ? 000000003 ? 7FFF778810B0 ? 7FFF77881110 ? 7FFF77881050 ? 000000000 ? kgeasnmierr()+163 call kgerinv() 006AE9A20 ? 2B763E0B0040 ? 7FFF77881110 ? 7FFF77881050 ? 000000000 ? 000000000 ? kgeade()+501 call kgeasnmierr() 006AE9A20 ? 2B763E0B0040 ? 7FFF77881110 ? 7FFF77881050 ? 000000000 ? 000000000 ? kgerev()+58 call kgeade() 2B763E0B0040 ? 006AE9A20 ? 2B763E0B0040 ? 000000000 ? 000000000 ? 000000000 ? kserec0()+186 call kgerev() 006AE9A20 ? 2B763E0B0040 ? 000000000 ? 000000000 ? 7FFF778821A0 ? 000000000 ? kxfpg1sg()+2014 call kserec0() 006AE9A20 ? 000000001 ? 000000029 ? 7FFF77881F40 ? 000000000 ? 388B519840 ? kxfpgsg()+2098 call kxfpg1sg() 08364D278 ? 000000001 ? 7FFF778822B0 ? 7FFF77881F40 ? 08364CC48 ? 2B7600000001 ? kxfrAllocSlaves()+3 call kxfpgsg() 000000005 ? 000000001 ? 51 000000001 ? 000000001 ? 3E0A254800000001 ? 2B763E0A2548 ? kxfrialo()+2111 call kxfrAllocSlaves() 00005322E ? 2B763E5726C0 ? 000000001 ? 7FFF00000001 ? 7FFF00000001 ? 000000001 ? kxfralo()+313 call kxfrialo() 00005322E ? 2B763E5726C0 ? 000000001 ? 07DAA7230 ? 2B763E572768 ? 7FFF77880000 ? qerpx_rowsrc_start( call kxfralo() 00005322E ? 2B763E5726C0 ? )+3892 000000001 ? 07DAA7230 ? 2B763E572768 ? 000000000 ? qerpxStart()+234 call qerpx_rowsrc_start( 7FFF77883280 ? 000000001 ? ) 000000001 ? 07DAA8910 ? 100000001 ? 000000000 ? selexe()+667 call qerpxStart() 000000001 ? 000003F60 ? 000000001 ? 07DAA8910 ? 100000001 ? 000000000 ? opiexe()+4687 call selexe() 07DACBB38 ? 7FFF77883F60 ? 7FFF77883F60 ? 07DACBB38 ? 100000001 ? 000000000 ? kpoal8()+2295 call opiexe() 000000049 ? 000000003 ? 7FFF77884428 ? 000000003 ? 100000001 ? 000000000 ? opiodr()+1184 call kpoal8() 00000005E ? 000000000 ? 7FFF77887EF8 ? 000000003 ? 83B7000000000001 ? 000000000 ? kpoodrc()+38 call opiodr() 00000005E ? 000000000 ? 7FFF77887EF8 ? 000000000 ? 005BEBDF0 ? 000000000 ? rpiswu2()+409 call kpoodrc() 7FFF77885440 ? 000000000 ? 7FFF77887EF8 ? 000000000 ? 005BEBDF0 ? 000000000 ? kpoodr()+554 call rpiswu2() 083B7ABF0 ? 000000000 ? 2B763E0F0CBC ? 000000002 ? 2B763E0F0CFC ? 000000000 ? upirtrc()+2101 call kpoodr() 2B763E342E20 ? 00000005E ? 7FFF77887EF8 ? 000000000 ? 2B763E0F0CFC ? 000000000 ? kpurcsc()+125 call upirtrc() 2B763E342E20 ? 00000005E ? 7FFF77887EF8 ? 7FFF77888060 ? 7FFF77888FD0 ? 003C558C6 ? kpuexecv8()+1705 call kpurcsc() 7FFF778897D0 ? 00000005E ? 7FFF77887EF8 ? 7FFF77888060 ? 7FFF77888FD0 ? 003C558C6 ? kpuexec()+2643 call kpuexecv8() 2B763E0FE958 ? 2B763E33F4C0 ? 2B763E33F540 ? 000000000 ? 000000000 ? 7FFF7788A8C4 ? OCIStmtExecute()+41 call kpuexec() 000000001 ? 2B763E33F4C0 ? 2B763E342DB0 ? 000000001 ? 000000000 ? 000000000 ? ktte_aggregate_finf call OCIStmtExecute() 000000001 ? 2B763E33F4C0 ? o()+3133 2B763E342DB0 ? 000000001 ? 000000000 ? 000000000 ? ktte_monitor_tsth() call ktte_aggregate_finf 7FFF7788B780 ? 000000001 ? +788 o() 000000009 ? 000000001 ? 000000000 ? 000000000 ? ktte_threshold_slav call ktte_monitor_tsth() 7FFF7788B780 ? 000000001 ? e()+183 000000009 ? 000000001 ? 000000000 ? 000000000 ? kebm_slave_main()+2 call ktte_threshold_slav 07F63B200 ? 000000001 ? 21 e() 000000000 ? 000000001 ? 000000000 ? 000000000 ? ksvrdp()+1159 call kebm_slave_main() 07F63B200 ? 07F63B200 ? 000000000 ? 000000001 ? 000000000 ? 000000000 ? opirip()+748 call ksvrdp() 07F63B200 ? 07F63B200 ? 000000000 ? 000000001 ? 000000000 ? 000000000 ? opidrv()+583 call opirip() 000000032 ? 000000004 ? 7FFF7788D298 ? 000000001 ? 000000000 ? 000000000 ? sou2o()+114 call opidrv() 000000032 ? 000000004 ? 7FFF7788D298 ? 000000001 ? 000000000 ? 000000000 ? opimai_real()+317 call sou2o() 7FFF7788D270 ? 000000032 ? 000000004 ? 7FFF7788D298 ? 000000000 ? 000000000 ? main()+116 call opimai_real() 000000003 ? 7FFF7788D300 ? 000000004 ? 7FFF7788D298 ? 000000000 ? 000000000 ? __libc_start_main() call main() 000000003 ? 7FFF7788D300 ? +244 000000004 ? 7FFF7788D298 ? 000000000 ? 000000000 ? _start()+41 call __libc_start_main() 00072D108 ? 000000001 ? 7FFF7788D458 ? 000000000 ? 000000000 ? 000000003 ?
根据文档ORA-600 [kgeade_is_0] In A Real Application Cluster (RAC) Environment (文档 ID 797182.1)里面的描述,凡是trace文件堆栈信息类似于“kxfpg1sg kxfpgsg kxfrAllocSlaves kxfrialo kxfralo qerpx_rowsrc_start”这样的,命中bug8592375。解决这个问题的办法也很简单,就是把两个库实例都停下来,修改成相同的参数,然后启动。像我们这样一个实例还在运行着,使用的是以前的参数,而新实例启动之后用的新的参数,就会导致这个问题的出现。还一个办法是安装补丁程序,但是感觉这个补丁是针对standby数据库的。8592375: PHSB: READABLE STANDBY REPORTED ORA-00700:[KGEADE_IS_0]。
参考文档:ORA-600 [kgeade_is_0] In A Real Application Cluster (RAC) Environment (文档 ID 797182.1)
原文地址:修改并行参数引发ORA-600 [kgeade_is_0]的问题处理, 感谢原作者分享。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

1、首先打开钉钉。2、打开群聊,点击右上角的三个点。3、找到我在本群的昵称。4、点击进入即可修改保存。

抖音蓝V认证是企业或品牌在抖音平台上的官方认证,有助于提升品牌形象和可信度。随着企业发展战略的调整或品牌形象的更新,企业可能希望更改抖音蓝V认证的名字。那么,抖音蓝V可以改名字吗?答案是可以的。本文将详细介绍企业抖音蓝V号名称修改的步骤。一、抖音蓝V可以改名字吗?抖音蓝V账号是可以改名字的。根据抖音官方规定,企业蓝V认证账号在满足一定条件后,可以申请修改账号名称。一般来说,企业需要提供相关的证明材料,如营业执照、组织机构代码证等,以证明修改名称的合法性和必要性。二、企业抖音蓝V号名称修改步骤有哪

Win10睡眠时间修改技巧大揭秘作为目前广泛使用的操作系统之一,Windows10拥有睡眠功能,帮助用户在不使用电脑时节省电力并保护屏幕。然而,有时候默认的睡眠时间并不符合用户的需求,因此了解如何修改Win10睡眠时间就显得尤为重要。本文将揭示Win10睡眠时间修改的技巧,让您轻松自定义系统的睡眠设置。一、通过“设置”修改Win10睡眠时间首先,最简单的修

C++参数类型安全检查通过编译时检查、运行时检查和静态断言确保函数只接受预期类型的值,防止意外行为和程序崩溃:编译时类型检查:编译器检查类型相容性。运行时类型检查:使用dynamic_cast检查类型相容性,不匹配则抛出异常。静态断言:在编译时对类型条件进行断言。

在闲鱼平台发布商品时,用户可以根据实际情况自定义设置宝贝的地理位置信息,这样潜在买家就能更精准地掌握商品的具体所在地。一旦商品成功上架,若卖家的地理位置有所变动,也无需担忧。闲鱼平台特别提供了灵活且便捷的修改功能,那么当我们想要修改已经发布产品的地址究竟该如何修改呢,这篇教程攻略就将为大家带来详细的步骤攻略介绍,希望能帮助到大家!闲鱼怎么修改发布产品地址?1、打开闲鱼,点击我发布的,选择商品,点击编辑。2、点击定位图标,选择需要设置的地址即可。

标题:Go语言编程指南:修改hosts文件的实现在日常的软件开发过程中,经常会遇到需要修改操作系统中hosts文件的情况。Hosts文件是一个没有扩展名的用于映射IP地址和主机名的文本文件,通常用于在本地设置域名解析。在本文中,将介绍如何使用Go语言来实现修改操作系统hosts文件的功能,并给出具体的代码示例。首先,我们需要创建一个可以修改hosts文件的G

1、首先点击屏幕中的设置。2、然后点击【显示与亮度】。3、然后点击【自动锁定】。4、然后设置需要自动锁定的时间。5、设置完成后,点击返回按钮即可设置成功。

C++函数中的引用参数(本质为变量别名,修改引用修改原始变量)和指针参数(存储原始变量的内存地址,通过解引用指针修改变量)在传递和修改变量时有着不同的用法。引用参数常用于修改原始变量(尤其是大型结构体),传递给构造函数或赋值运算符时避免复制开销。指针参数则用于灵活指向内存位置,实现动态数据结构或传递空指针表示可选参数。
