怎么解决RAC数据库环境修改scanip后客户端连接异常

技术怎么解决RAC数据库环境修改scanip后客户端连接异常这篇文章主要讲解了“怎么解决RAC数据库环境修改scanip后客户端连接异常”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来

本文主要讲解“RAC数据库环境下如何解决scanip修改后客户端连接异常的问题”。本文的讲解内容简单明了,易学易懂。请跟随边肖的思路,一起学习学习“RAC数据库环境下如何解决scanip修改后客户端连接异常”。

摘要:,的一个项目中,有必要将一个rac数据库迁移到另一个具有相同网段和数据库名称的rac。迁移后,发现新数据仍会插入旧数据库,但新数据库中没有新数据。

00-1010,一个rac数据库需要迁移到项目中的另一个rac,这两个rac集具有相同的网段和数据库名称。这里旧的rac环境叫rac a,新的rac环境叫rac b,正式迁移数据库的时候发现了一个问题。即使RAC B的扫描ip与rac a相同,迁移后发现程序连接到旧数据库rac a,所有数据都存在于旧数据库中,但没有新数据进入新的RAC B.

经调查发现,rac a和rac b在修改扫描ip后没有重启数据库或集群,应用程序的数据库连接字符串没有问题。为什么数据仍然被插入旧数据库?经过下面的场景模拟,我们可以得到答案。

两个rac环境从10到1010部署在本地,具有相同的网段,但唯一的区别是db_name不同于RAC A。

db_name:orcldb

部署后扫描IP:172 . 16 . 4 . 125。

要修改的新扫描IP是172.16.4.140。

rac b

db_name:orcl

部署后扫描IP:172 . 16 . 4 . 135。

要修改的新扫描ip扫描ip:172.16.4.125(rac b使用rac a的扫描ip)。

以上是模拟数据库迁移后,客户端程序是否可以在不改变数据库连接字符串的情况下连接到正确的数据库。

使用客户端分别连接两组rac扫描ip。

连接前检查rac a,rac b的dbid便于后期验证。

怎么解决RAC数据库环境修改scanip后客户端连接异常

怎么解决RAC数据库环境修改scanip后客户端连接异常

场景1: sqlplus使用172.16.4.125连接到rac b。

怎么解决RAC数据库环境修改scanip后客户端连接异常

结果:rac b无法连接。

场景2: sqlplus使用相同的扫描ip 172.16.4.125,但是服务名是rac a的db_name。

怎么解决RAC数据库环境修改scanip后客户端连接异常

结果:检查dbid后,客户端实际连接的数据库是rac a,而不是RAC B。

场景3:重新启动rac b上的数据库,客户再次连接。

怎么解决RAC数据库环境修改scanip后客户端连接异常

结果:rac b重启后,检查dbid,真实数据库由sqlplus连接。

之所以在项目环境中将数据从一个rac迁移到另一个rac时没有发现问题,是因为迁移后的扫描ip和db_name与原来的完全相同,但是数据库没有重新启动,所以很难在项目现场暴露问题。

一、场景简介

从上面的实验可以知道,修改rac扫描ip后,需要重新启动数据库。此外,在MOS 1373350.1作为11g rac上也发现了这个bug。如果数据库没有重新启动,也可以通过重置remote_listener参数来解决。虽然mos说它在11.2.0.3已经被修复了,但在11.2.0.4仍然可能有这个bug。

mos文件如下:

主题使用canvipandlisteners进行安全故障排除(文档ID1373350.1)。

问题#5:nbs

p;Service not getting registered with SCAN listener after failover of the SCAN listener
After SCAN VIP and SCAN listener failover, instance does not register with the SCAN listener. 
It might happen for only 1 of the scan listener. Client connection gets intermittent ORA-12514 TNS:listener does not currently know of service requested in connect descriptor.
Causes:
1. Unpublished Bug 12659561  after scan listener failover, database instance might not register to the scan listener (refer  Note 12659561.8 ), fixed in 11.2.0.3.2, merge patch 13354057 for 11.2.0.2 available for certain platform. 
2. Unpublished Bug 13066936  Instance does not register services when scan fails over (refer  Note 13066936.8 ) 
Solutions: 
1) For both above bugs, the workaround is to unregister and register remote listener on the database instance which does not register to a SCAN listener with following steps. 
show parameter remote_listener 
alter system set remote_listener=''; 
alter system register; 
alter system set remote_listener='<scan>:<port>'; 
alter system register; 
2) Other points to check if service is not registered with SCAN listener: 
a. remote_listener and local_listener is defined correctly 
b. EZCONNECT is defined in sqlnet.ora, eg: NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) 
c. SCAN name with 3 IPs should NOT be defined in /etc/hosts, it should be defined in DNS 
d. running nslookup <scan> multiple times should display SCAN VIP in round-robin fashion 
e. do not set SECURE_REGISTER_<listener> in listener.ora if the class of secure transports (COST) is not configured.

感谢各位的阅读,以上就是“怎么解决RAC数据库环境修改scanip后客户端连接异常”的内容了,经过本文的学习后,相信大家对怎么解决RAC数据库环境修改scanip后客户端连接异常这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/70310.html

(0)

相关推荐

  • JVM堆外内存泄漏故障排查的示例分析

    技术JVM堆外内存泄漏故障排查的示例分析本篇文章为大家展示了JVM堆外内存泄漏故障排查的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 前言记录一次线上JVM堆外内存泄漏

    攻略 2021年10月23日
  • express框架

    技术express框架 express框架Express框架
    Express简化了关于NodeJS应用的开发
    官网地址:https://www.expressjs.com.cn/使用npm instal

    礼包 2021年10月19日
  • Unity3d的基础是什么

    技术Unity3d的基础是什么今天就跟大家聊聊有关Unity3d的基础是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、Unity中的坐标系是使用的左手坐标

    攻略 2021年11月11日
  • java的runtime执行命令的缺点(javaruntime参数设置)

    技术Java Runtime的使用方法是什么这篇文章将为大家详细讲解有关Java Runtime的使用方法是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。前言最近做项

    攻略 2021年12月15日
  • 增加cacti监控对象时导致数据库出问题怎么办

    技术增加cacti监控对象时导致数据库出问题怎么办这篇文章主要介绍增加cacti监控对象时导致数据库出问题怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!生产环境:数据库:mysql 5.5.

    攻略 2021年11月23日
  • 如何浅析数据库与缓存的双写一致性问题

    技术如何浅析数据库与缓存的双写一致性问题今天就跟大家聊聊有关如何浅析数据库与缓存的双写一致性问题,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。缓存由于其高并发和高

    攻略 2021年12月1日