日期:2014-05-16  浏览次数:20820 次

关于Oracle的tns登录的问题
刚刚接触Oracle,有些东西不明白。Basic登录明白,通过ip,端口什么的容易理解。Tns是什么?为什么我通过tns登录报异常
Status : Failure -Test failed: Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor


 GVPEFT01 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = segotl0865.srv.volvo.com)(PORT = 1523))
    )
    (CONNECT_DATA =
      (SID = gvpeft01)
      (SERVER = DEDICATED)
    )
  )

但是我通过basic方式连接,就能连上,这是为什么?
------解决方案--------------------
引用:
刚刚接触Oracle,有些东西不明白。Basic登录明白,通过ip,端口什么的容易理解。Tns是什么?为什么我通过tns登录报异常
Status : Failure -Test failed: Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor


 GVPEFT01 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = segotl0865.srv.volvo.com)(PORT = 1523))
    )
    (CONNECT_DATA =
      (SID = gvpeft01)
      (SERVER = DEDICATED)
    )
  )

但是我通过basic方式连接,就能连上,这是为什么?

其实就好比域名解析定义了一个别名。当你用别名进行连接的时候,ORACLE会自动的在这个文件中映射别名所对应的详细信息(IP,端口等),从而连接到服务端。
在服务端配置LISTENER文件来监听客户端的连接从而进行响应