日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ORA-600(qerltcInsertSelectRop_bad_state)错误

發布時間:2025/5/22 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ORA-600(qerltcInsertSelectRop_bad_state)错误 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

來源于:?http://blog.itpub.net/22458783/viewspace-615501/

?

這是碰到的第一個11.2上的bug,在利用IGNORE_ROW_ON_DUPKEY_INDEX提示執行插入時,很可能碰到這個錯誤。

?

?

測試版本11.2.0.1 for Linux X86-64:

SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE??? 11.2.0.1.0????? Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

建立一個測試表:

SQL> CREATE TABLE T???????????????
? 2? (ID NUMBER,?
? 3? NAME VARCHAR2(30),?
? 4? CONSTRAINT PK_T PRIMARY KEY (ID));

表已創建。

SQL> INSERT INTO T?????
? 2? VALUES (100, 'TEST');

已創建?1?行。

SQL> COMMIT;

提交完成。

SQL> INSERT INTO T?
? 2? SELECT ROWNUM, OBJECT_NAME
? 3? FROM DBA_OBJECTS
? 4? ;
INSERT INTO T
*
第?1?行出現錯誤:
ORA-00001:?違反唯一約束條件?(YANGTK.PK_T)


SQL> INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX(T(ID)) */?
? 2? INTO T
? 3? SELECT ROWNUM, OBJECT_NAME
? 4? FROM DBA_OBJECTS
? 5? ;
INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX(T(ID)) */
*
第?1?行出現錯誤:
ORA-00600:?內部錯誤代碼,?參數: [qerltcInsertSelectRop_bad_state], [], [], [], [], [], [], [], [], [], [], []

顯然是由于使用IGNORE_ROW_ON_DUPKEY_INDEX提示引起了錯誤的產生。查詢METALINK沒有找到任何關于這個錯誤的描述。這也難怪,比較11.2才出來的時間不長,估計還沒有什么人碰到這個bug。不過Oracle的測試人員沒有測試到這個新特性的bug不太應該。

在alert文件中,這個錯誤信息如下:

Errors in file /data/oracle/diag/rdbms/test112/test112/trace/test112_ora_23223.trc? (incident=2401):
ORA-00600:?內部錯誤代碼,?參數: [qerltcInsertSelectRop_bad_state], [], [], [], [], [], [], [], [], [], [], []
Incident details in: /data/oracle/diag/rdbms/test112/test112/incident/incdir_2401/test112_ora_23223_i2401.trc

對應的trace信息:

*** 2009-09-24 19:05:35.981
*** SESSION ID:(130.13965) 2009-09-24 19:05:35.981
*** CLIENT ID:() 2009-09-24 19:05:35.981
*** SERVICE NAME:(SYS$USERS) 2009-09-24 19:05:35.981
*** MODULE NAME:(SQL*Plus) 2009-09-24 19:05:35.981
*** ACTION NAME:() 2009-09-24 19:05:35.981
?
Incident 2401 created, dump file: /data/oracle/diag/rdbms/test112/test112/incident/incdir_2401/test112_ora_23223_i2401.trc
ORA-00600:?內部錯誤代碼,?參數: [qerltcInsertSelectRop_bad_state], [], [], [], [], [], [], [], [], [], [], []

詳細錯誤信息為:

*** 2009-09-24 19:05:35.982
*** SESSION ID:(130.13965) 2009-09-24 19:05:35.982
*** CLIENT ID:() 2009-09-24 19:05:35.982
*** SERVICE NAME:(SYS$USERS) 2009-09-24 19:05:35.982
*** MODULE NAME:(SQL*Plus) 2009-09-24 19:05:35.982
*** ACTION NAME:() 2009-09-24 19:05:35.982
?
Dump continued from file: /data/oracle/diag/rdbms/test112/test112/trace/test112_ora_23223.trc
ORA-00600:?內部錯誤代碼,?參數: [qerltcInsertSelectRop_bad_state], [], [], [], [], [], [], [], [], [], [], []

========= Dump for incident 2401 (ORA 600 [qerltcInsertSelectRop_bad_state]) ========

*** 2009-09-24 19:05:35.984
dbkedDefDump(): Starting incident default dumps (flags=0x2, level=3, mask=0x0)
----- Current SQL Statement for this session (sql_id=81hhzbq7z7skv) -----
INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX(T(ID)) */
INTO T
SELECT ROWNUM, OBJECT_NAME
FROM DBA_OBJECTS

----- Call Stack Trace -----
calling????????????? call???? entry??????????????? argument values in hex??????
location???????????? type???? point??????????????? (? means dubious value)?????
-------------------- -------- -------------------- ----------------------------
skdstdst()+36??????? call???? kgdsdst()??????????? 000000000 ? 000000000 ?
?????????????????????????????????????????????????? 7FFFF5EB1E08 ? 000000001 ?
?????????????????????????????????????????????????? 7FFFF5EB6308 ? 000000000 ?
ksedst1()+98???????? call???? skdstdst()?????????? 000000000 ? 000000000 ?
?????????????????????????????????????????????????? 7FFFF5EB1E08 ? 000000001 ?
?????????????????????????????????????????????????? 000000000 ? 000000000 ?
ksedst()+34????????? call???? ksedst1()??????????? 000000000 ? 000000001 ?
?????????????????????????????????????????????????? 7FFFF5EB1E08 ? 000000001 ?
?????????????????????????????????????????????????? 000000000 ? 000000000 ?
dbkedDefDump()+2736? call???? ksedst()???????????? 000000000 ? 000000001 ?
?????????????????????????????????????????????????? 7FFFF5EB1E08 ? 000000001 ?
?????????????????????????????????????????????????? 000000000 ? 000000000 ?
ksedmp()+36????????? call???? dbkedDefDump()?????? 000000003 ? 000000002 ?
?????????????????????????????????????????????????? 7FFFF5EB1E08 ? 000000001 ?
?????????????????????????????????????????????????? 000000000 ? 000000000 ?
ksfdmp()+64????????? call???? ksedmp()???????????? 000000003 ? 000000002 ?
?????????????????????????????????????????????????? 7FFFF5EB1E08 ? 000000001 ?
?????????????????????????????????????????????????? 000000000 ? 000000000 ?
dbgexPhaseII()+1764? call???? ksfdmp()???????????? 000000003 ? 000000002 ?
?????????????????????????????????????????????????? 7FFFF5EB1E08 ? 000000001 ?
?????????????????????????????????????????????????? 000000000 ? 000000000 ?
dbgexProcessError()? call???? dbgexPhaseII()?????? 2AAAAC2EF6F0 ? 2AAAAC2F03F0 ?
+2279????????????????????????????????????????????? 7FFFF5EBE0F8 ? 000000001 ?
?????????????????????????????????????????????????? 000000000 ? 000000000 ?

測試發現,不管IGNORE_ROW_ON_DUPKEY_INDEX的哪種寫法,都會引發這個600錯誤,但是如果插入數據量小的話,可能并不會引發錯誤:

SQL> INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX(T(ID)) */?
? 2? INTO T
? 3? SELECT ROWNUM, OBJECT_NAME
? 4? FROM DBA_OBJECTS
? 5? WHERE ROWNUM <= 200;

已創建199行。

SQL> ROLLBACK;

回退已完成。

SQL> INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX(T(ID)) */?
? 2? INTO T
? 3? SELECT ROWNUM, OBJECT_NAME
? 4? FROM DBA_OBJECTS
? 5? WHERE ROWNUM <= 1000;
INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX(T(ID)) */
*
第?1?行出現錯誤:
ORA-00600:?內部錯誤代碼,?參數: [qerltcInsertSelectRop_bad_state], [], [], [], [], [], [], [], [], [], [], []

可以看到,如果插入200條記錄,則不會報錯。如果插入的數據量達到1000,則會引發ORA-600錯誤。

進一步測試發現,如果插入行數超過255,就會報錯,看來應該是某個變量超過了上限導致的錯誤。

SQL> INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX(T, PK_T) */
? 2? INTO T?
? 3? SELECT *?
? 4? FROM T1
? 5? WHERE ROWNUM <= 250;

已創建249行。

SQL> INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX(T, PK_T) */
? 2? INTO T
? 3? SELECT *?
? 4? FROM T1?
? 5? WHERE ROWNUM <= 255;

已創建5行。

SQL> INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX(T, PK_T) */
? 2? INTO T
? 3? SELECT *
? 4? FROM T1
? 5? WHERE ROWNUM <= 256;
INSERT /*+ IGNORE_ROW_ON_DUPKEY_INDEX(T, PK_T) */
*
第?1?行出現錯誤:
ORA-00600:?內部錯誤代碼,?參數: [qerltcInsertSelectRop_bad_state], [], [], [], [], [], [], [], [], [], [], []

轉載于:https://www.cnblogs.com/ys-wuhan/p/5983786.html

總結

以上是生活随笔為你收集整理的ORA-600(qerltcInsertSelectRop_bad_state)错误的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 无码人妻精品一区二区50 | 人妻一区二区在线 | 国产精品久久久久久久久久久久 | 亚洲综合情 | 嫩草影院国产 | 99热国产精品 | 欧美一区日韩一区 | 一区二区成人在线 | 538精品一线| 国产精品永久久久久久久久久 | 99国产精品99| 少妇精品一区 | 精品二区在线观看 | 久久草av | 女生张开腿让男生插 | 草av | 北条麻妃一区二区三区免费 | 欧美日日操 | www.久久.com | 欧美做受喷浆在线观看 | 亚洲三级电影网站 | 国产日日干 | 欧美日韩视频无码一区二区三 | 日韩va亚洲va欧美va久久 | 五月天天 | 狠狠躁| 久久精品国产欧美亚洲人人爽 | 免费日韩| 亚洲精品在线不卡 | 欧美亚洲一区二区在线观看 | 免费久久网站 | 日本少妇高潮喷水xxxxxxx | 五月婷婷激情五月 | 毛片2| 超碰超碰97 | 欧美日韩视频无码一区二区三 | 国产电影一区二区三区 | 亚欧在线观看 | 日本久久高清 | 一个色综合导航 | 东南亚毛片 | 最新不卡av | 岛国av噜噜噜久久久狠狠av | 在线国产毛片 | 日本亚洲欧美在线 | 日本在线小视频 | 精品无码人妻一区二区三区 | 日本黄色视 | 亚洲av无码一区二区三区网站 | 国产在线黄 | 黄色三级三级三级 | 久久免费在线视频 | 国产剧情av麻豆香蕉精品 | 超碰按摩 | 亚洲av无码一区二区三区四区 | 黄色大片一级 | 秋霞国产午夜精品免费视频 | 99riav3国产精品视频 | 中文字幕av久久爽 | 国产三级大片 | 精品成人无码一区二区三区 | 亚洲码中文 | 久久亚洲AV成人无码国产野外 | 久久免费福利视频 | 亚洲一级在线 | 丝袜美腿亚洲一区二区图片 | 农村老熟妇乱子伦视频 | 亚洲福利在线观看 | 老熟妇高潮一区二区三区 | 噜噜噜噜私人影院 | 99热这里只有精品5 国产精品伦子伦免费视频 精品一二三 | 国产精品免费大片 | 色婷婷一区 | 毛片精品 | 国产精品无码中文字幕 | 黄污视频在线观看 | 日本欧美另类 | 先锋av在线资源 | 天干夜夜爽爽日日日日 | 中文字幕一区二区三区久久久 | 欧美日韩在线观看一区二区 | 日韩精品欧美精品 | 久久久久久亚洲av无码专区 | 成人免费看片98欧美 | 九九热国产视频 | 小视频在线观看 | 国内av自拍| 三级亚洲| 免费在线黄色网 | 福利影院在线 | 少妇又色又紧又大爽又刺激 | 超碰不卡 | 久久久久久久久久久久久av | 久久91亚洲精品中文字幕奶水 | 美国成人av | 成人理论影院 | 日韩中文字幕一区二区三区 | 玖草在线视频 | 已满十八岁免费观看全集动漫 |