您的位置:首页 > 数据库 > Oracle

ORA-12541: TNS: no listener when using Oracle Rac ScanIP for tnsname

2016-07-06 11:53 579 查看
在使用Oracle 11G Rac后,一般我们会采用scan ip 作为应用或者tnsnames.ora作为service name. 

假设我有一套Oracle RAC,它的database name为test,在配置tnsnames.ora的时候要注意需要采用正常的配置方式:

TEST =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = scan-ip)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = test)

    )

  )

遇到过的原因:

1)当数据库和你的客户端或者应用服务器在同一网段,且对应防火墙都关闭的前提下,应该能正常访问。反之,如果应用服务器及客户端和数据库服务器不在

同一网段但存在防火墙,必须要把VIP和SCAN IPDE 1521端口全部开放才行。否则会出现报错:

ORA-12154: TNS:could not resolve the connect identifier

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)中间件或者其他客户端在配置链接串的时候,需要指定全链接串:

如果数据库的local_listener指定的是简单的scan-ip:1521就会无法连接db,出现ORA-12541报错。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: