7、listener监听
启动远程图形界面登录的工具
[root@db11g ~]# vncserver
监听
监听的启动
[oracle@db11g ~]$ lsnrctl start
判断监听是否启动
[oracle@db11g ~]$ netstat -tulnp | grep 1521
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 :::1521 :::* LISTEN 1440/tnslsnr
-- LISTEN:表示监听已经启动
-- 1440:监听对应的进程编号
-- ::: 表示所有的IP地址都启动1521端口
查看监听状态
[oracle@db11g ~]$ lsnrctl status -- 这个命令默认是:lsnrctl status listener
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 13-JAN-2017 02:56:53
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db11g)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 10-JAN-2017 19:47:03
Uptime 2 days 7 hr. 9 min. 49 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/db11g/listener/alert/log.xml
Listening Endpoints Summary…
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=db11g)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary…
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service…
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service…
The command completed successfully
查看监听进程
[oracle@db11g ~]$ ps -ef | grep 1440
oracle 1440 1 0 Jan10 ? 00:00:11 /u01/app/oracle/product/11.2.0/db_1/bin/tnslsnr LISTENER -inherit
oracle 13687 13645 0 02:59 pts/0 00:00:00 grep 1440
监听表现为一个进程,默认端口号:1521
监听的配置文件
1、listener.ora文件(主要配置监听)
listener.ora文件:服务器端的(启动监听的时候读listener.ora文件)
listener.ora文件位置:
[oracle@db11g ~]$ cd /u01/app/oracle/product/11.2.0/db_1/network/admin
[oracle@db11g admin]$ ls
listener.ora samples shrept.lst tnsnames.ora
listener.ora文件控制着监听
没有listener.ora文件时:
如果没有listener.ora配置文件,监听也可以启动,默认使用1521端口,所有IP都启动1521端口,下图解释:

默认情况下,以后通过所有的IP地址都可以连接
查看任意一个IP地址是否启动1521端口,启动着1521端口都可以连接上数据库实例
以192.168.56.70为例:
[oracle@db11g ~]$ telnet 192.168.56.70 1521

这就表示着:在192.168.56.70地址上启动着1521端口
然后ctrl+c退出
启动数据库实例:
[oracle@db11g ~]$ sqlplus / as sysdba --登录数据库
SQL*Plus: Release 11.2.0.4.0 Production on Fri Jan 13 06:02:46 2017
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> startup --启动数据库实例
配置listener.ora监听文件(建立、添加一个监听)
只想要某一个IP地址启动1521端口,例如:只想在192.168.56.70这个IP地址上启动1521端口,这时要去生成一个配置文件:
1、使用vnc连接上数据库

2、点击continue按钮

3、输入密码,点击OK

点击'X'关闭

打开open terminal

4、使用netca命令配置监听,可以生成listener.ora这个文件:
首先Set and export DISPLAY(指定图像映射机器):
[oracle@db11g admin]$ export DISPLAY=192.168.56.1:0.0

5、选择listener configuration,点击next

6、因为没有listener.ora这个文件,所以选择Add,点击next

7、监听的名字,默认就要LISTENER,点击next

8、选择TCP,点击next

9、选择默认端口1521

10、选择No,点击next


11、点击finish

配置完成
12、查看配置完成的listener.ora文件:
[oracle@db11g ~]$ cd $ORACLE_HOME
[oracle@db11g db_1]$ cd network/admin
[oracle@db11g admin]$ ls
listener.ora samples shrept.lst tnsnames.ora
13、修改listener.ora文件:
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.70)(PORT = 1521)) --将原来的主机名改为IP地址:192.168.56.70
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = /u01/app/oracle
注意:LISTENER监听这个名字不要去修改它,因为pmonitor默认是往名字为LISTENER的监听里注册instancename和servername
14、重新启动监听
[oracle@db11g admin]$ lsnrctl stop -- 关闭监听
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 16-JAN-2017 15:08:18
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.12)(PORT=1521)))
The command completed successfully
[oracle@db11g admin]$ lsnrctl start -- 启动监听
[oracle@db11g admin]$ lsnrctl status --查看监听状态
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 16-JAN-2017 15:09:53
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.12)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 16-JAN-2017 15:09:04
Uptime 0 days 0 hr. 0 min. 49 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFFL
istener Parameter File /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/db11g/listener/alert/log.xml
Listening Endpoints Summary…
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.12)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary…
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service… --说明监听已成功启动
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service…
The command completed successfully
15、再次查看监听
[oracle@db11g admin]$ netstat -tulpn | grep 1521
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 192.168.56.70:1521 0.0.0.0:* LISTEN 1583/tnslsnr
这时候只有192.168.56.70这个IP地址上启动了1521端口
监听的静态注册
我们也可以建立多个监听,但是pmonitor默认是往名字为LISTENER的监听里注册instancename和servername,就会导致使用其他监听连接数据库实例的时候连接不上
图解:

如何静态注册监听?
1、使用netmgr命令:
[oracle@db11g admin]$ netmgr
2、选择listener1,然后选择database services

3、选择add database

4、输入global database name:cis1(服务名,可以自己输入),SID:cis(数据库实例名)

5、保存,然后退出

6、重启监听listener1,查看状态
[oracle@db11g admin]$ lsnrctl reload listener1
[oracle@db11g admin]$ lsnrctl status listener1

静态注册的监听listener1:

status的几个状态
1、ready:可以连接,动态注册
2、blocked:不可以连接,动态注册
3、unknown:静态注册,是否可以连接取决于实例是否启动
监听的几个情况:
多个监听
1、两个名字:
一个ip、两个端口
两个ip、一个端口
2、一个名字:
一个ip、两个端口,但是只起一个进程

两个ip、一个端口
一般情况我们说的是:两个名字、两个ip、同一个端口,listener1静态注册的

7、listener监听的更多相关文章
- java多个listener监听
java 多个listener 监听方法 在class 名称上一行添加@Listeners 括号中用逗号隔开 @Listeners({com.example.MyListener.class,com. ...
- Listener 监听Session内的对象
Listener用于监控Session内的对象,分别是HttpSessionBindingListener与HttpSessionActivationListener.它们的触发时机分别为: Http ...
- Android Listener 监听的几种写法
Android中,View的Listener方法,在是否使用匿名类匿名对象时,有各种不同的写法. OnClickListener和其他Listener方法一样,都是View类的接口,重载实现后就能使用 ...
- 怎样绕过oracle listener 监听的password设置
怎样绕过oracle 监听的password设置: 1.找到监听进程pid ,并将它kill 掉 ps -ef|grep tns [oracle@lixora admin]$ ps -ef|gr ...
- javaWeb学习之Listener监听
] 一.监听器Listener javaEE包括13门规范 在课程中主要学习 servlet技术 和 jsp技术 其中 servlet规范包括三个技术点:servlet listener filt ...
- Listener 监听对象的属性变化
Listener用于监听Session.context.Request的属性变化,接口名称格式为xxxAttributeListener,包括HttpSessionAttributeListener. ...
- Listener 监听对象的创建和销毁
HttpSessionListener.ServletContextListener.ServletRequestListener分别用于控制Session.context.request的创建和销毁 ...
- 关闭listener监听日志
有几次碰到过由于监听日志文件大小达到几G,使得在连接时非常慢,像hang住一样,windows下的监听日志达到4G限制,后续连接如果无法写监听日志,就会产生TNS-12537报错,可以通过关闭写监听日 ...
- Listener监听器之HttpSessionListener
编写一个OnlineUserListener. package anni; import java.util.List; import javax.servlet.ServletContext; im ...
- listener 监听 tomcat 容器的初始化和销毁
为了简单,就写个统计Action 请求数量的例子: 1.首先写个 listener public class TestServletContextListener implements Servlet ...
随机推荐
- Go 闭包捕获问题
在 Go 语言中,闭包(closure)是一个函数值,它引用了其外部作用域中的变量.简而言之,闭包能够"捕获"并"记住"其外部作用域中的变量,即使这个变量的生命 ...
- Node.js 使用
创建 Node 项目 npm init -y # 初始化 Node 项目 package.json 文件 这个文件记录了项目的相关信息. { "name": "hello ...
- Patlibc———更快捷的更换libc
起初是为了简化做pwn题目时,来回更换libc的麻烦,为了简化命令,弄了一个小脚本,可以加入到/usr/local/bin中,当作一个快捷指令 这个写在了tools库(git clone https: ...
- 【SpringBoot Demo】MySQL + JPA + Hibernate + Springboot + Maven Demo
主要包含:springboot+jpa+hibernate+mysql+lombok (两年前写过一个,现在重新记录一个) 1. 目录结构: 2. pom 文件 1 <?xml version= ...
- 深度学习学习率(Learning Rate)lr理解
现在是2024年4月23日13:54,在看代码了,嗯,不能逃避,逃避可耻,会痛苦,看不懂多看几遍多写一下就好了,不能逃避了哈,一点一点来就是了,我还有救. 如何理解深度学习中的学习率(Learning ...
- ST-SSL: 用于交通流量预测的时空自监督学习《Spatio-Temporal Self-Supervised Learning for Traffic Flow Prediction》(交通流量预测、时空异质性、自监督、数据增强)
2023年10月23日,继续论文,好困,想发疯. 论文:Spatio-Temporal Self-Supervised Learning for Traffic Flow Prediction Git ...
- perf时 出现[kernel.kallsyms] 符号怎么办
在 perf 工具生成的火焰图中看到 [kernel.kallsyms],通常意味着火焰图中包含内核符号,但这些符号没有被正确解析.这可能是由于以下几个原因导致的: 内核符号表不可用或不完整:perf ...
- 精彩回顾|【ACDU 中国行·西安站】数据库主题交流活动成功举办!
2023年12月23日下午,[ACDU 中国行·西安站]在西安天骊君廷大酒店圆满落下帷幕.本次活动由中国数据库联盟(ACDU)联合墨天轮社区,浪潮数据库 及蚂蚁集团 OceanBase 共同主办,特邀 ...
- 树形结构数据 数组对象 按照 sort 字段排序
export function sortTreeData (data, flag) { let arr = [] if (flag === 1) { arr = data[0].children } ...
- 什么是WebRTC
背景:webrtc web real-time communication 实时通信标准,提供了音视频通话系统的能力. 应用场景: 点对点视频聊天,如 微信视频,等实时视频通话应用. 多人视频会议,企 ...