tnsnames.ora和tnsping

oracle客户端连接数据库

oracle客户端可以通过配置tnsnames.ora来连接数据库的,比如P/L SQL Developer。还有其它的是通过JDBC去连的。

tnsnames.ora记录了要连接数据库的信息。

例如:

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )


tns连接字符串的格式为:

<addressname> =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(Host = <hostname>)(Port = <port>))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = <sid>)
    )
)


注:addressname必须顶格写。如果是RAC模式,在ADDRESS_LIST下面添加多个ADDRESS

tnsping命令用来解析tns别名对应的ip和端口是否能ping通。

例如在tnsnames.ora中加入:

inst_xe =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.12.6)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = XE)
    )
  )


使用“sqlplus 用户/密码@tns别名” 登录:

sqlplus scott/tiger@inst_xe