在使用Oracle 11G Rac后,一般我们会采用scan ip 作为应用或者tnsnames.ora作为service name.
假设我有一套Oracle RAC,它的database name为test,在配置tnsnames.ora的时候要注意需要采用正常的配置方式:
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = scan-ip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = test)
)
)
遇到过的原因:
1)当数据库和你的客户端或者应用服务器在同一网段,且对应防火墙都关闭的前提下,应该能正常访问。反之,如果应用服务器及客户端和数据库服务器不在
同一网段但存在防火墙,必须要把VIP和SCAN IPDE 1521端口全部开放才行。否则会出现报错:
2)来自MOS
Client is able to resolve all Fully Qualified Domain Name (FQDN) SCAN and VIP namebut not short ones(without domain name)as its in different domain;
even though FQDN names were specified during Grid Infrastructure setup, due to bug 9150053 by default DBCA set database parameter local_listener to short node VIP name
由于如果客户端使用FQDN时,尽量使用全名,或者把数据库实例参数local_listener内的host改为vip的IP地址即可。
3)中间件或者其他客户端在配置链接串的时候,需要指定全链接串: