ホームページ >データベース >mysql チュートリアル > 解决ORACLE 11g rac(11.2.0.1) 生产库scanip无法使用的故障

解决ORACLE 11g rac(11.2.0.1) 生产库scanip无法使用的故障

WBOY
WBOYオリジナル
2016-06-07 17:41:571823ブラウズ

SCANIP是ORACLE11G数据库的新特性,使用它可以简化客户端的vip配置,本单位去年搭建ORACLE11RAC环境时,由于搭建仓促,未对SCANIP进行测试,今年由于业务需要,


    SCANIP是ORACLE11G数据库的新特性,香港服务器,使用它可以简化客户端的vip配置,本单位去年搭建ORACLE11 RAC环境时,由于搭建仓促,未对SCANIP进行测试,今年由于业务需要,需在多台客户端配置SCANIP时,发现SCANIP无法使用,报错截图如下:

 解决ORACLE 11g rac(11.2.0.1) 生产库scanip无法使用的故障

随后在google中搜索解决,但也遇到点问题,特将解决步骤写下:

测试SCANIP地址

tnsping test

没有问题。

测试端口

telnet 172.16.5.40 1521

正常。


查看linux服务器hosts配置:

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
# Public Network
172.16.5.30             test1
172.16.5.31             test2
172.16.5.32             test3
# Private Network
20.20.20.1              test1-priv
20.20.20.2              test2-priv
20.20.20.3              test3-priv
# Public Virtual IP
172.16.5.35             test1-vip
172.16.5.36             test2-vip
172.16.5.37             test3-vip
# Single Client Access Name (SCAN)
172.16.5.40             tscanip


用集群命令检查SCANIP状态:

srvctl status scan
SCAN VIP scan1 is enabled
SCAN VIP scan1 is running on node test1


查看初始化参数文件

show parameter local_listener

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
local_listener                       string      (DESCRIPTION=(ADDRESS_LIST=(AD
                                                DRESS=(PROTOCOL=TCP)(HOST=test
                                                1-vip)(PORT=1521))))

在这里需修改local_listener参数,实现SCANIP地址的注册


修改前先备份初始化参数

create pfile='/home/oracle/bak/spfilebak_20130523_scanip.ora' from spfile;


修改local_listener参数

alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.5.35)(PORT=1521))))' scope=both sid='test1';


用命令是修改的值直接生效。

alter system register;


第二个节点修改方法和第一个节点的方法一致。分别测试SCANIP和VIP的连接都没有问题,任务完成。


注:这里需注意的是HOST主机参数为vip的ip地址,不是scanip的地址,如果填写的是scanip地址的话,美国服务器,则修改完参数后,scanip能够正常使用,但如果有客户端配置使用vip的话,则会出现下图所示错误。

 解决ORACLE 11g rac(11.2.0.1) 生产库scanip无法使用的故障

只有分别修改两个节点的local_listener参数为两个节点的vip的ip地址,虚拟主机,才能够使scanip和vip地址同时生效!!!


本文出自 “没落的星辰” 博客,请务必保留此出处

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。