Loading
0

ORA-39083: Object type TYPE failed to create with error

 

今天应开发要求,需要将数据库中的所有应用用户在同一个数据库中再创建一份,很简单的方法就是用数据泵导出然后再remap导入就可以了,但没想到在impdp的时候遇到了一个错误,错误信息如下:

这个错误是因为同一个OID的对象已经在数据库中存在了,所以导致冲突无法创建,通过impdp help=y命令查看帮助,发现有参数如下:

查看联机文档发现关于OID这个参数的解释如下:

意思就是说如果这个OID参数设置为“N”,那么导出的对象的OID在object table和type被创建时会被抑制,它会被分配一个新的OID,这个参数可以被用来clone schema,但是对被引用的对象是无效的。这个参数默认值为“Y”

于是只要将参数transform的OID显示的设置为N即可解决,如下所示:

 

在同一个数据库中clone schema的时候,如果原schema中有JOB的话,那么这时还会遇到JOB名称冲突的问题,因为同一个JOB名已经存在,所以无法创建JOB,这时只能手工自己再创建一个不存在的JOB名的JOB。

请尊重我们的辛苦付出,未经允许,请不要转载 Ask600 的文章!