了解如何在 Oracle Data Guard 中迁移

在使用 Oracle Data Guard 的所有迁移情况下,可以执行"切换”到备用数据库,从备用数据库创建主数据库。

在使用 Oracle Data Guard 进行减少停机时间迁移时,有两个解决方案可用。这两种方法的先决条件是在 Oracle Data Guard 兼容平台上运行的。

当目标要将源数据库迁移到目标数据库并使数据库版本保持不变时,可以使用“简单 Data Guard”解决方案。如果除了将源数据库迁移到目标之外,还要将源数据库升级到更高版本,则应使用"高级 Data Guard”解决方案。

在移植进程中使用的备用数据库只能用于移植目的而不用于灾难恢复。在准备进行移植时,如果需要维护高可用性的灾难恢复解决方案,可创建多个备用数据库,其中一个用于移植,另一个用于满足高可用性要求。

使用 Oracle Data Guard 迁移数据库时,可以使用以下方法:

  • 简单 Data Guard -使用此解决方案,源数据库已经是新环境的目标版本。物理备用数据库在新环境中创建。准备好完成移植后,将执行 Data Guard 切换,并且所有应用程序都会开始使用新的主数据库。在此过程中,您可以将重做从新环境传送回源环境,以使其保持最新状态。如果出现问题 , 则可以执行零数据丢失切换(后退)以返回到原始配置。

  • 高级 Data Guard -使用此解决方案,将数据库升级到新版本。在此解决方案内,有两种方法:

    • 临时逻辑滚动升级 -此方法提供停机时间最短。升级数据库版本的时间不影响主源数据库。升级操作在切换之前在目标备用数据库上执行,源主数据库保持打开状态以供使用。完成升级后,切换到已升级的目标备用数据库,并开始使用新的已升级主数据库的所有应用程序。

    • Data Guard 切换和升级 -此方法包括停机时间(2 小时或更少), 以便升级目标数据库。执行升级之前,请先执行切换到目标数据库的操作。

可以选择性地在这些进程中使用 Oracle 透明数据加密(TDE)来加密现有数据。您可以选择性地通过将 Oracle Database 12c 或更高版本的非 CDB 数据库作为可插入数据库(PDB)插入云容器数据库(CDB)来转换为 Oracle Multitenant 体系结构。

关于使用简单 Data Guard 解决方案

在不需要升级或转换为多租户体系结构时 , 应使用此解决方案来迁移数据库。

下图提供了简单的迁移的一般流,例如用于 Oracle Cloud 环境。   

简单 Data Guard 迁移的先决条件是:

  • 源数据库可以是 Oracle Database 11g 发行版11.2.0.4、Oracle Database 12c 或 Oracle Database 18c。

  • 备用数据库使用的 Oracle 主目录必须与原始数据库的版本相同,但可以是不同的绑定补丁程序级别,但备用数据库使用的绑定补丁程序必须遵循文档1265700.1 - Oracle 补丁程序保证- Data Guard 独立于第一个补丁程序应用。

  • 源平台和目标平台必须与 Data Guard 配置兼容。

简单 Data Guard 移植的高级步骤有:

  1. 准备云环境并在目标环境中实例化 Data Guard 备用数据库。

  2. 启用 TDE 并加密备用数据库中的用户数据。

  3. 执行 Data Guard 切换到新环境,以便应用程序在新环境中使用该数据库。

    切换过程中将出现最短的关闭时间。允许 Data Guard 将重做传送并应用到原始数据库。

  4. 如果出现问题 , 请执行 Data Guard 切换以返回到原始配置。

关于使用临时逻辑滚动升级解决方案

此解决方案用于移植数据库将限制执行升级时发生的停机时间。当源数据库没有使用逻辑备用数据库的限制时,应使用此解决方案。

下图显示了使用临时逻辑滚动升级将移植到 Oracle Cloud 环境的一般流。

使用临时逻辑滚动升级解决方案的先决条件是:

  • 源数据库可以是 Oracle Database 11g 发行版11.2.0.4、Oracle Database 12c 或 Oracle Database 18c。

  • 源数据库必须与逻辑备用数据库的使用兼容。

  • 目标备用数据库使用的 Oracle 主目录必须与源数据库的版本相同,但可以是由不同的绑定补丁程序调整的。绑定补丁程序必须符合文档1265700.1 - Oracle 补丁程序保证-逐个应用 Data Guard。

  • 源平台和目标平台必须与 Data Guard 配置兼容。

  • 必须创建至少具有一个可插入数据库(PDB)的容器数据库(CDB), 并且该容器在目标环境中从目标版本的数据库主目录运行。

  • 在目标非 CDB 和 CDB Oracle 主目录中为 Oracle 数据库 12c 发行版12.2.0.1环境应用补丁程序 22826718。使用此补丁程序可以在使用 TDE AUTOLOGIN wallet 时使用 FORCE KEYSTORE 更改,而无需返回到基于口令的 wallet。

临时逻辑滚动升级解决方案的高级步骤有:

  1. 准备云环境并在目标环境中实例化 Data Guard 备用数据库。

  2. 使用临时逻辑滚动升级来升级备用数据库。

  3. 启用 TDE 并加密备用数据库中的用户数据。

  4. 执行 Data Guard 切换到新环境,以便应用程序在新环境中使用该数据库。

  5. 如果源为非 Cdb, 请将非 cdb 数据库转换为可插入数据库。

  6. 根据需要回退到源数据库。

    如果出现问题,则可以执行切换以将源数据库返回到其原始主状态。请注意 , 目标备用数据库将不会收到源数据库中可能会导致数据丢失的重做。

关于使用 Data Guard 切换和升级解决方案

在执行升级时,此解决方案会造成数据库停机,并在使用逻辑备用数据库限制源数据库时使用。

下图提供了使用 Data Guard 切换和升级执行移植到 Oracle Cloud 环境的一般流。

使用 Data Guard 切换和升级方法的先决条件是:

  • 源数据库可以是 Oracle Database 11g 发行版11.2.0.4、Oracle Database 12c 或 Oracle Database 18c。

  • 源数据库与逻辑备用数据库的使用不兼容。

  • 备用数据库使用的 Oracle 主目录版本必须与源数据库的版本相同,但可以是不同的绑定补丁程序级别。绑定补丁程序必须符合文档1265700.1 - Oracle 补丁程序保证-逐个应用 Data Guard。

  • 源平台和目标平台对于 Data Guard 配置必须是兼容的。

  • 必须创建至少具有一个可插入数据库(PDB)的容器数据库(CDB), 并且该容器必须能够从目标环境中安装的目标版本的数据库主目录执行操作。

  • 在目标非 CDB 和 CDB Oracle 主目录中为 Oracle Database 12c 发行版12.2.0.1环境应用补丁程序 22826718。使用此补丁程序可以在使用 TDE AUTOLOGIN wallet 时使用 FORCE KEYSTORE 更改,而无需返回到基于口令的 wallet。

Data Guard 交换和升级方法的高级步骤有:

  1. 准备云环境并在目标环境中实例化 Data Guard 备用数据库。

  2. 启用 TDE 并加密备用数据库中的用户数据。

  3. 对目标环境执行 Data Guard 切换,以便应用程序在目标环境中使用该数据库,然后升级该数据库。

  4. 如果需要 , 请将非 Cdb 数据库转换为可插入数据库。

  5. 根据需要回退到源数据库。

    如果出现问题,则可以执行切换以将源数据库返回到其原始主状态。请注意 , 目标备用数据库将不会收到源数据库中可能会导致数据丢失的重做。