重庆思庄Oracle、Redhat认证学习论坛

标题: 关于local_listener,remote_listener,listener_networks参数 [打印本页]

作者: 郑全    时间: 2021-3-5 13:08
标题: 关于local_listener,remote_listener,listener_networks参数
本帖最后由 郑全 于 2021-3-5 13:09 编辑



local_listener参数:
当oracle的本地监听为非默认情况时,会用到local_listener参数。

remote_listener参数:
而当监听和实例本身不在同一台服务器上时,remote_listener参数就会起作用了。

例如:

192.168.2.30为数据库服务器,没有配监听。编辑tnsnames.ora和设置remote_listener参数:

[oracle@test1 admin]$ cat tnsnames.ora
list1522 =
   (DESCRIPTION =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.50)(PORT = 1522))
   )
[oracle@test1 admin]$ sqlplus  / as sysdba
sql> alter system set remote_listener=list1522;

System altered.

sql> exit
192.168.2.50为单独的监听服务器:

[oracle@rac10g01 ~]$ lsnrctl status listener1522

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 11-JUN-2018 15:05:09

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac10g01.localdomain)(PORT=1522)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER1522
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                11-JUN-2018 14:59:33
Uptime                    0 days 0 hr. 5 min. 36 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/11203/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/rac10g01/listener1522/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rac10g01.localdomain)(PORT=1522)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1522)))
Services Summary...
Service "orcl11r2" has 1 instance(s).
  Instance "orcl11r2",status READY,has 1 handler(s) for this service...
Service "orcl11r2_s" has 1 instance(s).
  Instance "orcl11r2",has 2 handler(s) for this service...
The command completed successfully
在192.168.2.31上客户端登陆测试:

[oracle@test2 admin]$ tnsping orcl11r2_s

TNS Ping Utility for Linux: Version 11.2.0.3.0 - Production on 11-JUN-2018 15:04:31

Copyright (c) 1997,2011,Oracle.  All rights reserved.

Used parameter files:


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.50)(PORT = 1522)) (CONNECT_DATA = (SERVER = shared) (SERVICE_NAME = orcl11r2_s)))
OK (0 msec)
[oracle@test2 admin]$ sqlplus test/test@orcl11r2_s

sql*Plus: Release 11.2.0.3.0 Production on Mon Jun 11 15:04:43 2018

Copyright (c) 1982,Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning,OLAP,Data Mining and Real Application Testing options

sql> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning,Data Mining and Real Application Testing options
这种数据库实例和监听不在同一台机器上的情况并不多见。最常见的用法是利用remote_listener参数对scan的listener进行远程注册。

listener_networks参数:
当rac加入额外的监听时,一般会设置此参数。

例如11g的rac环境,新加入个192.168.4.0网段,在此网段上建立端口为1522的新监听。

#vip2为新加入的网络

[grid@test2 ~]$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.2.30  test1  test1.localdomain

192.168.2.31  test2  test2.localdomain
192.168.2.32  test3  test3.localdomain
192.168.2.33  test2-vip test2-vip.localdomain
192.168.2.34  test3-vip test3-vip.localdomain
192.168.3.31  test2-priv test2-priv.localdomain
192.168.3.32  test3-priv test3-priv.localdomain

#vip 2
192.168.4.31  test22  test22.localdomain
192.168.4.32  test33  test33.localdomain

192.168.4.33  test2-vip2 test2-vip2.localdomain
192.168.4.34  test3-vip2 test3-vip2.localdomain

#scan
192.168.2.35  rac11g-scan  rac11g-scan.localdomain
network 2为新的网络资源:

[grid@test2 ~]$ srvctl config network
Network exists: 1/192.168.2.0/255.255.255.0/ens32,type static
Network exists: 2/192.168.4.0/255.255.255.0/ens34,type static
当新的1522监听建立后,是没有任何服务注册进来的。这时就需要设置listener_networks参数了:

[oracle@test2 ~]$ sqlplus  / as sysdba

sql*Plus: Release 11.2.0.3.0 Production on Mon Jun 11 15:32:23 2018

Copyright (c) 1982,Real Application Clusters,Automatic Storage Management,Data Mining and Real Application Testing options

sql> show parameter listener_networks

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
listener_networks             string     ((NAME=network1)(LOCAL_LISTENE
                         R=listener_net1)(REMOTE_LISTEN
                         ER=rac11g-scan:1521)),((NAME=
                         network2)(LOCAL_LISTENER=liste
                         ner_net2)(REMOTE_LISTENER=remo
                         te_net2))
此时看监听的状态,已经有新的服务自动注册进来了,这时,新的网段的vip就能对外提供监听服务了。

[grid@test2 ~]$ lsnrctl status listener1522

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 11-JUN-2018 15:34:00

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER1522)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER1522
Version                   TNSLSNR for Linux: Version 11.2.0.3.0 - Production
Start Date                11-JUN-2018 09:42:59
Uptime                    0 days 5 hr. 51 min. 1 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/11203/grid/network/admin/listener.ora
Listener Log File         /u01/app/11203/grid/log/diag/tnslsnr/test2/listener1522/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER1522)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.4.33)(PORT=1522)))
Services Summary...
Service "rac11g" has 2 instance(s).
  Instance "rac11g1",has 2 handler(s) for this service...
  Instance "rac11g2",has 1 handler(s) for this service...
The command completed successfully






欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2