为oracle数据库配置多个监听


 

    可以为oracle数据库添加多个监听吗?  答案是可以滴,只是,一般没人这样做吧,下面试试,如何为oracle配置多个监听?

 

1.本地先确定使用哪些端口用于监听

[root@xuan1 ~]# netstat -tlnp|grep -e 1521 -e 1152 -e 1158 -e 1222 -e 15210

tcp        0      0 :::1521                     :::*                        LISTEN      2653/tnslsnr       

tcp        0      0 :::1158                     :::*                        LISTEN      3109/java          

 

[root@xuan1 ~]# netstat -tlnp|grep -E "1521|1152|1222|1158|15210"

tcp        0      0 :::1521                     :::*                        LISTEN      2653/tnslsnr       

tcp        0      0 :::1158                     :::*                        LISTEN      3109/java

 

 

----好了,1521端口是目前数据库使用的监听端口,1152122215210端口号是没有使用的,我们就将1521011521222端口用于数据库的监听端口

 

 

2.配置监听

[oracle@xuan1 ~]$ vim /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.111)(PORT = 15210))

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.111)(PORT = 1152))

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.111)(PORT = 1222))

    )

  )

 

ADR_BASE_LISTENER = /u01/app/oracle

 

----监听配置好后重新启动监听

[oracle@xuan1 ~]$ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 18-JUL-2016 00:36:56

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Starting /u01/app/oracle/product/11.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.2.0.4.0 - Production

System parameter file is /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora

Log messages written to /u01/app/oracle/diag/tnslsnr/xuan1/listener/alert/log.xml

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.11.111)(PORT=15210)))

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.11.111)(PORT=1152)))

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.11.111)(PORT=1222)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.11.111)(PORT=15210)))

STATUS of the LISTENER

------------------------

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production

Start Date                18-JUL-2016 00:36:56

Uptime                    0 days 0 hr. 0 min. 0 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/xuan1/listener/alert/log.xml

Listening Endpoints Summary...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.11.111)(PORT=15210)))

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.11.111)(PORT=1152)))

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.11.111)(PORT=1222)))

The listener supports no services

The command completed successfully

 

---- 查看下这些端口号工作情况

[root@xuan1 ~]# netstat -tlnp|grep -E "1521|1152|1222|1158|15210"

tcp        0      0 192.168.11.111:1152         0.0.0.0:*                   LISTEN      4757/tnslsnr       

tcp        0      0 192.168.11.111:1222         0.0.0.0:*                   LISTEN      4757/tnslsnr        

tcp        0      0 192.168.11.111:15210        0.0.0.0:*                   LISTEN      4757/tnslsnr       

tcp        0      0 :::1158                     :::*                        LISTEN      3109/java          

 

----如果服务器中有多个网卡,需要任意的网卡都监听,那么就把监听配置文件中host的地址改为0.0.0.0即可

 

3.配置TNS

----监听虽然配置好了,但是并不是启动之后就能使用,还需要在参数中设置local_listener参数,这里先在tns中设置好别名,然后在添加到local_listener

[oracle@xuan1 ~]$ vim /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora

ORCL =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.111)(PORT = 15210))

    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.111)(PORT = 1152))

    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.111)(PORT = 1222))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)

    )

  )

 

 

4.设置local_listener参数

SQL> alter system set local_listener=orcl;

SQL> alter system register;

 

 

----最后看一下监听是否已经注册上

[oracle@xuan1 ~]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 18-JUL-2016 00:46:07

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.11.111)(PORT=15210)))

STATUS of the LISTENER

------------------------

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production

Start Date                18-JUL-2016 00:36:56

Uptime                    0 days 0 hr. 9 min. 11 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/xuan1/listener/alert/log.xml

Listening Endpoints Summary...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.11.111)(PORT=15210)))

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.11.111)(PORT=1152)))

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.11.111)(PORT=1222)))

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@xuan1 ~]$ find $ORACLE_BASE -name listener.log |xargs tail -f

 

----ps     如果设置了 local_listener 参数,那么在数据库启动的时候,local_listener指向的监听服务器需要先启动

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30130773/viewspace-2122954/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30130773/viewspace-2122954/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值