热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据库技术:遇到ORA00600:internalerrorcode,arguments:[kcblasm_1],[103],[],[],[],[]报错的解决办法

昨日客户在10.2.0.5上通过dblink采集另外一套10.2.0.5的数据时遇到了这个报错ora-00600:internalerrorcode,arguments:[

昨日客户在10.2.0.5上通过dblink采集另外一套10.2.0.5的数据时遇到了这个报错

ora-00600:internal error code,arguments:[kcblasm_1],[103],[],[],[],[]

查看mos,ora-600 [kcblasm_1] in 10.2.0.5. [id 1133845.1]

只给出了解决的方法:

  to quickest way to the solution of this problem is to apply psu 10.2.0.5.4, patch 12419392 or later.  all alternative solutions forthis problem are listed below:  o upgrade the database to 11.2.    or  o apply 10.2.0.5.4 patch set update (patch 12419392) or later psus where bug is fixed.  the available psus are mentioned in"10.2.0.5 patch set updates - list of fixes in each psu" (document 1337394.1)    or  o apply interim patch 7612454 on topof 10.2.0.5 (10.2.0.5.0-10.2.0.5.3):  o for unix / linux platforms apply patch 7612454 available fordownload on mos.  o for windows platforms apply patch 3 or higher.  please check document 342443.1 forlatest patches available forwindows on topof 10.2.0.5.  

但是没有给具体的原因,由于是在线没有可操控的关机时间来打小补丁或则进行打psu,所以mos给的建议现在用不上。查看trace文件,发现都是一些sql语句引起(为了保障客户资料,不贴出sql),都是一些单表的group by操作的sql,继续google 外加请教大牛老熊(https://www.laoxiong.net/),猜测该问题是由于oracle 10g中group by操作引用了新的算法导致,从10g开始group by操作将默认以hash group by的形式进行以取代以往的sort group by,当hash group by操作数据量比较大的时候就会引发该ora-600的报错,为了验证该推论是否正确,做了以下测试:

1、在报错的数据库上先执行了一次报错的sql,确定是否每次都会报错(由于数据量没改变,应该每次都会报错),记录实际的执行计划,确定确实是采用的hash group by的方式

2、在同一个会话内设置alter session set "_gby_hash_aggregation_enabled"=false; 该参数为false的情况下将不采用hash group by而会选择以往的sort group by

3、再次运行报错的sql,运行成功,查看执行计划,确定是sort group by

通过上面的测试,基本上可以确定问题的所在,具体的解决方法归纳下:

方法一:升级系统,打相应的psu或则小补丁

方法二:修改sql

方法三:设置_gby_hash_aggregation_enabled为false,其中设置方法有:

1、 系统或则会话级设置通过alter system或则alter session

2、为语句添加hint /*+ opt_param(‘_gby_hash_aggregation_enabled’,'false’)

另外说明:

hash join也可能会引起该ora-600的错误,当由于hash join引起该错误的时候,可以在会话级通过设置__hash_join_enable为false或则在语句上添加hint的方式来处理,建议不要在system级别关闭hash join。

需要了解更多数据库技术:遇到ORA-00600:internal error code,arguments:,,[],[],[],[]报错的解决办法,都可以关注数据库技术分享栏目—编程笔记


推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • Linux磁盘的分区、格式化的观察和操作步骤
    本文介绍了如何观察Linux磁盘的分区状态,使用lsblk命令列出系统上的所有磁盘列表,并解释了列表中各个字段的含义。同时,还介绍了使用parted命令列出磁盘的分区表类型和分区信息的方法。在进行磁盘分区操作时,根据分区表类型选择使用fdisk或gdisk命令,并提供了具体的分区步骤。通过本文,读者可以了解到Linux磁盘分区和格式化的基本知识和操作步骤。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
author-avatar
禅城花市C077
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有