windows 平台的Oracle 11.2.0.4 上执行update 语句报如下错误:
ORA-00600: [kdtBadLength-2], [0], [18446744073709548202], [], [], [], [], [], [], [], [], []
上MOS上查了下,说是bug:
Bug 13452491 : ORA-00600: [KDTBADLENGTH-2], [98], [184467440737
但该bug 存在的版本是11.2.0.2 , 在其他版本已经修复,但这里测试还是报错。
尝试将表copy了一份,在进行update:
SQL>create table CNDBA_test as select * from CNDBA where 1=2;
SQL>insert into CNDBA_test select * from CNDBA;
SQL>update CNDBA set onlinefp='KP26108988',onlinebdgh='636',onlinebdsj=to_date('2018-12-27 19:14:30','yyyy-mm-dd hh24:mi:ss') where fphm='100035452';
SQL>commit;
update 语句正常执行,所以将表move一下,在进行update。
查询表上的索引:
SQL>select index_name,table_name,status from dba_indexes where owner='DAVE' and table_name='MS_CNDBA';
INDEX_NAME TABLE_NAME STATUS
------------------------------ ------------------------------ --------
IDX_CNDBA_SFRQ MS_CNDBA VALID
IDX_CNDBA_JZRQ MS_CNDBA VALID
IDX_CNDBA_FPGL MS_CNDBA VALID
IDX_CNDBA_HZRQ_1 MS_CNDBA VALID
IDX_CNDBA_ID MS_CNDBA VALID
IDX_MS_CNDBA_FYZH MS_CNDBA VALID
IDX_MS_CNDBA_ORDERIDPAY MS_CNDBA VALID
IDX_MS_CNDBA_ORDERID MS_CNDBA VALID
ID_MS_CNDBA_ZFPB MS_CNDBA VALID
IDX_CNDBA_ITFTYPE MS_CNDBA VALID
PK_MS_CNDBA MS_CNDBA VALID
然后move 表:
SQL>alter table CNDBA move tablespace PORTAL_HIS;
再次update成功:
SQL>update CNDBA set onlinefp='KP26108988',onlinebdgh='636',onlinebdsj=to_date('2018-12-27 19:14:30','yyyy-mm-dd hh24:mi:ss') where fphm='100035452';
重建索引:
SQL>alter index IDX_CNDBA_SFRQ rebuild;
SQL>alter index IDX_CNDBA_JZRQ rebuild;
SQL>alter index IDX_CNDBA_FPGL rebuild;
SQL>alter index IDX_CNDBA_HZRQ_1 rebuild;
SQL>alter index IDX_CNDBA_ID rebuild;
SQL>alter index IDX_MS_CNDBA_FYZH rebuild;
SQL>alter index IDX_MS_CNDBA_ORDERIDPAY rebuild;
SQL>alter index IDX_MS_CNDBA_ORDERID rebuild;
SQL>alter index ID_MS_CNDBA_ZFPB rebuild;
SQL>alter index IDX_CNDBA_ITFTYPE rebuild;
SQL>alter index PK_MS_CNDBA rebuild;
删除测试表:
SQL>drop table CNDBA_test;
版权声明:本文为博主原创文章,未经博主允许不得转载。