错误做法:
为了将oracle 9i数据库里的数据移植到低版本的oracle 8i中,首先在oracle 9i中用exp命令导出(命令行):
exp 用户名/密码@全局SID file=导出数据库文件名 owner=用户
将导出数据库文件名copy至oracle 9i计算机上,
在oracle 8i中用imp命令导入(命令行):
imp 用户名/密码@全局SID file=欲倒入的数据库文件 owner=用户 ignore=y full=y
但你会发现,导入失败。
原因:高版本的数据库备份文件*.dmp无法直接导入低版本的数据库。然而,低版本的则可以导入高版本(仅相邻的版本,如7i和8i,8i和9i)。
解决方法:
用oracle 8i的客户端连接到oracle 9i服务器端,在8i端使用exp命令导出,再使用imp命令导入,ok。
具体实现:
8i中,Net Configuration Assistant >> 本地网络服务名配置 >> 添加 >> oracle 8i或更高版本数据库 >> 输入9i的全局SID >> TCP >> 主机名,端口号 >> 测试连接。
如果测试成功,则表明连接上了,给这个连接起个名字。
启动8i所在计算机的命令行,进入BIN目录下,
imp 用户名/密码@连接名 file=欲倒入的数据库文件 owner=用户 ignore=y full=y