前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oracle11g监听器(Listener)的一些基础知识

Oracle11g监听器(Listener)的一些基础知识

作者头像
甚至熊熊
发布2021-04-22 17:18:26
1.1K0
发布2021-04-22 17:18:26
举报

根据计划需要学习Listener的一些基础知识,现在总结一下。

1.监听的作用

用于建立客户端与服务器之间的网络连接。 监听器运行在服务器端,属于一种网络服务,用于监听客户端向数据库发出的连接请求。

2.客户端与服务器端建立连接的过程

  1. 客户端发起一个连接请求
  2. 监听接收到请求判断是否有效
  3. 监听启动一个专用服务器进程(另有共享服务器进程模式,较少用)用于接收connection
  4. 在专用服务器进程进程启动之后,监听会将这个connection传递给这个专用服务器进程
  5. 专用服务器进程通过这个connection来跟客户端(用户进程)握手
  6. 专用服务器进程跟客户端信息交换需要建立一个session
  7. session打开

3.一条SQL执行过程

虽然与监听不太相关,但是还是记录在这 摘一段《OCP/OCA认证考试指南全册》内容

段落引用 用户进程生成SQL语句,服务器进程则执行这些语句。 一条SQL的执行经历了以下4个阶段:分析、绑定、执行及取出。 在分析阶段,服务器进程会理解指定SQL语句的实际含义以及最佳的执行方式。 分析涉及与实例的共享池的交互作用,也就是说共享池存储结构用于将SQL语句转换为实际的可执行部分。 在绑定阶段,任何变量都被扩展为字面值。随后的执行阶段需要更多地使用实例的SGA,并且还可能需要使用数据库。 在某条语句的执行期间,将会读取或更新数据库缓冲区缓存内的数据,同时将变更写入重做日志缓冲区。但是,如果相关的数据块不位于缓冲区缓存内,那么服务器进程会从数据文件中读取这些数据。这是执行语句时数据库自身唯一参与的地方。 最后,服务器进程在执行周期的取出阶段将执行语句生成的结果集发送回用户进程,用户进程随后为了显示而格式化结果集。

4.创建监听

  1. netca
  2. netmgr
  3. 手工创建监听:直接编辑listener.ora,默认路径为$ORACLE_HOME/network/admin/

5.监听操作

安装完成后使用 lsnrctl status 命令查看监听状态,其他命令有: help 查看所有命令 start 启动监听 stop 关闭监听 status 查看监听器状态 services 监看监听器提供的服务(信息比status更完整) version 显示监听器的版本 reload 强制监听器在listener.ora中重读条目 save_config 将任何联机更改写入listener.ora文件 trace 启用对监听器活动的跟踪 change_password 设置用于管理侦听器的口令(尝试设置,不过这个口令好像并不对服务器端操作监听起作用) quit 从工具退出,不保存对listener.ora文件的更改 exit 从工具退出,保存对listener.ora文件的更改 set 设置各种选线,如跟踪和超时 show 显示已为监听器设置的选项

注意:操作默认对名为LISTENER的监听执行,操作其他的名称需要指定,如lsnrctl status LISTENER2

6.监听状态

以下是执行lsnrctl status的输出

Alias监听器别名、Version监听器版本、Start Date启动时间、Uptime已启动时间、Trace Level跟踪、参数文件路径、日志文件路径。

代码语言:javascript
复制
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))

PROTOCOL:协议 HOST:监听的主机名或IP PORT:监听的端口,默认是1521

代码语言:javascript
复制
Service "pxk" has 1 instance(s).
  Instance "pxk", status READY, has 1 handler(s) for this service...

Service:服务名 Instance:实例名 status:READY 动态监听状态,静态监听状态为UNKOWN。动态监听由PMON进程自动注册

代码语言:javascript
复制
Service "pxk2XDB" has 1 instance(s).
  Instance "pxk2", status READY, has 1 handler(s) for this service...

标记为XDB的服务名是XML数据库协议服务器,允许如FTP、HTTP这样的协议连接到数据库,了解即可。

7.动态监听与静态监听

动态监听:数据库正常开启状态下可以进行连接,否则不行 静态注册:不论数据库状态如何,均能进行连接。ADG备库的listener.ora需要配置静态注册

listener.ora的静态监听格式为:

代码语言:javascript
复制
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = <db_name>)
      (ORACLE_HOME = <oracle_home>)
      (SID_NAME = <oracle_sid>)
    )
  )

8.清理监听日志文件

  1. 关闭监听日志记录 lsnrctl set log_status off
  2. 备份listener.log
  3. 清空日志 cat /dev/null > listener.log
  4. 开启监听日志记录 lsnrctl set log_status on

注意:上面包含了启动和关闭监听日志文件的方法 lisnrctl set log_status off lsnrctl set log_status off

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-01-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据库学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.监听的作用
  • 2.客户端与服务器端建立连接的过程
  • 3.一条SQL执行过程
  • 4.创建监听
  • 5.监听操作
  • 6.监听状态
  • 7.动态监听与静态监听
  • 8.清理监听日志文件
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档