使用scanIP连接Oracle11gR2 RAC数据库报错ORA-12545解决案例

2020-03-27 02:02

使用scanIP连接Oracle11gR2 RAC数据库报错ORA-12545解决案例

案例编写人:王文平

【案例简介】

外勤管家平台数据库进行升级替换,由之前的单节点Oracle10g升级为Oracle11gR2 RAC双节点数据库。升级完成后外勤管家应用程序连接数据库报错ORA-12545提示无法链接数据库,但检查数据库监听等各组件状态及网络均正常,tnsping数据库的TNSNAME也正常。ORA-12545报错时一个经常会碰到的报错,但这次按照以往的处理方法却无法解决。最后查询Oracle官方文档,才确定Oracle11gR2和其他版本的ORA-12545报错处理方法不一致,需要将数据库实例参数local_listener内的host改为各节点的vip地址(默认host值为vip对应的别名)。修改该参数并生效后,应用程序可以正常访问数据库。

一、 用户反映问题描述

外勤管家应用程序通过客户端连接数据库,报错如下:

SQL*Plus: Release 11.2.0.1.0 Production on Thu May 17 12:35:28 2012 Copyright (c) 1982, 2010, Oracle. All rights reserved. ERROR:

ORA-12545: Connect failed because target host or object does not exist

二、 用户投诉问题处理情况

1、问题定位

a、检查oracle RAC各组件状态,均为ONLINE; >crs_stat -t

Name Type Target State Host

------------------------------------------------------------

ora.CRS.dg ora....up.type ONLINE ONLINE sdb01 ora.DATA.dg ora....up.type ONLINE ONLINE sdb01 ora.FLASH.dg ora....up.type ONLINE ONLINE sdb01 ora....ER.lsnr ora....er.type ONLINE ONLINE sdb01 ora....N1.lsnr ora....er.type ONLINE ONLINE sdb02 ora.asm ora.asm.type ONLINE ONLINE sdb01 ora.eons ora.eons.type ONLINE ONLINE sdb01 ora....network ora....rk.type ONLINE ONLINE sdb01 ora.ons ora.ons.type ONLINE ONLINE sdb01 ora....ry.acfs ora....fs.type ONLINE ONLINE sdb01 ora.scan1.vip ora....ip.type ONLINE ONLINE sdb02 ora....SM1.asm application ONLINE ONLINE sdb01 ora....01.lsnr application ONLINE ONLINE sdb01 ora.sdb01.ons application ONLINE ONLINE sdb01 ora.sdb01.vip ora....t1.type ONLINE ONLINE sdb01 ora....SM2.asm application ONLINE ONLINE sdb02 ora....02.lsnr application ONLINE ONLINE sdb02 ora.sdb02.ons application ONLINE ONLINE sdb02 ora.sdb02.vip ora....t1.type ONLINE ONLINE sdb02 ora.share.db ora....se.type ONLINE ONLINE sdb01

b、检查应用程序主机与数据库主机之间的网络,正常; c、在应用主机上tnsping数据库的tnsname,正常;

>tnsping tnsname 5

TNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 22-OCT-2012 08:53:21

Copyright (c) 1997, 2009, Oracle. All rights reserved. Used parameter files:

Used TNSNAMES adapter to resolve the alias

Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = scanip)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = tnsname))) OK (10 msec) OK (0 msec) OK (0 msec) OK (0 msec) OK (0 msec)

d、最后初步定位问题可能还是出现在监听上。 2、 问题分析

查阅oracle相关官方文档,最后在metalink上找到如下说明: Client is able to resolve all Fully Qualified Domain Name (FQDN) SCAN and VIP name but 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 while database is created.

因此只要把数据库实例参数local_listener内的host改为vip的IP地

址即可。 3、问题解决

根据metalink上的说明,分别在两个节点上修改local_listener参数。 节点1:

SQL> show parameter local_listener NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

local_listener string (DESCRIPTION=(ADDRESS_LIST=(AD DRESS=(PROTOCOL=TCP)(HOST=rac1-vip)(PORT=1521)))) SQL> alter system set

local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.199.250)(PORT=1521))))' scope=both sid='db1'; SQL> alter system register; 节点2:

SQL> show parameter local_listener NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

local_listener string (DESCRIPTION=(ADDRESS_LIST=(AD DRESS=(PROTOCOL=TCP)(HOST=rac2-vip)(PORT=1521)))) SQL> alter system set

local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.199.251)(PORT=1521))))' scope=both sid='db2';

SQL> alter system register;

随后在外勤管家应用服务器上使用客户端连接数据库,可以正常访问,如下: $sqlplus system/xxxx@db

SQL*Plus: Release 11.2.0.1.0 Production on Thu May 17 13:14:39 2012 Copyright (c) 1982, 2010, Oracle. All rights reserved. Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options。 三、 投诉处理经验总结

Oracle11gR2这个版本是oracle最新版本,较以前版本,新增了很多特性,在实际应用中,需要先详细阅读Oracle官方提供的版本新特性说明文档,以免按照老版本思路配置或使用造成不必要的故障。

四、 案例启示

对于Oracle数据库故障,很多时候要从多方面分析,相同的报错信息,但不一定是相同的原因造成的,需区别对待。


使用scanIP连接Oracle11gR2 RAC数据库报错ORA-12545解决案例.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:康师傅方便面的推广方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: