首先,监听程序我肯定启动了,测试本地数据库连接成功,但连接远程数据的时候出现错误ORA-12541: TNS: 无监听程序。
下面是相关配置文件内容,数据库全局名,sid我都核对过,应该没错。求高手指点。
tnsnames.ora:# tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.ORACLE_130 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.30)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = oracle)
    )
  )ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.188)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl.myoracle.com)
    )
  )EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )
listener.ora:# listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = orcl.myoracle.com)
      (SID_NAME = orcl)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = oracle)
      (SID_NAME = oracle)
    )
  )LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = PC-201106100944)(PORT = 1521))
    )
  )
在线等,谢谢

解决方案 »

  1.   

    192.168.2.188,我本机ip地址
    192.168.1.30 远程数据库服务器ip地址
      

  2.   

    LISTENER =
      (DESCRIPTION_LIST =
      (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = PC-201106100944)(PORT = 1521))
      )
      )
    把上面的host名改成IP地址试下
      

  3.   

    谢谢,我试过了,包括改成localhost还有127.0.0.1,都是本地数据库测试没问题,远程连接就报ORA-12541: TNS: 无监听程序 错误
      

  4.   

    Production
      Time: 13-9月 -2011 11:01:06
      Tracing not turned on.
      Tns error struct:
        ns main err code: 12541
        TNS-12541: TNS: 无监听程序
        ns secondary err code: 12560
        nt main err code: 511
        TNS-00511: 无监听程序
        nt secondary err code: 61
        nt OS err code: 0
    这个是日志文件sqlnet.log报的错系统参数文件为D:\oracle\product\10.2.0\db_1\network\admin\listener.ora
    写入D:\oracle\product\10.2.0\db_1\network\log\listener.log的日志信息
    写入D:\oracle\product\10.2.0\db_1\network\trace\listener.trc的跟踪信息
    跟踪级别当前为0以 pid=1084 开始
    监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
    监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.188)(PORT=1521)))
    Listener completed notification to CRS on startTIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE
    13-9月 -2011 10:59:37 * (CONNECT_DATA=(SERVICE_NAME=orcl.myoracle.com)(SERVER=DEDICATED)(CID=(PROGRAM=D:\oracle\product\10.2.0\db_1\jdk\jre\bin\java.exe)(HOST=PC-201106100944)(USER=Admin))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.188)(PORT=2877)) * establish * orcl.myoracle.com * 0
    这个是日志文件listener.log里监听器的情况
      

  5.   

        呼,解决了,原来是我本机ip和服务器ip不在一个ip段,因为远程数据库服务器是在内网上,我在另外给自己添加了一个192.168.1.*的ip就ok了。
        谢谢lxyzxq2008的回复,分就给你了!
      

  6.   

    改ip是改成我的内网ip还是?改了还是ORA-12541: TNS: 无监听程序,高手给提示呀。
      

  7.   

    host改为localhost,删除服务器上的监听,新建监听,重启监听服务试试