11.2.0.3.0 (Redhat Linux X86-64) ORA-00600 : [ktbesc_plugged], [], [], ...错误

这个错误目前在metalink上还没有找到相同的case

看trace文件是在一个Trigger的Insert语句时报错

这个库之前历经10.2.0.4.0/11.2.0.1.0/11.2.0.3.0 Linux X86三个版本都没报ORA-00600,唯独换成Linux X86-64后Trigger出了问题

Dump continued from file: /u01/product/diag/rdbms/faka/faka/trace/faka_ora_29413.trc
ORA-00600: 瞻繙糧癒聶羅罈~瞼N翻X, 瞻?翹?: [ktbesc_plugged], [], [], [], [], [], [], [], [], [], [], []

========= Dump for incident 46829 (ORA 600 [ktbesc_plugged]) ========

*** 2012-02-01 16:44:02.940
dbkedDefDump(): Starting incident default dumps (flags=0x2, level=3, mask=0x0)
----- Current SQL Statement for this session (sql_id=fz1fdg74aq59b) -----
INSERT INTO ECARD_POS_BLACKCARD(CARDID,BLACKDAY,BLACKDESP) SELECT CARDID, SYSDATE, '20' FROM ECARD_COM_EMPCARD WHERE EMPID=:B2 AND :B1 ='3' AND CARDID NOT IN (SELECT CARDID FROM ECARD_POS_BLACKCARD)
----- PL/SQL Stack -----
----- PL/SQL Call Stack -----
  object      line  object
  handle    number  name
0xbeb80dc8         7  ECARD_PCEBG_YT.ECARD_HRMS_EMP_TOTAL_TRIG
0x6dd3afc0        65  procedure ECARD_PCEBG_YT.ECARD_HRMS_EMP_MOVIN_TOPRODUCT


原始Trigger:

DROP TRIGGER ECARD_PCEBG_YT.ECARD_HRMS_EMP_TOTAL_TRIG;

CREATE OR REPLACE TRIGGER ECARD_PCEBG_YT.ecard_hrms_emp_total_TRIG
BEFORE INSERT or update ON
ecard_hrms_emp_total REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
declare cardno number;
BEGIN
    if Inserting then
       select ecard_hrms_emp_total_SEQ.nextval into :new.empid from dual;
    elsif Updating('empstatusid') then
          begin
             insert into ecard_pos_blackcard(cardid,blackday,blackdesp)
              select cardid, sysdate, '20'  from ecard_com_empcard
                        where  empid=:NEW.empid and :NEW.empstatusid='3'
                        and cardid not in (select cardid from ecard_pos_blackcard);
          exception when others then null;
          end;

。。。。

看那个Insert语句确实有些别扭,尝试改写一下Trigger成如下:

DROP TRIGGER ECARD_PCEBG_YT.ECARD_HRMS_EMP_TOTAL_TRIG;

CREATE OR REPLACE TRIGGER ECARD_PCEBG_YT.ecard_hrms_emp_total_TRIG
   BEFORE INSERT OR UPDATE
   ON ECARD_PCEBG_YT.ECARD_HRMS_EMP_TOTAL    REFERENCING NEW AS NEW OLD AS OLD
   FOR EACH ROW
DECLARE
   cardno   number;
BEGIN
   IF INSERTING
   THEN
      SELECT   ecard_hrms_emp_total_SEQ.NEXTVAL INTO :new.empid FROM DUAL;
   ELSIF UPDATING ('empstatusid')
   THEN
      BEGIN
          IF :NEW.empstatusid = '3'
         THEN
            INSERT INTO ecard_pos_blackcard (cardid, blackday, blackdesp)
               SELECT   cardid, SYSDATE, '20'
                 FROM   ecard_com_empcard
                WHERE   empid = :NEW.empid
                        AND cardid NOT IN
                                 (SELECT   cardid FROM ecard_pos_blackcard);
         END IF;

。。。。

明天再找开发确认一下。。。



ORA-00600工具没找到,搜索Bug库总算找到它了

因为我们是用传输表空间把32位 11.2.0.3切换到64位,这正好符合下面所说的状况
trace文件基本也能对上

Call Stack Trace = ktbesc -> kdiescpin -> kdifind


Ora-600 [Ktbesc_plugged] Error On Insert Or Delete [ID 1372941.1]

修改时间:2011-11-23类型:PROBLEM状态:MODERATED优先级:3        
                                                注释 (0)        转到底部

In this Document
  Symptoms
  Changes
  Cause
  Solution
  References

This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review.
Applies to:

Oracle Server - Enterprise Edition - Version: 11.2.0.3 to 11.2.0.3 - Release: 11.2 to 11.2
Information in this document applies to any platform.
Symptoms

Receiving the following error on insert or delete against one particular table.

ORA-00600: internal error code, arguments: [ktbesc_plugged], [], [], [], [], [], [], [], [], [], [], []

Call Stack Trace = ktbesc -> kdiescpin -> kdifind -> kdiblTestPrefixUniqueness -> kdiblLockPiece -> kdiblLockRange
Changes

Table is located on a recently plugged in tablespace into an 11.2.0.3 database.
Cause

Bug:12919564 where this problem was introduced in 11.2.0.3. 
Solution

We successfully used a temporary workaround of moving the problem table to another tablespace.  Once moved, we were able to insert or delete without issue.

alter table

There is an additional workaround of setting "_fastpin_enable"=0 which is discussed in Document 12919564.8.  Long term resolution would be to apply one-off Patch:12919564.
References

BUG:12919564 - ENCOUNTERED ORA-600 [KTBESC_PLUGGED] WHILE RUNNING APPS RTS
NOTE:12919564.8 - Bug 12919564 - ORA-600 [ktbesc_plugged] executing SQL against a Plugged in (transported) tablespace


相关内容


产品

Oracle Database Products > Oracle Database > Oracle Database > Oracle Server - Enterprise Edition > Internals Errors (ORA-600 & ORA-7445) > DBA

错误

ORA-600[KTBESC_PLUGGED]

返回页首

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/38267/viewspace-715460/,如需转载,请注明出处,否则将追究法律责任。

user_pic_default.png
请登录后发表评论 登录
全部评论
<%=items[i].createtime%>

<%=items[i].content%>

<%if(items[i].items.items.length) { %>
<%for(var j=0;j
<%=items[i].items.items[j].createtime%> 回复

<%=items[i].items.items[j].username%>   回复   <%=items[i].items.items[j].tousername%><%=items[i].items.items[j].content%>

<%}%> <%if(items[i].items.total > 5) { %>
还有<%=items[i].items.total-5%>条评论 ) data-count=1 data-flag=true>点击查看
<%}%>
<%}%> <%}%>

转载于:http://blog.itpub.net/38267/viewspace-715460/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle Database Instant Client 11g 11.2.0.3.0 x64是Oracle公司提供的数据库客户端,适用于Microsoft Windows x64(64位)平台。它是一个轻量级的客户端,不需要安装Oracle数据库服务器即可连接到Oracle数据库Oracle Database Instant Client 11g 11.2.0.3.0 x64具有以下优点: 1. 轻量级客户端: Oracle Database Instant Client 11g 11.2.0.3.0 x64是一个轻量级的客户端,只包含了Oracle Database驱动程序和一些必要的库文件。相比于完整的Oracle数据库,它的体积更小,安装更方便,不需要占用过多的系统资源。 2. 灵活性高: 使用Oracle Database Instant Client 11g 11.2.0.3.0 x64,可以将Oracle数据库连接整合到各种应用程序中,比如Web应用程序,Java开发环境等。同时,它也支持ODBC和OLE DB等标准接口,能够在不同平台下运行与其他数据库连接或工具集成。 3. 安全性高: Oracle Database Instant Client 11g 11.2.0.3.0 x64支持Oracle Advanced Security,可以提供强大的数据加密和认证功能,保护数据不受非法攻击和篡改,同时也满足行业规范的安全需求。 4. 易于管理: Oracle Database Instant Client 11g 11.2.0.3.0 x64具有良好的管理性能,可以与Oracle Enterprise Manager Grid Control无缝集成,实现对Oracle数据库和应用程序的全面管理。通过Enterprise Manager Grid Control,管理员可以监控和管理Oracle数据库的性能、安全和可用性,提高系统的稳定性和可靠性。 总之,Oracle Database Instant Client 11g 11.2.0.3.0 x64 是一个高性能、高可用性、高安全性的Oracle数据库客户端,适用于各种应用场景,方便易用,值得使用者掌握和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值