利用Oracle CRS搭建应用的高可用集群(一)

来源:互联网 发布:阿里巴巴淘宝城规划 编辑:程序博客网 时间:2024/06/10 18:25

前言:CRS的简介和由来

从Oracle 10gR1 RAC 开始,Oracle推出了自身的集群软件,这个软件的名称叫做Oracle Cluster Ready Service(Oracle集群就绪服务),简称CRS。从Oracle 10gR2开始,包括最新的11g,Oracle将其更名为Clusterware(集群件),但通常意义上我们认为CRS = Clusterware = Oracle Cluster Ready Service = Oracle Cluster Software.

CRS一般用来搭建Oracle的并行数据库,即RAC,但除了与RAC的接口之外,CRS还提供了一组高可用性的应用程序接口(API),用来搭建一般应用程序的高可用集群,即一般我们常说的双机热备,比如使用CRS实现MySQL的双机热备。
这种主备模式的双机热备还可以包括许多第三方的应用程序,比如虚拟IP、磁盘组、文件系统、MySQL数据库、Apache,或者单节点的Oracle实例,或者单节点的ASM,等等,都可以作为资源注册到CRS中去,由CRS来启动,关闭,监测应用程序的状态,还可以设置应用程序相互的依赖关系,保证多组资源正确的启动顺序。

    本文就以保护单节点oracle实例为例,演示如何使用CRS来实现上述功能。使用的主要的软件有:Solaris 10u4, Oracle CRS 10.2.0.2 , Oracle RDMBS 10.2.0.3, VxVM 5.0 ,磁盘阵列型号是AMS1000。

    系统拓扑图大致如下:

主要操作步骤如下:

一、准备工作:软件安装,数据库创建

1.安装Solaris 10, Veritas Volume Manager ,安装过程略
2.创建用户组dba/oinstall,oracle用户,并修改相应profile和/etc/hosts文件
修改rhosts文件,配置oracle用户的对等连接;
连接心跳网线;
如果生产环境中推荐心跳网络使用千兆,推荐每台机器有两块网卡分别连接两个网络交换机;
在操作系统中启动心跳网卡;
准备共享磁盘,这里使用的是SAN环境下的共享盘ams_wms0_0098,大小为20G;

3.下面使用静默方式来安装Oracle集群软件、数据库软件
这种安装创建方式的优点是创建速度比较快,并且不需要运行图形界面,适合远程安装和建库;
缺点是不直观,需要手工编写响应文件;
这一步CRS的安装只需要在一个节点上做:
oracle@rac01$. ./clusterware/runInstaller -silent -responsefile /tmp/shahand/crs.rsp
crs.rsp 文件内容参考“五-7”部分

CRS的runInstaller运行完毕以后,要手工在两个节点上运行root.sh,
并要手工运行$CRS_HOME/cfgtoollogs/configToolAllCommands

检查CRS安装配置正确:

root@rac01 #crs_stat -tName Type Target State Host------------------------------------------------------------ ora....c01.gsd application ONLINE ONLINE rac01ora....c01.ons application ONLINE ONLINE rac01ora....c01.vip application ONLINE ONLINE rac01ora....c02.gsd application ONLINE ONLINE rac02ora....c02.ons application ONLINE ONLINE rac02ora....c02.vip application ONLINE ONLINE rac02

检查设置了正确的心跳网络:
root@rac01 # $CRS_HOME/bin/oifcfg getif
e1000g0 10.198.88.0 global public
e1000g1 192.168.2.0 global cluster_interconnect

使用静默方式安装Oracle 数据库软件,这一步两个节点都要做:
./runInstaller -silent -responsefile /tmp/shahand/db.rsp
db.rsp 文件内容参考“五-8”部分

4.创建oracle数据库文件所需要的盘组、逻辑卷、文件系统、挂载文件系统并设置权限;
只需要在一个节点上做;  

root@rac01 # vxdisksetup -i ams_wms0_0098root@rac01 # vxdg init oradata12 ams_wms0_0098root@rac01 # vxassist -g oradata12 make oradata 18Groot@rac01 # vxedit -g oradata12 set user=oracle group=dba mode=644 oradataroot@rac01 # timex mkfs -F vxfs /dev/vx/rdsk/oradata12/oradataversion 7 layout37748736 sectors, 18874368 blocks of size 1024, log size 65536 blockslargefiles supportedreal 10.30user 0.07sys 0.04root@rac01 # mount -F vxfs -o largefiles /dev/vx/dsk/oradata12/oradata /oradataroot@rac01 # chown oracle:dba /oradataroot@rac01 # df -h /oradata/Filesystem size used avail capacity Mounted on/dev/vx/dsk/oradata12/oradata18G 70M 17G 1% /oradata

5.静默方式创建oracle数据库,只需要一个节点上做:   

oracle@rac01 $ dbca -silent -createDatabase -sid orcl -sysPassword sys -systemPassword sys /-datafileDestination /oradata -gdbName orcl -templateName General_Purpose.dbcCopying database files1% complete3% complete11% complete18% complete26% complete37% completeCreating and starting Oracle instance40% complete45% complete50% complete55% complete56% complete60% complete62% completeCompleting Database Creation66% complete70% complete73% complete85% complete96% complete100% complete

手工检查数据库orcl的状态,可以登陆数据库select status from v$instance查看。

原创粉丝点击