Oracle Real Applications Cluster 19c Technical Architecture
翻译于oracle官方文档:
链接地址: https://www.oracle.com/webfolder/technetwork/tutorials/architecture-diagrams/19/rac/main.html
Oracle数据库可以通过两种基本方式配置:作为单个实例(SI)数据库(非集群)或实际应用程序集群(RAC)数据库。单个实例数据库将Oracle软件、数据库文件、内存和进程都放在一台服务器上。(链接到数据库技术架构图)。单个实例数据库的实例(内存和进程)与数据库(数据库文件)之间存在一对一的关系。然而,Oracle RAC环境在数据库和实例之间有一对多的关系。Oracle RAC数据库最多可以有100个实例,所有这些实例都访问一个数据库。Oracle RAC环境中单个数据库的所有服务器必须属于同一个Oracle Real Applications集群。
所有实际的应用程序集群都有一些共同之处,每个集群都在每个节点上本地安装了网格基础设施(GI)。网格基础设施包括几个产品:自动存储管理、Oracle集群软件等。
Oracle RAC集群中的每个实例都访问存储在共享存储上的数据库文件。每个节点还需要本地存储,用于存储GI和Oracle数据库软件。
每个节点至少需要一个公共接口和一个私有接口。每个网络可以使用多个网络接口卡来增加带宽、可用性或容错能力。Oracle公司建议每个网络使用多个网络接口卡(nic),每个网络使用多个网络交换机,以避免单点故障。
集群由多个相互连接的计算机或服务器组成,这些计算机或服务器看起来就像是终端用户和应用程序的一台服务器。带有Oracle数据库的Oracle RAC选项使您能够对Oracle数据库进行集群。Oracle RAC使用Oracle Clusterware作为基础架构来绑定多个服务器,使它们作为单个系统运行。
Oracle Clusterware是一个与Oracle数据库集成的可移植集群管理解决方案。Oracle Clusterware是使用Oracle RAC所需的组件,它提供了运行Oracle RAC所需的基础设施。Oracle集群还管理资源,如虚拟Internet协议(VIP)地址、数据库、监听器、服务等。此外,Oracle Clusterware还支持非集群Oracle数据库和Oracle RAC数据库使用Oracle高可用性基础设施。Oracle Clusterware和Oracle自动存储管理(Oracle ASM)(这两个一起组成了Oracle网格基础结构)使您能够创建一个集群存储池,供非集群数据库和Oracle RAC数据库的任何组合使用。
Oracle集群软件是在Oracle RAC运行的大多数平台上需要的惟一集群软件。如果您的数据库应用程序需要供应商集群软件,那么如果该供应商集群软件通过了Oracle RAC认证,那么您可以将这些集群软件与Oracle集群软件一起使用。
实际的应用程序集群(RAC)数据库在RAC集群上托管多个数据库实例。这些实例访问共享存储上的一组数据库文件。共享存储通常由托管RAC数据库实例的节点本地的ASM实例提供。在Oracle的ASM 19c中只有一个配置选项,那就是Flex ASM, Flex ASM可以为集群中的ASM实例设置多种位置,通过设置集群中的基数(即ASM实例的数量)来控制。
RAC数据库是共享存储上的一组文件,可以跨多个节点。
RAC数据库实例是一组处理数据库文件的进程和内存。RAC数据库实例驻留在一个节点上。它通过全局进程和集群与同一集群中的其他RAC数据库实例进行通信。RAC数据库实例与单个实例数据库具有相同的内存和后台进程,但添加了缓存融合和全局进程。缓存融合是Oracle Real Applications集群中的一种无磁盘缓存一致性机制,它直接将块的副本从持有实例的内存缓存提供给请求实例的内存缓存。这提供了跨集群中的DB实例的SGA的逻辑合并。全局进程(没有全部显示)提供必要的服务来维护缓存的一致性,并在节点发生故障时进行恢复。
resides 居住,存在
Cache Fusion 缓存融合 Global Processes 全局进程
缓存融合和集群接口都使用专用网络(互连)进行集群节点之间的通信。
Oracle Real Application Clusters One Node (Oracle RAC One Node)是运行在集群中一个节点上的Oracle Real Application Clusters (Oracle RAC)数据库的单个实例。该选项增加了Oracle为数据库整合提供的灵活性。您可以用最少的开销将多个数据库合并到一个集群中,同时还提供了故障转移保护、在线滚动补丁应用程序和操作系统和Oracle集群的滚动升级等高可用性优势。
数据库实例可以迁移到集群中的另一个节点,同时保持应用程序的连续性。一个RAC节点实例可能与同一集群中的其他RAC数据库实例共存,假设有足够的节点和足够的资源为所有实例提供服务。
Oracle RAC一个节点和Oracle RAC之间的主要区别是,对于Oracle RAC一个节点数据库,在正常操作下一次只运行一个实例。如果这个实例受到意外停机的影响,那么在很短的一段时间内不会运行任何数据库实例。
stack 堆栈
堆栈用于Oracle RAC节点保证数据库服务将尽可能快的恢复,但是技术和与任何其他故障转移集群解决方案,有片刻的时间,在此期间,没有实例的Oracle RAC节点数据库可以执行任何工作。在多节点Oracle RAC系统中不会出现这种情况,因为多个实例已经并发运行,访问同一个数据库
Relocation n. 重新安置 再布置,变换布置
RAC
工具
这张幻灯片在下面的注释中有描述。
您可以使用服务器控制实用工具(SRVCTL)、Oracle Enterprise Manager、SQL*Plus和其他实用工具将集群数据库管理为单系统映像。
Cluster Verification Utility (CVU)
集群验证实用工具(CVU): CVU是一个命令行工具,除了操作系统组和用户之外,您还可以使用它来验证一系列集群和Oracle RAC组件,比如共享存储设备、网络配置、系统需求和Oracle集群软件。您可以使用CVU对集群环境进行安装前检查和安装后检查。CVU在预安装和安装Oracle集群和Oracle RAC组件时特别有用。Oracle Universal Installer在安装Oracle Clusterware和Oracle数据库后运行CVU来验证您的环境。在安装Oracle RAC之前安装并使用CVU,以确保您的配置满足最低的Oracle RAC安装要求。另外,使用CVU来验证正在进行的管理任务的完成情况,比如节点添加和节点删除。
Oracle Enterprise Manager:用于管理非集群数据库和Oracle RAC数据库环境的Oracle Enterprise Manager云控制GUI界面。Oracle建议尽可能使用Oracle Enterprise Manager执行管理任务。
您可以使用Oracle Enterprise Manager云控制来管理Oracle RAC单节点数据库。
SQL*Plus: SQL*Plus命令操作当前实例。当前实例可以是初始化SQL*Plus会话的本地默认实例,也可以是与Oracle Net Services连接的远程实例。
服务器控制实用程序(SRVCTL): SRVCTL是一个命令行接口,您可以使用它从一个点管理Oracle RAC数据库。您可以使用SRVCTL来启动和停止数据库和实例,以及删除或移动实例和服务。您还可以使用SRVCTL来管理配置信息、Oracle Real Application Clusters One Node (Oracle RAC One Node)、Oracle Clusterware和Oracle ASM。
DBCA:用于创建和初始配置Oracle RAC、Oracle RAC单节点和Oracle非集群数据库的推荐实用程序。
舰队补丁和供应:使用舰队补丁和供应补丁,升级和供应Oracle RAC数据库。
每个实例必须能够访问所有的数据文件,包括与Undo表空间相关的数据文件和控制文件。每个实例必须有一个专用于它的Undo表空间。所有的undo表空间必须在共享存储上。所有重做日志文件必须对所有实例都可访问,每个重做日志文件应该像在单个实例中那样多路复用。当使用具有正常冗余度的ASM时,每个重做日志成员被镜像,第二个多路复用成员被放置在不同的磁盘组中。每个实例必须至少有两个重做日志组(也称为线程)。
*与共享临时表空间相关的tempfiles位于共享存储中,在使用本地临时表空间时可能溢出到本地存储。有关更多信息,请参见临时表空间。
可以通过指定临时表空间子句来创建共享临时表空间。共享临时表空间将tempfiles存储在共享磁盘上,因此所有数据库实例都可以访问临时空间。从Oracle Database 12c Release 2(12.2)开始,可以通过指定本地临时表空间子句来创建本地临时表空间。本地临时表空间在Oracle集群环境中非常有用。它们为每个数据库实例存储一个单独的、非共享的临时文件,这可以提高I/O性能。本地临时表空间必须是大文件表空间
应该至少有两个多路复用的控制文件可以被所有的实例访问,就像重做日志文件一样,每个多路复用的控制文件应该放在不同的磁盘组中。
强烈建议在共享存储中使用一个公共(默认)SPFILE,其中包含公共参数和实例特定参数。SPFILE可以存储在ASM中。在集群中的所有实例中,一些初始化参数必须是相同的,一些必须是每个实例唯一的,大多数参数应该是相同的,以保持一致的行为。
数据库密码文件(orapwd*)可以放在共享存储中,也可以放在每个本地节点上。此文件包含特权用户的密码,在数据库未打开时必须可用。