建立來源資料庫備份

設定 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 以及儲存桶名稱,並且提供程式庫、公事包以及私密金鑰檔案的目錄。
    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

    這會將 Database Cloud Backup 程式庫安裝在 $ORACLE_HOME/lib 目錄中,並且在 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 (序列備份磁帶)。設定 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,如「設定 DBID 並從備份回復 SPF 檔案」底下所示

    定義 SBT_Library 時,請使用您的 ORACLE_HOME 環境變數。

    定義 SBT_PARMS 時,OPC_PFILE 會是 config 檔案 (/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;