Oracle Real Application Clusters (RAC):特性、成本与效益解析
1. RAC 简介
Oracle Real Application Clusters(RAC)于 2001 年夏天作为 Oracle 9.0.1 的一部分首次发布,很多 Oracle 社区的人认为它是 Oracle 9i 中最重要的特性。尽管 RAC 被宣传为全新特性,但很多技术继承自 Oracle 6.0 引入的 Oracle Parallel Server(OPS)。
RAC 集群由多个相互连接的服务器组成,对终端用户和应用程序而言,这些服务器就像单个服务器。RAC 数据库允许集群中不同服务器上的多个实例访问共享存储上的公共数据库,集群中多个服务器的综合处理能力比单个服务器能提供更高的吞吐量和可扩展性。
1.1 数据库与实例
- 数据库:Oracle 将数据库定义为永久驻留在磁盘文件中的结构,包括数据文件、控制文件和联机重做日志。在 RAC 集群中,数据库必须位于所有服务器都能平等访问的共享物理磁盘存储上,服务器通过存储网络与共享存储通信。
- 实例:实例是在服务器操作系统内存中创建的结构,包括共享全局区(SGA)和相关的后台进程。必须先启动实例才能创建数据库,所有持久数据存储在数据库文件中,当实例或操作系统关闭时,数据仍保留在磁盘上。一个实例只能挂载和打开一个数据库,在单实例环境中,实例和数据库是一对一的映射关系,但一个数据库可以由不同服务器上的一个或多个实例挂载,只要至少有一个实例启动并挂载了数据库,就可以访问该数据库。