tnsnames.ora的作用这里就不多述了,各位应该都知道。
首先先看两个例子:
test1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = ORCL)
)
)
test2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =serv2.example.com )(PORT = 1521))
)
(CONNECT_DATA =
(SID = ORCLPDB)
)
)
---------------------
上面两个例子,定义了两个Oracle Net服务别名,分别为test1和test2。这里的test1和test2,可以作为客户端连接数据库时所使用的连接描述符,为什么要使用连接描述符,因为简单啊,你也可以通过简单连接方式连接数据库,格式为connect username/password@hostname:1521/orcl。这种方式明显比直接通过连接描述符复杂。
test1中,侦听器使用服务名(service_name)ORCL建立一个针对指定实例的会话。test2中,侦听器建立一个针对实例(sid)ORCLPDB的会话。