一、原因分析
你安装oracle的时候是连网的,那么listener.ora文件里的HOST=网络给你分配的IP地址,而在你断网的时候就会出现这样的情况。
三、解决办法
方法一:监听器
通过listener.ora或者Net Manager修改监听器配置。将原来本地字符串127.0.0.1或者localhost改为主机名。
首先查阅你的**\product\11.2.0\dbhome_1\NETWORK\ADMIN目录下的"tnsnames.ora"和"listener.ora"这两个文件,然后看看里面的"HOST"信息,看看是不是你当前的ip地址,如果不是尝试着把这个2个文件改成你的ip地址,或直接就改成127.0.0.1(或计算机名字):
注意:此时的监听配置文件"listener.ora"里面的HOST=的内容(IP或者主机名)必须和,服务配置文件"tnsnames.ora"里面,你想要链接的服务的HOST=的内容完全一致。意思就是说要么都是IP地址,要么都是主机名。如果有多个服务(Net Manager中配置的网络服务)那么查看"tnsnames.ora"文件中与监听HOST内容一致的PL/SQL才可正常登录进去,否则无监听程序。
方法二:环境变量
环境变量中ORACLE_HOME改为:***(你自己的安装路径)\product\11.2.0\dbhome_1
有的情况,装貌似安装客户端被自动改为**:\Ora11InstantClient了
方法三:注册表
KEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/OracleOraDb11g_home1TNSListener
中的ImagePath改为:D:\oracle\product\10.2.0\db_1/BIN/TNSLSNR.EXE(之前后面的.EXE没有)。