基本数据库服务中的备份和恢复

备份数据库对于确保数据安全至关重要。Oracle 提供了多种备份数据库的方法。

Oracle 管理的自动备份功能是备份 Oracle Cloud 数据库的首选方法,因为您可以使用控制台轻松配置备份设置。自动备份功能支持将恢复服务和对象存储作为备份目的地,为您提供具有相同成本的全自动化云备份解决方案。您无需执行任何手动备份或备份存储管理任务。还可以将备份存储在本地存储中。每个备份目的地都有其应考虑的优势和要求,如下所述。

恢复服务(建议)

基于本地部署 Oracle Zero Data Loss Recovery Appliance 技术的全托管式服务,为 Oracle 数据库提供现代网络安全保护。独特的自动化功能可实时保护 Oracle Database 更改,在不产生生产数据库开销的情况下验证备份,并支持快速、可预测地恢复到任何时间点。

如果备份当前配置了对象存储,您可以无缝迁移到恢复服务以获得具有相同成本的高级功能。

有关恢复服务的更多信息,请参阅关于 Oracle Database Autonomous Recovery Service 。

对象存储

面向数据库的安全、可扩展的按需存储解决方案。

有关对象存储的更多信息,请参阅对象存储概述。

本地存储

目前,Oracle 不提供将块存储卷连接到数据库系统的功能,因此您无法备份到网络连接的卷。

对于非托管备份,您可以使用 RMAN 或 dbcli,并且必须创建和管理您自己的对象存储存储桶来进行备份。

注:如果您之前使用了 RMAN 或 dbcli 来配置备份,然后切换为使用控制台或 API 进行备份,则会创建新的备份配置并将其与数据库相关联。这意味着您无法再依赖之前配置的非托管备份来工作。

有关创建备份的详细说明,请参见:

有关从备份恢复的详细说明,请参见:

必需的 IAM 策略

要使用 Oracle Cloud Infrastructure,必须在策略中由管理员为您授予安全访问权限。无论您是将控制台还是 REST API 与 SDK、CLI 还是其他工具结合使用,都需要进行此访问。如果您收到一条您无权或未经授权的消息,请向管理员核实您具有的访问权限类型以及要使用的区间。

如果您不熟悉策略,请参阅策略入门和常见策略。

先决条件

复查并确保备份和恢复操作满足以下先决条件:

恢复服务

有关恢复服务先决条件的详细信息,请参见 Configure Recovery Service 。

对象存储

有关对象存储的更多信息,请参阅对象存储概述。

一般信息

您的数据库和数据库系统必须处于“可用”状态,备份操作才能成功运行。Oracle 建议您避免在执行备份操作时执行可能会干扰可用性的操作(例如打补丁和 Data Guard 操作)。如果自动备份操作失败,数据库服务将在第二天的备份窗口期间重试该操作。如果按需完整备份失败,您可以在还原数据库系统和数据库可用性时重试该操作。

除了列出的先决条件外,还要确保满足以下条件以避免备份失败:

有关不遵循这些准则可能导致的问题的更多信息,请参见 Troubleshoot Backup Failures 。

托管备份功能

以下信息适用于使用控制台或 API 配置的托管备份。

注:安全区域区间中的数据库必须启用自动备份。有关影响基本数据库服务资源的政策的完整列表,请参见 Security Zone Policies 。

当前支持以下两种类型的自动备份:

为了与 Oracle 建议的备份和恢复操作使用 SYSBACKUP 管理权限的做法保持一致,云自动化创建名为 C##DBLCMUSER 的公用管理用户,该用户在 CDB$ROOT 容器级别具有 SYSBACKUP 角色。因此,对具有最少所需特权的用户执行备份和恢复操作。此用户的凭据由云自动化随机生成并安全管理。如果找不到该用户,或者该用户已锁定并已过期,则云自动化将在备份或恢复操作期间重新创建或解锁该用户。

自动增量和归档重做日志备份

为数据库启用对象存储备份功能时,该服务会持续创建以下内容:

备份保持

如果选择启用自动备份,您可以从提供的保留期或定制策略中选择一个。系统会在您选择的保留期结束时自动删除增量备份。

以下保留期可用于恢复服务。恢复服务保护策略中定义了保留期(天)。

以下保留期可用于对象存储。

通过恢复服务进行长期保留备份

通过长期保留备份 (LTR),您可以存储长达十年的完整备份,以满足合规性、监管或其他业务需求,并提供完整的 LTR 生命周期管理和不可变性。

对于具有恢复服务的 LTR,保留期必须为创建备份后的天数 (90 - 3650) 或年数 (1 - 10)。

要创建具有所需保留期的 LTR 备份,恢复服务不需要创建新的完整生产备份,而是通过在策略中定义的恢复窗口内利用系统中的现有运行备份来实现此目的。有关详细步骤,请参见 Create an On-Demand Backup of a Database 。

您可以在保留期内更改特定现有 LTR 备份的保留期。有关详细步骤,请参见 Change the Retention Period of a Long-Term Retention Backup with Recovery Service 。

您可以还原 LTR 备份以在保留期内创建新数据库。有关详细步骤,请参见 Create a DB System from a Backup Using the Console 。

终止数据库系统后,将根据“数据库终止后删除选项”值删除 LTR 备份。

注:Oracle 建议在终止数据库系统时选择“基于策略删除”选项,以确保保留 LTR 备份。

请考虑以下 LTR 备份的其他因素:

还原选项

以下还原选项可用于数据库。LTR 不支持此设置。

注:您可以通过访问和查询数据库主机或访问任何联机或归档日志来确定要使用的 SCN 编号。

保护策略

Recovery Service 使用保护策略来控制 Oracle Cloud 中的数据库备份保留。

保护策略为受保护数据库提供自动保留管理,满足受监管环境的要求。每个受保护数据库必须与一个保护策略关联。

保护策略确定允许保留 Recovery Service 创建的备份的最长时间(以天为单位)。您可以根据您的业务需求为每个受保护数据库分配单独的策略,或者在一个 VCN 中的所有受保护数据库中使用单个策略。

有关详细信息,请参阅管理保护策略。

受保护的数据库

受保护数据库是指使用 Recovery Service 执行备份操作的 Oracle Cloud 数据库。

有关详细信息,请参阅管理受保护的数据库。

实时数据防护

Recovery Service 提供实时数据保护,您可以在数据库故障的几个子秒内恢复数据库。

实时保护是指将重做更改从受保护数据库持续传输到恢复服务。这可减少数据丢失,并提供接近 0 的恢复点目标 (Recovery Point Objective,RPO)。这是一个额外的成本选择。

有关详细信息,请参阅实时数据保护。

数据库终止后备份删除的选项

终止数据库时,将删除其所有资源以及任何自动备份。将根据所选的保留策略选项删除使用恢复服务和对象存储目标的托管备份。

在终止数据库后,可以使用以下选项保留托管数据库备份。这些选项还可以帮助在意外或恶意损坏数据库时从备份还原数据库。

备份安排

对于 Recovery Service 备份,自动备份过程会随时或在分配的窗口中启动。

对于对象存储备份,用于创建 0 级和 1 级备份的自动备份过程可以在每日备份窗口(午夜到 6:00 AM)内随时运行。您可以选择为数据库指定一个 2 小时调度窗口,在此期间将开始自动备份过程。有 12 个排程窗口可供选择,每个窗口从偶数小时开始(例如,一个窗口从凌晨 4:00 到 6:00,下一个窗口从凌晨 6:00 到 8:00)。备份作业不一定在调度窗口中完成。

对于对象存储备份,如果未指定窗口,则数据库系统区域中的时区为 00:00 到 06:00 的默认备份窗口会分配给数据库。请注意,默认备份调度窗口长达 6 小时,而您指定的窗口长达 2 小时。

调度备份时,请考虑以下因素。

按需完整备份

您可以随时创建数据库的完整备份,除非您的数据库在 Data Guard 关联中承担备用角色。

独立备份

终止数据库系统或数据库时,会删除其所有资源以及任何自动备份。将根据所选的保留策略选项删除使用恢复服务和对象存储目标的托管备份。完整备份将作为独立备份保留在对象存储中。您可以使用独立备份创建新的数据库。

注意:

取消正在运行的完全备份或增量备份

您可以取消正在进行的备份,从而释放系统资源。作为“Create Database(创建数据库)”工作流的一部分(在创建数据库之后),您可以启用自动备份并选择所需的备份目的地。根据所选备份目的地,您可能有一个或多个完整备份和多个增量备份。一旦这些备份中的任何一个启动,您可以选择在中间取消它们。您可以从控制台或 API 取消任何正在运行的备份(自动备份或独立备份)。您可以取消手动备份,单击“Create backup(创建备份)”按钮时会触发该备份。您还可以删除已取消的手动备份。

从 Data Guard 关联的备用数据库进行备份和恢复

您可以从 Data Guard 关联中的备用数据库备份和还原。使用此功能,您可以将备份卸载到备用数据库,从而释放主数据库中的资源。

开始之前,请注意以下事项:

有关使用控制台配置自动备份的详细步骤,请参见 Configure Automatic Backups for a Standby Database 。

跨区域恢复

您可以使用现有备份和还原,使用对象存储或自治恢复服务创建的备份,在同一区域内或不同区域内的可用性域中创建数据库(即场外还原)。

您还可以恢复使用基于主机的钱包(本地钱包)或 OCI Vault 配置的数据库上的备份。有关数据库加密密钥的更多信息,请参见 Manage Encryption Keys 。

Oracle Database Autonomous Recovery Service 的跨区域还原(在同一租户内)需要以下先决条件。

  1. VCN 对等连接:本地和远程区域中的 VCN 必须跨区域对等连接。

  2. 在源和目标 VCN 上添加安全规则。

    1. 在源上添加入站规则。

      1. 单击添加入站规则,然后添加以下详细信息以设置允许 HTTPS 流量的规则:

        • 来源类型:CIDR
        • 源 CIDR:指定数据库所在的 VCN 的 CIDR。
        • IP 协议:TCP
        • 来源端口范围:全部
        • 目的地端口范围: 8005
        • 说明:指定入站规则的可选说明以帮助管理安全规则。
      2. 单击“Add Ingress Rule(添加入站规则)”,然后添加以下详细信息以设置允许 SQLNet 流量的规则:

        • 来源类型:CIDR
        • 源 CIDR:指定数据库所在的 VCN 的 CIDR。
        • IP 协议:TCP
        • 来源端口范围:全部
        • 目的地端口范围: 2484
        • 说明:指定入站规则的可选说明以帮助管理安全规则。
      3. 单击“Add Ingress Rule(添加入站规则)”,然后添加以下详细信息,以设置允许 HTTPS 流量的规则:

        • 来源类型:CIDR
        • 源 CIDR:指定目标 VCN 的 CIDR。
        • IP 协议:TCP
        • 来源端口范围:全部
        • 目的地端口范围: 8005
        • 说明:指定入站规则的可选说明以帮助管理安全规则。
      4. 单击“Add Ingress Rule(添加入站规则)”,然后添加以下详细信息以设置允许 SQLNet 流量的规则:

        • 来源类型:CIDR
        • 源 CIDR:指定目标 VCN 的 CIDR。
        • IP 协议:TCP
        • 来源端口范围:全部
        • 目的地端口范围: 2484
        • 说明:指定入站规则的可选说明以帮助管理安全规则。
    2. 在目标上添加出站规则。如果为所有 IP 和端口打开出站流量,则这些流量是可选的。

      1. 单击“Add Egress Rule(添加出站规则)”,然后添加以下详细信息,以设置允许 HTTPS 流量的规则:

        • 来源类型:CIDR
        • 源 CIDR:指定源 VCN 的 CIDR。
        • IP 协议:TCP
        • 来源端口范围:全部
        • 目的地端口范围: 8005
        • 说明:指定入站规则的可选说明以帮助管理安全规则。
      2. 单击“Add Egress Rule(添加出站规则)”,然后添加以下详细信息以设置允许 SQLNet 流量的规则:

        • 来源类型:CIDR
        • 源 CIDR:指定源 VCN 的 CIDR。
        • IP 协议:TCP
        • 来源端口范围:全部
        • 目的地端口范围: 2484
        • 说明:指定入站规则的可选说明以帮助管理安全规则。

      注:请确保恢复服务子网位于源区域中,并且已附加到源 VCN。有关更多信息,请参见 Creating a Recovery Service Subnet in the Database VCN 。

  3. 在本地和远程 VCN 之间执行 DNS 对等连接。

使用自动备份的数据库的审计和跟踪文件保留

Oracle Database 将审计和跟踪文件写入 /u01 目录中数据库的本地存储。默认情况下,这些文件将保留 30 天,但您可以更改此间隔。每天一次,Oracle Scheduler 作业将放弃超过 30 天(或用户指定的间隔(如果适用)的审计和跟踪文件。如果希望永久保留这些文件,还可以禁用调度程序作业。使用以下 dbcli 命令对此调度程序作业进行更改。

使用 API

有关使用 API 和签名请求的信息,请参阅 REST API 和安全身份证明。有关 SDK 的信息,请参见 Software Development Kits and Command Line Interface 。

以下 API 操作用于管理数据库备份:

有关数据库服务的 API 的完整列表,请参阅数据库服务 API 。