文档库 最新最全的文档下载
当前位置:文档库 › RAC应用集群介绍

RAC应用集群介绍

RAC应用集群介绍
RAC应用集群介绍

RAC应用集群

一.实施规划

1.平台:

操作系统:RedHat Enterprise Linux Advanced Server 5.0

内存大小:2048M

交换空间:2048M

硬盘空间:10G

网卡配置:2(public IP,Vitual IP ,Private IP)

主机结点:2(node1,node2)

存储设备:1 (DB fies)

2.网络规划

Node1 公共192.168.100.101

Node2 公共192.168.100.102

Node1-vip 虚拟192.168.100.201

Node2-vip 虚拟192.168.100.202

Node1-priv 专用19.168.100.101

Node2-priv 专用19.168.100.102

3.安装流程

>安装虚拟机vmware Server 1.0.9

>安装RHEL5.4

>配置RHEL操作系统

>复制第二台虚拟机

>配置双机信任关系

>建立ASM存储

>安装clusterware软件

>安装database软件

>配置监听Listener

>建立数据库实例

二.新建虚拟机

1.选择-》新建,虚拟机名为RAC1,location为F:\vmware\RAC1,网卡接口选择桥接网络方式(Use bridged networking),适配器选择LSI Logic,虚拟硬盘选择SCSI,硬盘容量选择10G,然后选择每次扩充扩充2G(Split disk into 2GB files),不选择立即分配。

然后按Add添加硬盘,先添加一个100M的硬盘,选择立即分配方式(Allocate all disk space now),该盘作为V otingDisk盘,目录存放位置为F:\vmware\sharedisk\Votingdisk,虚拟设备结点选择SCSI 1:1 Hard Disk2,模式选择一致即:independent->persistent。

然后再添加一个100M的硬盘,选择立即分配,该盘作为OCRdisk盘,目录存放位置为:F:\vmware\sharedisk\OCRdisk,硬盘选择SCSI 1:2,模式为一致。

再添加一个2G的硬盘用作ASM的数据文件的空间,选择立即分配和2G扩充一个文件,目录位置为F:\vmware\sharedisk\ASMdisk,硬盘选择SCSI 1:3,模式选择一致。

再添加一个 1.3G的硬盘用作ASM的闪回区,选择立即分配,目录位置为F:\vmware\sharedisk\ASMdisk2,硬盘选择SCSI 1:4,模式选择一致性。

再添加一块网卡,用作两台虚拟机之间的通信,连接方式选择Host-only模式并选择(connect at power on)。

2. 开启该虚拟机,安装RHEL 5.4,注意事项:

交换分区分2G,主机名为node1,eth0为192.168.100.101,eth1为19.168.100.101 作为node1-priv,自定义安装包时,选择开发、服务器以及基本系统的全部,防火墙关闭,selinux 设为enabled禁用。

安装好之后,编辑F:\vmware\RAC1\Red Hat Linux.vmx,添加如下一段(可以使那四个磁盘真正的作为共享盘):

disk.locking = “false”

disklib.dataCacheMaxSize = “0”

disklib.dataCacheMaxReadAheadSize = “0”

disklib.dataCacheMinReadAheadSize = “0”

disklib.dataCachePageSize = “4096”

disklib.maxUnsyncedWrites = “0”

scsi1:1.deviceType = “disk”

scsi1:2.deviceType = “disk”

scsi1:3.deviceType = “disk”

scsi1:4.deviceType = “disk”

4.RHEL系统配置

#uname –r

2.6.128-164.el5

#vim /etc/hosts(加上如下一段)

192.168.100.101 node1

192.168.100.102 node2

192.168.100.201 node1-vip

192.168.100.202 node2-vip

19.168.100.101 node1-priv

19.168.100.102 node2-priv

#vim /etc/sysctl.conf(加上如下一段)

Kernel.shmall = 2097152

Kernel.shmmax = 536870912

Kernel.shmmni = 4096

Kernel.sem = 250 32000 100 128

Fs.file-max = 65536

Net.ipv4.ip_local_port_range = 1024 65000

Net.core.rmem_default = 1048576

Net.core.rmem_max = 1048576

Net.core.wmem_default = 262144

Net.core.wmem_max = 262144

#sysctl –p (是该文件生效)

#vim /etc/security/limits.conf(加上如下一段)

Oracle soft nproc 2047

Oracle hard nproc 16384

Oracle soft nofile 1024

Oracle hard nofile 65536

#vim /etc/pam.d/login(加上如下一段)

Session required /lib/security/pam_limits.so

#vim /etc/rc.loal (挂起检测时间定时器,检测对方有没有宕机)

Modprobe hangcheck-timer hangcheck-tick=30 hangcheck_margin=20

#groupadd oinstall

#groupadd dba

#useradd –m –g oinstall –G dba

#passwd oracle

#vim /home/oracle/.bash_profile

Export TMPDIR=/tmp

Export ORACLE_BASE=/u01/app/oracle

Export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

Export ORACLE_SID=RACDB1

Export ORACLE_TERM=xterm

Export PATH=$ORACLE_HOME/bin:/usr/bin:$PATH

Export LD_LIBRARY_PA TH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin Export

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib Ulimit –u 16384 –n 65536

Umask 022

#mkdir –p /u01/app/oracle

#chown –R oracle:oinstall /u01

#chmod –R 775 /u01

#fdisk /dev/sdb

#fdisk /dev/sdc

#fdisk /dev/sdd

#fdisk /dev/sde

#partprobe

#rpm –ivh oracleasm-support-*

#rpm –ivh oracleasm-2.6.18-164.el5.*

#rpm –ivh oracleasmlib*

#rpm –ivh compat-gcc-7.3.2-2.96.128.i386.rpm

#rpm –Uvh compat-libstdc++-7* --force

#rpm –ivh compat-libstdc---devel-7.3.2

#rpm –ivh compat-gcc-c++*

#service oracleasm configure

Oracle

Oinstall

Y

Y

#vim /etc/udev/rules.d/60-raw.rules(加上如下一段)

ACTION==”add”,KERNEL==”/dev/sdb1”,RUN+=”/bin/raw /dev/raw1 %N”

ACTION==”add”,ENV{MAJOR}==”8”,ENV{MINOR}==”17”,RUN+=”/bin/raw

/dev/raw/raw1 %M %m” ( 其中的主设备号可以通过ls –l /dev/sd*查看)

ACTION==”add”,KERNEL==”/dev/sdc1”,RUN+=”/bin/raw /dev/raw2 %N”

ACTION==”add”,ENV{MAJOR}==”8”,ENV{MINOR}==”33”,RUN+=”/bin/raw

/dev/raw/raw2 %M %m”

KERNEL==”raw[1-2]”,OWNER=”oracle”,GROUP=”oinstall”,MODE=”640”

#start_udev

#ls –l /dev/raw/*

#shutdown –h now

三.复制出第二台虚拟机

1.将复制之后的名称为RAC1的改为RAC2,另外编辑Red Hat Linux.vmx查找文件中的RAC1将它改为RAC2,然后编辑RAC

2.vmdk将文件中的RAC1改为RAC2(如下所示): RW 4192256 SPARSE “RAC2-s001.vmdk”

RW 4192256 SPARSE “RAC2-s002.vmdk”

RW 4192256 SPARSE “RAC2-s003.vmdk”

RW 4192256 SPARSE “RAC2-s004.vmdk”

RW 4192256 SPARSE “RAC2-s005.vmdk”

RW 10240 SPARSE “RAC2-s006.vmdk”

2.打开RAC2,选择Create

3.配置node2操作系统

#hostname node2

#vim /etc/sysconfig/network

HOSTNAME=node2

#vim /etc/hosts

127.0.0.1 node2 localhost.localdomain localhost

#cd /etc/sysconfig/network-scripts/

#cat ifcfg-eth0.bak

#cat ifcfg-eth0

#cat ifcfg-eth1.bak

#cat ifcfg-eth1

#mv ifcfg-eth0.bak ifcfg-eth0

#mv ifcfg-eth1.bak ifcfg-eth1

#ifconfig eth0 | grep HWaddr

#cat ifcfg-eth0 | grep ADDR

#ifconfig eth1 | grep Hwaddr

#cat ifcfg-eth1 | grep ADDR

#cat /home/oracle/.bash_profile | grep ORACLE_SID

Export ORACLE_SID=RACDB2

#ping node1

#ping node2

#ping node1-priv

#ping node2-priv

4.时间同步

Node2]# ssh node1

Node1]# service xinetd start

Node1]# chkconfig time-stream on

Node1]# chkconfig xinetd on

Node1]# chkconfig ntpd on

Node1]#service ntpd restart

Node1]#exit

Node2]#crontab –e

0-59/1 * * * * rdate –s 192.168.100.101

0-59/1 * * * * ntpdate 192.168.100.101

Node2]# > /etc/resolv.conf

Node2]# ssh node1

Node1]# > /etc/resolv.conf

四.配置双机信任关系

Node1]#su – oracle

Node1]$ mkdir .ssh

Node1]$ chmod 700 .ssh

Node1]$ ssh-keygen –t rsa

Node1]$ ssh-keygen -t dsa

Node2]#su – oracle

Node2]$mkdir .ssh

Node2]$chmod 700 .ssh

Node2]$ssh-keygen -t rsa

Node2]$ssh-keygen -t dsa

Node1]$ cat /home/oracle/.ssh/id_rsa.pub >> /home/oracle/.ssh/authorized_keys

Node1]$ cat /home/oracle/.ssh/id_dsa.pub >> /home/oracle/.ssh/authorized_keys

Node1]$ssh node2 cat /home/oracle/.ssh/id_rsa.pub >> /home/oracle/.ssh/authorized_keys Node1]$ssh node2 cat /home/oracle/.ssh/id_dsa.pub >> /home/oracle/.ssh/authorized_keys Node1]$ scp /home/oracle/.ssh/authorized_keys node2:/home/oracle/.ssh/authorized_keys

五.配置ASM

Node1]#service oracleasm configure

Node1]#service oracleasm createdisk vol1 /dev/sdd1

Node1]#service oracleasm createdisk vol2 /dev/sde1

Node1]#service oracleasm scandisks

Node1]#service oracleasm listdisks

Node1]#ssh node2

Node2]#service oracleasm scandisks

Node2]#service oracleasm listdisks

Node2]#exit

Node1]#cd /oradisk

Node1]#unzip oracle10g01_cluster*****

Node1]#chown –R oracle:oinstall /oradisk

Node1]#chmod –R 775 /oradisk

然后注销以oracle登录

Node1]$cd /oradisk/clusterware/cluvfy

Node1]$./runcluvfy.sh stage –pre crsinst -n node1.node2 -verbose

Node1]$export LANG=en_US

Node1]$/oradisk/clusterware/runInstaller -ignoreSysPreReqs

这里注意1.安装路径为/u01/app/oracle/product/10.2.0/crs_1

2.Specify Cluster Configuration 中添加上node2的信息

3.Specify Network Interface Usage中检查一下eth0和eth1的接口类型有没有反,应该eth0为public,eth1为private。

4.指定OCR配置的路径为/dev/raw/raw1,外部存储

5.指定V otingDisk的路径为/dev/raw/raw2,外部存储

6.安装过程中最重要的:在node2上用ntpdate 192.168.100.101与node1同步(手工进行且最好是每两三秒同步一次)。

7.当安装完成即出现要执行两个文件的窗口时,一定要将如下步骤操作完之后才可以点击OK。

Node1]#/u01/app/oracle/oraInventory/orainstRoot.sh

Node2]#/u01/app/oracle/oraInventory/orainstRoot.sh

Node1]#/u01/app/oracle/product/10.2.0/crs_1/root.sh(注意,在这里的执行过程中要查看/dev/raw/raw*是不是属于oracle和oinstall组)

Node2]#/u01/app/oracle/product/10.2.0/crs_1/root.sh(在这里执行完会报错,此时要修改/u01/app/oracle/product/10.2.0/crs_1/bin/vipca和srvctl )如下所示:

Node2]#vim vipca

if [ “Sarch” = “i686”–o “Sarch” = “ia64” ]

then

LD_ASSUME_KERNEL=2.4.19

export LD_ASSUME_KERNEL

fi

unset LD_ASSUME_KERNEL (加上这句话)

Node2]#vim srvctl

LD_ASSUME_KERNEL=2.4.19

export LD_ASSUME_KERNEL

unset LD_ASSUME_KERNEL(*******)

Node2]#/u01/app/oracle/product/10.2.0/crs_1/root.sh

Node2]#cd /u01/app/oracle/product/10.2.0/crs_1/bin/

Node2]#export LANG=en_US.UTF-8

Node2]#./vipca (会报错)

Node2]#./oifcfg iflist

Node2]#./oifcfg setif -global eth0/192.168.100.0:public

Node2]#./oifcfg setif -global eth1/19.168.100.0:cluster_interconnect

Node2]#./oifcfg getif

Node2]#./vipca (该项配置过程中注意两个vip的配置,完成之后回到node1上的clusterware安装界面点击ok)

集群软件安装完成之后:

Node1]#cd /u01/app/oracle/product/10.2.0/crs_1/bin

Node1]#./crs_stat -t (可以看到有六个)

Node1]#ssh node2

Node2]#cd /u01/app/oracle/product/10.2.0/crs_1/bin

Node2]#./crs_stat -t

Node2]#./crs_stop ora.node2.vip

Node2]#./crs_start ora.node2.vip

Node2]#tail -3 /etc/inittab

Node1]#tail -3 /etc/inittab

六.Clusterware卸载

自动卸载:

$$ORACLE_HOME/install/rootdelete.sh

$$ORACLE_HOME/install/rootdeinstall.sh

手工卸载:

#srvctl stop nodeapps –n node1

#rm -rvf /etc/oracle/*

#rm -rvf /etc/init.d/init.*

#rm -rvf /etc/rc3.d/*.crs

#rm -rvf /etc/rc5.d/*.crs

#cp /etc/inittab.orig /etc/inittab

#ps –ef | grep crs

#ps –ef | grep css

#ps –ef | grep evm

#rm –rvf /tmp/.oracle/*

#rm –rvf /var/tmp/.oracle/*

#rm -rvf /u01/app/oracle/*

#dd if=/dev/zero of=/dev/V otingdisk bs=1024 count=100000 #dd if=/dev/zero of=/dev/OCRdisk bs=1024 count=100000 #dd if=/dev/zero of=/dev/ASMdisk bs=1024 count=2000000 #dd if=/dev/zero of=/dev/ASMdisk2 bs=1024 count=1300000 #shutdown –r now

七.安装数据库软件

检查:

Node1]#cat /etc/hosts

Node1]#cat /etc/sysctl.conf

Node1]#cat /etc/security/limits.conf

Node1]#cat /etc/pam.d/login

Node1]#cat /etc/redhat-release

Node1]#cat /home/oracle/.bash_profile

注销以oracle用户登录

Node1]$cd /oradisk/database

Node1]$./runInstaller –ignoreSysPreReqs

注意在指定路径时的路径:/u01/app/oracle/product/10.2.0/db_1

在Specify Hardware Cluster Installation Mode然后将node1和node2都勾选上。

八.配置监听

1.选择集群配置(Cluster configuration)

2.两个结点都选上

Node1]$cd /u01/app/oracle/product/10.2.0/crs_1/bin/

Node1]$./crs_stat -t

Node1]$./crs_stat |more

Node1]$./crs_stat -p |more

Node1]$ssh node2

Node2]$cd /u01/app/oracle/product/10.2.0/crs_1/bin/

Node2]$./crs_stat -t

Node2]$./crs_stat | more (查询每个name的具体信息)

Node2]$./crs_stat –p |more(查询更具体的信息)

九.建立数据库实例

Node1]$dbca

安装的数据库的名称为RACDB

选择ASM自动存储管理

创建初始化参数文件的路径为:ORACLE_BASE/admin/+ASM/pfile/init.ora

ASM的两个磁盘建立成为外部的,一个命名为RAC_VOLGRP1,另一个命名为FLASH_RECOVERY_AREA

Databae component中的em仓库可选可不选

字符集选成ZHS16GBK

安装完成之后:

Node1]$ cd /u01/app/oracle/product/10.2.0/crs_1/bin

Node1]$ ./crs_stat -t (此时会看到十三个RAC的管理进程)

Node1]$ ssh node2

Node2]$ cd /u01/app/oracle/product/10.2.0/crs_1/bin

Node2]$ ./crs_stat -t (13个)

十.测试RAC

Node2断电,不可使用shutdown –h now,要使用非正常关机,否则不会产生飘移。

Node1]$ /u01/app/oracle/product/10.2.0/crs_1/bin/crs_stat –t (等待时间为1-5分钟就可以看到node2的虚拟IP飘移到了node1上)

Node2上电,再来查看,会看到虚拟IP飘移了回来。

十一.RAC启停及警告文件

关闭RAC时,先关闭监听,再关闭实例,然后关服务。

Node1]$ cd /u01/app/oracle/product/10.2.0/crs_1/bin/

Node1]$ ./crs_stat -t

Node1]$ lsnrctl stop

Node2]$ lsnrctl stop

Node1]$./srvctl status database –d RACDB

Node2]$ ./srvctl stop database -d RACDB –o immediate

Node1]$su – root

Node1]#cd /u01/app/oracle/product/10.2.0/crs_1/bin/

Node1]#./crsctl check crs

Node1]#./crsctl stop crs

Node2]$su – root

Node2]#cd /u01/app/oracle/product/10.2.0/crs_1/bin/

Node2]#./crsctl check crs

Node2]#./crsctl stop crs

开启RAC时,先开启服务,再开实例,然后起监听。

Node1]#cd /u01/app/oracle/product/10.2.0/crs_1/bin

Node1]#./crsctl start crs

Node1]#./crsctl check crs

Node2]#cd /u01/app/oracle/product/10.2.0/crs_1/bin

Node2]#./crsctl start crs

Node2]#./crsctl check crs

Node1]$cd /u01/app/oracle/product/10.2.0/crs_1/bin

Node1]$./srvctl start database -d RACDB

Node1]$ ./srvctl status database -d RACDB

Node1]$ lsnrctl start

Node2]$ lsnrctl start

Node1]$ ./crs_stat -t

Crs警告文件:

Node1]$tail –f /u01/app/oracle/product/10.2.0/crs_1/log/node1/alertnode1.log ASM警告文件:

Node1]$ tail –f /u01/app/oracle/admin/+ASM/bdump/alert_+ASM1.log

数据库警告文件:

Node1]$tail -f /u01/app/oracle/admin/RACDB/bdump/alert_RACDB1.log

OracleRAC体系结构与优势

Oracle 10g RAC应用分析 高性能服务器产品部徐斌 2008-12-12

目录 引言 (1) 一、什么是ORACLE RAC? (2) 二、Oracle RAC体系结构 (2) 1.Oracle集群件 (3) 2.硬件体系结构 (3) 3.文件系统和卷管理 (4) 4.虚拟互联网协议地址(VIP) (4) 5.集群验证实用程序 (5) 6.远距离集群RAC (5) 三、ORACLE RAC的优势 (6) 1.高可用性 (6) 2.可伸缩性 (7) 四、管理ORACLE真正应用集群数据库 (8) 1.Enterprise Manager 10g (8) 2.滚动补丁应用 (9) 3.滚动版本升级支持 (9) 五、使用真正应用集群进行负载管理 (10) 1.服务 (10) 2.连接负载均衡 (11) 3.快速应用程序通知(FAN) (11) 4.负载均衡顾问程序 (11) 六、Oracle RAC并行服务器与双机热备份的比较 (12) 七、总结 (14) 八、部分官方技术问答 (14) 1.为什么说Oracle Real Application Clusters 10g 要远远超过它的竞争对手? (14) 2.Oracle RAC的典型硬件配置是什么样的? (15) 3.SQL Server和IBM DB2都有active-active的故障切换方式,为什么我要采用Oracle Real Application Cluster 10g? (15) 4.我的分布式应用系统运行非常好,为什么我要把我的数据库进行集中? (16) 5.我们已经有了集群硬件环境,并且可以进行应用的切换,为什么我还需要Oracle Real Application Clusters 10g? (16) 6.我们使用Data Guard来实现故障切换,为什么我还需要Oracle Real Application Clusters 10g? (16) 7.为什么选择Linux?为什么选择Linux环境下的Oracle Real Application Clusters 10g? 17

ORACLE RAC日常管理和维护

ORACLE RAC日常管理 1、最常用、最重要的命令: 首先登陆的服务器然后执行su-oracle 关闭集群:$crs_stop–all ps–ef|grep ora 查看是否还有ora开头的进程,没有后方可关机。 启动集群:$crs_start-all 启动完集群后可以用如下命令检查集群状态,所有的服务都要是ONLINE才是正常的,如下[root@node1bin]$crs_stat-t Name Type Target State Host ------------------------------------------------------------ ora....w1.inst application ONLINE ONLINE node1 ora....w2.inst application ONLINE ONLINE node2 ora.cjw.db application ONLINE ONLINE node1 ora....SM1.asm application ONLINE ONLINE node1 ora....E1.lsnr application ONLINE ONLINE node1 ora.node1.gsd application ONLINE ONLINE node1 ora.node1.ons application ONLINE ONLINE node1 ora.node1.vip application ONLINE ONLINE node1 ora....SM2.asm application ONLINE ONLINE node2 ora....E2.lsnr application ONLINE ONLINE node2 ora.node2.gsd application ONLINE ONLINE node2 ora.node2.ons application ONLINE ONLINE node2 ora.node2.vip application ONLINE ONLINE node2 ps–ef|grep ora 下面是一些简介,了解一下就可以了,有时间可以深入研究。 一、Oracle RAC简介: Oracle RAC支持Oracle数据库在集群上运行真正的应用程序。此处的真正应用是指RAC能够支持所有类型的主流商业应用程序。这包括流行的封装产品,如SAP、PeopleSoft

Oracle_RAC知识汇总

一、Oracle RAC原理 ORACLE RAC原理在一个应用环境当中,所有的服务器使用和管理同一个数据库,目的是为了分散每一台服务器的工作量,硬件上至少需要两台以上的服务器,而且还需要一个共享存储设备。同时还需要两类软件,一个是集群软件,另外一个就是Oracle数据库中的RAC组件。同时所有服务器上的OS都应该是同一类OS,根据负载均衡的配置策略,当一个客户端发送请求到某一台服务的listener后,这台服务器根据我们的负载均衡策略,会把请求发送给本机的RAC组件处理也可能会发送给另外一台服务器的RAC组件处理,处理完请求后,RAC会通过集群软件来访问我们的共享存储设备。 逻辑结构上看,每一个参加集群的节点有一个独立的instance,这些instance访问同一个数据库。节点之间通过集群软件的通讯层(communication layer)来进行通讯。同时为了减少IO的消耗,存在了一个全局缓存服务,因此每一个数据库的instance,都保留了一份相同的数据库cache。 二、RAC中的特点是: 每一个节点的instance都有自己的SGA 每一个节点的instance都有自己的background process 每一个节点的instance都有自己的redo logs 每一个节点的instance都有自己的undo表空间 所有节点都共享一份datafiles和controlfiles Oracle还提出了一个缓存融合的技术(Cache fusion) 目的有两个 1.保证缓存的一致性 2.减少共享磁盘IO的消耗 因此在RAC环境中多个节点保留了同一份的DB CACHE 缓存融合(Cache fusion)工作原理: -**************************************** 1.其中一个节点会从共享数据库中读取一个block到db cache中 2.这个节点会在所有的节点进行交叉db block copy 3.当任何一个节点缓存被修改的时候,就会在节点之间进行缓存修改 4.为了达到存储的一致最终修改的结果也会写到磁盘上 三、ClusterWare组件 ******************* 有四种Service Crsd - 集群资源服务 Cssd - 集群同步服务 Evmd - 事件管理服务 oprocd - 节点检测监控 有三类Resource VIP - 虚拟IP地址(Virtual IP) OCR - Oracle Cluster Registry(集群注册文件),记录每个节点的相关信息

oracle-11g-rac方案

ORACLE 高可用性 (RAC) 技术方案

目录 一、基础知识介绍 (3) 1. RAC 是什么 (3) 2. RAC 的优势 (3) 3.Oracle RAC原理 (3) 二、RAC 系统结构设计 (4) 1.RAC 系统拓扑结构基本如下图所示: (4) 2.用户组规划 (4) 3.用户规划 (5) 4.磁盘规划 (6) 5.oracle rac网络规划 (7)

一、基础知识介绍 1. RAC 是什么 RAC,全称real application clusters,译为“实时应用集群”,是Oracle 新版数据库中采用的一项新技术,是高可用性的一种,也是Oracle 数据库支持网格计算环境的核心技术。 2. RAC 的优势 Oracle RAC 主要支持Oracle9i、10g、11g 版本,可以支持24 x 7 有效的数据库应用系统,在低成本服务器上构建高可用性数据库系统,并且自由部署应用,无需修改代码。在Oracle RAC 环境下,Oracle 集成提供了集群软件和存储管理软件,为用户降低了应用成本。当应用规模需要扩充时,用户可以按需扩展系统,以保证系统的性能。 ( 1)多节点负载均衡; (2)提供高可用:故障容错和无缝切换功能,将硬件和软件错误造成的影响 最小化; (3)通过并行执行技术提高事务响应时间----通常用于数据分析系统; (4)通过横向扩展提高每秒交易数和连接数----通常对于联机事务系统; (5)节约硬件成本,可以用多个廉价PC 服务器代替昂贵的小型机或大型机, 同时节约相应维护成本; (6)可扩展性好,可以方便添加删除节点,扩展硬件资源。 3.Oracle RAC原理 在一个应用环境当中,所有的服务器使用和管理同一个数据库,目的是为了分散每一台服务器的工作量,硬件上至少需要两台以上的服务器,而且还需要一个共享存储设备。同时所有服务器上的OS 都应该是同一类OS,根据负载均衡的配置策略,当一个客户端发送请求到某一台服务的listener 后,这台服务器根据我们的负载均衡策略,会把请求发送给本机的RAC 组件处理也可能会发送给另外一台服务器的RAC 组件处理,处理完请求后,RAC 会通过集群软件

实施 Oracle RAC 项目汇总

实施 Oracle RAC 项目 Oracle真正应用集群 (RAC) 是 RDBMS 市场中的最佳数据库集群。Oracle RAC 的配置选项和特性为公司提供设计其高可用性解决方案的广泛的灵活性。但是,如何使用所有配置选项、特性和灵活性成功地实施? 本文是定义、设计和提供成功 Oracle RAC 项目的指南。它详细介绍了减少风险和增加成功实施机会的详细步骤。此外,它还突出了您在实施 Oracle RAC 项目过程中可能会犯的错误,并提供了避免这些错误的建议。 尽管这篇文章侧重于 Oracle RAC,但下列步骤对许多种 Oracle 实施项目均试用。 确定需求 成功实施 Oracle RAC 的第一个重要阶段是确定项目的真实目标。“确定需求”一步涉及识别和记录项目实施阶段要提供的特性和功能。 在实施 Oracle RAC 过程中,您还要经常核对这些需求。将需求记录成文将有助于实施 Oracle RAC 项目。否则,您将发现该项目难以管理,这是因为在项目实施过程中会不断出现意料不到的新问题。 避免错误的方法 1:确保关键业务和技术人员积极地参加项目需求的确定。明确地将所有需求传达给项目负责人,包括关键的管理人员、技术人员以及最终用户。 第 1 步—确定项目范围

“确定需求”阶段的第一步就是确定项目范围。项目范围是用于论证项目业务需求的一系列细项,它说明了项目的可交付成果。项目范围有时也称为“业务需求”。 要确定项目范围,请回答下列问题: ?项目的业务目标是什么? ?项目要完成什么工作? ?项目成功会带来哪些重要好处? 以下是一个详细说明一个 Oracle RAC 示例的高级目标的项目范围文档。 避免错误的方法 2:努力使项目目标量化。您将能重新核对这些目标,掌握整个项目的完成情况。量化目标的工作包括记录项目日程和成本限制。 第 2 步–确定项目团队 确定项目团队就要确定为项目制定交付目标的人和愿意完成项目方案中的任务的人。这些人可能来自组织的多个部门,如决策人员、业务分析人员和技术人员。 下表是典型 Oracle RAC 项目的人员组成,并列明了他们的职能和完成项目所采取的步骤。

OracleRAC技术概述及应用

并行查询选件结合,它还提供了节点间的并行性和节点内的并行性,以得到更高的性能。 多服务器的Cluster(集群)结构,因其具有高可靠性、大容量共享磁盘支持以及无断点的故障恢复,越来越受到业界的关注,越来越多的硬件厂商都相继推出自己的Cluster机种和机型,它已经成为硬件平台的一个新的发展方向。Oracle Real Application Clusters使得企业可以构建支持多个操作系统的服务器,并可提供出色的可用性和可伸缩性。在Oracle Real Application Clusters环境中,Oracle可在一个集群中运行于两个或更多个系统之上,并可以同时访问一个共享数据库。这使得一个数据库系统可以跨越多个硬件系统,同时对应用 程序而言仍是一个统一的数据库系统,从而为您的应用程序带来出色的可用性和可伸缩性优势。 Oracle Real Application Clusters支持企业网格。企业网格由大量标准化商业组件构成,包括:处理器、服务器、网络和存储设备。RAC是唯一一种可将这些组件整合成可供企业使用的技术。Oracle Real Application Clusters和网格能够动态降低运营成本,并可带来出色的灵活性,从而赋予系统更优异的适应性、前瞻性和灵活性。节点、存储设备、CPU和内存的动态供应使得企业可以在轻松高效地维持服务等级的同时,通过改进利用率进一步降低成本。此外,Oracle Real Application Clusters支持任意需要访问 RAC数据库的应用,使它们无需修改便可部署于 RAC 系统之上。 Oracle Real Application Clusters使得用户可以根据容量需求的增长为集群 Oracle RAC技术概述及应用 荣伟铭 苏州市吴中区劳动和社会保障局 笔者从事社保信息系统开发工作多年,社保信息系统建设离不开大型数据库,有人把SQL SEVER比作是“傻瓜相机”,那么ORACLE就是台“专业相机”,Oracle RAC如同是将多台“专业相机”联网使用,虚拟成一台性能更加出色的“高级相机”,要用好这台“高级相机”,用户必须充分理解其原理。目前有关ORACLE的参考资料很多,但是有关Oracle RAC的介绍往往一笔带过,以下笔者将多年的Oracle RAC实际应用经验整理了一下,供同行们参考。 一、Oracle RAC 技术概述 Real Application Cluster为大多数关键业务要求的数据库环境提供了极高的性能和完善的纠错功能,允许集群系统或大型并行系统中的多个节点共享同一物理数据库,可以自动进行负载平衡、故障修复和规划停机时间,以支持高可用性应用程序。它还显著地提高了大型数据仓库和决策支持系统的性能。通过与 添加节点,从而能够通过逐步扩充来节约成本,同时消除了使用大型集群来更换小型单一节点系统的需要。标准低成本组件和模块化磁盘阵列组成的网格池,与Oracle数据库的组合,使得这一解决方案更为强大。与使用新的更大型节点来更换现有系统与升级系统不同,该解决方案支持为集群添加一个或多个节点,从而使得容量升级流程更为方便快捷。Oracle Real Application Clusters中实施的高速缓存合并技术,与Oracle数据库中提供的InfiniBand支持,使您能够以近线性方式扩展系统,而无需对应用进行任何修改。 这一集群体系结构的另一个主要优势是多个节点内建的容错性能。由于物理节点单独运行,因此其中一个或多个节点的故障将不会影响到集群内其它节点。故障切换可在网格内任一节点上进行。即使在最恶劣的情况下,包括只有一个节点没有停止工作,Oracle RealApplication Clusters仍将能够提供数据库服务。这一体系结构允许将一组节点联网或与网络断开,以进行维护,而同时其它节点能够继续提供数据库服务。RAC借助Oracle应用服务器,为连接池故障切换提供了内置的集成特性。借助这一特性,应用可立即了解发生的故障,而无需等待数十分钟直到发生TCP超时故障。鉴于此,应用将可以立即采取相应的恢复措施;同时网格负载均衡将重新分配负载。 Oracle数据库中的Oracle RealApplication Clusters还提供一套完整的集群件集来管理集群。Oracle数据库集群件提供运行集群所需的全部特性,包括节点成员、消息发送服务和锁定等。同时由于它是一个带有通用事件和管理 API的

oracle rac和备份方案

ORACLE RAC及备份方案 ORACLE RAC 简介: ORACLE RAC集群是实现多机共享数据库,以保证应用的高可用性。同时可以自动实现并行处理及均分负载,还能实现数据库在故障时的容错和无断点恢复。 集群内部的所有服务器共享存储,所有服务器都接入公共网络,通过集群唯一的别名对外形成逻辑上单一的数据库提供服务,对内实现集群数据库的高可用性、节点间的负载均衡和Failover(失败切换)。 逻辑结构: 集群纵向看是由存储、数据库集群、应用集群三部分组成,横向来看,是由多台应用服务器、数据库服务器和存储设备组成。

物理结构: RAC物理结构图。 优势: 高可用性: RAC 为数据中心的高可用性奠定了基础。它也是 Oracle 最高可用性架构不可或缺的一部分,为实现数据中心的最高可用性提供了最佳实践。RAC 还为高可用性数据管理提供了以下至关重要的关键特性: 可靠性: Oracle 数据库以其可靠性而著称。RAC Clusters 消除了数据库服务器单点故障问题,从而使可靠性更上一层楼。如果一个实例发生故障,服务器池中的其余实例仍将保持运行状态。Oracle Clusterware 可监视所有 Oracle 进程,并能立即重启任何生故障的组件。

恢复能力: Oracle 数据库包含的许多特性有助于数据库轻松地从各类故障中恢复。如果Oracle RAC 数据库中的一个实例出现故障,服务器池中的另外一个实例将察觉到这一故障,随后自动进行故障恢复。利用快速应用程序通知 (FAN)、快速连接故障切换 (FCF) 和透明应用程序故障切换 (TAF) 这三个功能,应用程序可以轻松地掩藏组件故障,使用户无法察觉。 错误检测: Oracle Clusterware 可自动监视 Oracle RAC 数据库和其他 Oracle 进程(ASM、监听器等),并快速诊断环境中的问题。它还经常能在用户察觉之前自动完成故障恢复。利用快速应用程序通知 (FAN),应用程序即可在集群组件出现故障时立即得到通知,以便在故障显现之前重新发布事务。 持续运行: RAC Clusters 可在计划内和计划外停机期间提供持续的服务。如一台服务器(或一个实例)出现故障,数据库仍将保持运行状态,应用程序仍可访问数据。大多数数据库维护操作均可在不停机的情况下完成,并对用户保持透明。许多其他的维护任务都可以通过滚动方式完成,从而能最大限度地减少(甚至避免)应用程序停机。快速应用程序通知和快速连接故障切换可帮助应用程序满足对服务级别的要求。 可伸缩性: RAC Clusters 提供了独一无二的应用程序伸缩技术。过去,当数据库服务器容量不足时,我们会使用容量更大的新服务器取而代之。随着服务器容量的增加,其成本也日益攀升。但 Oracle RAC 为数据库提供了增加容量的其他方法。通过 OracleClusterware 和 Oracle RAC 向服务器池中添加服务器时并不需要停机,并且,一旦启用新的实例,应用程序就可立即享有新增的容量。服务器池中的所有服务器必须使用同一操作系统和相同版本的Oralce 软件,但不必具备相同的容量。如今,根据自己的需要选择服务器池的客户通常会选用特性不同(略有差别)的服务器。

Oracle_RAC日常管理和维护

ORACLE RAC 日常管理 1、最常用、最重要的命令: 首先登陆的服务器然后执行su - oracle 关闭集群:$crs_stop –all ps –ef |grep ora 查看是否还有ora开头的进程,没有后方可关机。 启动集群:$crs_start -all 启动完集群后可以用如下命令检查集群状态,所有的服务都要是ONLINE才是正常的,如下[root@node1 bin]$crs_stat -t Name Type Target State Host ------------------------------------------------------------ ora....w1.inst application ONLINE ONLINE node1 ora....w2.inst application ONLINE ONLINE node2 ora.cjw.db application ONLINE ONLINE node1 ora....SM1.asm application ONLINE ONLINE node1 ora....E1.lsnr application ONLINE ONLINE node1 ora.node1.gsd application ONLINE ONLINE node1 ora.node1.ons application ONLINE ONLINE node1 ora.node1.vip application ONLINE ONLINE node1 ora....SM2.asm application ONLINE ONLINE node2 ora....E2.lsnr application ONLINE ONLINE node2 ora.node2.gsd application ONLINE ONLINE node2 ora.node2.ons application ONLINE ONLINE node2 ora.node2.vip application ONLINE ONLINE node2 ps –ef |grep ora 下面是一些简介,了解一下就可以了,有时间可以深入研究。 一、Oracle RAC简介: Oracle RAC 支持Oracle 数据库在集群上运行真正的应用程序。此处的真正应用是指RAC 能够支持所有类型的主流商业应用程序。这包括流行的封装产品,如SAP、PeopleSoft

ORACLE_RAC 文档

Oracle 10g RAC 教程

第一部分 Oracle10g RAC数据库简介 在硬件级别上,RAC 集群中的各节点共享三种功能: 1.对共享磁盘存储的访问 2.与专用网络的连接 3.对公共网络的访问。 共享磁盘存储 Oracle RAC 依赖于一个共享磁盘体系结构。数据库文件、联机重做日志和数据库的控制文件必须都能为集群中的每个节点所访问。共享磁盘还存储 Oracle Cluster Registry 和 Voting Disk(稍后讨论)。配置共享存储有多种方法,包括直接连接磁盘(通常是使用铜缆或光纤的 SCSI)、存储区域网 (SAN) 和网络连接存储 (NAS)。 专用网络 每个集群节点通过专用高速网络连接到所有其他节点,这种专用高速网络也称为集群互联或高速互联 (HSI)。 Oracle 的 Cache Fusion 技术使用这种网络将每个主机的物理内存 (RAM) 有效地组合成一个高速缓存。 Oracle Cache Fusion 通过在专用网络上传输某个 Oracle 实例高速缓存中存储的数据允许其他任何实例访问这些数据。它还通过在集群节点中传输锁定和其他同步信息保持数据完整性和高速缓存一致性。 专用网络通常是用千兆以太网构建的,但是对于高容量的环境,很多厂商提供了专门为 Oracle RAC 设计的低延迟、高带宽的专有解决方案。 Linux 还提供一种将多个物理 NIC 绑定为一个虚拟 NIC 的方法(此处不涉及)来增加带宽和提高可用性。 公共网络 为维持高可用性,为每个集群节点分配了一个虚拟 IP 地址 (VIP)。如果主机发生故障,则可以将故障节点的 IP 地址重新分配给一个可用节点,从而允许应用程序通过相同的 IP 地址继续访问数据库。 Oracle 集群就绪服务(CRS) Oracle RAC 10g 引进了 Oracle 集群就绪服务 (CRS) —一组用于集群环境的与平台无关的系统服务。在 RAC 和 Oracle 并行服务器先前版本中,Oracle 依靠厂商提供的集群管理软件来提供这些服务。虽然 CRS 与厂商供应的集群件协同工作,但 Oracle RAC 10g 所需组件只是 CRS。实际上,必须在安装 RAC 之前安装 CRS。 Oracle RAC 软件 Oracle RAC 10g 软件是 RAC 数据库的核心,每个集群节点上都必须安装。幸运的是,Oracle Universal Installer (OUI) 可以完成在每个节点上安装 RAC 软件的大部分工作。

Oracle_RAC基本概念及入门

Oracle RAC基本概念及入门 1、什么是cluster 一个cluster是由两个或是多个独立的、通过网络连接的servers组成的。几个硬件供应商多年以来提供了Cluster性能的各种需求。一些Clusters仅仅为了提供高可用性的,在当前活动的node发生故障时转移到次节点node。另一些是为了提供分布式的连接、工作的可扩展性。另一个Cluster的共同特点是,对于一个应用程序,它可以看做是一个单独的server。同样,管理几个servers应该尽可能像管理一个server一样简单。Cluster管理器软件提供了这种功能。 如果是single server的nodes,文件必须存储在其各自node能访问的位置。存在有几个不同拓扑结构来解决数据访问的问题,这主要依赖于Cluster设计的主要目标。 相互连接时一个物理的网络连接,作为每个Cluster节点直接的交互通信。 简而言之,一个Cluster就是一组独立的servers,它们共同协作,组成一个single system。 2、什么是Oracle real Application Cluster(RAC) RAC是一个软件可以使你通过运行多个依赖相同Database的Instance,使用Cluster硬件。数据库files被存放在物理或是逻辑上连接每个节点的磁盘上。以便于每个活动的Instance都可以对files进行读写操作。

RAC软件管理着数据的访问。所以更改操作在Instances之间是被相互协调的,并且每个Instance看到的信息和数据镜像都是一致的。 通过RAC结构,可以获得冗余,从而使得即使在一个系统crash或是不可访问时,应用程序也可通过其他Instance访问Database。 3、为啥使用RAC RAC可以高度利用标准的Cluster,降低模块servers成本。 RAC自动的提供了服务的工作量管理。应用程序的服务可以被分组或分类,组成商业组件完成应用工作任务。RAC中的服务可以是持续的、不间断的Database操作,并为多Instance上的多个服务提供支持。可以设计services 到一个或多个Instance上运行,并且交替Instances可以用于备份Instances。如果主Instance失败,Oracle会将services从失败的Instance节点移动到活动的可替代的Instance上。Oracle也会自动的通过连接进行数据装载的平衡。 RAC利用多个廉价的computers共同提供Database的服务,就像一个大的computer一样,服务于只有大规模SMP才能提供的各种应用。 RAC是基于共享磁盘结构的,在需求上可以增加或缩减,而不需要人为的在Cluster中进行数据的分隔。并且RAC可以简单的增加、移出Cluster中的servers。 4、Clusters和可扩展性

ORACLERAC实施报告

xxxxx有限公司ORACLE RAC 安装报告 1 查看系统所需的包 rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh 2 IP规划 vi /etc/hosts ygssun1 ygssun2 ygssun1-vip ygssun2 -vip ygssun1-priv ygssun2-priv Scan IP order1- order1- order1- 3 创建组及用户 创建组 /usr/sbin/groupadd -g 501 oinstall /usr/sbin/groupadd -g 502 dba /usr/sbin/groupadd -g 503 oper /usr/sbin/groupadd -g 504 asmadmin /usr/sbin/groupadd -g 505 asmoper /usr/sbin/groupadd -g 506 asmdba 创建用户 /usr/sbin/useradd -g oinstall -G dba,asmdba,oper oradb /usr/sbin/useradd -g oinstall -G asmadmin,asmdba,asmoper,oper,dba oracrs 修改用户密码 Passwd oracrs passwd oradb 修改文件夹权限、属主 mkdir /oracle/app/ chown -R oracrs:oinstall /oracle/app/ chmod -R 775 /oracle/app/ mkdir -p /oracle/app/oraInventory chown -R oracrs:oinstall /oracle/app/oraInventory chmod -R 775 /oracle/app/oraInventory

Oracle RAC的五大优势及其劣势

详述Oracle RAC的五大优势及其劣势2012年08月15日00:05 it168网站原创作者:刘炳林编辑:王玉圆评论:0条 【IT168 技术】不同的集群产品都有自己的特点,RAC的特点包括如下几点:·双机并行。RAC是一种并行模式,并不是传统的主备模式。也就是说,RAC集群的所有成员都可以同时接收客户端的请求。 ·高可用性。RAC是Oracle数据库产品高可用性的解决方案,能够保证在集群中只要有一个节点存活,就能正常对外提供服务。 ·易伸缩性。RAC可以非常容易地添加、删除节点,以满足系统自身的调整。 ·低成本。能使用较低廉的服务器来实现高可用性、高吞吐量的集群环境,这要比通过对某台高端服务器增加硬件实现高可用性、高吞吐量花费的成本低很多。 ·高吞吐量。随着节点数的增加,整个RAC的吞吐量也在不断增长。 下面详细讨论这五大特点。 一、双机并行 RAC是一种充分利用服务器资源的高可用性实现方案,RAC的并行模式实现方式与传统的双机热备实现方式截然不同,图1-4是两者的比较。 如图1-4所示,两个节点在传统的双机热备环境中,始终有一台机器作为备用机,只有当主节点出现问题的时候才会切换到备用机上;如果主机一直没有出现问题,那么备用机始终处于空闲状态,这在资源的利用上以及成本方面都是巨大的浪费。但RAC是一种并行模式的架构,也就是说,两个节点的集群节点间是一种并行运行的关系,当一台机器出现问题,请求会自动转发到另一台机器,没有任何一台机器作为备用机一直不被使用,这样就充分利用了服务器资源。同时,传统的双机热备构架在出现问题时,常常需要数分钟的切换时间,而RAC在出现问题时,针对存在的会话只需要数十秒的时间就可以完成失败切换过程,对新会话的创建不会产生影响,在切换时间上也有比较大的优势。

RAC集群简介

对于RAC来说,最重要的还是要理解内部原理和体系结构。安装不是非常难的事情。排错和维护都离不开体系结构以及内部原理。 集群分类 1、高性能计算 计算任务分配到不同计算机节点来提高整体计算能力,主要应用在科学计算领域。主要利用的是并行计算。 2、负载均衡集群(LB) 把业务的负载流量尽可能的平均合理的分配到集群的各个节点上,每个节点都可以处理一部分负载,并且可以根据负载情况进行动态的平衡。负载均衡算法不是简单的平均,而是根据每个节点的可用资源或网络的特殊情况来进行优化分配。因此分配+合理才是负载均衡的核心。 3、高可用性(HA) 侧重于提高系统的可用性,集成硬件和软件的容错性来实现整体服务的高可用性。如果某个节点发生故障,另外的节点代替他。

集群环境的特殊问题 1、并发控制 集群环境中,存在共享存储的问题。集群中各个节点对共享存储是对等的,所有节点对数据有相同的访问权限,因此需要某种机制来控制节点对数据的访问。在RAC中,采用的是DLM(Distribute Lock Management)机制来进行实例间的并发控制。 2、健忘症(Amnesia) 如果集群环境的配置文件不是集中存放,每个节点都有一个本地副本,集群正常运行的时候,用户可以在任何节点修改集群的配置,并且这些更改都会自动同步到其他节点。 如果节点1因为正常的维护需要关机,节点2修改了配置,然后关闭节点2.启动节点1,因为之前节点2做的配置修改没有同步到节点1,所以将节点1启动以后,他仍然使用旧的配置文件,造成配置丢失。

3、脑裂(split brain) 集群中,节点之间需要通过某种机制(心跳)了解彼此的健康情况,以确保各个节点协调工作。假设只是心跳出现故障,各个节点还在正常的工作,每个节点都认为其他节点宕机,自己是整个集群的唯一健在者,因此需要获得整个集群的“控制权”。存储是共享的,这就意味着灾难,这种情况就是“脑裂”。 投票算法可以解决这个问题 通过表决磁盘判定,获得表决磁盘多得节点将强制另外一个节点重启。

华夏银行ORACLERAC方案介绍

华夏银行ORACLERAC方案介绍 安装前的预备工作: 1、添加组和用户 # mkgroup dba # mkgroup oinstall # mkuser –g oinstall –G dba –s /bin/bash –d /export/home/oracle -m oracle # passwd oracle 创建oracle用户并设置密码 # mkdir /opt/oracle/oracle10g # chown –R oracle:oinstall /opt/oracle/oracle10g # chmod –R 775 /opt/oracle/oracle10g # projadd –U oracle –G dba –c’Ora DB’–p 162 user.oracle # projmod –sK’project.max-shm-memory=(priv,48g,deny)’ user.oracle 2、修改oracle用户的profile文件 # vi .profile文件 添加如下列: ORACLE_BASE=/export/home/oracle ORACLE_HOME=/opt/oracle/oracle10g ORACLE_SID=sltvdb PATH=$ORACLE_HOME/bin:/bin:/sbin:/usr/ccs/bin:/usr/local/bin LD_LIBRARY_PA TH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:/usr/local/li b:/usr/lib DISPLAY=172.18.20.3:0.0 TMPDIR=/tmp export ORALCE_BASE ORACLE_HOME ORACLE_SID export DISPLAY TMPDIR umask 022 Oracle数据库软件的安装: 1、使用图形化界面(使用OUI来进行安装) # su – oracle 2、执行oracle安装文件 # su – oracle Bash-2.05$cd /export/home/oracledisk/install Bash-2.05$./runInstaller 显现如下的安装画面:

相关文档