配置 Oracle Data Guard
此手册提供了用于帮助您配置 Oracle Data Guard 环境的脚本。这些脚本使用 restore from service
功能和 Oracle Data Guard 中介为现有主数据库设置备用数据库。
dg-setup-scripts
使用 DG_properties.ini
文件定义主环境和备用环境。
这些脚本将创建 2 个 tar 文件、主密码文件的 tar 和主 Transparent Data Encryption (TDE) wallet 的 tar,您将该文件复制到备用数据库节点。
脚本不会对操作系统进行更改,例如 net.core.rmem_max
和 net.core.wmem_max
或最大传输单元 (Maximum Transmission Unit,MTU)。最佳做法是调整 net.core.rmem_max
和 net.core.wmem_max
以实现最佳重做传输。
以下任务介绍了如何运行脚本来为数据库配置 Oracle Data Guard。
定义 Oracle Data Guard 的环境变量
使用 DG_properties.ini
文件为 Oracle Data Guard 配置准备主系统。这些脚本使用 DG_properties.ini
中的参数配置主系统和备用系统。该文件包含脚本所需的所有输入参数。请参阅“浏览更多”中有关 DG_properties.ini
文件的示例。
dg-setup-scripts
zip 文件中提供了示例 DG_properties.ini
文件。您可以使用环境的值定制文件。
为主数据库准备 Oracle Data Guard 参数
在配置 Oracle Data Guard 之前,在主数据库上设置 Oracle Maximum Availability Architecture (MAA) 建议的 Oracle Data Guard 参数。1_prepare_primary_maa_parameters.sh
脚本为 Oracle Data Guard 配置建议的 MAA 参数并创建备用日志文件。
脚本名: |
|
运行位置: |
在 PRIMARY db host1 中(不管主数据库是 Oracle Real Application Clusters (Oracle RAC) 还是单个实例) |
与用户一起运行: |
oracle |
MAA 为 Oracle 数据库提供了架构、配置和生命周期实践,可以为驻留在内部部署、云或混合配置的数据库提供高可用性服务级别。
- 导出 DB_FLASHBACK_RETENTION_TARGET=1440
- 导出 DB_BLOCK_CHECKSUM=FULL
- 导出 DB_BLOCK_CHECKING=FULL
- 导出 DB_LOST_WRITE_PROTECT=TYPICAL
- 导出 LOG_BUFFER=256M
- 导出 STANDBY_FILE_MANAGEMENT=AUTO
注意:
根据 MAA 最佳实践,参数DB_BLOCK_CHECKING
应设置为主数据库中的 MEDIUM
或 FULL
。该脚本将其设置为 FULL
。如果主数据库上启用 DB_BLOCK_CHECKING
到 MEDIUM
或 FULL
的性能开销不可接受,则仅为备用数据库将 DB_BLOCK_CHECKING
设置为 MEDIUM
或 FULL
。
运行脚本以在配置 Oracle Data Guard 之前设置参数。仅运行此脚本一次,无论主数据库是 Oracle Real Application Clusters (Oracle RAC) 还是单个实例数据库。
设置 MAA 参数后,脚本将在 ONLINE_LOG_DEST1
目录中创建备用日志。备用日志的大小与联机日志 (REDOLOG_SIZE
) 相同。它们的组比联机日志多一个,但线程数相同。
为 Oracle Data Guard 准备主系统
为 Oracle Data Guard 配置准备主主机并创建备用数据库主机后所需的输出文件。
脚本名: |
|
运行位置: |
在 PRIMARY db 主机中。 如果 Oracle Real Application Clusters (Oracle RAC):请先在主数据库主机 1 中运行它,然后在主数据库主机 2 中运行它。 |
与用户一起运行: |
oracle |
2_dataguardit_primary.sh
脚本创建以下输出文件:
- 包含口令文件的 TAR 文件
- 包含 TDE wallet 的 TAR 文件(仅当使用 TDE 加密时)。
复制输出文件
确保将 tar 文件放置在 DG_properties.ini
文件中定义的属性 INPUT_PASWORD_TAR
和 INPUT_WALLET_TAR
(使用 TDE 时)所指示的位置。
为 Oracle Data Guard 准备辅助系统
准备新的辅助(备用)主机,创建备用数据库,并在辅助数据库节点中配置 Oracle Data Guard 中介。
脚本名: |
|
运行位置: |
在新的 STANDBY db 主机中。 如果 Oracle Real Application Clusters (Oracle RAC):首先在备用数据库主机 1 中运行,然后在备用数据库主机 2 中运行。 |
与用户一起运行: |
root |
3_dataguardit_standby_root.sh
脚本通过删除现有数据库并配置所需的构件(TNS 别名、NET 加密、密码文件和透明数据加密 (Transparent Data Encryption,TDE) wallet),准备新的备用数据库主机。然后,它将使用 Oracle Recovery Manager (RMAN) restore from service
功能创建和配置备用数据库,并配置 Oracle Data Guard 中介。
3_dataguardit_standby_root.sh
脚本使用您在 DG_properties.ini
文件中定义的环境变量。如果辅助数据库是 Oracle RAC 数据库,则在两个节点中运行该脚本。大多数操作是在脚本在 Node1 中运行时执行的,并且在 Node2 中运行时会执行一部分步骤。在 Node1 中脚本完成之前,不要在 Node2 中运行脚本。