[20201111]11.2.0.4版本仍然存在的一个未修复Bug ora-00600 [13013].txt http://www.killdb.com/2020/05/18/11-2-0-4%e7%89%88%e6%9c%ac%e4%bb%8d%e7%84%b6%e5%ad%98%e5%9c%a8%e7%9a%84%e4%b8%80%e4%b8%aa%e6%9c%aa%e4%bf%ae%e5%a4%8dbug-ora-00600-13013/ ORA-00600: internal error code, arguments: [13013], [5001], [3636415], [98890439], [54], [98890439], [17], [], [], [], [], [] 针对该错误,Oracle mos有文档进行了解释,这里不多说: ORA-600 [13013] [a] [b] [c] [d] [e] [f] Arg [a] Passcount Arg [b] Data Object number Arg [c] Tablespace Relative DBA of block containing the row to be updated Arg [d] Row Slot number Arg [e] Relative DBA of block being updated (should be same as [c]) Arg [f] Code --//98890439 = set dba 23,2421447 = alter system dump datefile 23 block 2421447 = 0x5e4f2c7 --//链接提供例子,可以重复演示这个bug: CREATE TABLE TAB1 ( ID_NACE NUMBER(5) ); insert into TAB1 values(0); ALTER TABLE TAB1 ADD (ID_INDUSTRY NUMBER(5) DEFAULT -1 NOT NULL); ALTER TABLE TAB1 ADD (ID_ind2 varchar2(1) DEFAULT 'U' NOT NULL ); ALTER TABLE TAB1 ADD ( err varchar2(30)); insert into TAB1 values(1, 1, 'C',null); insert into TAB1 values(2, 2, 'C',null); CREATE TABLE TAB2 (ID_NACE NUMBER(5),ID_INDUSTRY NUMBER(5)); insert into TAB2 values(1, 3); commit; update tab1 set err = 'xxxxx' where id_ind2 = 'C' and not exists (select 1 from tab2 where tab2.id_nace = tab1.id_nace and tab2.ID_INDUSTRY = tab1.ID_INDUSTRY); update tab1 * ERROR at line 1: ORA-00600: internal error code, arguments: [13013], [5001], [94594], [16779067], [1], [16779067], [17], [], [], [], [], [] --//16779067 = set dba 4,1851 = alter system dump datefile 4 block 1851 = 0x100073b SCOTT@book> select rowid,tab1.* from tab1; ROWID ID_NACE ID_INDUSTRY I ERR ------------------ ---------- ----------- - ------------------------------ AAAXGCAAEAAAAc7AAA 0 -1 U AAAXGCAAEAAAAc7AAB 1 1 C AAAXGCAAEAAAAc7AAC 2 2 C SCOTT@book> @ rowid AAAXGCAAEAAAAc7AAA OBJECT FILE BLOCK ROW ROWID_DBA DBA TEXT ---------- ---------- ---------- ---------- -------------------- -------------------- ---------------------------------------- 94594 4 1851 0 0x100073B 4,1851 alter system dump datafile 4 block 1851 SCOTT@book> select * from dba_objects where object_name like 'TAB%' and owner=user 2 @ prxx ============================== OWNER : SCOTT OBJECT_NAME : TAB1 SUBOBJECT_NAME : OBJECT_ID : 94594 DATA_OBJECT_ID : 94594 OBJECT_TYPE : TABLE CREATED : 2020-11-11 10:18:09 LAST_DDL_TIME : 2020-11-11 10:18:19 TIMESTAMP : 2020-11-11:10:18:19 STATUS : VALID TEMPORARY : N GENERATED : N SECONDARY : N NAMESPACE : 1 EDITION_NAME : ============================== OWNER : SCOTT OBJECT_NAME : TAB2 SUBOBJECT_NAME : OBJECT_ID : 94595 DATA_OBJECT_ID : 94595 OBJECT_TYPE : TABLE CREATED : 2020-11-11 10:18:28 LAST_DDL_TIME : 2020-11-11 10:18:28 TIMESTAMP : 2020-11-11:10:18:28 STATUS : VALID TEMPORARY : N GENERATED : N SECONDARY : N NAMESPACE : 1 EDITION_NAME : PL/SQL procedure successfully completed. --//这个11g新特性增加字段缺省值导致的问题。 SYS@book> @ hide _add_col_optim_enabled NAME DESCRIPTION DEFAULT_VALUE SESSION_VALUE SYSTEM_VALUE ISSES ISSYS_MOD ---------------------- ---------------------------------- ------------- ------------- ------------ ----- --------- _add_col_optim_enabled Allows new add column optimization TRUE TRUE TRUE TRUE IMMEDIATE SYS@book> @ prxx ============================== NAME : _add_col_optim_enabled DESCRIPTION : Allows new add column optimization DEFAULT_VALUE : TRUE SESSION_VALUE : TRUE SYSTEM_VALUE : TRUE ISSES_MODIFIABLE : TRUE ISSYS_MODIFIABLE : IMMEDIATE PL/SQL procedure successfully completed. SCOTT@book> alter session set "_add_col_optim_enabled"=false; Session altered. /* Formatted on 2020/11/11 10:30:33 (QP5 v5.269.14213.34769) */ UPDATE Tab1 SET err = 'xxxxx' WHERE id_ind2 = 'C' AND NOT EXISTS (SELECT 1 FROM tab2 WHERE tab2.id_nace = tab1.id_nace AND tab2.ID_INDUSTRY = tab1.ID_INDUSTRY); --//我的测试修改参数也无效。噢不对,这个参数在alter table时才有效。 --//比较笨的方法就是重新建立表才执行就可以通过。 SCOTT@book> create table tab1x as select * from tab1; Table created. SCOTT@book> rename tab1 to tab1y; Table renamed. SCOTT@book> rename tab1x to tab1; Table renamed. UPDATE Tab1 SET err = 'xxxxx' WHERE id_ind2 = 'C' AND NOT EXISTS (SELECT 1 FROM tab2 WHERE tab2.id_nace = tab1.id_nace AND tab2.ID_INDUSTRY = tab1.ID_INDUSTRY); 2 rows updated. --//OK现在修改成功!! SCOTT@book> select * from tab1; ID_NACE ID_INDUSTRY I ERR ---------- ----------- - ------------------------------ 0 -1 U 1 1 C xxxxx 2 2 C xxxxx --//查询那些对象有这样情况,查询字典sys.ecol$。 SCOTT@book> column BINARYDEFVAL format a40 SCOTT@book> select * from sys.ecol$; TABOBJ# COLNUM BINARYDEFVAL ---------- ---------- ---------------------------------------- 94594 2 3E6466 94594 3 55
[20201111]11.2.0.4版本仍然存在的一个未修复Bug ora-00600 [13013].txt
来源:这里教程网
时间:2026-03-03 16:16:46
作者:
编辑推荐:
- [20201111]11.2.0.4版本仍然存在的一个未修复Bug ora-00600 [13013].txt03-03
- [20201112]nid改变数据库名字.txt03-03
- python两种获取剪贴板内容的方法03-03
- [20201111]CURSOR_SPACE_FOR_TIME.txt03-03
- [20201113]测试CURSOR_SPACE_FOR_TIME(10g).txt03-03
- 宝塔面板nginx防火墙非浏览器拦截真的有用吗?03-03
- [20201116]测试CURSOR_SPACE_FOR_TIME(10g)(补充).txt03-03
- [20201116]测试CURSOR_SPACE_FOR_TIME=false(11g).txt03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- oracle删除表中数据(delete与truncate)
oracle删除表中数据(delete与truncate)
26-03-03 - SQL Server数据库mdf文件中了勒索病毒*.mdf.[helpbackup@email.tg].Devos
- G006-ORACLE-INS-SIFS-01 ORACLE 19C SIFS Ins ON RHEL 8.2
- G008-ORACLE-DG ORACLE 19C Active Data Guard DML Redirection
- 查看oracle数据库中,哪些表的字段是null值比较多
查看oracle数据库中,哪些表的字段是null值比较多
26-03-03 - Oracle数据库服务器dbf文件中了勒索病毒,扩展名被篡改为.CC7H
Oracle数据库服务器dbf文件中了勒索病毒,扩展名被篡改为.CC7H
26-03-03 - 数据库范式
数据库范式
26-03-03 - 沙龙回顾丨开发者掌握这些背后的技术路径,可助力企业智能化升级
沙龙回顾丨开发者掌握这些背后的技术路径,可助力企业智能化升级
26-03-03 - Oracle的awr报告分析
Oracle的awr报告分析
26-03-03 - DDD 在京东 DevOps 项目协作领域的落地实战
DDD 在京东 DevOps 项目协作领域的落地实战
26-03-03
