实验一:

1.修改listener.ora文件,定义LISTENER(默认监听)这个监听服务的ip和端口为0.0.0.0:1521
lsnrctl命令管理oracle数据库监听服务的基本原理
2.确认当前不存在已经启动的监听服务,然后启动监听服务,监听服务的ip为0.0.0.0端口为1521
lsnrctl命令管理oracle数据库监听服务的基本原理
lsnrctl命令管理oracle数据库监听服务的基本原理
3.直接修改listener.ora文件里面的端口为1522
lsnrctl命令管理oracle数据库监听服务的基本原理
4.然后再次用lsnrctl status 命令查看端口状态还是用lsnrctl stop命令停止都会报错,经过查询发现之前端口为1521的监听服务进程还在运行
lsnrctl命令管理oracle数据库监听服务的基本原理
lsnrctl命令管理oracle数据库监听服务的基本原理

5.继续使用lsnrctl start 命令发现在lsnrctl stop命令和lsnrcltl status命令执行失败的情况下lsnrctl start能够成功启动,创建了一个端口为1522的监听服务
lsnrctl命令管理oracle数据库监听服务的基本原理
6.根据猜想查看监听进程,发现有两个监听服务在运行,端口分别是1521和1522,分别通过sqlplus工具用这两个端口远程访问数据库发现都连接成功,证明这两个个监听进程都是运行正常的
lsnrctl命令管理oracle数据库监听服务的基本原理
lsnrctl命令管理oracle数据库监听服务的基本原理
7.再重复执行一次lsnrclt start命令发现会报报监听已经启动这个错误
lsnrctl命令管理oracle数据库监听服务的基本原理
8.用lsnrctl stop 关闭监听,发现当前和listener文件里端口对应的监听(端口为1522)已经关闭(到这里已经很明显了)。
lsnrctl命令管理oracle数据库监听服务的基本原理
9.继续执行关闭监听的命令,发现报错,端口为1521的监听还在,而且还可以用来连接到数据库
lsnrctl命令管理oracle数据库监听服务的基本原理
lsnrctl命令管理oracle数据库监听服务的基本原理
10.根据猜想,我把listener.ora文件里面的端口改回1521,然后再用lsnrctl stop 关闭该监听服务,关闭成功
lsnrctl命令管理oracle数据库监听服务的基本原理
lsnrctl命令管理oracle数据库监听服务的基本原理

结论:

1.在用命令启动监听的时候的时候,会读取 listener.ora 文件中定义监听时候所用的参数来创建监听服务(进程)


2.在监听服务启动完毕后,也就是lsnrclt start命令成功结束后,通过该命令在系统中已经创建好的的监听服务(进程)本身已经和listener.ora文件没有关系。


3.但是当需要用lsnrctl status,lsnrctl stop 等命令对系统中已经在运行的的监听服务(进程)进行管理时还是需要借助listener.ora这个文件。


4.当执行lsnrctl status,lsnrctl stop 等命令的时候,首先命令程序会从listener.ora 文件中读取出对应监听的ip和端口,然后用读取的ip和端口连接系统上正在运行的监听服务(进程),然后监听服务(进程)根据具体的命令,返回对应的结果


5.以执行 lsnrclt stop 命令为例,执行这个命令时候,命令程序会先读取listener.ora 这个文件去除ip和端口,然后用这个ip和端口访问系统上正在运行的监听服务(进程),进程根据"stop"这个命令返回做出相应的操作然后返回结果。


6.每个对监听服务的操作都会有下面这行,这行的意思就是从listener.ora 文件中取出 0.0.0.0:1522 然后用它连接到监听服务,然后监听服务返回服务的状态,如果通过0.0.0.0:1522没有找到监听服务就会报上面实验里面的错
lsnrctl命令管理oracle数据库监听服务的基本原理


7.也就是说在定义监听时候定义的监听ip和端口参数,并不仅仅只是监听来自客户端的数据库连接请求的,lsnrctl命令对监听服务(进程的管理)也是通过该ip和端口来实现的


8.知道了原理,在对监听服务进行操作时候如果遇到报错就可以根据具体情况具体分析了

相关文章:

  • 2021-07-09
  • 2021-10-02
  • 2022-01-21
  • 2022-12-23
  • 2022-01-14
  • 2019-11-26
  • 2021-11-07
  • 2022-01-06
猜你喜欢
  • 2021-08-23
  • 2021-06-06
  • 2021-04-29
  • 2022-12-23
  • 2021-09-14
  • 2021-11-02
相关资源
相似解决方案