最近在自己电脑上虚拟机安装了一个oracle环境用作测试用,主机是win7,vmware虚拟机内安装的是linux RH5.5 ,现在我的win7连接不上虚拟机的数据库,报错ORA-12541: TNS: 无监听程序,但是linux里的监听已经启动,ping也能ping通,lsnrctl stat的状态最后显示instance的状态为unkown这个有关系吗,我把我win7客户端里的tnsnames和服务器端的listener和tnsnames都贴出来,求大师帮我解答额。另外host我用主机名也试过了额,还是一样,服务器端的listener我用netca也重新创建过了,郁闷啊,就是找不到原因。先行拜谢了。
客户端ORCL =  (DESCRIPTION =    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.213)(PORT = 1521))    (CONNECT_DATA =      (SERVER = DEDICATED)      (SID = orcl)    )服务器端listenerSID_LIST_LISTENER =  (SID_LIST =    (SID_DESC =      (SID_NAME = orcl)      (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)      (PROGRAM = extproc)    )  )
LISTENER =  (DESCRIPTION_LIST =    (DESCRIPTION =      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.213)(PORT = 1521))    )  )服务器端TNSORCL =  (DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.213)(PORT = 1521))    )    (CONNECT_DATA =      (SERVICE_NAME = orcl)    )  )
EXTPROC_CONNECTION_DATA =  (DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))    )    (CONNECT_DATA =      (SID = orcl)      (PRESENTATION = RO)    )  )

解决方案 »

  1.   

    ORA-12541:TNS无监听程序
    一般这种问题大多数是由于修改了数据库所在服务器名称所导致的,解决办法是:1、在oracle安装目录下查找listener.ora和tnsnames.ora文件,然后打开2、将host改为机器名,注意如果有标题所示的问题,经常改为127.0.0.1也不能解决问题,必须要改为机器名3、执行命令:lsnrctl stop,再执行lsnrctl start。
    试一试吧!
      

  2.   

    这个客户端和服务端都需要去配置,给你提供一个参考
    http://blog.csdn.net/zls_12/article/details/9171295
    需要修改的地方里面都说道了里面的两个文件中的localhost全部改为实际的ip地址.