我机子上一个数据库启动了2个实例,orcl和vcitest,但是vcitest可以tnsping的通,而tnsping orcl总报TNS-03505 无法解析名称,sqlplus的话oracl报ORA-12541 无监听程序,这是为什么呢?

解决方案 »

  1.   

    先lsnrctl status看看实例注册的情况。
      

  2.   

    贴一下 数据库 服务器的listener.ora
    ,客户端机器的  tnsnames.ora
      

  3.   

    # listener.ora Network Configuration File: E:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\listener.ora
    # Generated by Oracle configuration tools.LISTENER1 =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = www-ae26ae9a186)(PORT = 10000))
      )LISTENER =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = www-ae26ae9a186)(PORT = 1521))
      )
    # tnsnames.ora Network Configuration File: E:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora
    # Generated by Oracle configuration tools.SF =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = www-ae26ae9a186)(PORT = 10000))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = orcl)
        )
      )VCITEST =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = www-ae26ae9a186)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = vcitest)
        )
      )VCIPDM =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.117)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = vcipdm)
        )
      )查看监听的话,vcitset监听启动了,但是orcl的监听没有启动,用lsnrctl start命令,显示监听已启动,
    但是启动的是listener,orcl的listener1没有启动,怎么启动listener1啊?
      

  4.   

    启动不了,报listener.ora中缺少监听程序名listener1,TNS-01151错误,可是在listener.ora中有listener1监听程序啊,难道要区分大小写?
      

  5.   

    服务里多了好几个listener,这是怎么回事?
    OracleOraDb10g_home1TNSListener
    OracleOraDb10g_home1TNSListenerlistener1
    OracleOraDb10g_home1TNSListenerlistenerlistener1
    以前只有OracleOraDb10g_home1TNSListener,
    其他连个启动时候系统报错,说服务启动了又停止了,一些服务自动停止,如果他们没有什么好做的
      

  6.   

    多的是这个两个OracleOraDb10g_home1TNSListenerlistener1 
    OracleOraDb10g_home1TNSListenerlistenerlistener1 不知道这块window上Oracle是怎么做的,这里的两个相当于运行命令
    lsnrctl start listener1
      

  7.   

    现在可以tnsping通了,但是连接orcl的时候报ORA-12514监听程序当前无法识别连接描述符中的请求,vcitest可以正常登陆。
      

  8.   

    服务器端的listern.ora# listener.ora Network Configuration File: E:\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 = E:\oracle\product\10.2.0\db_1)
          (PROGRAM = extproc)
        )
      )LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
        )
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = www-ae26ae9a186)(PORT = 1521))
        )
      )LISTENER1 =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
        )
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = www-ae26ae9a186)(PORT = 10000))
        )
      )服务器端的tnsname.ora# tnsnames.ora Network Configuration File: E:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.PDM =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = devcenter)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = pdm)
        )
      )VCITEST =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = www-ae26ae9a186)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = vcitest)
        )
      )VCIPDM =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.117)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = vcipdm)
        )
      )ORCL =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = www-ae26ae9a186)(PORT = 10000))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
        )
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
        )
      )
    帮忙看下有错吗?
      

  9.   

    客户端的tnsname.ora
    # tnsnames.ora Network Configuration File: E:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora
    # Generated by Oracle configuration tools.SF =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = www-ae26ae9a186)(PORT = 10000))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = orcl)
        )
      )VCITEST =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = www-ae26ae9a186)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = vcitest)
        )
      )VCIPDM =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.117)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = vcipdm)
        )
      )
      

  10.   

    “监听程序控制实用程序”(Listener Control Utility)
    发出lsnrctl 命令时,除非执行了SET LISTENER 命令,否则,该命令将
    对缺省监听程序“listener”进行操作。控制其它监听程序的另一种方式是将监
    听程序名用作命令修改符:
    $ lsnrctl start listener02
    控制非缺省监听程序
    LSNRCTL> set current_listener listener02