要使应用程序具有高可用性,必须确保将该应用程序作为应用程序资源组中的一项资源来管理。与其他数据复制模块不同,不会向保护组中添加 Oracle RAC 服务器代理资源组,而是添加阴影 RAC 服务器代理资源组来表示该资源组。
可以随时在保护组中添加和删除 Oracle 阴影 RAC 服务器代理资源组,而不会影响 Oracle Data Guard 数据复制。这不会妨碍您在必要时向保护组中添加其他非 RAC 服务器代理资源组。但是,这些应用程序不能使用需要复制到备用群集的任何数据,因为此类型的保护组仅支持 Oracle Data Guard。
您需要在备用群集上复制为主群集的应用程序资源组配置的所有实体。例如,需要复制的实体有应用程序数据资源、配置文件以及资源组。两个群集上的资源组名称还必须匹配。此外,还需要在备用群集上复制应用程序资源使用的数据。
本节说明了如何执行下列过程:
可以将现有的资源组(包含 Oracle RAC 服务器代理资源的 Oracle RAC 服务器代理资源组除外)添加到保护组的应用程序资源组列表中。如果尝试添加 Oracle RAC 服务器代理资源组,geopg 命令将返回错误。
将其他任何类型的应用程序资源组添加到保护组之前,请确保满足以下条件:
已定义该保护组。
该应用程序资源组不需要复制任何数据。系统不会阻止您添加此类资源组,但 Oracle Data Guard 模块不会协调其他类型的数据复制的切换。
要添加的资源组在两个群集上均已存在,并且处于适当的状态。
资源组的 Auto_start_on_new_cluster 属性设置为 False。可以使用 clresourcegroup show 命令确定此属性的设置。
phys-node-n# clresourcegroup show -p auto_start_on_new_cluster apprg |
按如下所示将 Auto_start_on_new_cluster 属性设置为 False:
phys-node-n# clresourcegroup set -p Auto_start_on_new_cluster=False apprg1 |
将 Auto_start_on_new_cluster 属性设置为 False 可防止 Sun Cluster 资源组管理器自动启动保护组中的资源组。
当保护组激活时,应用程序资源组只需要在主群集上联机。
除非 External_Dependency_Allowed 保护组属性设置为 TRUE,否则应用程序资源组不会依赖于此保护组以外的资源组和资源。要在 External_Dependency_Allowed 保护组属性设置为 FALSE 的情况下添加几个共享依赖性的应用程序资源组,需要在一个操作中将共享依赖性的所有应用程序资源组添加到保护组中。如果单独添加这些应用程序资源组,则操作会失败。
保护组的状态可以是已激活或已取消激活,资源组的状态可以是 Online 或 Unmanaged。
如果资源组处于 Unmanaged 状态,在保护组的配置发生更改后激活保护组时,保护组的本地状态将变为 Error。
如果要添加的资源组处于 Online 状态并且已取消激活保护组,则请求将被拒绝。添加联机资源组之前,需要激活保护组。
登录到一个群集节点。
要完成此步骤,您需要分配有 Geo Management RBAC 权限配置文件。有关 RBAC 的更多信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的“Sun Cluster Geographic Edition 软件和 RBAC”。
将应用程序资源组添加到该保护组。
phys-node-n# geopg add-resource-group resourcegrouplist protectiongroup |
指定应用程序资源组的名称。您可以在逗号分隔的列表中指定多个资源组。
指定保护组的名称。
此命令将应用程序资源组添加到本地群集上的保护组。如果伙伴群集包含具有相同名称的保护组,则此命令会将新的配置信息传播给伙伴群集。
有关 Sun Cluster Geographic Edition 软件所支持的名称和值的信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的附录 B “Sun Cluster Geographic Edition 实体合法的名称和值”。
如果在本地群集上添加操作不成功,则不会修改保护组的配置。否则,将在本地群集上添加 Configuration 并将其状态设置为 OK。
如果 Configuration 状态在本地群集上设置为 OK,但添加操作在伙伴群集上不成功,将在伙伴群集上添加 Configuration,并在伙伴群集上将配置状态设置为 Error。
将应用程序资源组添加到保护组后,该应用程序资源组将被作为保护组的一个实体进行管理。此后,该应用程序资源组将会受到保护组操作(如启动、停止、切换和接管)的影响。
本示例说明了如何将两个应用程序资源组 apprg1 和 apprg2 添加到 sales-pg。
phys-paris-1# geopg add-resource-group apprg1,apprg2 sales-pg |
您可以在不改变应用程序资源组的状态或内容的情况下从保护组删除应用程序资源组。可以随时删除 Oracle 阴影 RAC 服务器代理资源组,而不会影响它们所代表的 Oracle RAC 服务器代理资源组或 Oracle RAC 数据库。可以删除这些资源组是因为阴影 RAC 服务器代理资源组仅反映实际 Oracle RAC 服务器代理资源组的状态,而不控制 Oracle RAC 数据库。
确保满足以下条件:
在本地群集上已定义该保护组。
要删除的资源组属于保护组的应用程序资源组。例如,您不能删除属于数据复制管理实体的资源组。
登录到一个群集节点。
要完成此步骤,您需要分配有 Geo Management RBAC 权限配置文件。有关 RBAC 的更多信息,请参见《Sun Cluster Geographic Edition 系统管理指南》中的“Sun Cluster Geographic Edition 软件和 RBAC”。
从保护组中删除应用程序资源组:
phys-node-n# geopg remove-resource-group resourcegrouplist protectiongroup |
指定应用程序资源组的名称。
您可以在逗号分隔的列表中指定多个资源组。
指定保护组的名称。
此命令从本地群集上的保护组中删除应用程序资源组。如果伙伴群集中包含具有相同名称的保护组,则还会从伙伴群集的保护组中删除该应用程序资源组。
如果所删除的资源组与保护组内的其他资源组共享依赖性,并且 External_Dependency_Allowed 保护组属性设置为 FALSE,则还需要删除与所删除的资源组共享依赖性的其他所有资源组。
如果本地群集上的删除操作失败,则系统不会修改保护组的配置。否则,将在本地群集上删除 Configuration 并将其状态设置为 OK。
如果 Configuration 状态在本地群集上设置为 OK,但删除操作在伙伴群集上不成功,将从伙伴群集中删除 Configuration,并在伙伴群集上将配置状态设置为 Error。
本示例说明了如何将两个应用程序资源组 apprg1 和 apprg2 从 sales-pg 中删除。
phys-paris-1# geopg remove-resource-group apprg1,apprg2 sales-pg |