7、listener监听

打印 上一主题 下一主题

主题 1738|帖子 1738|积分 5214

启动远程图形界面登录的工具
  1. [root@db11g ~]# vncserver
复制代码
监听

监听的启动
  1. [oracle@db11g ~]$ lsnrctl start
复制代码
判断监听是否启动
  1. [oracle@db11g ~]$ netstat -tulnp | grep 1521
  2. (Not all processes could be identified, non-owned process info
  3. will not be shown, you would have to be root to see it all.)
  4. tcp        0      0 :::1521                     :::*                        LISTEN      1440/tnslsnr
复制代码
-- LISTEN:表示监听已经启动
-- 1440:监听对应的进程编号
-- ::: 表示所有的IP地址都启动1521端口
检察监听状态
  1. [oracle@db11g ~]$ lsnrctl status     -- 这个命令默认是:lsnrctl status listener
  2. LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 13-JAN-2017 02:56:53
  3. Copyright (c) 1991, 2013, Oracle.  All rights reserved.
  4. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db11g)(PORT=1521)))
  5. STATUS of the LISTENER
  6. ------------------------
  7. Alias                     LISTENER
  8. Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
  9. Start Date                10-JAN-2017 19:47:03
  10. Uptime                    2 days 7 hr. 9 min. 49 sec
  11. Trace Level               off
  12. Security                  ON: Local OS Authentication
  13. SNMP                      OFF
  14. Listener Parameter File   /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
  15. Listener Log File         /u01/app/oracle/diag/tnslsnr/db11g/listener/alert/log.xml
  16. Listening Endpoints Summary…
  17.   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=db11g)(PORT=1521)))
  18.   (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  19. Services Summary…
  20. Service "orcl" has 1 instance(s).
  21.   Instance "orcl", status READY, has 1 handler(s) for this service…
  22. Service "orclXDB" has 1 instance(s).
  23.   Instance "orcl", status READY, has 1 handler(s) for this service…
  24. The command completed successfully
复制代码
检察监听进程
  1. [oracle@db11g ~]$ ps -ef | grep 1440
  2. oracle    1440     1  0 Jan10 ?        00:00:11 /u01/app/oracle/product/11.2.0/db_1/bin/tnslsnr LISTENER -inherit
  3. oracle   13687 13645  0 02:59 pts/0    00:00:00 grep 1440
复制代码
监听表现为一个进程,默认端标语:1521
监听的配置文件

1、listener.ora文件(主要配置监听)
listener.ora文件:服务器端的(启动监听的时间读listener.ora文件)
listener.ora文件位置:
  1. [oracle@db11g ~]$ cd /u01/app/oracle/product/11.2.0/db_1/network/admin
  2. [oracle@db11g admin]$ ls
  3. listener.ora  samples  shrept.lst  tnsnames.ora
复制代码
listener.ora文件控制着监听
没有listener.ora文件时:
假如没有listener.ora配置文件,监听也可以启动,默认使用1521端口,所有IP都启动1521端口,下图表明:

默认情况下,以后通过所有的IP地址都可以毗连
检察恣意一个IP地址是否启动1521端口,启动着1521端口都可以毗连上数据库实例
以192.168.56.70为例:
  1. [oracle@db11g ~]$ telnet 192.168.56.70 1521
复制代码

这就表示着:在192.168.56.70地址上启动着1521端口
然后ctrl+c退出
启动数据库实例:
  1. [oracle@db11g ~]$ sqlplus / as sysdba    --登录数据库
  2. SQL*Plus: Release 11.2.0.4.0 Production on Fri Jan 13 06:02:46 2017
  3. Copyright (c) 1982, 2013, Oracle.  All rights reserved.
  4. Connected to:
  5. Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
  6. With the Partitioning, OLAP, Data Mining and Real Application Testing options
  7. 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(指定图像映射机器):
  1. [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文件:
  1. [oracle@db11g ~]$ cd $ORACLE_HOME
  2. [oracle@db11g db_1]$ cd network/admin
  3. [oracle@db11g admin]$ ls
  4. listener.ora  samples  shrept.lst  tnsnames.ora
复制代码
13、修改listener.ora文件:
  1. # listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
  2. # Generated by Oracle configuration tools.
  3. LISTENER =
  4.   (DESCRIPTION_LIST =
  5.     (DESCRIPTION =
  6.       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.70)(PORT = 1521))     --将原来的主机名改为IP地址:192.168.56.70         
  7.       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
  8.     )
  9.    )
  10. ADR_BASE_LISTENER = /u01/app/oracle
复制代码
注意:LISTENER监听这个名字不要去修改它,由于pmonitor默认是往名字为LISTENER的监听里注册instancename和servername
14、重新启动监听
  1. [oracle@db11g admin]$ lsnrctl stop   -- 关闭监听
  2. LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 16-JAN-2017 15:08:18
  3. Copyright (c) 1991, 2013, Oracle.  All rights reserved.
  4. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.12)(PORT=1521)))
  5. The command completed successfully
  6. [oracle@db11g admin]$ lsnrctl start    -- 启动监听
  7. [oracle@db11g admin]$ lsnrctl status   --查看监听状态
  8. LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 16-JAN-2017 15:09:53
  9. Copyright (c) 1991, 2013, Oracle.  All rights reserved.
  10. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.12)(PORT=1521)))
  11. STATUS of the LISTENER
  12. ------------------------
  13. Alias                     LISTENER
  14. Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
  15. Start Date                16-JAN-2017 15:09:04
  16. Uptime                    0 days 0 hr. 0 min. 49 sec
  17. Trace Level               off
  18. Security                  ON: Local OS Authentication
  19. SNMP                      OFFL
  20. istener Parameter File   /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
  21. Listener Log File         /u01/app/oracle/diag/tnslsnr/db11g/listener/alert/log.xml
  22. Listening Endpoints Summary…
  23.   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.12)(PORT=1521)))
  24.   (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  25. Services Summary…
  26. Service "orcl" has 1 instance(s).
  27.   Instance "orcl", status READY, has 1 handler(s) for this service…      --说明监听已成功启动
  28. Service "orclXDB" has 1 instance(s).
  29.   Instance "orcl", status READY, has 1 handler(s) for this service…
  30. The command completed successfully
复制代码
15、再次检察监听
  1. [oracle@db11g admin]$ netstat -tulpn | grep 1521
  2. (Not all processes could be identified, non-owned process info
  3. will not be shown, you would have to be root to see it all.)
  4. tcp        0      0 192.168.56.70:1521          0.0.0.0:*                   LISTEN      1583/tnslsnr
复制代码
这时间只有192.168.56.70这个IP地址上启动了1521端口
监听的静态注册
  1. 我们也可以建立多个监听,但是pmonitor默认是往名字为LISTENER的监听里注册instancename和servername,就会导致使用其他监听连接数据库实例的时候连接不上
复制代码
图解:

如何静态注册监听?

1、使用netmgr下令:
  1. [oracle@db11g admin]$ netmgr
复制代码
2、选择listener1,然后选择database services

3、选择add database

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

5、生存,然后退出

6、重启监听listener1,检察状态
  1. [oracle@db11g admin]$ lsnrctl reload listener1
  2. [oracle@db11g admin]$ lsnrctl status listener1
复制代码

静态注册的监听listener1:

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

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


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

天空闲话

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表