暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ORACLE 10g RAC监听报TNS-12545 TNS_12560 TNS-00515

原创 黄宸宁 2013-04-27
858

昨日在客户现场一套RAC在启动监听的时候报TNS-12545 TNS_12560 TNS-00515错误,经过处理后恢复正常,

今天在自己的虚拟机上还原了这个问题,记录下:

OS:Linux

DB:10.2.0.4 RAC

一、模拟恢复到事故发生时的情况

1、手工关闭监听后切换VIP

[oracle@orlrac1 ~]$ 
[oracle@orlrac1 ~]$ srvctl stop listener -n orlrac1
[oracle@orlrac1 ~]$ srvctl stop listener -n orlrac2
[oracle@orlrac1 ~]$
[oracle@orlrac1 ~]$
[oracle@orlrac1 ~]$ crs_stat -t
Name Type Target State Host
ora.orcldb.db application ONLINE ONLINE orlrac1
ora....b1.inst application ONLINE ONLINE orlrac1
ora....b2.inst application ONLINE ONLINE orlrac2
ora....SM1.asm application ONLINE ONLINE orlrac1
ora....C1.lsnr application OFFLINE OFFLINE
ora....ac1.gsd application ONLINE ONLINE orlrac1
ora....ac1.ons application ONLINE ONLINE orlrac1
ora....ac1.vip application ONLINE ONLINE orlrac1
ora....SM2.asm application ONLINE ONLINE orlrac2
ora....C2.lsnr application OFFLINE OFFLINE
ora....ac2.gsd application ONLINE ONLINE orlrac2
ora....ac2.ons application ONLINE ONLINE orlrac2
ora....ac2.vip application ONLINE ONLINE orlrac2
[oracle@orlrac1 ~]$

2、手工切换vip ------问题的关键,昨天的问题是两个节点的VIP不知道什么原因互换了


[oracle@orlrac1 ~]$ crs_relocate ora.orlrac1.vip -c orlrac2
Attempting to stop `ora.orlrac1.vip` on member `orlrac1`
Stop of `ora.orlrac1.vip` on member `orlrac1` succeeded.
Attempting to start `ora.orlrac1.vip` on member `orlrac2`
Start of `ora.orlrac1.vip` on member `orlrac2` succeeded.
[oracle@orlrac1 ~]$
[oracle@orlrac1 ~]$
[oracle@orlrac1 ~]$ crs_relocate ora.orlrac2.vip -c orlrac1
Attempting to stop `ora.orlrac2.vip` on member `orlrac2`
Stop of `ora.orlrac2.vip` on member `orlrac2` succeeded.
Attempting to start `ora.orlrac2.vip` on member `orlrac1`
Start of `ora.orlrac2.vip` on member `orlrac1` succeeded.
[oracle@orlrac1 ~]$
[oracle@orlrac1 ~]$
[oracle@orlrac1 ~]$
[oracle@orlrac1 ~]$ crs_stat -t
Name Type Target State Host
ora.orcldb.db application ONLINE ONLINE orlrac1
ora....b1.inst application ONLINE ONLINE orlrac1
ora....b2.inst application ONLINE ONLINE orlrac2
ora....SM1.asm application ONLINE ONLINE orlrac1
ora....C1.lsnr application OFFLINE OFFLINE
ora....ac1.gsd application ONLINE ONLINE orlrac1
ora....ac1.ons application ONLINE ONLINE orlrac1
ora....ac1.vip application ONLINE ONLINE orlrac2
ora....SM2.asm application ONLINE ONLINE orlrac2
ora....C2.lsnr application OFFLINE OFFLINE
ora....ac2.gsd application ONLINE ONLINE orlrac2
ora....ac2.ons application ONLINE ONLINE orlrac2
ora....ac2.vip application ONLINE ONLINE orlrac1
[oracle@orlrac1 ~]$

----查看IP是否已经切换

[root@orlrac1 ~]#
[root@orlrac1 ~]# ifconfig -a
eth0 Link encap:Ethernet HWaddr 08:00:27:9F:BD:A4
inet addr:192.168.100.111 Bcast:192.168.100.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1485 errors:0 dropped:0 overruns:0 frame:0
TX packets:992 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:141378 (138.0 KiB) TX bytes:119168 (116.3 KiB)

eth0:1 Link encap:Ethernet HWaddr 08:00:27:9F:BD:A4
inet addr:192.168.100.114 Bcast:192.168.100.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

eth1 Link encap:Ethernet HWaddr 08:00:27:05:6D:5E
inet addr:172.168.1.101 Bcast:172.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:103726 errors:0 dropped:0 overruns:0 frame:0
TX packets:69201 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:79639044 (75.9 MiB) TX bytes:26738291 (25.4 MiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:12392 errors:0 dropped:0 overruns:0 frame:0
TX packets:12392 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:6477913 (6.1 MiB) TX bytes:6477913 (6.1 MiB)

[root@orlrac1 ~]#

[root@orlrac2 ~]#
[root@orlrac2 ~]# ifconfig -a
eth0 Link encap:Ethernet HWaddr 08:00:27:A2:A1:2A
inet addr:192.168.100.113 Bcast:192.168.100.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:471 errors:0 dropped:0 overruns:0 frame:0
TX packets:266 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:49614 (48.4 KiB) TX bytes:27620 (26.9 KiB)

eth0:2 Link encap:Ethernet HWaddr 08:00:27:A2:A1:2A
inet addr:192.168.100.112 Bcast:192.168.100.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

eth1 Link encap:Ethernet HWaddr 08:00:27:25:23:D7
inet addr:172.168.1.102 Bcast:172.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:69257 errors:0 dropped:0 overruns:0 frame:0
TX packets:103814 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:26754117 (25.5 MiB) TX bytes:79662388 (75.9 MiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:10450 errors:0 dropped:0 overruns:0 frame:0
TX packets:10450 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:6388467 (6.0 MiB) TX bytes:6388467 (6.0 MiB)

[root@orlrac2 ~]#
[root@orlrac2 ~]#

[oracle@orlrac1 admin]$
[oracle@orlrac1 admin]$ cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6

192.168.100.111 orlrac1 orlrac1.oracle.com
192.168.100.112 orlrac1-vip

192.168.100.113 orlrac2 orlrac2.oracle.com
192.168.100.114 orlrac2-vip

172.168.1.101 orlrac1-priv
172.168.1.102 orlrac2-priv
[oracle@orlrac1 admin]$

----两个节点的VIP已经交互

二、问题重现


1、手动启动Listener


[oracle@orlrac1 admin]$ 
[oracle@orlrac1 admin]$
[oracle@orlrac1 admin]$ lsnrctl start LISTENER_ORLRAC1

LSNRCTL for Linux: Version 10.2.0.5.0 - Production on 27-APR-2013 16:51:15

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

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

TNSLSNR for Linux: Version 10.2.0.5.0 - Production
System parameter file is /u01/oracle/product/10.2.0/db_1/network/admin/listener.ora
Log messages written to /u01/oracle/product/10.2.0/db_1/network/log/listener_orlrac1.log
Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=orlrac1-vip)(PORT=1521)(IP=FIRST)))
TNS-12545: Connect failed because target host or object does not exist
TNS-12560: TNS:protocol adapter error
TNS-00515: Connect failed because target host or object does not exist
Linux Error: 99: Cannot assign requested address

Listener failed to start. See the error message(s) above...

问题重现,如同昨天的情景,报了TNS-12545\TNS-12560\TNS-00515的错误


问题发生后,首先ping了一下相关的IP地址和网络别名都能ping通,检查listener.ora和/etc/hosts等相关配置文件,都未发现异常,不过还是尝试修改这些文件来观察是不是有其他线索。


2、修改listener.ora中ADDRESS中的顺序 ----正是这个操作发现了一些线索


[oracle@orlrac1 admin]$ 
[oracle@orlrac1 admin]$ cat listener.ora
# listener.ora.orlrac1 Network Configuration File: /u01/oracle/product/10.2.0/db_1/network/admin/listener.ora.orlrac1
# Generated by Oracle configuration tools.

LISTENER_ORLRAC1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.111)(PORT = 1521)(IP = FIRST))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = orlrac1-vip)(PORT = 1521)(IP = FIRST))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
)
)

[oracle@orlrac1 admin]$

---再次启动监听
[oracle@orlrac1 admin]$
[oracle@orlrac1 admin]$ lsnrctl start LISTENER_ORLRAC1

LSNRCTL for Linux: Version 10.2.0.5.0 - Production on 27-APR-2013 16:55:20

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

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

TNSLSNR for Linux: Version 10.2.0.5.0 - Production
System parameter file is /u01/oracle/product/10.2.0/db_1/network/admin/listener.ora
Log messages written to /u01/oracle/product/10.2.0/db_1/network/log/listener_orlrac1.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.100.111)(PORT=1521)))
Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=orlrac1-vip)(PORT=1521)(IP=FIRST)))
TNS-12545: Connect failed because target host or object does not exist
TNS-12560: TNS:protocol adapter error
TNS-00515: Connect failed because target host or object does not exist
Linux Error: 99: Cannot assign requested address

Listener failed to start. See the error message(s) above...

[oracle@orlrac1 admin]$

---错误依旧,但是有点不同
/*
交换地址前:
Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=orlrac1-vip)(PORT=1521)(IP=FIRST)))

交换地址后:
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.100.111)(PORT=1521)))
Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=orlrac1-vip)(PORT=1521)(IP=FIRST)))

为什么第一个public的IP是正常的,到了vip就不正常了,难道VIP出问题了,但是ping vip是通的,难道是说orlrac1-vip没在这个节点上
*/

3、通过ifconfig名来查看网卡上vip的地址到底是多少


[root@orlrac1 ~]# 
[root@orlrac1 ~]# ifconfig -a
eth0 Link encap:Ethernet HWaddr 08:00:27:9F:BD:A4
inet addr:192.168.100.111 Bcast:192.168.100.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1485 errors:0 dropped:0 overruns:0 frame:0
TX packets:992 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:141378 (138.0 KiB) TX bytes:119168 (116.3 KiB)

eth0:1 Link encap:Ethernet HWaddr 08:00:27:9F:BD:A4
inet addr:192.168.100.114 Bcast:192.168.100.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

eth1 Link encap:Ethernet HWaddr 08:00:27:05:6D:5E
inet addr:172.168.1.101 Bcast:172.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:103726 errors:0 dropped:0 overruns:0 frame:0
TX packets:69201 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:79639044 (75.9 MiB) TX bytes:26738291 (25.4 MiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:12392 errors:0 dropped:0 overruns:0 frame:0
TX packets:12392 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:6477913 (6.1 MiB) TX bytes:6477913 (6.1 MiB)

[root@orlrac1 ~]#

[root@orlrac2 ~]#
[root@orlrac2 ~]# ifconfig -a
eth0 Link encap:Ethernet HWaddr 08:00:27:A2:A1:2A
inet addr:192.168.100.113 Bcast:192.168.100.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:471 errors:0 dropped:0 overruns:0 frame:0
TX packets:266 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:49614 (48.4 KiB) TX bytes:27620 (26.9 KiB)

eth0:2 Link encap:Ethernet HWaddr 08:00:27:A2:A1:2A
inet addr:192.168.100.112 Bcast:192.168.100.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

eth1 Link encap:Ethernet HWaddr 08:00:27:25:23:D7
inet addr:172.168.1.102 Bcast:172.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:69257 errors:0 dropped:0 overruns:0 frame:0
TX packets:103814 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:26754117 (25.5 MiB) TX bytes:79662388 (75.9 MiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:10450 errors:0 dropped:0 overruns:0 frame:0
TX packets:10450 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:6388467 (6.0 MiB) TX bytes:6388467 (6.0 MiB)

[root@orlrac2 ~]#

确实如同猜想的一样,两个节点VIP的地址发生了交互,当在启动监听的时候,在解析listener.ora的过程中vip的地址未在本节点上,所以产生了TNS的报错


三、解决方法


把VIP切换相应的节点,无需停库,O(∩_∩)O哈!


[oracle@orlrac1 admin]$ 
[oracle@orlrac1 admin]$ crs_relocate ora.orlrac1.vip -c orlrac1
Attempting to stop `ora.orlrac1.vip` on member `orlrac2`
Stop of `ora.orlrac1.vip` on member `orlrac2` succeeded.
Attempting to start `ora.orlrac1.vip` on member `orlrac1`
Start of `ora.orlrac1.vip` on member `orlrac1` succeeded.
[oracle@orlrac1 admin]$
[oracle@orlrac1 admin]$
[oracle@orlrac1 admin]$ crs_relocate ora.orlrac2.vip -c orlrac2
Attempting to stop `ora.orlrac2.vip` on member `orlrac1`
Stop of `ora.orlrac2.vip` on member `orlrac1` succeeded.
Attempting to start `ora.orlrac2.vip` o member `orlrac2`

Start of `ora.orlrac2.vip` on member `orlrac2` succeeded.
[oracle@orlrac1 admin]$
[oracle@orlrac1 admin]$
[oracle@orlrac1 admin]$
[oracle@orlrac1 admin]$ crs_stat -t
Name Type Target State Host
ora.orcldb.db application ONLINE ONLINE orlrac1
ora....b1.inst application ONLINE ONLINE orlrac1
ora....b2.inst application ONLINE ONLINE orlrac2
ora....SM1.asm application ONLINE ONLINE orlrac1
ora....C1.lsnr application OFFLINE OFFLINE
ora....ac1.gsd application ONLINE ONLINE orlrac1
ora....ac1.ons application ONLINE ONLINE orlrac1
ora....ac1.vip application ONLINE ONLINE orlrac1
ora....SM2.asm application ONLINE ONLINE orlrac2
ora....C2.lsnr application OFFLINE OFFLINE
ora....ac2.gsd application ONLINE ONLINE orlrac2
ora....ac2.ons application ONLINE ONLINE orlrac2
ora....ac2.vip application ONLINE ONLINE orlrac2
[oracle@orlrac1 admin]$
[oracle@orlrac1 admin]$

[root@orlrac1 Server]#
[root@orlrac1 Server]# ifconfig -a
eth0 Link encap:Ethernet HWaddr 08:00:27:9F:BD:A4
inet addr:192.168.100.111 Bcast:192.168.100.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3471 errors:0 dropped:0 overruns:0 frame:0
TX packets:2720 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:313510 (306.1 KiB) TX bytes:587585 (573.8 KiB)

eth0:2 Link encap:Ethernet HWaddr 08:00:27:9F:BD:A4
inet addr:192.168.100.112 Bcast:192.168.100.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

eth1 Link encap:Ethernet HWaddr 08:00:27:05:6D:5E
inet addr:172.168.1.101 Bcast:172.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:120995 errors:0 dropped:0 overruns:0 frame:0
TX packets:81088 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:90326689 (86.1 MiB) TX bytes:30357317 (28.9 MiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:21804 errors:0 dropped:0 overruns:0 frame:0
TX packets:21804 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:6951201 (6.6 MiB) TX bytes:6951201 (6.6 MiB)

[root@orlrac1 Server]#
[root@orlrac1 Server]#

[root@orlrac2 ~]#
[root@orlrac2 ~]# ifconfig -a
eth0 Link encap:Ethernet HWaddr 08:00:27:A2:A1:2A
inet addr:192.168.100.113 Bcast:192.168.100.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:753 errors:0 dropped:0 overruns:0 frame:0
TX packets:489 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:71154 (69.4 KiB) TX bytes:42369 (41.3 KiB)

eth0:1 Link encap:Ethernet HWaddr 08:00:27:A2:A1:2A
inet addr:192.168.100.114 Bcast:192.168.100.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

eth1 Link encap:Ethernet HWaddr 08:00:27:25:23:D7
inet addr:172.168.1.102 Bcast:172.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:81146 errors:0 dropped:0 overruns:0 frame:0
TX packets:121063 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:30368327 (28.9 MiB) TX bytes:90345089 (86.1 MiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:20018 errors:0 dropped:0 overruns:0 frame:0
TX packets:20018 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:6833331 (6.5 MiB) TX bytes:6833331 (6.5 MiB)

[root@orlrac2 ~]#
[root@orlrac2 ~]#

启动监听


[oracle@orlrac1 admin]$ lsnrctl start LISTENER_ORLRAC1

LSNRCTL for Linux: Version 10.2.0.5.0 - Production on 27-APR-2013 17:22:30

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

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

TNSLSNR for Linux: Version 10.2.0.5.0 - Production
System parameter file is /u01/oracle/product/10.2.0/db_1/network/admin/listener.ora
Log messages written to /u01/oracle/product/10.2.0/db_1/network/log/listener_orlrac1.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.100.111)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.100.112)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.100.111)(PORT=1521)(IP=FIRST)))
STATUS of the LISTENER

Alias LISTENER_ORLRAC1
Version TNSLSNR for Linux: Version 10.2.0.5.0 - Production
Start Date 27-APR-2013 17:22:30
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON Local OS Authentication
SNMP OFF
Listener Parameter File /u01/oracle/product/10.2.0/db_1/network/admin/listener.ora
Listener Log File /u01/oracle/product/10.2.0/db_1/network/log/listener_orlrac1.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.100.111)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.100.112)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
The listener supports no services
The command completed successfully
[oracle@orlrac1 admin]$
[oracle@orlrac1 admin]$
[oracle@orlrac1 admin]$

[root@orlrac2 ~]# su - oracle
[oracle@orlrac2 ~]$ lsnrctl start LISTENER_ORLRAC2

LSNRCTL for Linux: Version 10.2.0.5.0 - Production on 27-APR-2013 17:22:56

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

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

TNSLSNR for Linux: Version 10.2.0.5.0 - Production
System parameter file is /u01/oracle/product/10.2.0/db_1/network/admin/listener.ora
Log messages written to /u01/oracle/product/10.2.0/db_1/network/log/listener_orlrac2.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.100.114)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.100.113)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=orlrac2-vip)(PORT=1521)(IP=FIRST)))
STATUS of the LISTENER
Alias LISTENER_ORLRAC2
Version TNSLSNR for Linux: Version 10.2.0.5.0 - Production
Start Date 27-APR-2013 17:22:56
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/oracle/product/10.2.0/db_1/network/admin/listener.ora
Listener Log File /u01/oracle/product/10.2.0/db_1/network/log/listener_orlrac2.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.100.114)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.100.113)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
The listener supports no services
The command completed successfully
[oracle@orlrac2 ~]$
[oracle@orlrac2 ~]$
[oracle@orlrac2 ~]$

[oracle@orlrac1 admin]$
[oracle@orlrac1 admin]$ crs_stat -t
Name Type Target State Host
ora.orcldb.db application ONLINE ONLINE orlrac1
ora....b1.inst application ONLINE ONLINE orlrac1
ora....b2.inst application ONLINE ONLINE orlrac2
ora....SM1.asm application ONLINE ONLINE orlrac1
ora....C1.lsnr application ONLINE ONLINE orlrac1
ora....ac1.gsd application ONLINE ONLINE orlrac1
ora....ac1.ons application ONLINE ONLINE orlrac1
ora....ac1.vip application ONLINE ONLINE orlrac1
ora....SM2.asm application ONLINE ONLINE orlrac2
ora....C2.lsnr application ONLINE ONLINE orlrac2
ora....ac2.gsd application ONLINE ONLINE orlrac2
ora....ac2.ons application ONLINE ONLINE orlrac2
ora....ac2.vip application ONLINE ONLINE orlrac2
[oracle@orlrac1 admin]$

问题解决,总结:做DBA的眼神很重要,任何一个小的线索都是解决问题的关键啊。。。。



经朋友实验证明还有另外种情况,在vip发生交互后,直接通过srvctl操作启动listener,
VIP就自动切回了原本的节点,通过lsnrctl的话会报错,不过在我处理的这个案列中,这个方法也试用过,但是没有启动成功,在我的测试环境中是成功了的,下面是另外种情况的测试内容:


[oracle@orlrac1 bin]$ 
[oracle@orlrac1 bin]$ crs_stat |grep vip
NAME=ora.orlrac1.vip
NAME=ora.orlrac2.vip
[oracle@orlrac1 bin]$
[oracle@orlrac1 bin]$ crs_relocate ora.orlrac2.vip -c orlrac1
Attempting to stop `ora.orlrac2.vip` on member `orlrac2`
Stop of `ora.orlrac2.vip` on member `orlrac2` succeeded.
Attempting to start `ora.orlrac2.vip` on member `orlrac1`
Start of `ora.orlrac2.vip` on member `orlrac1` succeeded.
[oracle@orlrac1 bin]$ crs_relocate ora.orlrac1.vip -c orlrac2
Attempting to stop `ora.orlrac1.vip` on member `orlrac1`
Stop of `ora.orlrac1.vip` on member `orlrac1` succeeded.
Attempting to start `ora.orlrac1.vip` on member `orlrac2`
Start of `ora.orlrac1.vip` on member `orlrac2` succeeded.
[oracle@orlrac1 bin]$
[oracle@orlrac1 bin]$
[oracle@orlrac1 bin]$
[oracle@orlrac1 bin]$
[oracle@orlrac1 bin]$ crs_stat -t
Name Type Target State Host
ora.orcldb.db application ONLINE ONLINE orlrac1
ora....b1.inst application ONLINE ONLINE orlrac1
ora....b2.inst application ONLINE ONLINE orlrac2
ora....SM1.asm application ONLINE ONLINE orlrac1
ora....C1.lsnr application OFFLINE OFFLINE
ora....ac1.gsd application ONLINE ONLINE orlrac1
ora....ac1.ons application ONLINE ONLINE orlrac1
ora....ac1.vip application ONLINE ONLINE orlrac2
ora....SM2.asm application ONLINE ONLINE orlrac2
ora....C2.lsnr application OFFLINE OFFLINE
ora....ac2.gsd application ONLINE ONLINE orlrac2
ora....ac2.ons application ONLINE ONLINE orlrac2
ora....ac2.vip application ONLINE ONLINE orlrac1
[oracle@orlrac1 bin]$
[oracle@orlrac1 bin]$
[oracle@orlrac1 bin]$ srvctl start listener -n orlrac1
[oracle@orlrac1 bin]$
[oracle@orlrac1 bin]$
[oracle@orlrac1 bin]$
[oracle@orlrac1 bin]$ crs_stat -t
Name Type Target State Host
ora.orcldb.db application ONLINE ONLINE orlrac1
ora....b1.inst application ONLINE ONLINE orlrac1
ora....b2.inst application ONLINE ONLINE orlrac2
ora....SM1.asm application ONLINE ONLINE orlrac1
ora....C1.lsnr application ONLINE ONLINE orlrac1
ora....ac1.gsd application ONLINE ONLINE orlrac1
ora....ac1.ons application ONLINE ONLINE orlrac1
ora....ac1.vip application ONLINE ONLINE orlrac1
ora....SM2.asm application ONLINE ONLINE orlrac2
ora....C2.lsnr application OFFLINE OFFLINE
ora....ac2.gsd application ONLINE ONLINE orlrac2
ora....ac2.ons application ONLINE ONLINE orlrac2
ora....ac2.vip application ONLINE ONLINE orlrac1
[oracle@orlrac1 bin]$
[oracle@orlrac1 bin]$ srvctl start listener -n orlrac2
[oracle@orlrac1 bin]$
[oracle@orlrac1 bin]$
[oracle@orlrac1 bin]$
[oracle@orlrac1 bin]$ crs_stat -t
Name Type Target State Host
ora.orcldb.db application ONLINE ONLINE orlrac1
ora....b1.inst application ONLINE ONLINE orlrac1
ora....b2.inst application ONLINE ONLINE orlrac2
ora....SM1.asm application ONLINE ONLINE orlrac1
ora....C1.lsnr application ONLINE ONLINE orlrac1
ora....ac1.gsd application ONLINE ONLINE orlrac1
ora....ac1.ons application ONLINE ONLINE orlrac1
ora....ac1.vip application ONLINE ONLINE orlrac1
ora....SM2.asm application ONLINE ONLINE orlrac2
ora....C2.lsnr application ONLINE ONLINE orlrac2
ora....ac2.gsd application ONLINE ONLINE orlrac2
ora....ac2.ons application ONLINE ONLINE orlrac2
ora....ac2.vip application ONLINE ONLINE orlrac2
[oracle@orlrac1 bin]$
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论