Oracle 10g 转储文件推送到 Oracle 11g 数据库

Woo*_*Moo 5 oracle oracle-11g oracle-10g

当前imp使用以下参数执行命令时: file=my.dmp log=my.log fromuser=myuser touser=myuser

出现以下错误:

IMP-00058: ORACLE error 12560 encountered
ORA-12560: TNS:protocol adapter error
IMP-00000: Import terminated unsuccessfully
Run Code Online (Sandbox Code Playgroud)

但是,tnsping在我的 tnsnames.ora 文件中成功查找了值。我的问题是在 10g 中创建的转储文件是否会导致导入 11g 时出现问题,或者这个错误是我无法诊断的其他错误。

ik_*_*elf 10

您的问题很可能与不正确的版本或错误的默认连接有关。确保使用 10g 安装中的 exp 实用程序和 11g 安装中的 imp 实用程序。还要确保像 ORACLE_HOME 这样的环境变量是正确的,并且针对正确的 ORACLE_HOME/bin 调整了 PATH

你的连接字符串是什么样的?是否定义了 TNS_ADMIN 变量?(如果没有,您可能需要有多个 tnsnames.ora 文件,或者 tnsnames.ora 位于特定于平台的位置(/etc、/var/opt/oracle 等))tnsping 显示它获取 sqlnet.ora 的位置(在 tnsnames.ora 旁边)来自。

更好的是开始使用 expdp 和 impdp。您可以使用 impdp 使用数据库链接直接将数据导入 11g 数据库中。

  • +1 用于数据泵。如果您必须进行文件导出(在 oracle 中创建目录),则设置起来会更麻烦一些,但比 imp/exp 好得多,尤其是在执行完整数据库时。 (2认同)

Gar*_*ary 7

可以将 10g 文件加载到 11g 数据库中。它引发了网络错误,并且 TNSPING 并没有一直到数据库,就像监听器端口一样。我怀疑您在通过 SQLPLUS 连接时会遇到同样的问题。

检查您的 tnsnames.ora 以及数据库和侦听器是否可用