测试Oracle RAC数据库集群功能

Oracle RAC是一个集群数据库,可以实现负载均衡和故障无缝切换。如何知道RAC数据库已经实现了这些功能呢,下面就对此进行功能测试。

一、 负载均衡测试

RAC数据库的负载均衡是指对数据库连接的负载均衡,当一个新的会话连接到RAC数据库时,通过指定的分配算法将请求分配到集群的任一节点上,这就是RAC数据库完成的功能。负载均衡在RAC中分为两种:一种是基于客户端连接的负载均衡;一种是基于服务器端的负载均衡。

1. RAC客户端负载均衡

客户端连接的负载均衡配置起来非常简单,与RAC数据库的实例负载和监听没有任何关系,因此也就不需要在集群节点进行任何设置,只要在客户端机器上的tnsnames.ora文件中添加负载均衡策略配置即可。这里以Linux客户端为例进行介绍。

(1) 修改/etc/hosts文件

编辑/etc/hosts文件,将RAC数据库相关的IP地址信息添加进去,例如:

192.168.12.231          node-rac1

192.168.12.232          node-rac2

192.168.12.230          node-vip1

192.168.12.240          node-vip2

(2) 查看RAC数据库的service_names

[oracle@node-rac1 ~]$ sqlplus "/as sysdba"

SQL*Plus: Release 11.1.0.6.0 - Production on Sun Sep 12 22:05:53 2010

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

Connected to:

Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production

With the Partitioning, Real Application Clusters, OLAP, Data Mining

and Real Application Testing options

NAME           TYPE        VALUE

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

service_names    string        racdb

 这里需要说明的是,在配置RAC负载均衡时,客户端连接的是RAC数据库的服务名,而不是实例名,也就是SERVICE_NAME必须设置为“SERVICE_NAME = racdb”

(3) 修改Oracle客户端的配置文件tnsnames.ora

RACDB=

 (DESCRIPTION =

 (ADDRESS_LIST =

   (ADDRESS = (PROTOCOL = TCP)(HOST = node-vip2)(PORT = 1521))

   (ADDRESS = (PROTOCOL = TCP)(HOST = node-vip1)(PORT = 1521))

   (LOAD_BALANCE = yes)

   )

   (CONNECT_DATA =

     (SERVER = DEDICATED)

     (SERVICE_NAME = racdb)

   )

 )

这个配置文件的说明如下:

LOAD_BALANCE = yes,表示启用连接负载均衡。在默认情况下“LOAD_BALANCE = no”,因此如果要配置负载均衡,必须添加设置“LOAD_BALANCE = yes”。启用负载均衡后,SQLNet会随机选择ADDRESS_LIST列表中的任意一个监听,然后将请求分发到此监听上,通过这种方式完成负载均衡。如果“LOAD_BALANCE = no”,那么SQLNet会按照ADDRESS_LIST列表中的顺序选择监听,只要这个监听正常就一直使用该监听。

SERVICE_NAME = racdb,这个“racdb“是RAC数据库的服务名,而非实例名。

时间: 2024-08-04 07:43:03

测试Oracle RAC数据库集群功能的相关文章

在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 11g 集群

                                                                                              >                                                                                                                                                          

JAVA查询Oracle数据库集群连接字符串

  事件: 报表接口数据库突然无法连接 ,导致无法正常取数操作. 异常信息: Io 异常: Got minus one from a read call 分析: 数据库地址及其配置信息都为发生变化 , 经询问后得知数据库调整为集群工作方式 . 结果: 1. 修改普通 JDBC 连接字符串为集群工作方式. 2. 接口中的 JDBC JAR文件不适合集群工作方式. 思维宽度: 1. JDBC JAR文件的选择, Classes12 到底是个啥玩意? 第一次听很晕 , 其实就是 oracle 数据库自

【Data Cluster】真机环境下MySQL数据库集群搭建

             真机环境下MySQL-Cluster搭建文档 MySQL Cluster简介       MySQL cluster 和 Oracle RAC 完全不同,它采用 无共享架构Shared nothing(shared nothing architecture).整个集群由管理节点(ndb_mgmd),处理节点(mysqld)和存储节点(ndbd)组 成,不存在一个共享的存储设备.MySQL cluster 主要利用了 NDB 存储引擎来实现,NDB 存储引擎是一个内存式存

使用虚拟机在 Oracle Enterprise Linux 上免费试用 Oracle 真正应用集群 10g 第 2 版

修订者Wilson注: 为了方便初学者更好地完成本实验,Wilson对本文进行了若干注释 本文所需要的VMware server 1.0.3 注册码是: 注册码1: 98XY4-54VA4-4216V-4PDZ6 注册码2: WH0M5-XW50J-WA4FU-4MTZ3 此外,同学们还应该下载一个FTP客户端工具用于把各种软件从Windows主机传送到Linux虚拟机当中.最好该工具支持ssh2 over ftp协议的,推荐使用FileZilla: http://filezilla.sourc

基于MySQL的数据库集群系统的实现

mysql|数据|数据库 您的WebApp系统是否正在使用一个MySQL的数据库系统?您的客户是不是总是抱怨页面结果反馈的非常慢?您的MySQL系统的负载是不是总是维持在一个非常高的状态下?本文将为您提供一个分担MySQL系统的负载的方法,以及由此派生出来的一个MySQL-HA-Proxy的开发项目.使用本文提供的方法,您将以最小的源代码改动,获得MySQL系统的高效运转. 第一节 数据库集群技术的现状 目前数据库集群系统应用得比较成功,应用范围比较广泛的是:Oracle公司的Oracle9与I

CentOS7+MySQL/MariaDB+Galera+HAProxy+Keepalived构建高可用数据库集群

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dgd2010.blog.51cto.com/1539422/1603972 方案优势: Galera能够实现MySQL/MariaDB数据库的主主复制和多主复制等模式,这些复制模式都是同步进行的,同步时间非常短 每一个节点都可以同时写入和读取,当某一节点发生故障时,可自动从集群中自动剔除 HAProxy能提供负载均衡和故障判断等功能解决服务器系统存在的单点故障 Keepaliv

解析大数据时代的数据库集群技术

当今世界是一个信息化的世界,我们的生活中无论是生活.工作.学习都离不开信息系统的支撑.而信息系统的背后用于保存和处理最终结果的地方就是数据库.因此数据库系统就变得尤为重要,这意味着如果数据库如果面临问题,则意味着整个应用系统也会面临挑战,从而带来严重的损失和后果. 如今"大数据"这个词已经变得非常流行,虽然这个概念如何落地不得而知.但可以确定的是,随着物联网.移动应用的兴起,数据量相比过去会有几何级的提升,因此数据库所需要解决的问题不再仅仅是记录程序正确的处理结果,还需要解决如下挑战:

大数据时代的可扩展性数据库集群技术

ZDNet至顶网服务器频道 06月05日 新闻消息:信息系统的背后用于保存和处理最终结果的地方就是数据库.因此数据库系统就变得尤为重要,这意味着如果数据库如果面临问题,则意味着整个应用系统也会面临挑战,从而带来严重的损失和后果.目前在大数据趋势下,数据库面临如下的挑战: 当数据库性能遇到问题时,是否能够横向扩展,通过添加服务器的方式达到更高的吞吐量,从而充分利用现有的硬件实现更好的投资回报率. 是否拥有实时同步的副本,当数据库面临灾难时,可以短时间内通过故障转移的方式保证数据库的可用性.此外,当

PHP访问数据库集群的方法小结_php技巧

本文总结分析了PHP访问数据库集群的方法.分享给大家供大家参考,具体如下: 一般常见的有三种做法: 1.自动判断sql是否为读,来选择数据库的连接: 实例化php DB类的时候,需要一次连接两台服务器,然后根据slq选择不同的连接,举个例子: $link_w = mysql_connect($w_host,$user,$pwd); $link_r = mysql_connect($r_host,$user,$pwd); //执行sql if(preg_match("/^select/i"