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

在使用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报错。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值