Oracle11gRAC介绍什么是OracleRAC集群?•OracleRealApplicationServer,真正应用集群,简称OracleRAC,是Oracle的并行集群,位于不同服务器系统的Oracle实例同时访问同一个Oracle数据库,节点之间通过私有网络进行通信,所有的控制文件、联机日志和数据文件存放在共享的设备上,能够被集群中的所有节点同时读写。•RAC的优点主要在于高可用性和负载均衡,一台机器当机不影响应用访问数据库了解体系结构公用网络节点1共享存储重做日志所有实例数据库和控制文件OCR和voting磁盘(oracle_home)操作系统CRS集群互联数据库实例1ASM实例1节点2操作系统CRS数据库实例2ASM实例2节点3操作系统CRS数据库实例3ASM实例3集群互联...OracleClusterware介绍OracleClusterware是一个集群软件,使用它做集群的所有操作系统必须相同。使用OracleClusterware将多个装有相同操作系统的服务器捆绑到一起,当对这些集群的服务器进行访问时,就像访问一台服务器一样。OracleClusterware要求两个集群组件:(1)votingdisk(表决磁盘):用于记录集群节点的信息。RAC用它来确定哪些实例是集群实例。当网络发生故障时,还要用它存储的信息进行健康检查(例如检查成员服务器是否可用)和仲裁。表决磁盘必须存放在共享磁盘上。(2)OracleClusterRegistry(OCR,集群注册),用于记录集群配置信息。集群注册也必须存放在共享磁盘上。grid用户主要是管理集群资源和ASM磁盘OracleASM•AutomaticStorageManagement(ASM)是Oracle数据库10g中一个非常出色的新特性,它以平台无关的方式提供了文件系统、逻辑卷管理器以及软件RAID等服务。ASM可以条带化和镜像磁盘,从而实现了在数据库被加载的情况下添加或移除磁盘以及自动平衡I/O以删除“热点”。•ASM的优点•1.ASM是跨平台的,主流硬件平台都可以使用,管理方式一致。•2.数据均匀分布在磁盘组里所有的磁盘上,实现了文件级别的条带化,提高了读取和写入的数据的性能。•3.提供了多重冗余级别,保证数据安全。•4.能支持在线磁盘更换。添加或删除磁盘后,自动重新分布数据,因此也不存在碎片的问题•ASM磁盘组•ASM存储管理除了ASM实例之外,最大的组成部分就是ASM磁盘组。一个ASM磁盘组由过多个ASM磁盘组成。一个磁盘组内可以存放多个数据文件,一个数据文件仅仅只能位于一个磁盘组内,不能跨磁盘组。多个数据库可以共享相同的或多个磁盘组。•ASM磁盘•ASM磁盘中可以包含多个文件,多个文件也可以打散放在多个磁盘上,因此磁盘和文件是多对多的关系。ASM存储的概念grid用户的ASM实例•可以看下grid的oracle进程,实例名是ASM+X•ps-ef|grepora_查看Oracle进程•登陆grid的asm实例•[grid@node1~]$sqlplus/assysasm•asm实例也是一种Oracle实例,但是没有数据文件和控制文件,状态是处于启动状态•showparameterspfile;查看下ASM实例的参数文件位置•asm实例也无法直接关闭ASM实例的参数•createpfile='/home/grid/li.spfile'fromspfile;•[grid@node1~]$catli.spfile•+ASM1.__oracle_base='/u01/app/grid/crs'#ORACLE_BASEsetfrominmemoryvalue•+ASM2.__oracle_base='/u01/app/grid/crs'#ORACLE_BASEsetfrominmemoryvalue•+ASM2.asm_diskgroups='RACDATA'#ManualMount•+ASM1.asm_diskgroups='RACDATA'#ManualMount•*.asm_diskstring='/dev/oracleasm/disks/VOL*'•*.diagnostic_dest='/u01/app/grid/crs'•*.instance_type='asm'•*.large_pool_size=12M•*.remote_login_passwordfile='EXCLUSIVE'•grid用户登陆asm查看•命令asmcmd,和文件系统有点类似,ls,cd,pwd等命令都可以用Linux下asmlib管理ASM磁盘ASM是oracle推荐的管理物理磁盘的方式linux一般用asmlib组件来管理ASM磁盘1,创建一个asm磁盘/etc/init.d/oracleasmcreatediskVOL1/dev/sdd1这个盘的完整路径是:/dev/oracleasm/disks/VOL1VOL1是磁盘别名/dev/sdd1是物理磁盘2,查看当前的asm磁盘/etc/init.d/oracleasmlistdisks,可以看到现在有四个asm磁盘可用3,查看当前系统的ASM磁盘selectSTATE,path,TOTAL_MB,FREE_MB,FAILGROUP,STATE,FAILGROUP_typefromv$asm_disk;可以看到asm磁盘的路径,容量和使用空间ASMdiskgroup1,ASM磁盘组成ASMdiskgroup,用来存放oracle文件2,创建一个diskgroupcreatediskgroupDATAexternalredundancydisk'/dev/oracleasm/disks/VOL1'nameVOL1,'/dev/oracleasm/disks/VOL2'nameVOL2;3,查看ASMdiskgroup的组成selecta.name,b.name,b.TOTAL_MB,b.FREE_MBfromv$asm_diska,v$asm_diskgroupbwherea.GROUP_NUMBER=b.GROUP_NUMBER;1,Oraclerac的表空间文件路径,+RACDATA是磁盘组名称2,Oraclerac给表空间增加alterTABLESPACEusersadddatafile'+RACDATA'SIZE10MAUTOEXTENDoff;11gRAC的IP设置10.10.17.211node1publicip10.10.17.212node2publicip10.10.17.213node1-vip虚IP10.10.17.214node2-vip虚IP192.168.1.191node1-priv内网通讯IP192.168.1.192node2-priv内网通讯IP10.10.17.215cluster_scan_vipscanIP本质就是IP的别名内网端口是RAC各节点内部进行通讯的外端网卡是RAC为外部提供服务的应用程序通过scanip来访问数据库11grac客户端的配置客户端只要通过SCANIP来访问数据库就可以客户端配置CNP=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=scan-vip)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=cnp)(failover_mode=(type=select)(method=basic)(retries=180)(DELAY=15))))10grac客户端配置RACDB=(DESCRIPTION=(FAILOVER=on)(LOAD_BALANCE=yes)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=node1-vip)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=node2-vip)(PORT=1521)))(CONNECT_DATA=Oraclerac高可用性过程完全自动,不用人工干预比如客户端通过scanip连接到节点11,节点1突然当机,2,scanip切换到节点23,客户端连接也会从节点1自动切换到节点2RAC提供的好处•多节点负载均衡;•提供高可用:故障容错和无缝切换功能,将硬件和软件错误造成的影响最小化。RAC提供的好处•通过并行执行技术提高事务响应时间----通常用于数据分析系统;•通过横向扩展提高每秒交易数和连接数;----通常对于联机事务系统;•可扩展性好,可以方便添加删除节点,扩展硬件资源•集群资源启动/停止•root用户•cd/u01/app/11.2.0/grid/bin•./crsctlstartcluster-all•./crsctlstopcluster-all•查看集群状态•crsctlstatusresource-t