ORA-12560解决方法

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_home1ORACLE_SID的键值和我的数据库实例名相同都是 orc。现在可以排除注册表了。然后设置系统环境变量 ORACLE_SID=orc然后再到 cmd下重新 exp没有提示任何错误可以导出了。
再做实验验证是环境变量的原因,我 set ORACLE_SID=orcs后,再 exp又出现上面的的 ORA-12560错误了,再 set 回来 ORACLE_SID=orc,问题就又解决了。
以前在 Eygle的一本书上曾看到过在 Linxu下环境变量和 oracle的关系。在 windows下个人认为和注册表的关联会多些,对于我这个更习惯用命令行的人来说在 windows下和环境变量也有一定的联系.

你可能感兴趣的:(oracle,数据库,windows,cmd,脚本)