Oracle 11g R2 网络侦听器实验
admin
2023-04-19 08:43:15
0

单实例环境(不是RAC),侦听器和实例必须要在同一台机器上。两台机器通信必须使用一个网络协议才能进行通信,假如浏览网页需要使用http协议,远程连接需要使用RDP/ssh/telnet等等。

有一台oracle服务器,有个客户端要连接到oracle服务器上,两台机器通信就要使用oracleNET协议,和以上的协议是一样的。有协议就要有相应的端口,所以oracleNET有个默认的侦听端口1521.

其实配置oracle网络就是配置oracle侦听器,侦听器很重要,如果没有配置侦听器,客户端是无法连接到oracle服务器上面的。其实即使是在本地连接oracle服务器,侦听器也是必须要运行的。客户端远程连接到oracle服务器时使用oracleNet协议,是被封装到了tcp/ip协议中。如果是直接在本地连接数据库用的是IPC。IPC是指<进程间的通信>。

侦听器是用来接收外面的请求,在将外面的请求通过服务器进程交给实例,所以实例必须要向侦听器注册。如果监听器不知道有相应的实例肯定是不行的--即让侦听器知道有实例可以连接。oracle默认侦听器的端口是1521。

侦听器的配置文件存放在:$ORACLE_HOME/network/admin/中的instener.ora是侦听器的配置文件
Oracle 11g R2 网络侦听器实验
如果listerner的端口使用默认的1521的话,可以没有listener.ora,但是建议最好不要删除这个文件。

创建侦听器

可以通过修改listener.ora来配置侦听器以外,还可以使用其他工具来配置侦听器

netca

netmgr

使用netca添加侦听器的方法
Oracle 11g R2 网络侦听器实验
Oracle 11g R2 网络侦听器实验
Oracle 11g R2 网络侦听器实验
Oracle 11g R2 网络侦听器实验
Oracle 11g R2 网络侦听器实验
Oracle 11g R2 网络侦听器实验
Oracle 11g R2 网络侦听器实验
Oracle 11g R2 网络侦听器实验
Oracle 11g R2 网络侦听器实验Oracle 11g R2 网络侦听器实验Oracle 11g R2 网络侦听器实验
查看默认侦听器的状态
Oracle 11g R2 网络侦听器实验
查看LISTENER1的状态
Oracle 11g R2 网络侦听器实验
Oracle 11g R2 网络侦听器实验
远程客户端连接方式

远程客户端连接oracle服务器可以使用以下两个方式:

1.easy connect: conn user/password@ip:port/orcl as sysdba

2.tnsnames: conn user/password@XX

使用easy connect方式远程连接oracle服务器

客户端是win7系统,需要安装oracle客户端程序
Oracle 11g R2 网络侦听器实验Oracle 11g R2 网络侦听器实验
删除listener.ora文件中的标识的行
Oracle 11g R2 网络侦听器实验
停止侦听器服务

[oracle@orclsrv admin]$ lsnrctlstop

启动侦听器服务

[oracle@orclsrv admin]$ lsnrctl start

再去连接实例时,就无法连接,提示没有listener.
Oracle 11g R2 网络侦听器实验
将侦听器还原到没有删除之前的状态,然后重启服务lsnrctl stop/start

使用netmgr工具

删除listener1侦听器,单击左侧“X”按钮
Oracle 11g R2 网络侦听器实验Oracle 11g R2 网络侦听器实验

可以使用easy connect和tnsnames的方式连接
Oracle 11g R2 网络侦听器实验
Tnsnames连接方法:<推荐的客户端连接方式> conn user/password@XX

Tnsnames涉及到一个文件:tnsnames.ora是一个客户端的工具,将tnsnames.ora拷贝到oracle客户端安装目录中。
Oracle 11g R2 网络侦听器实验
Oracle 11g R2 网络侦听器实验
使用记事本打开tnsnames.ora文件,原始内容如下
Oracle 11g R2 网络侦听器实验
对原始内容中如图所示部分复制并粘贴到tnsnames.ora中的空白位置,进行修改
Oracle 11g R2 网络侦听器实验
修改为
Oracle 11g R2 网络侦听器实验
然后保存退出。

连接实例
Oracle 11g R2 网络侦听器实验
使用netmgr添加监听器
Oracle 11g R2 网络侦听器实验
Oracle 11g R2 网络侦听器实验
Oracle 11g R2 网络侦听器实验
Oracle 11g R2 网络侦听器实验
Oracle 11g R2 网络侦听器实验
Oracle 11g R2 网络侦听器实验
使用listener1侦听器连接实例,结果是无法连接到实例,因为实例orcl并没有在listener1侦听器上注册。默认情况下orcl实例注册到了默认的侦听器1521上面,所以目前只能使用1521来连接。
Oracle 11g R2 网络侦听器实验
实例注册到侦听器的方法有:

静态注册:在listener.ora文件中手工指定

动态注册:pmon进程每隔一分钟将服务名和实例名注册到侦听器上面

将实例注册到侦听器的方法Oracle 11g R2 网络侦听器实验
使用alter system register可以将实例注册到侦听器上。这个命令将实例注册到哪个侦听器上了呢?这条命令将实例注册到了默认的侦听器上面了。
Oracle 11g R2 网络侦听器实验
Oracle 11g R2 网络侦听器实验
ORCL是tnsnames中的解析名:即使用ORCL就能够解析出(ADDRESS = (PROTOCOL = TCP)(HOST =orclsrv)(PORT = 1521))这个地址。

SQL>alter system set local_listener="(ADDRESS = (PROTOCOL = TCP)(HOST= orclsrv)(PORT = 1521))";与alter system set local_listener=ORCL是等价的。

将实例注册到listener1上面

SQL>alter system set local_listener="(ADDRESS = (PROTOCOL = TCP)(HOST= orclsrv)(PORT = 1522))";
Oracle 11g R2 网络侦听器实验
此时使用默认的侦听器就无法连接到实例了。
Oracle 11g R2 网络侦听器实验
修改tnsnames.ora中的文件
Oracle 11g R2 网络侦听器实验
SQL>alter system setlocal_listener=LISTENER2;

系统已更改。

查看实例注册到了哪个侦听器上面:show parameter local;

如果对此文有什么问题的话,请加下面微信一起探讨
Oracle 11g R2 网络侦听器实验

相关内容

热门资讯

谷歌推出Googlebooks... IT之家 5 月 13 日消息,2026 年 I/O 开发者大会下周(5 月 19~20 日)召开之...
自控所推动GNC专业智能化升级 来源:滚动播报 (来源:中国航空报) 本报讯 5月6日,航空工业自控所召开 GNC+AI关键技术研发...
华电电力申请数据库访问方法专利... 国家知识产权局信息显示,华电电力科学研究院有限公司申请一项名为“数据库访问方法、装置、设备及介质”的...
苏州率先打造数据流通利用新范式 数据,作为第五大生产要素 具有流动性强、非消耗性、非均质性等特点 苏州率先打造数据流通利用新范式 夯...
伊媒披露伊美新一轮谈判5个先决... 当地时间5月12日,据伊朗法尔斯通讯社援引知情人士消息报道,伊朗对与美国新一轮谈判提出的5个先决条件...
英国将向霍尔木兹海峡多国护航行... 当地时间12日,总台记者从英国国防部获悉,英国将向在霍尔木兹海峡执行任务的多国护航行动提供无人机、战...
强化技术引领场景培育政策保障 ... 5月11日,省长叶建春就脑机接口技术与产业创新工作开展专题调研。他强调,脑机接口是培育未来产业发展新...
上海交大王如竹教授领衔撰写的“... 4月30日,国际制冷学会(IIR,International Institute of Refrig...
非人类身份蔓延:智能体AI真正... 长期以来,企业依赖服务账户、API密钥、OAuth令牌等各类非人类身份凭证,使不同服务能够在数字环境...
脑机接口“狂飙” 从病房走向多... (记者 陈锦锋)当大脑的神经信号能够直接与外部设备对话,“心想事成”便从科幻走向现实。近日,中南大学...