创建源数据库的备份

配置 RMAN 以创建源数据库的备份并使用 Oracle Database Backup Cloud Service 进行存储。

在源数据库上安装 Oracle Database Backup Cloud Service

在源数据库上安装 Oracle Database Backup Cloud Service ,使 RMAN 能够识别对象存储服务。该模块模拟源数据库上的磁带备份设备。

在开始之前,请收集安装 Oracle Database Backup Cloud Service 所需的以下信息:

  • 租户 OCID

    在控制台中,依次单击管理租户详细信息

  • Oracle Cloud Infrastructure Object Storage 存储桶所在区间的区间 OCID。

    在控制台中,依次选择身份区间。导航到区间以转到详细信息页。OCID 位于区间信息中。

  • 您的用户 OCID

    在控制台中,单击配置文件图标,依次选择用户信息用户设置

  • 您的账户区域

    该区域是控制台 URL 的一部分。例如,在 https://console.us-ashburn-1.oraclecloud.com 中,区域 ID 为 us-ashburn-1。

  1. oracle 用户的身份登录源数据库。
  2. 安装 oci_install.jar 文件并完成之前创建的区域 ID、公共密钥指纹、租户 OCID、用户 OCID、区间 OCID 和存储桶名称,并为库、Wallet 和私有密钥文件提供目录。
    java -jar oci_install.jar \
    -host https://objectstorage.region.oraclecloud.com \
    -pubFingerPrint wallet_public_key_fingerprint \
    -tOCID tenancy_OCID \
    -uOCID user_OCID \
    -cOCID compartment_OCID \
    -libDir $ORACLE_HOME/lib \
    -walletDir $ORACLE_HOME/data/wallet \
    -pvtKeyFile $ORACLE_HOME/data/wallet/oci_pvt \
    -bucket bucket_name \
    -configFile ~/config

    这将在 $ORACLE_HOME/lib 目录中安装 Database Cloud Backup 库,并在 oracle 用户的主文件夹中创建名为 config 的配置文件,其中包含用于访问对象存储桶和加密备份文件的配置设置。

  3. 如果未打开,则切换到 ARCHIVE_LOG 模式。

设置数据库归档模式

要成功备份数据库,数据库必须处于 ARCHIVELOG 模式。

更改归档模式将关闭数据库。

  1. 启动 RMAN 并连接到源数据库。
    rman target / 
  2. 检查数据库的日志模式。
    RMAN> select log_mode from v$database;
    • 如果输出为 ARCHIVELOG,则已设置模式。
    • 如果输出为 NOARCHIVELOG,则继续执行下一步以更改归档模式。
  3. 将归档模式更改为 ARCHIVELOG。
    在更改归档模式之前,数据库将关闭。
    RMAN> run {
    shutdown immediate;
    startup mount;
    alter database archivelog;
    alter database open;
    }
  4. 验证归档模式是否设置为 ARCHIVELOG。

配置备份存储设备和标准

为备份存储设备配置 RMAN,在本例中,它是 Oracle Database Backup Cloud Service ,用作磁带备份 (SBT_TAPE)。

RMAN 通道表示一个设备类型的数据流,并且对应于一个服务器会话。对于 BACKUP 命令,RMAN 仅分配一种类型的通道,例如 DISK 或 SBT(Serial Backup Tape,串行备份磁带)。配置 SBT_TAPE,以便将 RMAN 备份发送到 Oracle Database Backup Cloud Service ,而不是发送到磁盘。

开始之前,您需要 ORACLE_HOME 环境变量的值以及在源数据库上安装 Oracle Database Backup Cloud Service 时生成的 config 文件的位置。
  1. 使用 RMAN,连接到 CDB 数据库以获取数据库 ID (DBID) 编号。
    RMAN> connect target sys@orclcdb
    target database Password:

    输出包括 DBID,保存 DBID 编号,稍后将需要它。

  2. 将 RMAN 配置为使用 SBT 设备,并指向在安装备份模块时创建的 config 文件。

    在设置 DBID 的目标下,强调通过 RMAN 将目标 DBID 替换为源 DBID,如“Set the DBID and Restore the SPF File From Backup”下所示

    定义 SBT_Library 时,请使用 ORACLE_HOME 环境变量。

    定义 SBT_PARMS 时,OPC_PFILEconfig 文件 (/home/oracle/config) 的位置。

    例如,以下命令使用目标数据库控制文件而不是恢复目录:

    RMAN> CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 
    'SBT_LIBRARY=/opt/oracle/product/19c/dbhome_1/lib/libopc.so,
    SBT_PARAMS=(OPC_PFILE=/opt/oracle/product/19c/dbhome_1/dbs/opcora19c.ora)';
  3. 将 RMAN 配置为使用 SBT_TAPE 作为默认备份位置并配置加密。

    其他设置可能适用于您的安装,例如压缩、要使用的备份和恢复通道数、备份保留策略和归档日志删除策略。

    有关选择相应设置的更多信息,请参见适用于您 Oracle 版本的 Oracle Backup and Recovery 文档。

    例如,以下命令允许 controlfilespfile autobackup 使用 SBT_TAPE 并为 Oracle Database 版本 19c 配置加密:
    RMAN> run {
    CONFIGURE DEFAULT DEVICE TYPE TO SBT_TAPE;
    CONFIGURE BACKUP OPTIMIZATION ON;
    CONFIGURE CONTROLFILE AUTOBACKUP ON;
    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F';
    CONFIGURE ENCRYPTION FOR DATABASE ON;
    }
    
  4. 设置在发送到存储桶之前用于加密备份数据的加密密码。
    RMAN> SET ENCRYPTION IDENTIFIED BY password ONLY;

备份源数据库

将源数据库备份到 Oracle Database Backup Cloud Service

确定要执行的备份的类型:完全备份(级别 0)或增量备份(级别 1)。备份的类型和数据量将确定备份数据库所需的时间量。

  1. 执行全面备份。

    例如:

    RMAN> BACKUP INCREMENTAL LEVEL 0 SECTION SIZE 512M DATABASE PLUS
          ARCHIVELOG;
  2. 可以选择执行增量备份(级别 1),而不是完全备份。
    可以定义区段大小:
    RMAN> BACKUP INCREMENTAL LEVEL 1 SECTION SIZE 512M DATABASE PLUS
          ARCHIVELOG;

    或者,您可能希望定义累计区段大小:

    RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE SECTION SIZE 512M DATABASE PLUS
          ARCHIVELOG;