【转】导致 Scan VIP 和 Scan Listener(监听程序)出现故障的最常见的 5 个问题 (Doc ID 1602038.1)

【转】导致 Scan VIP 和 Scan Listener(监听程序)出现故障的最常见的 5 个问题 (Doc ID 1602038.1)

 

适用于:

Oracle Database – Enterprise Edition – 版本 11.2.0.1 到 11.2.0.3 [发行版 11.2]
本文档所含信息适用于所有平台

用途

本说明简要总结了导致 SCAN VIP 和 SCAN LISTENERS 故障的最常见问题

适用范围

所有遇到 SCAN 问题的用户

详细信息

 

问题 1:SCAN VIP 显示状态“UNKNOWN – CHECK TIMED OUT”

在其中一个节点上,SCAN VIP 显示状态“UNKNOWN”和“CHECK TIMED OUT”
另两个 SCAN VIP 在其他节点上启动,显示状态“ONLINE”

crsctl stat res -t
——————————————————————————–
Cluster Resources
——————————————————————————–
ora.scan1.vip 1 ONLINE UNKNOWN rac2 CHECK TIMED OUT
ora.scan2.vip 1 ONLINE ONLINE rac1
ora.scan3.vip 1 ONLINE ONLINE rac1

原因:
/etc/resolv.conf 在所有节点上不一致
该问题是由于所有指定的 DNS 都不可用而导致的。

 

解决方案:
1) 让所有节点上的 /etc/resolv.conf 保持一致
2) 减少查找超时的值,使总查找时间小于 VIP 资源的检查超时
– 示例:添加到 /etc/resolv.conf: 选项 timeout:1

 

问题 2:在安装 GRID 之前需要对 SCAN VIPS 检查什么?在安装之后需要检查什么

SCAN VIP 是 11.2 版本集群件的新功能。

原因:
安装集群件之前,请按以下所示检查网络定义

 

解决方案:
在安装前
1) /etc/resolv.conf 必须在所有节点上保持一致
2) SCAN 应在 DNS 上配置为指向 3 个有效地址
示例:“ping scan-name”应在 3 次ping之后返回 3 个有效地址
3) SCAN 不应在 /etc/hosts 中定义:如果这样定义,只有一个 SCAN 能够运行
4) SCAN 应使用和集群公网相同的网络掩码。
5) “nslookup scan-name”应返回名DNS和 3 个 IP 地址
6) 如果 GI Home 的 sqlnet.ora 文件中的 参数 tcp.validnode_checking = yes,则 TCP.INVITED_NODES 需要将 SCAN VIP 和 节点 Vip 添加到
Grid Infrastructure(集群件)的 SQLNET.ORA 文件。
7) 如果使用 11gR2 之前的客户端,您将无法完全享受到 SCAN 带来的优势。
详细信息:
http://www.oracle.com/technetwork/database/clustering/overview/scan-129069.pdf
8) “hosts”文件不应包含任何已在 DNS 中定义的 IP。

安装之后,验证 SCAN 配置和状态:
– crsctl status resource -w ‘TYPE = ora.scan_vip.type’ -t
必须显示3 个SCAN 地址 ONLINE
ora.scan1.vip 1 ONLINE ONLINE rac2
ora.scan2.vip 1 ONLINE ONLINE rac1
ora.scan3.vip 1 ONLINE ONLINE rac1
– crsctl status resource -w ‘TYPE = ora.scan_vip.type’ -t
应显示 LISTENER_SCAN<x> ONLINE
– srvctl config scan /srvctl config scan_listener
显示 SCAN 和 SCAN listener(监听程序)配置:scan 名称、网络和所有 SCAN VIP(名称和 IP)、端口
– cluvfy comp scan

 

问题 3:在 SCAN listener 发生故障切换(failover)后,服务未注册到 SCAN listener

在执行 SCAN VIP 和 SCAN listener故障切换后,实例未注册到 SCAN listener。这种情况只会发生在其中1 个 scan listener上。客户机连接间歇性出现“ORA-12514 TNS:listener does not currently know of service requested in connect descriptor”。

原因:

1. 未发布的 Bug 12659561:在执行 scan listener故障切换后,数据库实例可能未注册到 scan listener(请参阅 Note 12659561.8),这一问题已在 11.2.0.3.2 中修复,针对 11.2.0.2 的 Merge patch13354057 适用于特定平台。
2. 未发布的 Bug 13066936:在执行 scan 故障切换时,实例未注册服务(请参阅 Note 13066936.8)。

 

解决方案:

1) 对于以上两个 Bug,解决方法是执行以下步骤,在未注册到 SCAN listener的数据库实例上注销并重新注册remote_listener。
show parameter remote_listener
alter system set remote_listener=”;
alter system register;
alter system set remote_listener='<scan>:<port>’;
alter system register;

2) 服务未注册到 SCAN listener(监听程序)时要检查的其他要点:
a. 正确定义了 remote_listener 和 local_listener
b. sqlnet.ora 中定义了 EZCONNECT,示例:NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
c. /etc/hosts 或 DNS 中定义了 SCAN,并且如果在两处都定义,则检查是否存在任何不匹配情况
d. nslookup <scan> 应以 round-robin (循环)方式显示 SCAN VIP
e. 如果未配置 Secure transports (COST) 的类,则不要在 listener.ora 中设置 SECURE_REGITER_<listener>。

 

问题 4:公网关闭时,SCAN VIPS 不执行故障切换(failover)

公网关闭时,Scan Vip 应切换到下一个节点。在 11.2.0.1 的一些环境中,Scan Vip 可能会停留在错误的节点上。

原因:Bug 9488744: OCE: MULTIPLE PUBLIC NETWORK, PULL PRIMARY PUBLIC CABLE, VIP DOES NOT FAILOVER

 

解决方案:

安装最新的 11.2.0.1 PSU 或 升级到11.2.0.2/11.2.0.3

 

问题 5:SCAN Listener 故障

原因:
1) listener.ora 存在于 /etc 或 /var/opt/oracle 中
2) 未使用默认端口 1521

 

解决方案:
1) 将 listener.ora 移动到其他位置。
已在 11.2.0.3 和最新的 11.2.0.2 PSU 中修复
2) 从较低发行版升级到 11.2.0.3 GI 之后,SCAN listener端口已更改为默认值 1521

 

Database – RAC/Scalability 社区
为了与 Oracle 专家和业内同行进一步讨论这个话题,我们建议您加入 My Oracle Support 的 Database – RAC/Scalability 社区参与讨论。


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *