下面是我阅读Oracle 11g的 2 day RAC的记录,给自己查阅,也把它分享给大家。仅供参考。
2 day Oracle RAC 学习记录
1 关于两天Oracle数据库实时应用集群的介绍
Oracle RAC或者集群的网状结构
从Oracle 11.2开始,Oracle Clusterware和Oracle ASM都安装在一个Grid home目录中。每个服务器是一个主机(host)或者节点(node),Oracleware使得这些服务器就像是一个服务器一样,这就是集群(cluster)。Oracleware提供了实时应用集群必要的软件。
节点可以被组织到一个服务池中,以便更好的资源管理。当创建一个Oracle集群时,一个叫free pool的缺省服务池会自动创建。所有的服务器初始建立时,都会被分配到这个服务池。如果你创建一个新的服务池,那么服务器会从缺省的free pool转移到这个新的服务池。
如果创建的Oracle RAC数据库是policy-managed数据库,那么需要指定这个数据库需要的服务器,并且会有一个服务池自动创建。如果不使用服务池,那么我们需要创建administrator-managed数据库,这是2 day Oracle RAC要用的数据库。
关于Oracle ASM
Oracle ASM是一个集成的,高性能的存储管理与文件系统。Oracle ASM基于这样的原则:数据库应该管理数以千计的数据库文件而不是管理员来管理。
Oracle ASM把存储系统中的磁盘分为几个磁盘组,我们来管理几个磁盘组,而Oracle ASM自动把数据库文件发到这些磁盘组中。Oracle Cluster Registry(OCR)和voting disks也可以放到Oracle ASM磁盘组中。当使用Oracle RAC时,每个实例都必须访问数据文件和恢复文件(recovery file),Oracle ASM可以轻易地满足这个需求。
使用Oracle ASM有下面几点好处:
- 均衡,Oracle ASM均衡地在磁盘组中的所有磁盘中传输数据,来优化性能和利用率。这个均衡分布排除了日常的监控和I/O性能调整。
- 镜像,Oracle ASM通过可选地镜像任何文件来增加数据可用性。镜像是指冗余复制,来帮助由于磁盘失败带来的数据丢失。
- 在线存储重配置和动态再平衡,使用Oracle ASM, 你可以在系统运行时增加或者拆掉磁盘,当你加一块磁盘时,系统会自动重新分配数据,最终数据能够均匀地存储在包含新磁盘的所有磁盘中。这个过程叫作再平衡(rebalance)。
- 管理文件创建和删除,Oracle ASM会自动创建文件并对该文件命名,对不再使用的文件删除。
Oracle Automatic Storage Management Cluster File System(Oracle ACFS)是一个新得多平台的,可伸缩的文件系统,它扩展了Oracle ASM来支持Oracle数据库之外的自定义文件管理,比如数据库和应用可执行文件,trace文件,警告日志,应用的报告,BFILES和配置文件。
Oracle ASM通过一个特殊的Oracle实例来实现,它有它自己的SGA和后台进程。Oracle ASM和Oracle Clusterware和Oracle数据库高度集成在一起。每个需要使用Oracle ASM的运行数据库实例的服务器都有一个Oracle ASM实例。在Oracle RAC环境中,一个Oracle ASM实例对应多个节点,每个节点和Oracle ASM通过对等的方式通信。下面的图是两节点的Oracle实例和Oracle ASM。
关于Oracle实时应用集群
Oracle RAC扩展了Oracle数据库,使得我们可以同时使用多个数据库实例来存储,更新,读取数据。作为集群的一部分,有数据文件组成的数据库必须存储于共享内存中,这个内存可以由集群中的所有服务器访问。这里每个服务器都运行着Oracle RAC实例。
一般的Oracle数据库的数据库实例和数据文件关系是一对一的,Oracle RAC环境下,这种关系是一对多的,多个服务器实例访问单个数据文件集合。
在Oracle RAC中,每个数据库实例有它自己的存储结构和后台进程。Oracle RAC使用缓存融合来同步存储在缓存中的每个数据库实例的数据。
## 关于单节点的Oracle RAC
关于在不同操作系统上安装Oracle RAC
Oracle Clusterware和Oracle RAC不支持相同集群中的不同平台,所有的节点必须是同样的操作系统,就是说必须是binary compatible。Oracle 不支持匹配多个芯片结构在一个集群中。
2 准备你的集群
确认系统要求
关于硬件的要求
- 内存至少1.5GB
- 等于RAM的共享内存空间
- 在目录/tmp的至少1GB的空间
- CPU类型需要和Oracle软件类型兼容
- 至少1024x786的分辨率
- 集群中的所有的服务器需要有相同的芯片结构,例如都是32位处理器或者都是64位处理器
- 足够的磁盘空间来存放Oracle软件
需要至少5.5GB的空间来存放Grid home目录,这个目录包含Oracle Clusterware和Oracle ASM的二进制文件和与之相关的日志文件。至少4GB的空间来存放Oracle家目录(Oracle home目录)。
关于共享存储
Oracle RAC是共享所有的数据库,被Oracle RAC数据库使用的所有的数据文件,控制文件,重做日志文件和服务器参数文件都必须存储在共享存储中。这个共享存储被所有的Oracle RAC数据库实例来访问。
Oracle Clusterware通过下面的组件实现了极大的可伸缩性和高可用性
- 投票磁盘(Voting disk),一旦出现网络错误,用来管理节点之间的集群成员资格并冲裁集群所有权。投票磁盘是存储在共享存储上的文件。为了达到高可用,推荐有奇数个,多个投票磁盘。
- Oracle集群注册(Oracle Cluster Registry,OCR),用来维护集群配置信息.OCR包含了:那个数据库实例运行于那个节点,那个服务运行与那么个数据库,关于Oracle Clusterware control的进程信息,OCR存储在共享储存中,可以被集群中的任意节点访问。
上面所说的Oracle Clusterware组件要求共享的文件系统的空间如下
- 三个OCR文件,每个300MB,或者一共900GB的磁盘空间
- 三个投票磁盘文件,每个300MB,或者一共900GB的磁盘空间
关于网络硬件要求
Oracle Cluster要求连接节点的网络为私有网络(private network),意思是说这个私有网络不能被不是集群中的节点访问。当妹纸Oracle RAC或者Oracle Clusterware时,集群中的所有节点必须满足下面的需求
- 每个节点必须有两个网卡(network interface cards,NIC),一个网卡用做公共网络网卡,另一个用作私有网络网卡。如果节点需要满足下面的条件,还需要安装另外的网卡。
- 集群不止两个节点
- 有两个网卡,但是使用网络附加存储(network attached storage,NAS),那么你需要另外一个网络来满足NAS.
- 有两个网卡,但是你想要冗余的节点间互连接。
- 对于公共接口名如eth0和私有接口名eth1,所有节点必须相同。
- 公共接口网卡支持TCP/IP.
- 私有接口网卡支持UDP,交换机支持TCP/IP。
- hostname不能包含下划线"_"
关于IP地址要求
当使用高级安装时,可以使用Grid Naming Service(GNS)和Dynamic Host Configuration Protocol(DHCP).GNS比较先进,需要进一步学习,所以我们先使用基本的吧,需要在域名服务器(domain name server)配置:
- 每个节点的公共iP地址
- 每个节点的虚拟IP地址
- 客户端的三个单客户端访问地址(single client access name,SCAN)
单客户端访问地址是一个域名,可以解析到与客户端关联的SCAN地址,
### 确认操作系统和软件要求
### 准备服务器