在将11g数据库转储导入9i数据库时,我需要执行impdp实用程序的附加功能。我还需要能够用另一种方式从9i数据库导入11g数据库,使用impdp实用程序的相同附加功能。
据我所见,数据泵客户端与9i数据库不兼容,因此我无法使用此附加功能。有什么办法能让我避开这件事吗?
请帮帮忙。
发布于 2013-07-15 08:54:13
要在9i和11g数据库之间移动数据,您需要使用原产出口和原始进口实用程序,而不是datapump。
由于您希望在不同版本之间移动数据,所以本节非常相关:
每当您在Oracle数据库的不同版本之间移动数据时,适用以下基本规则:
例如,若要创建导入到稍后发布数据库的导出文件,请使用相当于源数据库的导出实用程序的版本。相反,若要创建导入到早期版本数据库的导出文件,请使用与目标数据库版本相等的导出实用程序版本。
因此,要将数据从9i移动到11g,您需要使用9i二进制文件导出数据,并使用11g二进制文件导入数据。要将数据从11g移动到9i,您需要使用9i二进制文件进行导出和导入;这意味着您需要一个能够访问11g数据库的9i环境。如果它们位于不同的服务器上,则需要从9i环境中远程访问11g数据库,或者在与目标环境相同的修补程序级别上在11g服务器上安装9i。
将数据从11g移动到9i似乎是件很奇怪的事情,考虑到9i有多老了,而且它已经失去了支持。
关于类似于append的行为的原始问题,请参阅进口文件
当在导入数据之前手动创建表时,导出转储文件中的CREATE语句将失败,因为该表已经存在。若要避免此故障并继续将数据加载到表中,请设置导入参数IGNORE=y。否则,由于表创建错误,不会将任何数据加载到表中。
imp没有truncate选项,所以数据总是附加到任何东西上;如果没有标志,导入就会失败,因为对象存在,而不是因为其中有数据。
https://stackoverflow.com/questions/17649560
复制相似问题