网上看了很多帖子了  无法解决 请高手帮忙本地listener.ora
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = E:\oracle\product\10.2.0\client_1)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = 10.1.127.198)
      (SID_NAME = ORCL)
    )
  )LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.127.198)(PORT = 1521))
  )tnsnames.oraORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.127.198)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )
服务器listenr.ora
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /u01/app/oracle/oracle/product/10.2.0/db_1)
      (PROGRAM = extproc)
    )
  )
 
LISTENER =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.127.198)(PORT = 1521))
      (CONNECT_DATA=
      (SERVICE_NAME=orcl)
    )
)tnsnames.ora
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.127.198)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = orcl)
    )
  )dos 下
tnsping iP 或实例名都可以

解决方案 »

  1.   

    PS:
    oracle 开启
    监听开启
    防火墙关闭
      

  2.   

    装客户端,配置下NET CONFIRGURE ASSISTANT!
      

  3.   

    本地tnsnames.ora 修改下,再试试看:ORCL=
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.127.198)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )
      

  4.   

    本地listener.ora 格式要注意,要左对其
      

  5.   

    修改服务器listenr.ora,SID_LIST_LISTENER = 
      (SID_LIST = 
        (SID_DESC = 
          (SID_NAME = PLSExtProc) 
          (ORACLE_HOME = /u01/app/oracle/oracle/product/10.2.0/db_1) 
          (PROGRAM = extproc) 
        ) 
      ) LISTENER = 
        (DESCRIPTION = 
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.127.198)(PORT = 1521)) 
        ) 
    ) 侦听器只需要在服务器端有就可以了,
    连接时使用的是本地tnsnames.ora 和 服务器端listener.ora 
    本地侦听器用不上,除非你本地也有个安装了ORACLE!
      

  6.   

    RHEL4 + ORACLE10G 
    本地用的10Gclientlintener.oraLISTENER =
    (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.127.198)(PORT = 1521)) 
    )
      
    SID_LIST_LISTENER =
     (SID_LIST =
      (SID_DESC =
       (ORACLE_HOME = /u01/app/oracle/oracle/product/10.2.0/db_1)
       (SID_NAME = orcl)
      )
     )tnsnames.oraORCL =
     (DESCRIPTION =
      (ADDRESS_LIST =
       (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.127.198)(PORT = 1251))
      )
      (CONNECT_DATA = 
       (SERVICE_NAME = orcl)
      )
     )
    现在在DOS下运行tnsping orcl显示无监听程序
    10gclient 运行sql plus 同样显示无监听程序ORACLE 已经启动监听状态如下:Connecting to (ADDRESS=(PROTOCOL=TCP)(HOST=10.1.127.198)(PORT=1521))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 10.2.0.1.0 - Production
    Start Date                12-MAR-2009 16:19:47
    Uptime                    0 days 0 hr. 8 min. 52 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   /u01/app/oracle/oracle/product/10.2.0/db_1/network/admin/listener.ora
    Listener Log File         /u01/app/oracle/oracle/product/10.2.0/db_1/network/log/listener.log
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.1.127.198)(PORT=1521)))
    Services Summary...
    Service "orcl" has 1 instance(s).
      Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
    The command completed successfully
      

  7.   

    看一下这个listener.ora 文件。
      

  8.   

    确保服务器端的LISTENER已经启动,
    可以使用lsnrctl start命令启动
    上面的 tnsnames.ora 端口有错ORCL = 
    (DESCRIPTION = 
      (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.127.198)(PORT = 1251)) 
      ) 
      (CONNECT_DATA = 
      (SERVICE_NAME = orcl) 
      ) 
    ) 如果还不行
    试试重新注册侦听器
    alter system register如果还不行,看看local_listener参数
    SQL> show parameter local_listNAME                                 TYPE        VALUE
    ------------------------------------ ----------- -----------------
    local_listener                       string如果VALUE不为空,则alter system set local_listener='';(修改为动态注册)
    重新注册侦听器,alter system register;
      

  9.   

    LS说得确实是个失误,更改之后,还是不行
    后来在sqlnet.ora文件中进行如下处理#SQLNET.AUTHENTICATION_SERVICES= (NTS)NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)结果连接成功了.