[Oracle]3 Node ORACLE RAC项目手记
作者:charly 来源:IT168.com 添加时间:2006-5-26 9:53:33 前些时间做的项目,一直没有时间整理。现在好些,就整理一下过程文档。
这个项目基本情况如下:
原有2台IBM M85小机,Fastt500 盘柜,Oracle RAC数据库服务。
新增加一台IBM P5 550小机放在2KM外的电信机房,增加2台HDS的盘柜,分别放在公司机房和电信机房,实现HDS的trueCopy.新项目改造后要求,3台小机实现Oracle的RAC数据库服务。
开始我一直担心异地的HACMP对Oracle的RAC是否存在问题,由于没有先例和把握,只好做一步是一步了。后来证明这个担心是多余的。
要求计划整个项目计划2个星期内完成。
说明:
公司机房--本地机房
电信机房--远程机房
本地机房小机2台M85:A机,B机 2cpu 4G 16G×2
远程机房小机P5 550:C机 4CPU 8G 146G×2
实施过程基本分为以下部分:
我没有记录详细的安装步骤如AIX,HACMP,Oracle RAC安装流程等,但是碰到的问题都有记录,并有解决过程。
1. 项目准备
项目准备的主要工作是基本物料的准备和实施方案的确定。
基本物料准备包括:机房条件检查,线缆统计和购买,相关介质准备。
在机房检查过程中,发现远程机房UPS零地电压竟然70多,提出整改;由于本地机房和远程机房距离较远,中间是通过单模的光纤来连接的,因此需要配置单模的光纤跳线。
实施方案确定:
1.1 由于业务系统白天不能停,3台小机安装系统,配置HA,配置磁盘柜,安装OracleRAC这么多内容不可能在一个晚上完成。因此,必须考虑一套临时的过渡数据库。经过讨论,决定将临时库安装在新配置的C机上。即需要在c机上安装2套Oracle数据库,一套临时的单实例版本,另外一套RAC版本。(主要是c机的配置较高)
1.2 由于本地机房和远程机房距离约2KM,无法实现串口的心跳线,因此只能通过IP网络或者磁盘心跳。出于这个考虑,决定使用AIX 5204和HACMP 5.1版本,HACMP通过共享磁盘来实现心跳。规划IP地址等。
1.3 由于原有的Oracle数据下有20多个用户,总约15G数据量,约300个连接数。而且数据分布也不合理,在system表空间中有用户数据,因此只能通过全库级别的exp/imp来实现数据迁移(懒人的方法)。Oracle 版本定于Oracle 9201(这是一个严重的失误,导致后来项目延期,问题多多)。(没有做物理备份)
1.4 磁盘规划:盘柜中有2个LUN给Oracle RAC使用,大小都为100G,即总200G,全部配置为RAW设备,AIX中分别属于oravg1,oravg2.
1.5 表空间设计:我看了一下原来的oracle,20多个用户中,数据主要集中在2个用户user1和user2。我就吧user1的表空间放在oravg1,user2 的表空间放在oravg2。(后来证明这里犯了一个错误,导致IO出现瓶颈),同时对重要的表空间做LV的Mirror处理。
2. 临时数据库系统准备和数据备份
根据方案c机安装完成AIX和HACMP后,建立一个ora用户以及划分50G空间给Ora用户,安装Oracle,建库,从A机exp全库,然后c机全库导入。比较顺利,一个晚上完成了,检查数据完整性后,第二天将业务就切换到了临时库上。
3. 3台小机的AIX安装和HACMP配置
A机、B机的AIX安装和HACMP安装配置基本没有什么大的问题,HDS的盘柜也非常顺利。
AIX补丁:AIX 5204
HACMP:最新
HACMP5.1的配置还是安替换IP的方法配置,即IP替换而不是别名,由于做ORACLE 的RAC,相对来说HACMP比较简单,因为不需要配置应用切换,只需要配置资源组共享就可以了。我建立了2个VGravg1,oravg2都是concurrent模式。只有一个资源组,包括了service ip,oravg1,oravg2.
HACMP的心跳需要注意就是必须是ConCurrentVg的VG,此VG可以存放数据,也就是说可以和Oracle RAC存放的VG公用,我配置了oravg1。
HACMP同步,测试启动HA,检查资源是否正常:
lsvg -o (三机相同)
rootvg
oravg1
oravg2
netstat -in (service ip是否在线,每台机器都需要检查)
正常后继续。
这部分做了1天。
HDS的TRUECOPY有HDS的工程师完成。