【Oracle】ORA-600 [ktspNextL1:4]

涉及版本

Oracle Server - Enterprise Edition - Version: 10.2.0.4 and later   [Release: 10.2 and later ]

Information in this document applies to any platform.

***Checked for relevance on 17-Nov-2011***

Symptoms

We get the errors below in alert.log:

ORA-00600: internal error code, arguments: [ORA-00600: internal error code, arguments: [ktspNextL1:4], [], [], [], [], [], [], []

ORA-06512: at "SYS.PRVT_ADVISOR", line 1624

ORA-06512: at "SYS.DBMS_ADVISOR", line 186

ORA-06512: at "SYS.DBMS_SPACE", line 1500

ORA-06512: at "SYS.DBMS_SPACE", line 1566], [], [], [], [], [], [], []

From the trace file, we see that the failing statement was an INSERT operation:

此会话和下面的sql相关:

insert into wri$_adv_objspace_trend_data select timepoint, space_usage, space_alloc, quality from table(dbms_space.object_growth_trend(:1, :2, :3, :4, NULL, NULL, NULL, 'FALSE', :5, 'FALSE'))

在trace文件中,在PL/SQL 栈调用部分显示如下部分:

----- PL/SQL Call Stack -----

0xa7b85db8 1834 package body SYS.DBMS_SPACE

0xa82a0BB8 344 SYS.RI$_ADV_OBJSPACE_TREND_T

0xa82a0BB8 1485 SYS.RI$_ADV_OBJSPACE_TREND_T

0xa79b07c8 1535 package body SYS.PRVT_ADVISOR

可以看到如下过程:

ktspGetNextL1ForSca <- ktspGenExtentMap1 <- kteinmap1 <- kteinmap <- kdglfp <- kdgbp <- kdg_block_auto <- ktsa_object_space_u <- sage <- ktsaps_object_space <- usage <- pevm_icd_call_commo

原因:

Unpublished bug 6746222 ORA-00600 [KTSPNEXTL1:4] DURING WORKLOAD

Closed as a potential duplicate of unpublished Bug 5649098

Unpublished bug 5649098 ORA 600 [KTSPNEXTL1:4] WHILE SEGMENT SHRINK

Closed as not reproducible in 11.1.0.7, but a fix was never identified

为了解决此问题,可以使用如下步骤

1. Ignore the error.

2. Upgrade to 11.1.0.7.

3. Rerun the job.

这是一个为发布的bug,并且在11.1.0.7版本中修复。

Reports of the same problem exist in 10.2 and those have been either suspended (because the problem only happened once) or marked as potential duplicate of unpublished bug 5649098.

This error happens when the advisor job runs continuously concurrent with other  heavy segment operations. This bug does not cause any data corruption or instance crash. The workaround is to run the job again. 

时间: 2024-09-30 21:33:34

【Oracle】ORA-600 [ktspNextL1:4]的相关文章

【oracle】静默安装 oracle 11gr2

[序言] oracle 提供了静默安装方法在不适用图形界面的情况下安装 oracle 软件 ,创建db,配置netca,快速完成oracle 的部署.  在以下情形中可以使用静默安装    a OUI 的 GUI 界面远程交互比较慢 .    b 数据库服务器无法使用图形界面访问.    c 批量部署oracle (标准环境统一情况下可以使用oracle 的relink ,这样更加快速). 本文主要讲述基本安装步骤,不涉及oracle 安装完成之后的运维规范: 监控,备份,定时日志清理,基础运维

【Oracle】-【TWO_TASK】-TWO_TASK环境变量的作用

杨大师(http://space.itpub.net/4227/viewspace-663069)介绍过TWO_TASK环境变量的作用,指出"在Unix和Linux环境下,可以设置TWO_TASK环境变量,当用户连接数据库且没有指定服务名时,会自动利用TWO_TASK的设置作为环境变量连接数据库.",并用两个本地数据库为例说明了TWO_TASK的使用. 但TOM大师(http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUES

【oracle】sqlnet.ora 访问控制策略

sqlnet.ora中进行下列参数的设置可以限制或允许用户从特定的客户机连接到数据库中. tcp.validnode_checking=yes|no tcp.invited_nodes=(ip|hostname,...) tcp.excluded_nodes=(ip|hostname,...) ##如果是hostname 则需要在/etc/hosts 里面配置对应的ip tcp.validnode_checking   参数确定是否对客户机IP地址进行检查: tcp.invited_nodes

【oracle 】tnsnames.ora VS sqlnet.ora 作用

tnsnames.ora文件放在客户端机器上,并且在默认状态下存储在ORACLE_HOME/network/admin目录中. sqlnet.ora文件控制着客户端Oracle Net Services的行为,例如跟踪级别和会话特性. 从根本上讲,当客户发出请求时,通过使用tnsnames.ora文件首先解析Oracle Net Services的名称.tnsnames.ora文件中的参数将该请求指引到适当的数据库节点.监听器进程监听客户请求,并且将其与一个服务器进程相连接.该请求将被处理,其结

【Oracle】lsnrctl reload 命令简介

oracle 提供了lsnrctl reload 命令,在下面两种情况 1 修改listener.ora 2 修改sqlnet.ora 之后又不想停止监听,可以考虑lsnrctl reload命令! reload命令会重新读取listener.ora的内容,这个命令让用户不停止监听器的情况下,改变监听器的配置.但是对于sqlnet.ora的修改考虑一下情况: 1 如果之前sqlnet.ora没有被当前的监听器使用,这时必须关闭然后重启监听! 2 如果之前正在使用sqlnet.ora,那么lsnr

【ORACLE】relink oracle 10g 数据库

通常要迁移一个数据库,我们会使用 1 冷备份,整个数据库迁移, 2 rman duplicate 功能进行复制到本机或者复制到异机, 前面两种都必须先在目标库上安装软件.这里测试另外一种方法:对于单实例数据库,复制整个oracle 10g 数据库到另一个服务器,relink 之后可以重新使用.. 查看源库数据库库文件在$ORACLE_BASE 目录下的分布: oracle@yangDB1:/opt/oracle>ll 总计 36 drwxrwx--- 3 oracle oinstall 4096

【Oracle】修改oracle监听端口

修改oracle 监听端口号,过程相对比较简单: 1 修改 listener.ora ,tnsnames.ora 文件中的端口号 2 重启监听 lsnrctl stop ,lsnrctl start 上面的过程是对于 监听名为默认的LISTENER 而言的,如果listener.oar文件中的监听名不是默认的,就重启时必须指定监听名.比如将端口号由1521改为1523 oracle@rac3:/opt/oracle/11.2.0/alifpre/network/admin>vi listener

【Oracle】 RAC 环境删除oracle 之二

oracle 11GR2提供了一个自动删除工具deinstall 在$ORACLE_HOME 的deinstall 目录下,使用此工具可以实现卸载oracle 软件,Clusterware 软件和数据库. 删除了数据库和软件以后,再删除Clusterware 软件. 删除之前集群软件正常运行.直接运行deinstall grid@rac1:/opt/11202/11.2.0/grid/deinstall>./deinstall Checking for required files and bo

【Oracle】Oracle RAC ON NODE

  传统的Oracle RAC被用于多服务器架构体系,这此体系中,不同的rac 实例分别置于不同的服务器上.此架构防止了服务器非计划故障,比如os down,某个节点上的db down,因为透明应用程序故障切换(TAF)会重定向应用连接到集群中的另一个节点.比外,通过想集群中添加节点,RAC 可以提供横向扩展.   在Oracle 11gR2中有一个"RAC One Node"的新特性,它主张将RAC的一个实例运行在一台群集的服务器上.(虚拟出来一个实例运行在其他服务器上)它有一个快速