1.2 关于群集和Oracle RAC的网格基础设施
从Oracle 11g R2开始,Oracle Clusterware和Oracle ASM被安装到一个主目录中,被叫做Grid主目录。对于一个群集的Oracle网格基础设施是指二者结合后的安装。Oracle Clusterware和Oracle ASM仍然是单独的产品。
Oracle Clusterware允许多个服务器,也叫做主机或节点,像一个服务器一样来运行,通常叫做群集。虽然服务器都是独立的服务器,但每个服务器都有与其它服务器进行通信的额外进程。通过这种方式,这些分离的服务器对于应用程序或终端用户表现得就像一台服务器。Oracle Clusterware提供了运行Oracle RAC必要的基础设施。多个服务器结合起来的处理能力比单台服务器提供了更强的可用性、生产力和可扩展性。
在群集中的结点可以被组织到服务器池,为了更好的资源管理。服务器池具有如下属性:
服务器池的最小节点数量
服务器池的最大节点数量
这个服务器池对其它服务器池的相对重要性。
在为Oracle群集安装网格基础设施的过程中,一个默认的叫自由池的服务器池被自动创建。新安装的服务器初始都被分配给这个自由池。如果你创建了新的服务器池,则服务器会自动从自由池移动这个新的服务器池。
当你创建了Oracle RAC数据库,这是一个策略管理的数据库,你指定数据库需要的服务器的数量,那个数据库需要的服务器池自动被创建。本手册中使用管理员管理的Oracle RAC数据库
1.3 关于Oracle自动存储管理
Oracle ASM是一个集成的、高性能的卷管理器和文件系统,在Oracle 11g R2中,Oracle ASM增加了对Oracle Clusterware OCR(Oracle Cluster Register)投票文件的支持,它也是通用目的文件管理系统,叫做自动存储管理群集文件系统(ACFS)。ASM基于数据库管理存储而不是需要管理员来管理的策略。Oracle ASM消除了我们直接管理成千上万的数据库文件的需要。
Oracle ASM将存储系统中的磁盘组织成一个或多个磁盘组。我们管理一个小的磁盘组的集合,ASM自动化了磁盘组中数据库文件的放置。Oracle OCR和投票磁盘也可以被放置到ASM磁盘组中。当使用Oracle RAC时,每个实例必须访问Oracel RAC数据库的数据文件和恢复文件。使用ASM是满足这个需要的一个简单的方法。
在下图中,存储在ASM中的正常的冗余磁盘组包括3个失败组,用来为Oracle Clusterware存储投票磁盘和OCR文件。因为投票磁盘记录着哪些节点是群集的当前成员,所以对于2结点的群集至少要有3个投票磁盘。如果Oracle ASM磁盘组不包含投票磁盘和OCR文件,则你可能拥有2个失败组的正常冗余磁盘组。
Oracle ASM提供了下面的好处:
Stripping,ASM跨磁盘组的所有磁盘平均分布数据,来优化性能和使用。这种平均分布消除了常规的监控和I/O性能优化的需要。
镜像,Oracle ASM随意镜像任何文件来提高数据的可用性。ASM在文件层上进行镜像,不像操作系统镜像,操作系统镜像是在磁盘层上。镜像意味着保存着文件的每个扩展的冗余拷贝或镜像拷贝,来帮助避免因磁盘失败引起的数据丢失。每个文件扩展的镜像拷贝始终被保存在不同的磁盘上。如果一个磁盘失败,ASM可以通过访问磁盘组中仍然存在的磁盘上的镜像拷贝来继续访问受影响的文件。
联机存储重配置和动态重平衡:使用ASM可以在数据库运行时从磁盘存储系统添加和移除磁盘。当向磁盘组添加磁盘,ASM自动重新分布数据,这样数据就可以在磁盘组中跨磁盘分布,包括新添加的磁盘在内。重新分布数据的过程叫重平衡。这是在后台运行的,对数据库性能有非常小的影响。
管理的文件创建和删除,ASM也减少了管理的任务,这是通过启用由Oracle数据库来管理ASM磁盘组中存储的文件。
ACFS是新的跨平台的、可扩展的文件管理系统,是一种新的存储管理技术,支持Oracle数据库外的用户文件管理。ACFS支持文件包括数据库和应用程序的可执行文件、跟踪文件、预警日志、应用程序报告、BFILE和配置文件。ACFS最大限制地复用ASM的功能,提供了动态文件系统改变大小、stripping和镜像。
Oracle ASM被实现为特定类型的实例,有它自己的SGA和后台进程。这个实例与Clusterware和数据库紧密集成。每个使用ASM进行存储的、运行一个或多个实例的服务器都有一个ASM实例。在RAC环境中,每个节点都有一个ASM实例,这些ASM实例基于点对点进行通信,每个节点只支持一个ASM实例,但在该节点上可能有多个使用ASM的数据库实例。
下图是Oracle实例和ASM存储的示例图。
Oracle建议使用ASM存储Clusterware文件和RAC数据文件,而不是使用纯的设备或操作系统文件系统。Oracle数据库可以使用ASM文件和非ASM文件。也可以使用ACFS创建一个文件系统来存储群集中的数据库主目录和其它外部文件。
1.3 关于Oracle RAC
Oracle RAC扩展了Oracle数据库,可以同时使用不同服务器上的多数据库实例进行存储、更新和高效地获取数据。RAC提供软件作为一个组来管理多个服务器和实例。构成数据库的数据文件必须位于共享的存储上,这个存储可以被群集中的所有服务器访问。群集中的每个服务器运行RAC软件。
Oracle数据库在数据文件和实例之间具有一对一的关系。然而RAC数据库在数据文件和实例之间具有一对多的关系。多个实例访问同一个数据库文件集合。
在RAC数据库中每个数据库使用它自己的内存结构和后台进程。RAC使用Cache Fusion来同步存储在每个数据库实例的缓冲中的数据。Cache Fusion在数据库实例之间移动当前的数据块,而不是一个数据库将数据块写到磁盘,其它的实例从磁盘再次读取这个数据块。当一个实例的缓冲区中的锁定数据被其它实例需要时,CacheFusion使用interconnect,直接在实例间传递数据块。使得RAC可以像在一个缓冲区中访问和修改数据一样。
RAC也是使用Oracle软件实现企业级网格计算架构的核心组件。多个数据库实例访问一个数据文件集合,可以防止服务器单点失败。如果群集中的一个结点失败,Oracle数据库可以在剩下的结点中继续运行。可以在应用程序用户连进行工作的时候,单个节点可以被关闭进行维护。
Oracle RAC支持主流商务应用,如OLTP,DSS和流行的产品包,如SAP、PeopleSoft、Siebel、Oracle E*Business Suit和定制的应用程序。那些在Oracle数据库上运行良好的打包的或定制的应用程序,在Oracle RAC也可以良好运行,而不需要改变程序代码。
关于RAC ONE NODE
RAC One Node是运行在群集中一个节点上的RAC数据库的唯一的实例。这个功能允许你以最小的消耗联合许多数据库到一个群集中,在计划和非计划宕机中保护它们。联合的数据库获得了高可用性的好处,如失败保护、联机平滑补丁应用、操作系统和Clusterware平滑升级。这个功能从11.2.0.2版本开始可用。RAC One Node相对于单实例数据库的冷故障允许更好的可用性,因为被叫做联机数据库重定位的技术,这项技术为了高可用性和负载平衡会智能地迁移实例和连接到其它群集结点。通过使用服务器控制工具(SERCTL)来执行数据库重定位。
如果在RAC One Node上运行你的应用程序,并且应用程序增长单一结点不能够提供需要的数据,则Oracle RAC One Node可以被联机升级为Oracle RAC群集。如果运行Oracle RAC One Node数据库的结点变得过载了,你可以在群集中使用联机数据库重定位迁移数据库实例到其它的结点,且应用程序用户没有宕机时间。
在不同的操作系统上安装Oracle RAC
如果计划在不同于Oracle Linux的操作系统上安装和配置Oracle RAC,也可以使用这个手册来获得部署RAC的通用的理解。也可以使用本手册在超过2个结点的群集上部署RAC。
当在不同的平台(不是Oracle Linux或Red Hat Enterpise Linux)或不同的操作系统版本上安装RAC,需要参考针对那个平台的安装和配置手册。
Oracle Clusterware和RAC不支持同一群集中的异种的平台。例,群集中的一个结点为Oracle Linux,另一个结点为Solaris Unix。所有的结点必须运行相同的操作系统,即它们必须是二进制兼容的。RAC不支持同一群集中的机器有不同的芯片结构。同一群集中的机器可以有不同的速度和大小。