从Oracle数据库中的本地命名文件tnsnames.ora来看服务别名、服务名和实例名的区别。


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的会话。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM