Oracle数据库学习_Oracle监听程序LISTENER和网络服务名Tnsname

Posted TONGYING2020

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle数据库学习_Oracle监听程序LISTENER和网络服务名Tnsname相关的知识,希望对你有一定的参考价值。

什么是监听器(LISTENER)?

 监听器是oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。oracle客户端与服务器端的连接是通过客户端发出的连接请求,由服务器端监听器对客户端请求进行合法检查,如果连接请求有效,则进行连接,否则拒绝该连接。

监听器配置文件listener.ora。

什么是网络服务名(Tnsname)?

网络服务名也称为“连接标识符”,即为该远程连接配置命名。它代表了整个连接描述,包括通信协议,主机名,端口号,服务器名称,在连接的时候只需要@网络服务名 即可连接到指定的数据库。例如在cmd或者终端输入“sqlplus 用户名/口令@网络服务名”(如 “sqlplus system/manager@orcl”),就能顺利访问指定的数据库服务器。

网络服务名是基于oracle客户端的网络配置,如果客户端需要连接数据库服务器进行操作,则需要配置该客户端,所以该客户端可以是任意一台欲连接数据库服务器进行操作的PC机,也可以是数据库服务器自身。

网络服务名配置文件tnsnames.ora。

本地访问本地数据库服务器

本地访问本地数据库服务器,也需要在本地同时配置监听和网络服务名。

标准监听配置listener.ora示例:

 # listener.ora Network Configuration File: D:APP_oracle12cproduct12.1.0dbhome_1NETWORKADMINlistener.ora

# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = AML)
(ORACLE_HOME = D:APP_oracle12cproduct12.1.0dbhome_1)
(SID_NAME = AML)
)
)

LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)

ADR_BASE_LISTENER = D:APP_oracle12cproduct12.1.0dbhome_1log

 

标准监听配置tnsnames.ora示例:

# tnsnames.ora Network Configuration File: D:app yproduct12.1.0dbhome_1 etworkadmin nsnames.ora
# Generated by Oracle configuration tools.

LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))


ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)

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

 本地远程连接oracle数据库服务器

 本地远程连接oracle数据库服务器,需要在数据库服务器端(监听配置)和客户端(网络服务名配置)分别进行配置。两个配置文件和本地访问本地数据库相同,只是HOST=localhost 改为 HOST=数据库服务器端的IP。

 

以上是关于Oracle数据库学习_Oracle监听程序LISTENER和网络服务名Tnsname的主要内容,如果未能解决你的问题,请参考以下文章

Oracle数据库学习_Oracle监听配置和网络服务名配置的三种方法

oracle11G 已开启监听,但远程连接依旧无监听解决过程

linux操作系统下oracle数据库如何配置监听

oracle监听程序驻留在哪里?

就是关于oracle的 无监听程序的错误 监听已经开了

oracle 11g ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务