

Oracle数据库采用的客户端-服务器的Client-Server的架构。Oracle的客户端需要通过使用Oracle数据库提供的网络环境来建立与服务器端通信,从而实现正常的数据库访问。Oracle的网络环境如下图所示。

监听程序在Oracle网络服务的作用是非常重要的。监听程序会负责为客户端建立与数据库服务器之间的连接。Oracle提供了命令lsnrctl用于启动和停止监听程序。下图展示了Oracle客户端是如何通过监听器程序与数据库服务器端建立连接的。

从图中可以看出,当客户端与数据库服务器端建立连接后,客户端执行的所有SQL语句将直接由Oracle数据库的服务器进程执行。因此,Oracle的监听器只在建立连接时会用到。
视频讲解如下:
对于数据库管理员DBA来说,启动和关闭Oracle监听器是很基础的任务。但是对于Linux系统管理员或者程序员有时也需要在开发数据库中做一些基本的数据库管理操作,因此了解一些基本的管理操作对他们来说很重要。Oracle数据库提供了命令lsnrctl来管理监听器。该命令可以检查监听器的状态、启动监听器和停止监听器。这里通过具体的步骤来演示如何使用命令lsnrctl。
(1)查看命令lsnrctl的帮助信息。
lsnrctl help
# 输出的信息如下:
LSNRCTL for Linux: Version 21.0.0.0.0 - Production on 20-MAR-2022 16:29:12
Copyright (c) 1991, 2021, Oracle. All rights reserved.
The following operations are available
An asterisk (*) denotes a modifier or extended command:
start stop status services
servacls version reload save_config
trace spawn quit exit
set* show* (2)查看监听的状态。
lsnrctl status
# 输出的信息如下:
LSNRCTL for Linux: Version 21.0.0.0.0 - Production on 20-MAR-2022 16:30:29
Copyright (c) 1991, 2021, Oracle. All rights reserved.
Connecting to
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oraclevm)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 21.0.0.0.0 - Production
Start Date 06-DEC-2021 10:19:41
Uptime 104 days 6 hr. 10 min. 48 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/homes/OraDB21Home1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/oraclevm/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oraclevm)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=oraclevm)(PORT=5500))
(Security=(my_wallet_directory=/u01/app/oracle/admin/orcl/xdb_wallet))
(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "Oracle8" has 1 instance(s).
Instance "ORCL", status UNKNOWN, has 1 handler(s) for this service...
Service "c8209f27c6b16005e053362ee80ae60e" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
# 在输出的监听状态信息中,包含了以下的内容:
# (*)监听器的启动时间
# (*)监听器的运行时间
# (*)监听器参数文件listener.ora的位置
# (*)监听器日志文件的位置原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。