这个错误目前在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;
。。。。
明天再找开发确认一下。。。
看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](http://blog.itpub.net/images/user_pic_default.png)
请登录后发表评论
登录
全部评论
<%=items[i].createtime%>
<%=items[i].content%>
<%if(items[i].items.items.length) { %>
<%for(var j=0;j
<%}%> <%if(items[i].items.total > 5) { %>
<%}%> <%}%>
<%=items[i].items.items[j].createtime%>
<%=items[i].items.items[j].username%> 回复 <%=items[i].items.items[j].tousername%>: <%=items[i].items.items[j].content%>
还有<%=items[i].items.total-5%>条评论
) data-count=1 data-flag=true>点击查看
<%}%>
最新文章
- How to recreate the SYS.ALERT_QUE [ID 430146.1]
- 11113
- How Nested Loop JOIN Works [ID 263517.1]
- How to Determine When PL/SQL Procedures Were Last Re-Compiled
- Extracting Datafile Blocks From ASM [ID 294727.1]
- How to find the highest undo segment number
- TRUNCATING A PARTITION WITH INDEXES [ID 292575.1]
- Tracing session created through dblink [ID 258754.1]
- 古董HP DL580 G3 Oracle 10G数据库故障解决
- DBA误操作 ODU救命记 (非广告)
转载于:http://blog.itpub.net/38267/viewspace-715460/