根据计划需要学习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跟踪、参数文件路径、日志文件路径。

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))

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

Service "pxk" has 1 instance(s).  Instance "pxk", status READY, has 1 handler(s) for this service...

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

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的静态监听格式为:

SID_LIST_LISTENER =  (SID_LIST =    (SID_DESC =      (GLOBAL_DBNAME = )      (ORACLE_HOME = )      (SID_NAME = )    )  )

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

oracle服务器端怎么打开监听_Oracle11g监听器(Listener)的一些基础知识相关推荐

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

    Oracle 11g ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务 解决过程: 1. 找到listener.ora监听文件,具体位置:D:\app\Administrator ...

  2. Oracle 命名服务和监听程序

    Oracle 命名服务和监听程序 这段时间在做命名服务和监听服务,做异构数据库迁移,从SQL server 2005中到Oracle 10gR2中.对命名服务和监听服务有了了解: 命名服务:conn ...

  3. PL/SQL登录Oracle数据库提示“无监听程序”解决办法

    PL/SQL登录Oracle数据库提示"ORA-12541:TNS:无监听程序" 解决办法: 1.打开Oracle Net Manager 监听下的listener主机地址改成主机 ...

  4. 启动Oracle服务并启动监听

    1. 启动Oracle服务 重启Linux服务器后,Oracle服务还需要手动启动.启动步骤如下: 登录到Linux服务器,并切换到oracle用户权限下(命令:su - oracle) 运行sqlp ...

  5. nginx源码分析:打开监听套接字的流程

    问题源于在分析nginx的源码时,找了半天没有找到nginx是怎么把监听套接字读事件添加到事件循环中的,后经过仔细的分析,终于搞明白,于是记录一下. 在上一篇module机制中介绍了nginx添加mo ...

  6. oracle 监听报错,Oracle EBS系统数据库监听报错TNS-12547、TNS-12560和TNS-00517解决方法...

    记得有一次Oracle EBS系统中止运行3小时,实在比较一次惨痛的教训,让我至今记忆犹新. 问题症状:用户反映提交的请求全部是红色错误 开始意为是并发管理"标准管理器"的问题,在 ...

  7. oracle 11g 修改默认监听端口1521

    一.oracle 11g 修改默认监听端口1521 Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Producti ...

  8. 新建的ORACLE实例要开启监听,创建ORACLE实例与设置监听器过程

    一.在ORACLE创建一个新的实例过程: 1.安装好ORACLE服务端. 2.创建数据库实例,使用ORAHOME目录下的"Configuration and Migration Tools& ...

  9. oracle数据库提示无监听,【原创】PL/SQL连数据库提示无监听程序

    一.问题描述: 安装好ORACLE服务器端后,利用PL/SQL连数据,提示无监听程序. 二.解决步骤: 1.检查防火墙. 将防火墙关闭. 2.查看监听服务. 在管理工具->服务中查看监听服务是否 ...

  10. oracle设置本地服务监听端口号,如何开启监听端口号

    数据库监听程序为启动 HOST应该是IP或者主机名 PORT应该是端口号,看你报错信息,你应该弄的有问题啊; 本地实例名= (DESCRIPTION = (ADDRESS = (PROTOCOL = ...

最新文章

  1. 点云处理如何从入门到实践?(附完整学习路线)
  2. 修改NavigationBar的分根线颜色
  3. VC 在对话框中增加菜单栏
  4. vb查询xml中特定节点下的标签_Python 标准库之XML
  5. TIA Portal
  6. 【基础】吴恩达机器学习笔记 - 线性回归 代价函数 梯度下降
  7. SQLMap使用总结
  8. 【RBM】代码学习--DeepLearningToolBox
  9. 计算机毕业设计最新选题汇总(持续更新)
  10. 【KITTI可视化】kitti三维目标标注可视化
  11. python笔记-find()函数的用法
  12. Alexa Top 1000000
  13. python数字转拼音输出,[python] pinyin 模块 -- 将汉字文本转化为拼音
  14. Calib 工具说明
  15. 15分钟快速搭建属于自己的网站
  16. flash 不显示 旋转 补间动画_【图片】Flash入门5:详解制作补间动画(非传统补间)【flash软件吧】_百度贴吧...
  17. 交叉编译 foo2zjs
  18. dbeaver(下载、安装图文过程)
  19. 转:理想主义终结年代的七种兵器
  20. Java中找出缺失的数字

热门文章

  1. Linux 用top命令查看CPU和内存使用情况
  2. 数字转换成货币类型的方法
  3. C++ STL 学习 :for_each与仿函数(functor)
  4. Xamarin.ios引用第三方SDK
  5. 膝盖中了一箭之康复篇-第九个月暨3月份目标总结
  6. 案例分享:Windows Phone上的移动浏览体验
  7. MySQL数据库迁移注意点
  8. 分享一个自己写的table表格排序js插件(高效简洁)
  9. 小程序优化处理解决方案1 请求和setData
  10. 微服务架构实战篇(二):Spring boot2.0 + Swagger2 让你的API可视化