关于监听的总结(监听配置里的host部分只能使用主机名吗,用IP地址或localhost不能正确启动监听程序吗?)

第一部分:

lsnrctl工具下的三个命令,分别是status、stop、start。

我们从三个命令执行后在屏幕上显示的结果来看,可以发现一个共性,就是都有“正在连接到”这句话 。

而且status和start两个命令在“正在连接到”这句话 之后的要显示的内容(基本)是一样的。

还有start执行后在屏幕上显示的结果的开头部分有“启动tnsctl。。。。。监听:”的字样,说明它先是(如果该监听程序原先不存在的话,就会先创建再)启动一个监听程序。

由此,可以看出三个命令里都是分步执行的。


status 监听名A(指的是程序 ,这里)   :是先连接到“正在连接到”后面的监听配置所对应的监听程序上,之后再显示(status)该监听程序的状态信息。

stop  监听名B   :是先连接到“正在连接到”后面的监听配置所对应的监听程序上,之后再停止(stop)该监听程序。

提示:如果所连接的监听程序未启动,则这两个命令的执行结果就会提示“无监听程序”。


start 监听名C   :是先检查是否已经有叫“监听名C”的监听程序启动了,启动了,该命令就会再往下执行,并提示“已有监听名C的监听程序启动”。如果未启动,则再启动监听名C的监听程序。最后,在连接到该监听名C的监听程序(也就是“正在连接到”后面的监听配置所对应的监听程序)上,执行和status最后一步一样的步骤,即显示该监听程序的状态信息。

在进入lsnrctl工具环境时,lsnrctl工具会一次性读取listener.ora文件上的所有内容到内存上,在未退出lsnrctl工具环境前,执行任何命令(start命令除外),都不会再次读取listener.ora文件上的内容,所以在未退出lsnrctl工具环境前,无论listener.ora文件上的内容是否有改变或是干脆将listener.ora文件删除或是移走,都不会影响lsnrctl工具里命令的执行结果。

除非,例如在进入lsnrctl工具环境后,start监听名A,再status监听名A。之后,退出lsnrctl工具环境。然后,修改监听名为A的监听配置。之后,再重新进入lsnrctl工具环境,status监听名A,则提示“无监听程序”,因为此时执行status时连接到的修改配置后的监听程序,而该程序未启动。未修改前的配置的监听程序仍是处于启动状态的。这样,就会影响lsnrctl工具里命令的执行结果。会影响命令执行结果。

你可能感兴趣的:(Oracle网络配置,oracle体系架构)