前言: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。

系统拓扑图大致如下:
利用Oracle CRS搭建应用的高可用集群(一)
主要操作步骤如下:

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

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

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

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

检查CRS安装配置正确:


<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->利用Oracle CRS搭建应用的高可用集群(一)root@rac01 #crs_stat -t 利用Oracle CRS搭建应用的高可用集群(一)Name Type Target State Host 利用Oracle CRS搭建应用的高可用集群(一)------------------------------------------------------------ 利用Oracle CRS搭建应用的高可用集群(一)ora....c01.gsd application ONLINE ONLINE rac01 利用Oracle CRS搭建应用的高可用集群(一)ora....c01.ons application ONLINE ONLINE rac01 利用Oracle CRS搭建应用的高可用集群(一)ora....c01.vip application ONLINE ONLINE rac01 利用Oracle CRS搭建应用的高可用集群(一)ora....c02.gsd application ONLINE ONLINE rac02 利用Oracle CRS搭建应用的高可用集群(一)ora....c02.ons application ONLINE ONLINE rac02 利用Oracle CRS搭建应用的高可用集群(一)ora....c02.vip application ONLINE ONLINE rac02 利用Oracle CRS搭建应用的高可用集群(一)

检查设置了正确的心跳网络:
[email protected] # $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数据库文件所需要的盘组、逻辑卷、文件系统、挂载文件系统并设置权限;
只需要在一个节点上做;


<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->利用Oracle CRS搭建应用的高可用集群(一)root@rac01 # vxdisksetup -i ams_wms0_0098 利用Oracle CRS搭建应用的高可用集群(一)root@rac01 # vxdg init oradata12 ams_wms0_0098 利用Oracle CRS搭建应用的高可用集群(一)root@rac01 # vxassist -g oradata12 make oradata 18G 利用Oracle CRS搭建应用的高可用集群(一)root@rac01 # vxedit -g oradata12 set user=oracle group=dba mode=644 oradata 利用Oracle CRS搭建应用的高可用集群(一)root@rac01 # timex mkfs -F vxfs /dev/vx/rdsk/oradata12/oradata 利用Oracle CRS搭建应用的高可用集群(一)version 7 layout 利用Oracle CRS搭建应用的高可用集群(一)37748736 sectors, 18874368 blocks of size 1024, log size 65536 blocks 利用Oracle CRS搭建应用的高可用集群(一)largefiles supported 利用Oracle CRS搭建应用的高可用集群(一)利用Oracle CRS搭建应用的高可用集群(一)real 10.30 利用Oracle CRS搭建应用的高可用集群(一)user 0.07 利用Oracle CRS搭建应用的高可用集群(一)sys 0.04 利用Oracle CRS搭建应用的高可用集群(一)利用Oracle CRS搭建应用的高可用集群(一)root@rac01 # mount -F vxfs -o largefiles /dev/vx/dsk/oradata12/oradata /oradata 利用Oracle CRS搭建应用的高可用集群(一)root@rac01 # chown oracle:dba /oradata 利用Oracle CRS搭建应用的高可用集群(一)root@rac01 # df -h /oradata/ 利用Oracle CRS搭建应用的高可用集群(一)Filesystem size used avail capacity Mounted on 利用Oracle CRS搭建应用的高可用集群(一)/dev/vx/dsk/oradata12/oradata 利用Oracle CRS搭建应用的高可用集群(一)18G 70M 17G 1% /oradata 利用Oracle CRS搭建应用的高可用集群(一)

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


<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->利用Oracle CRS搭建应用的高可用集群(一) 利用Oracle CRS搭建应用的高可用集群(一)oracle@rac01 $ dbca -silent -createDatabase -sid orcl -sysPassword sys -systemPassword sys / 利用Oracle CRS搭建应用的高可用集群(一)-datafileDestination /oradata -gdbName orcl -templateName General_Purpose.dbc 利用Oracle CRS搭建应用的高可用集群(一)Copying database files 利用Oracle CRS搭建应用的高可用集群(一)1% complete 利用Oracle CRS搭建应用的高可用集群(一)3% complete 利用Oracle CRS搭建应用的高可用集群(一)11% complete 利用Oracle CRS搭建应用的高可用集群(一)18% complete 利用Oracle CRS搭建应用的高可用集群(一)26% complete 利用Oracle CRS搭建应用的高可用集群(一)37% complete 利用Oracle CRS搭建应用的高可用集群(一)Creating and starting Oracle instance 利用Oracle CRS搭建应用的高可用集群(一)40% complete 利用Oracle CRS搭建应用的高可用集群(一)45% complete 利用Oracle CRS搭建应用的高可用集群(一)50% complete 利用Oracle CRS搭建应用的高可用集群(一)55% complete 利用Oracle CRS搭建应用的高可用集群(一)56% complete 利用Oracle CRS搭建应用的高可用集群(一)60% complete 利用Oracle CRS搭建应用的高可用集群(一)62% complete 利用Oracle CRS搭建应用的高可用集群(一)Completing Database Creation 利用Oracle CRS搭建应用的高可用集群(一)66% complete 利用Oracle CRS搭建应用的高可用集群(一)70% complete 利用Oracle CRS搭建应用的高可用集群(一)73% complete 利用Oracle CRS搭建应用的高可用集群(一)85% complete 利用Oracle CRS搭建应用的高可用集群(一)96% complete 利用Oracle CRS搭建应用的高可用集群(一)100% complete 利用Oracle CRS搭建应用的高可用集群(一)

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

相关文章: