在电力营销系统信息化建设中,随着负载的增加和使用范围的拓展,对数据库可用性、性能等方面的需要也日趋苛刻。本文结合了某市的电力营销系统建设实例,尝试使用oraclerac集群技术建立高可用性的电力营销数据库。
0、引言
随着电力管理信息化的不断普及和深入使用,在电力营销、地理信息化、供电收费方面都已经实现系统化管理。而电力营销系统——每时每刻记录着每一终端用户的用电情况,更是整个供电系统的重中之重。
本文根据营销数据库使用的实际情况,以集群和oraclerac技术为出发点,分析了相关技术的基本原理,在此基础上设计了oraclerac的实施方案,取得了较好的效果。
1、oraclerac并行集群
1.1集群技术概述集群是一种并行或分布式的处理系统,由相互独立的、通过高速网络互连的两个或多个计算机(节点)组成,通常集群可以划分为以下两类:
1.1.1高可用性集群,通常采用主、备两台服务器,由主服务器对外提供服务,当主服务器断电或系统异常时,集群软件自动将集群应用切换到备份服务器,在切换过程中对外服务将发生中断。
1.1.2负载均衡(并行)集群,负载均衡集群与高可用性集群相比最大的不同在于负载均衡集群中的所有节点都是活动节点,都能对外提供服务,没有主备之分,同样当集群单个或部分节点异常时,剩余节点将接管故障节点对外提供服务。
1.2oraclerac并行集群简介oracle集群实质上就是使多个服务器访问同一个oracle数据库,这样一方面可以避免一个服务器宕机时数据库不能访问,同时也可以进行并行运算和负载均衡。
从软件组件上来讲,一个oracle集群由多台服务器组成,每台服务器有自己的******,用于监听自己的网络端口;每台服务有自己的oraclerac服务,用于数据库的集群访问;每台服务器有自己的集群就绪服务,用于集群管理;所有的服务器通过自己的操作系统访问一个共享的存储设备。当有客户端访问时,由上而下依次调用相应的软件。
从逻辑结构上来讲,集群中的每台服务器有一个实例,每台服务器上的实例都对应到同一个数据库。在集群中有两台服务器,每台服务器拥有一个实例,每个实例都访问同一个数据库,数据库存储在共享磁盘上。
oracle10grac采用服务漂移、vip漂移和taf透明故障切换等新技术,有效的解决常见的软硬件故障引起的宕机,如sql语句故障、用户进程故障、网络故障、用户错误故障、实例故障和介质故障等。
2、rac集群规划
2.1硬件规划
2.1.1服务器方面采用2*560a,ibmsystemp5560a中型服务器拥有出色的性价比,它基于power5系列cpu下具备了大型机的可靠性、可用性等。
2.1.2磁盘阵列使用ds4700,ds4700是一款中级存储服务器,其存储能力能够达到33.6tb,使用最新的存储网络技术,能够提供端到端的4gbps的光纤通道百家乐凯发k8的解决方案。
2.2网络规划
2.2.1由于无论各节点间的心跳信息传递,应用对数据库的访问等都对网络传输速度以及稳定性有较高要求,拟采用h3cs5500千兆光纤交互机作交换。
2.2.2由于主机的网络通讯部分亦需要考虑冗余,拟对每一节点的服务器网卡使用绑定技术两两绑定,保证网络畅通。
2.3存储规划
2.3.1磁盘阵列方面采用raid1 0模式划分,综合使用条带化技术和镜像技术,前者把连续数据分割成数据库,分布存储到各硬盘上加快速度,后者把数据镜像都其他磁盘上加强冗余。
2.3.2共享存储设备的存储机制拟采用oracle自带的自动存储管理(asm),使用asm兼顾了裸设备的快速io和omf文件的方便管理这两个优点。asm可以在磁盘间io的负载均衡,完成数据的条带化和镜像,并执行联机磁盘配置和动态重平衡等,提高i/o的性能和数据可靠性。
3、rac集群实施
3.1按照系统规划图搭建系统软、硬件平台,安装aix操作系统,连接光纤存储,绑定网卡,划分存储硬盘。
3.2按照oracle系统要求安装操作系统补丁,建立oracle用户和dba、oinstall组,以及修改系统参数。
3.3修改/etc/hosts文件,按照网络规划添加vip、privat-ip、public-ip。
3.4配置节点之间的双机互信,以便双机能够互访。
3.5在oracle用户下按要求设置对应环境变量。
3.6安装oracle集群软件,并根据规划设置vip。
3.7以集群模式安装数据库应用软件。
3.8创建asm实例,按规划把对应的裸设备磁盘加入磁盘组,由于阵列划分的时候已经做了镜像,在这里只使用asm的条带化功能。
3.9创建oracle实例,并使用crs_stat_t命令查看集群状态。
3.10使用dbca创建taf服务。
4、rac集群测试
4.1taf测试①使用服务器上tnsname.ora里面的taf参数,配置链接数据库。②使用sqlplus链接数据库,执行一个大的查询(几万条)。③查询gv$session视图,确认当前链接所对应的实例。④使用srvctl等命令关闭当前链接对应的实例。
测试结果:数据表查询过程中出现几秒钟的中断,然后查询继续进行,查询完毕后显示的记录数目与表中数据的实际数目一致;查询gv$session视图显示链接已经转移到另一节点,在当前活动的实例节点上使用netstat命令查看,发现关闭实例节点的vip已成功漂移。
4.2负载均衡测试通过loadrunner模拟每隔1秒登录一个用户并运行不同的sql语句;查询gv$session视图动态跟踪两节点相关的session数量变化信息。
测试结果:发现两节点上的session数量均衡分布,新增加session会自动连接到相对较为空闲的节点上。这说明应用负载被自动均衡分布到所有的节点上。
5、结束语
oraclerac作为一种出色的高可用性集群,在容错、负载均衡以及并发处理方面都有突出特点。本文根据某市电力营销系统的建设情况,结合oraclerac技术,为前端应用系统提供了较好的后台数据库支撑。
参考文献:
[1]王强.oracle10grac技术在openav系统中的应用,机械工业信息与网络,2008年第3期.
[2]auguet,oraclerac概念介绍51cto技术论坛.
[3]吴志远,黄维平.oracle10grac在数字化校园中的应用网络安全技术与应用,2008.12.
[4]james,asm概述(good),百度blog.