阜和教育
        CCNA培训
        CCNP培训
        CCIE直通车培训
        CCIP培训
        CCVP培训
        CCSP培训
        CCIE集中营培训
        windows server 2008培训
        Windows 7培训
        SQL Server 2008培训
        Windows Server 2003培训
        RHCSA培训
        RHCE培训
        RHCVA培训
        RHCDS培训
        RHCSS培训
        RHCA培训
        JBCAA培训
        JBCD培训
        OCA 认证专员培训
        Oracle 10g OCP培训
        Oracle 10g OCM培训
        H3CNA培训
        H3CNE培训
        H3CSE培训
        H3CTE培训
        H3CIE Routing&Switching培训
        BIG-IP培训
        Firepass培训
        ARX培训
        ITIL V3 Foundation培训
        ITIL V3 Capability培训
        ITIL V3 Lifecycle培训
        ITIL V3 Expert培训
        PMP培训
        Junos初级专员培训
        电信运营商科目SP培训
        Junos(SEC)培训
        E系列认证培训
        防火墙VPN认证培训
        入侵检测与防御IDP培训
        SSL认证培训
        WX认证培训
        统一接入控制UAC培训
        企业路由和交换培训
        VCP培训
        VCAP-DCA培训
        VCAP-DCD培训
        VCA-DT培训
        VCP-DT培训
        业务连续性/灾难恢复培训
        存储技师EMCST培训
        存储管理员EMCSA培训
        应用开发EMCApD培训
        系统管理员EMCSysA培训
        产品特定技术培训
    阜和教育-首页> Orale > ORA-12518: TNS: 监听程序无法分发客户机连接
跳过导航链接

ORA-12518: TNS: 监听程序无法分发客户机连接

2010-5-19 0:46:00
文章摘要:ORA-12518: TNS: 监听程序无法分发客户机连接 今天在自己的T61上装了ORACLE10G,成功装好后,连数据库报如下错误: SQL> conn sys/sys@my10g as sysdba ERROR: ORA-12518: TNS: 监听程序无法分发客户机连接 SQL> conn sjh/sjh@my10g ERROR: ORA-12518: TNS: 监听程序无法分发客户机连...
ORA-12518: TNS: 监听程序无法分发客户机连接
 
 
今天在自己的T61上装了ORACLE10G,成功装好后,连数据库报如下错误:
SQL> conn sys/sys@my10g as sysdba
ERROR:
ORA-12518: TNS: 监听程序无法分发客户机连接
 
SQL> conn sjh/sjh@my10g
ERROR:
ORA-12518: TNS: 监听程序无法分发客户机连接
 
C:\Documents and Settings\is_sjh>tnsping my10g
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 12-3月 -
2008 19:59:46
Copyright (c) 1997, 2005, Oracle.  All rights reserved.
已使用的参数文件:
c:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
 
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = localhost)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = oracsjh)))
OK (20 毫秒)
 
TNSNAMES.ORA的内容如下:
MY10G =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = oracsjh)
    )
  )
 
listner.ora的内容如下:
# listener.ora Network Configuration File: c:\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 = c:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = oracsjh)
      (ORACLE_HOME = c:\oracle\product\10.2.0\db_1)
      (SID_NAME = oracsjh)
    )
  )
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = WWW-D413A159A8B.nj.chervon.com)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
  )
 
一再检查没发现什么问题啊,后来用OS认证的方式连到DB上一看才知道自己犯了一个很低级的错误。INSTANCE NAME跟两个配置文件的配置不一样。将oracsjh改为跟数据库INSTANCE名一样:sjhorac
问题解决。为了证实自己的想法,我又让问题重现:
 
TNSNAMES.ORA的内容如下:
MY10G =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ABC)
    )
  )
 
listner.ora的内容如下:
# listener.ora Network Configuration File: c:\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 = c:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = ABC)
      (ORACLE_HOME = c:\oracle\product\10.2.0\db_1)
      (SID_NAME = ABC)
    )
  )
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = WWW-D413A159A8B.nj.chervon.com)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
  )
 
将SERVICE_NAME ,GLOBAL_DBNAME ,SID_NAME 改为ABC。重起LISTENER。
TNSPING依然是可以的。
C:\Documents and Settings\is_sjh>tnsping my10g
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 12-3月 -
2008 20:47:52
Copyright (c) 1997, 2005, Oracle.  All rights reserved.
已使用的参数文件:
c:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
 
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = localhost)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = ORAC)))
OK (10 毫秒)
 
--问题重现:
SQL> conn sjh/sjh@my10g
ERROR:
ORA-12518: TNS: 监听程序无法分发客户机连接
总结:ORACLE网络配置这块要特别小心,大多数错误都是由这些配置文件没有配置好而引起的。当然也有些比较特殊的情况。