Oracle启动两个监听

  接上篇:Oracle服务器修改IP后

Oracle服务器更换IP后,办公网络里面可以正常访问了,外地的同事,连了vpn 也可以访问,以为可以收工回家,突然又有同事过来说,机房的服务器ping不通新的ip了。

换了几台机器,都ping不通,ping其他新ip一个段的服务器又正常,也可以ssh,又试了下以前的ip地址,可以ping通。
总结起来,ping不通的服务器都是Oracle服务器在同一个网段的服务器,以前都是10段的,Oracle服务器换了ip后,外部访问的地址就不是10段了,但是同一个段的服务器,又不能去另一个路由器绕一圈回来访问192段,所有不能访问。(猜测)

Oracle服务器路由如下,默认访问地址为192段

[oracle@venn01 admin]$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.xx.xx.0     *               255.255.255.0   U     0      0        0 eth1
192.xx.xx.0   *               255.255.255.0   U     0      0        0 virbr0
10.xx.xx.0     *               255.255.255.0   U     0      0        0 eth0
link-local      *               255.255.0.0     U     1002   0        0 eth0
link-local      *               255.255.0.0     U     1003   0        0 eth1
default         192.xx.xx.x     0.0.0.0         UG    0      0        0 eth1

网卡 eth0 ip :10.xx.xx.xx

网卡 eth1 ip :192.xx.xx.xx

服务器的默认路由地址是192段的

不想去配路由,因为不会

所以解决办法就是,给Oracle启动两个监听,分别监听服务器的两个IP地址,端口保持不变

修改 listener.ora

[oracle@ut25 admin]$ pwd
/opt/oracle/db01/app/oracle/product/11.2.0/network/admin
[oracle@venn01 admin]$ more listener.ora
# listener.ora Network Configuration File: /opt/oracle/db01/app/oracle/product/11.2.0/network/admin/listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /opt/oracle/db01/app/oracle/product/11.2.0)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.xx.xx.xx)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.xx.xx.xx)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = /opt/oracle/db01/app/oracle


重启监听:
[oracle@venn01 ~]$ lsnrctl stop

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 11-SEP-2018 13:11:05

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
The command completed successfully


[oracle@venn01 admin]$ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 11-SEP-2018 13:25:51

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

TNS-01106: Listener using listener name LISTENER has already been started
[oracle@venn01 admin]$ lsnrctl stop

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 11-SEP-2018 13:25:55

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
The command completed successfully
[oracle@venn01 admin]$ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 11-SEP-2018 13:26:00

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

Starting /opt/oracle/db01/app/oracle/product/11.2.0/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.2.0.1.0 - Production
System parameter file is /opt/oracle/db01/app/oracle/product/11.2.0/network/admin/listener.ora
Log messages written to /opt/oracle/db01/app/oracle/diag/tnslsnr/venn01/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.xx.xx.xx)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.xx.xx.xx)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                11-SEP-2018 13:26:00
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/db01/app/oracle/product/11.2.0/network/admin/listener.ora
Listener Log File         /opt/oracle/db01/app/oracle/diag/tnslsnr/venn01/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.xx.xx.xx)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.xx.xx.xx)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

可见,Oracle的两个监听分别在两个IP地址:10和192 都起来了

在办公网可以正常访问

在机房内网也可以正常访问了

搞定

猜你喜欢

转载自www.cnblogs.com/Springmoon-venn/p/9627347.html