今天晚上值守升级,用datapump从10204迁移数据库到11203因为只是值守,这个升级我一直就是打酱油的客户导完数据,帮忙比对了下数据,发现差了几个IOT表和TEXT索引检查日志发现几个如下的报错ORA-39083: Object type INDEX failed to create with error:ORA-20000: Oracle Text error:DRG-52204: error while registering indexDRG-10507: duplicate index name: IDX_TF_CMS_CONTENT_TITLE, owner: SCWYFailing sql is:BEGINctxsys.driimp.create_index('IDX_TF_CMS_CONTENT_TITLE','TF_CMS_CONTENT',USER,'CONTENT_ID','2','TITLE','1','500','4617','8130','4618',NULL, NULL, NULL, 0,NULL, NULL, NULL, NULL, NULL );客户在演练的时候,看到说索引名重复就直接跳过了,也没关注查看了下当前情况:1.报重复的索引,数据库中根本没有2.ctxsys.dr$index表中,有这些TEXT索引的记录,但是OWNER_ID为0,既SYS。而源库上,OWNER应该为应用用户查了下MOSText Indexes In Import State And Owned Incorrectly By SYS After DataPump export / import DataPump [ID 744162.1]ORA-39083 DRG-10507 Errors On DataPump Import [ID 987033.1]This is due to unpublished bug 5731054 fixed in 11.1, where a DRG-10507 error occurs on DataPump import, however the underlying problem is caused in the export process where duplicate index entries are created for a 'function-based domain index', which gets both 'functional index' and 'domain index' entries created, and hence can occur on import into 11g and later versions when using a 10.2 export dump file.处理方法:1.清除一些错误的元数据,清除前最好备份这些表connect / as sysdbaselect idx_id from ctxsys.dr$index where idx_name='';delete from ctxsys.dr$index_value where IXV_IDX_ID = ;delete from ctxsys.dr$index_object where IXO_IDX_ID = ;delete from ctxsys.dr$index where idx_id = ;commit;2.使用TOAD从源端上提取创建这些索引的脚本创建相关TEXT索引PS:如果使用了自定义的preferences,要从ctxsys.ctx_preferences,ctxsys.ctx_preference_values中提取数据创建这些preferences。特别是在需要对中文进行分词时,一般都有
如果准备从10204升级到11gR2,最好打上Patch 6051635,目前只有LINUX-64bit 和 Solaris on SPARC 64bit有10205应该是没问题的。反正重在先测试
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8242091/viewspace-733004/
,如需转载,请注明出处,否则将追究法律责任。