监听器(Listener)
监听器是Oracle基于服务端的一种网络服务,主要用于监听客户端向数据库服务器提出的链接请求。
本地服务名(Tnsname)
Oracle客户端与服务器端的链接是通过客户端发出链接请求,由服务端监听器对客户端链接请求进行合法检查,如果链接请求有效,则进行连接,否则拒绝该链接。
Oracle Net链接方式
服务器链接数据库(既客户端与服务器位于同一台服务器)
链接方式:CONNECT username/password
所有非服务器连接数据库
服务端启动Listener进程
客户端通过 Tnsname 或者 Easy connect 或 LDAP 等名称解析方式来解析链接字符串,一旦链接成功,即使 Listener 服务停止,也不影响已连接的会话,不能建立新回话。
客户端到服务器建立会话的过程
connet username/[email protected]
例:conn scott/[email protected]
用户名:scott
密码:tiger
/:分割账密
@:网络连接所需要的用户进程
orcl:链接标识符
@后面的即为连接标识符,如上例中的orcl,链接标识符的名字是映射到链接描述符的简称,链接标识符可以为网络服务名或者别名,数据库服务名。
链接描述符
使用一种格式来描述链接信息,包含了数据库的ip、服务名、端口号等。
例:
orcl =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.2)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
orcl = :网络服务名、数据库别名。
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.2)(PORT = 1521)) :包含了IP地址,端口号1521。
(SERVICE_NAME = orcl) :服务器的数据库服务名
服务名 server_name
客户端链接到服务器实例的服务名,可以为该参数指定一个或多个服务名。该参数从9i引入,server_name 可以使用sid代替,9i之后,Oracle推荐使用 server_name 而不是 sid 通过定义不同的服务名来区分不同的用户连接。在服务器,可以定义多种不同的服务名来区分不同的用户连接。
基于相同的数据库,可以定义不同的服务名来区分不同的使用情况。
例:server_name = sales.orcl,oa.orcl
跟 hr 相关的用户可以通过 hr 服务进行连接,跟 oa 相关的用户可以通过 oa 的服务名来连接。
常用的配置文件
ldpq.ora --> 用于配置 LDAP 目录名称解析。
cman.ora --> 用于配置 Oracle 管理参数
tnsname.ora --> 用于配置本地客户端或远程客户端的本地名称解析
listener.ora --> 用于配置监听器的注册信息
sqlnet.ora --> 用于配置服务器或客户端所支持的解析方式
常用配置文件所在路径:$ORACLE_HOME/network/admin
如果是ASM文件模式,则使用grid用户。
原文地址:https://www.cnblogs.com/black-start/p/10979123.html