您现在的位置: 万盛学电脑网 >> 程序编程 >> 数据库 >> oracle教程 >> 正文

Oracle ORA-12560解决方法

作者:佚名    责任编辑:admin    更新时间:2022-06-22

   ORA-12560解决方法

  今天在进行oracle数据imp/exp时突然发现在cmd下执行exp输入scott/tiger后时提示:

  EXP-00056: 遇到 ORACLE 错误 12560

  ORA-12560: TNS: 协议适配器错误

  EXP-00000: 导出终止失败

  开始以为自己输错用户名了,毕竟在oracle这里我不太熟悉。再次输入用户名和密码,依旧报错。

  静下来想想----监听器和数据库实例都已经启动了而且还是用自己做的批处理脚本。在Linxu下我也是可以imp/exp的,Linxu下没有注册表这种概念,而存在环境变量这种理念。排除注册表后不同点就在这里了。

  于是我谷歌之......

  结果和我料想的一样,注册表中HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_OraDb10g_home1下ORACLE_SID的键值和我的数据库实例名相同都是orc。现在可以排除注册表了。然后设置系统环境变量ORACLE_SID=orc然后再到cmd下重新exp没有提示任何错误可以导出了。

  再做实验验证是环境变量的原因,我set ORACLE_SID=orcs后,再exp又出现上面的的ORA-12560错误了,再set 回来ORACLE_SID=orc,问题就又解决了。

  以前在Eygle的一本书上曾看到过在Linxu下环境变量和oracle的关系。在windows下个人认为和注册表的关联会多些,对于我这个更习惯用命令行的人来说在windows下和环境变量也有一定的联系.