Oracle 数据库是一种热门的企业级数据库,可为任务关键型应用提供支持。本页介绍了适用于 Oracle 数据库环境的 Backup and DR。相关架构可为 TB 级 Oracle 数据库提供应用一致的永久增量备份 Google Cloud,以及 即时恢复和克隆。
工作原理
以下部分介绍了数据捕获和数据恢复流程。
数据捕获
Backup and DR 代理部署在 Oracle 服务器中。
在数据库服务器上装载暂存磁盘。
调用 RMAN 增量 API 以复制更改的块。
调用 RMAN 增量合并以创建新的虚拟完整备份。
从数据库服务器卸载暂存磁盘。
Backup and DR 会拍摄内部快照。时间点合成完整备份已准备就绪。
数据恢复
Backup and DR 会通过 ISCSI 或 NFS 即时装载可重写的暂存磁盘,并使数据库恢复在线状态。
Oracle 备份 API
Backup and DR 使用以下 Oracle API:
RMAN 映像副本:数据文件的映像副本恢复速度要快得多 因为数据文件的物理结构已存在。 RMAN 指令 BACKUP AS COPY 会为整个数据库的所有数据文件创建映像副本,并保留数据文件的格式。
ASM 和 CRS API:ASM 备份磁盘组使用 ASM 和 CRS API 进行管理。
RMAN 归档日志备份 API:生成的归档日志会备份到暂存磁盘,并从生产归档位置完全清除。
在使用 Backup and DR 和其他备份产品时,尽量减少冲突
Backup and DR 可以与从生产数据库捕获数据的旧版产品共存。以下最佳实践有助于改善您的体验:
Oracle 数据库备份时间表
| 最佳实践 | 安排 Backup and DR 数据库备份作业在旧版备份软件应已完成的时间开始。 请勿安排旧版备份软件在 Backup and DR 数据库备份作业正常完成后立即运行。 |
| 原因 | 如果旧版备份作业和 Backup and DR 数据库备份作业同时运行 ,可能会对数据库 服务器的性能产生严重影响,导致数据库服务器不稳定,甚至可能发生中断。此外,对于 Oracle,这可能会导致一个或两个解决方案的备份无效。 |
Oracle 归档日志管理
Oracle 使用在数据库备份期间生成的归档日志来确保该备份的一致性和可恢复性。因此,如果在数据库备份作业期间清除归档日志,则该备份副本将无法恢复。
| 要求 | 只能有一个系统管理(捕获和/或截断/清除)日志,即旧版备份软件或 Backup and DR。 |
| 最佳实践 | 请勿允许在 Backup and DR 作业期间清除 Oracle 归档日志,
也不允许 Backup and DR 在旧版备份 RMAN 作业期间清除归档日志。 如果旧版软件正在管理归档 日志,请在 Backup and DR 备份作业开始时停用旧版备份 软件中的归档日志清除作业,并在结束时恢复 清除作业,或者至少保留归档日志 24 小时后再清除。 |
| 原因 | 如果在数据库备份作业期间清除归档日志,则该数据库 备份可能无法恢复。 |
RMAN 元数据与旧版备份冲突,导致 Backup and DR 备份过时
默认情况下,Backup and DR 应用详情和设置中的参数 DO NOT UNCATALOG 设置为否 。Backup and DR 数据文件备份会在备份开始时编入目录,并在作业结束时从目录中删除。将此参数设置为是 可优化具有大量数据文件的数据库的备份时间,方法是在每个备份作业后将 RMAN 数据文件备份编入目录。但是,这会干扰其他备份产品。
| 要求 | 将 Backup and DR 应用详情和设置参数
Do not uncatalog 设置为 否。 |
| 最佳实践 | Backup and DR 数据库备份是永久增量备份。这是通过将 RMAN 映像副本与 RMAN 增量合并 API 搭配使用来实现的。
第一个 RMAN 备份是 Backup and DR 备份磁盘上数据库数据文件的完整映像副本
,其中包含备份磁盘的内部快照。
后续 RMAN 增量备份在 Backup and DR 备份磁盘上运行 RMAN 增量
合并,在快照之前使用
增量更改更新最后一个完整备份。但是,如果在第三方
数据库备份或备份交叉检查在
Backup and DR 数据库备份之后运行,则
Backup and DR 备份下的所有备份数据文件在 RMAN 元数据下都会标记为过时。
将 Backup and DR 应用详情和设置参数
Do not uncatalog 设置为是 会导致以下错误:
无法将映像副本编入暂存设备的目录
和备份失败。将 Do not uncatalog 设置为 否
,以便与其他旧版备份产品共存。 |
| 原因 | 默认情况下,参数 Do not uncatalog> in Backup and DR
application details & settings is set to No. Setting
this to Yes interferes with other backup products.
|
Oracle 数据库块更改跟踪 (BCT)
Oracle 块更改跟踪功能通过识别哪些块已更改,实现快速数据库备份。只有更改的块才会包含在备份操作中。
Backup and DR 永久增量备份支持在启用或停用 BCT 的情况下运行的数据库。如果未启用 BCT,增量备份时间会增加。
更改块跟踪在数据库级别启用。
Oracle 会在跟踪文件中记录每个数据文件中更改的块,该跟踪文件是存储在数据库区域中的小型二进制文件。
启用 BCT 后,RMAN 会使用 BCT 文件获取更改的块以进行增量备份。
如果未在数据库上启用更改块跟踪,RMAN 会在增量备份期间扫描数据库中所有数据文件的每个块。
在 Backup and DR 一致性组中保护 Oracle 数据库
在大多数配置中,一致性组可以包含单个 Oracle 数据库应用以及 Oracle 服务器中的任意数量的文件系统应用。对于测试开发和其他业务敏捷性用例中的 Oracle 数据库,建议选择一致性组。
使用 TDE 的 Oracle 数据库
Backup and DR 支持各种配置下 Oracle 数据库的各种捕获和呈现方法。这包括配置了透明数据加密 (TDE) 的 Oracle 数据库的备份、恢复和应用感知装载操作。
对于使用 TDE 的 Oracle 数据库,源备份主机中的钱包文件必须可供任何应用感知装载的目标主机使用。这可以通过多种方式实现。
- 钱包文件可以从备份源服务器复制到目标装载服务器,并配置 Oracle 以访问这些文件。
- 如果 Oracle 钱包文件存储在网络上的中央共用设备上,则应将应用感知装载目标 Oracle 实例配置为访问这些文件。
如果在 Backup and DR 备份期间通过设置 Oracle 配置文件位置高级设置捕获了 Oracle 钱包文件,则可以按照以下步骤检索钱包文件:
Backup and DR 与 Oracle Exadata 数据库或 Oracle ExaCC
备份/恢复设备支持通过 iSCSI 或 Oracle dNFS 协议捕获和呈现 Exadata 数据。
备份/恢复设备通过网络(而非数据路径)中的 iSCSI 或 Oracle dNFS 连接。
RMAN 备份使用 RMAN 直接写入 Backup and DR 呈现为文件系统或 ASM 磁盘组的副本数据存储区。
数据捕获格式:在 ASM 磁盘组 (仅限 iSCSI)下或在文件系统 (dNFS 或 iSCSI)下。
Backup and DR 永久增量备份使用 RMAN 增量更新的备份,向前滚动映像副本备份。
Backup and DR 捕获 Exadata 数据和 ExaCC
必须在 Exadata 服务器上安装 Backup and DR 代理,以方便与备份/恢复设备通信并调用 RMAN API 进行数据库备份。
Backup and DR 代理将 Backup and DR 磁盘公开并映射到 Exadata 服务器,作为 iSCSI 目标。数据捕获格式可以在 ASM 磁盘组 下或文件系统 下。
在用户空间下的每个 Exadata 主机上安装 Backup and DR 代理,以方便与备份/恢复设备通信并调用 RMAN API 进行数据库备份。
ASM 磁盘组下的捕获格式
在备份期间,Backup and DR 代理会执行以下操作:
将逻辑磁盘映射并公开到 Exadata 服务器,作为 iSCSI 目标。
将 Backup and DR 磁盘路径添加到 ASM 磁盘字符串。
确保 ASM 磁盘字符串已添加到参数文件,并且不存在于 CRS 配置文件中。
使用 Backup and DR 磁盘创建 ASM 磁盘组作为外部冗余。
RMAN 备份使用 RMAN 直接写入备份/恢复设备呈现为 ASM 磁盘组或文件系统的副本数据存储区。
永久增量备份使用 RMAN 增量更新的备份, 向前滚动映像副本备份。
使用 dNFS 的文件系统下的捕获格式
Oracle Direct NFS (dNFS) 是一种经过优化的 NFS(网络文件系统)客户端,可提供更快、更可伸缩的访问权限,以访问位于 NAS 存储设备(可通过 TCP/IP 访问)上的 NFS 存储。Direct NFS 直接内置于数据库内核中,就像 ASM 一样。
dNFS 协议可用作基于文件系统的备份,作为 NFS 共享。
Backup and DR 代理将 Backup and DR 磁盘公开并映射到 Exadata 服务器,作为 NFS 共享。
Exadata 服务器上 dNFS 的前提条件:
在 Exadata 服务器上启用 dNFS:
cd $ORACLE_HOME/rdbms/libmake -f ins_rdbms.mk nfs on重启数据库。
使用 RMAN API 将数据库备份到备份/恢复设备呈现的 dNFS 共享上的文件系统。
在重启目标数据库服务器后,使受 Backup and DR 保护的 ASM 磁盘组恢复在线状态
在任何数据库服务器重启后,如果装载了 Backup and DR 副本,或者在重启/崩溃时数据库正在进行 Backup and DR 备份,请按照以下步骤恢复 Backup and DR 磁盘组装载:
检查目标数据库服务器是否已恢复,以及 ASM 和 RAC 系统是否也已恢复。
重启 Backup and DR 代理(从根目录)。
设置 ASM 环境。
登录 ASM
sqlplus并检查磁盘组状态:select name, state from v$asm_diskgroup where name = '<dg name>';)如果已卸载,请装载磁盘组:
alter diskgroup <dg name> mount;登录 Oracle 操作系统并设置数据库环境,然后启动数据库。
后续步骤
了解备份 Oracle 数据库的前提条件。