请教大侠下,我在一个oracle数据库上总共创建了三个实例,可以最后建的实例的总是报ORA-12516:TNS:监听程序找不到符合协议堆栈要求的可用处理程序,然后我重启oracle服务又可以连接了,以前只有建两个实例的时候也有出现过这样的问题,但是发现是程序的共享池问题,但是现在这个实例,只有我在连,却经常这样时常连不上。我上网查了下,改了processes=300 session=335  结果还是这样频繁的出现,实在没招了,还有什么办法能解决这个问题呢?希望又遇到过这个问题的朋友们教教我谢谢了

解决方案 »

  1.   

    ORA-12516: TNS:listener could not find available handler with matching protocol stack 
    Cause: None of the known and available service handlers for the given SERVICE_NAME support the client's protocol stack: transport, session, and presentation protocols.
     
    Action: Check to make sure that the service handlers (e.g. dispatchers) for the given SERVICE_NAME are registered with the listener, are accepting connections, and that they are properly configured to support the desired protocols.
     
    楼主检查下监听文件tnsname.ora文件..监听是否启动正常..
      

  2.   

    已经启动了
    # tnsnames.ora Network Configuration File: G:\app\cctv\product\11.1.0\db_1\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.EGISQA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.112)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = EGISQA)
        )
      )EGIS =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.112)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = EGIS)
        )
      )TEST =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.112)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = TEST)
        )
      )
      

  3.   


    这3个可能ping通...c:>tnsping EGISQA
    c:>tnsping EGIS
    c:>tnsping TEST
      

  4.   

    试了下说,以使用TNSNAMES适配器来解析别名了
      

  5.   


    看下alert log 文件...
      

  6.   

    <msg time='2009-11-17T20:06:32.555+08:00' org_id='oracle' comp_id='tnslsnr'
     type='UNKNOWN' level='16' host_id='D2Y4SN2X'
     host_addr='192.168.1.112' version='1'>
     <txt>TNS-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程序
     </txt>
    </msg>
    <msg time='2009-11-17T20:06:32.571+08:00' org_id='oracle' comp_id='tnslsnr'
     type='UNKNOWN' level='16' host_id='D2Y4SN2X'
     host_addr='192.168.1.112'>
     <txt>17-11月-2009 20:06:32 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=SYSTEM))(SERVICE_NAME=TEST)) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.112)(PORT=1980)) * establish * TEST * 12516
     </txt>
    </msg>
    <msg time='2009-11-17T20:06:32.571+08:00' org_id='oracle' comp_id='tnslsnr'
     type='UNKNOWN' level='16' host_id='D2Y4SN2X'
     host_addr='192.168.1.112'>
     <txt>TNS-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程序
     </txt>
    </msg>
    <msg time='2009-11-17T20:06:32.587+08:00' org_id='oracle' comp_id='tnslsnr'
     type='UNKNOWN' level='16' host_id='D2Y4SN2X'
     host_addr='192.168.1.112'>
     <txt>17-11月-2009 20:06:32 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=SYSTEM))(SERVICE_NAME=TEST)) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.112)(PORT=1981)) * establish * TEST * 12516
     </txt>