

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 Oracle Database@ 中備份AWS
<a name="managing-backups"></a>

Oracle Database@AWS 提供多個備份選項來保護您的 Oracle 資料庫。您可以使用與 Amazon S3 無縫整合的 Oracle 受管備份，或使用 Oracle Recovery Manager (RMAN) 建立自己的使用者受管備份。

## Amazon S3 的 Oracle 受管備份
<a name="s3-managed-backups-how-it-works"></a>

當您建立 ODB 網路時，Oracle Database@AWS 會自動設定 Oracle 受管備份對 Amazon S3 的網路存取。OCI 會設定必要的 DNS 項目和安全清單。這些組態允許 OCI Virtual Cloud Network (VCN) 和 Amazon S3 之間的流量。ODB 網路不會啟用或控制自動備份。

Oracle 受管備份完全由 OCI 管理。當您建立 Oracle Exadata 資料庫時，您可以選擇在 OCI 主控台中啟用自動備份，以**啟用自動備份**。選擇下列其中一個備份目的地：
+ **Amazon S3**
+ **OCI 物件儲存**
+ **自主復原服務**

如需詳細資訊，請參閱 OCI 文件中的[備份 Exadata 資料庫](https://docs.oracle.com/en-us/iaas/Content/database-at-aws-exadata-awscr/awscr-create-exadata-database.html)。

## 使用者受管備份至 Oracle Database@ 中的 Amazon S3 AWS
<a name="manual-backups-section"></a>

使用 Oracle Database@AWS，您可以使用專用基礎設施上的 Exadata Database Service 建立資料庫的使用者受管備份。您可以使用 Oracle Recovery Manager (RMAN) 備份資料，並將其存放在 Amazon S3 儲存貯體中。您可以完全控制備份排程、保留政策和儲存成本，同時維護 Oracle Database@ 的受管服務優勢AWS。

**注意**  
Oracle Database@AWS does 不支援專用基礎設施上自治資料庫的使用者受管備份。

使用者受管備份補充 Oracle Database@ 提供的 AWS 受管備份解決方案AWS。您可以使用手動備份來滿足合規要求、跨區域災難復原，或與現有備份管理工作流程整合。

您可以使用下列使用者受管備份技術：

**Oracle Secure Backup**  
以最佳效能將備份直接串流至 Amazon S3。

**Storage Gateway**  
使用 Storage Gateway 進行使用 NFS 共用的檔案型備份。

**S3 掛載點**  
使用檔案用戶端將 Amazon S3 儲存貯體掛載為本機檔案系統。

### 使用者受管備份至 Oracle Database@ 中 Amazon S3 的先決條件AWS
<a name="manual-backups-prerequisites"></a>

在將 Oracle Exadata 資料庫備份至 Amazon S3 之前，請執行下列動作：

1. 啟用從您的 ODB 網路直接存取 Amazon S3。

1. 設定 Oracle Database@ 和 Amazon S3 之間的網路連線AWS 和路由。

#### 啟用從 ODB 網路到 Amazon S3 的存取權
<a name="enabling-s3-customer-access"></a>

若要手動將資料庫備份至 Amazon S3，請啟用從您的 ODB 網路直接存取 S3。此技術可讓您的資料庫根據您的業務需求存取 Amazon S3，例如資料匯入/匯出或使用者管理的備份。您可以完全控制備份儲存的目標目的地，並使用 政策來限制使用 VPC Lattice 存取 Amazon S3。

預設不會啟用從您的 ODB 網路直接存取 Amazon S3。您可以在建立或修改 ODB 網路時啟用 S3 存取。

##### 主控台
<a name="S3Access.CON"></a>

**啟用從您的 ODB 網路直接存取 Amazon S3**

1. 在 https：//[https://console.aws.amazon.com/odb/](https://console.aws.amazon.com/odb/) 開啟 Oracle Database@AWS console。

1. 在導覽窗格中，選擇 **ODB 網路**。

1. 選取您要啟用 Amazon S3 存取的 ODB 網路。

1. 選擇 **Modify** (修改)。

1. 選取 **Amazon S3**。

1. （選用） 設定 Amazon S3 政策文件以控制對 Amazon S3 的存取。如果您未指定政策，預設政策會授予完整存取權。

1. 選擇**繼續**，然後選擇**修改**。

##### AWS CLI
<a name="S3Access.CLI"></a>

若要從 ODB 網路啟用直接 Amazon S3 存取，請使用 `update-odb-network`命令搭配 `s3-access` 參數：

```
aws odb update-odb-network \
  --odb-network-id odb-network-id \
  --s3-access ENABLED
```

若要設定 Amazon S3 政策文件，請使用 `--s3-policy-document` 參數：

```
aws odb update-odb-network \
  --odb-network-id odb-network-id \
  --s3-policy-document file://s3-policy.json
```

啟用 Amazon S3 存取時，您可以使用區域 DNS 從您的 ODB 網路存取 Amazon S3`s3.region.amazonaws.com`。OCI 預設會設定此 DNS 名稱。若要使用自訂 DNS 名稱，請修改 VCN DNS，以確保自訂 DNS 解析為服務網路端點的 IP 地址。

#### 設定 Oracle Database@AWS 與 Amazon S3 之間的網路連線
<a name="managing-backups-routing"></a>

若要允許使用者受管備份至 Amazon S3，您的 VM 必須能夠存取 S3 Amazon VPC 端點。在 OCI 主控台中，您可以編輯網路安全群組 (NSG) 中的安全規則，以控制輸入和輸出流量。對於使用者受管備份，流量會流經用戶端子網路，而不是備份子網路。在下列步驟中，您會更新用戶端子網路NSGs，以新增 VPC 端點 IP 地址的輸出規則。

**允許 VM 存取 Amazon S3 端點**

1. 在 https：//[https://console.aws.amazon.com/odb/](https://console.aws.amazon.com/odb/) 開啟 Oracle Database@AWS console。

1. 選擇 **ODB 網路**。

1. 選擇 ODB 網路的名稱。

1. 選擇 **OCI 資源**。

1. 選擇**服務整合**索引標籤。

1. 在 **Amazon S3** 下，請注意下列資訊：
   + Amazon VPC S3 端點的 IPv4 地址。您稍後需要此資訊。例如，IP 地址可能是 `192.168.12.223`。
   + Amazon VPC S3 端點的網域名稱。您稍後需要此資訊。例如，網域名稱可能是 `s3.us-east-1.amazonaws.com`。

1. 在左側導覽窗格中，選擇 Exadata VM 叢集，然後選擇您的 VM 叢集名稱。

1. 在頁面頂端，選擇**摘要**索引標籤。

1. 選擇**虛擬機器**，然後選擇 VM 的名稱。

1. 請注意 **DNS 名稱**中的值。這是您使用 連線到 VM 時指定的主機名稱`ssh`。

1. 在右上角，選擇在 **OCI 中管理**。這會開啟 OCI 主控台。

1. 在**虛擬雲端網路**清單頁面上，選擇包含 ODB 網路用戶端子網路 () 網路安全群組 (NSG) 的 VCN`exa_static_nsg`。如需詳細資訊，請參閱 [OCI 文件中的管理 NSG 的安全規則](https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/manage-nsg-security-rules.htm)。

1. 在詳細資訊頁面上，根據您看到的選項執行下列其中一個動作：
   + 在**安全**索引標籤上，前往**網路安全群組**。
   + 在**資源**下，選擇**網路安全群組**。

1. 選擇用戶端子網路的 NSG (`exa_static_nsg`)。

1. 為您先前記下的 VPC 端點地址新增輸出規則。

**從 VM 測試對 S3 的連線**

1. 使用 `ssh` 將 `root` 連接至您先前取得 DNS 名稱的 VM。連線時，請使用 SSH 金鑰指定`.pem`檔案。

1. 執行下列命令，以確保 VM 可以存取 Amazon S3 Amazon VPC 端點。使用您先前記下的 S3 網域名稱。

   ```
   # nslookup s3.us-east-1.amazonaws.com
   # curl -v https://s3.us-east-1.amazonaws.com/
   # aws s3 ls --endpoint-url https://s3.us-east-1.amazonaws.com
   ```

### 使用 Oracle Secure Backup 備份至 Amazon S3
<a name="manual-backups-osb"></a>

Oracle Secure Backup 可做為搭配 Recovery Manager (RMAN) 使用的 SBT 界面。您可以使用 RMAN 搭配 Oracle Secure Backup，將 Oracle Database@AWS databases 直接備份至 Amazon S3。Oracle Secure Backup 提供下列優點：
+ Oracle Secure Backup 可最佳化 RMAN 和 S3 之間的資料傳輸。
+ 不需要中繼備份儲存。
+ Oracle Secure Backup 會管理備份媒體的生命週期。

**使用 Oracle Secure Backup 備份至 Amazon S3**

1. 在 Exadata VM 伺服器上安裝 Oracle Secure Backup 模組。將預留位置值取代為您的 AWS 存取金鑰和私密存取金鑰。如需詳細資訊，請參閱 [Backup to Cloud with Oracle Secure Backup Cloud Module 中的 Oracle](https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/backup-cloud-osb.html#GUID-EE4F48D8-61FA-4DAF-8169-FC42F15D828A) 文件。

   ```
   cd $ORACLE_HOME/lib
   java -jar osbws_install.jar -AWSID aws-access-key-id -AWSKey aws-secret-access-key -walletDir $ORACLE_HOME/dbs/osbws_wallet -location us-west-2 -useHttps -awsEndPoint s3.us-west-2.amazonaws.com
   ```

1. 連線至 RMAN 並設定備份通道和預設裝置類型。

   ```
   RMAN target /
   RMAN> CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/u02/app/oracle/product/19.0.0.0/dbhome_2/lib/libosbws.so, ENV=(OSB_WS_PFILE=/u02/app/oracle/product/19.0.0.0/dbhome_2/dbs/osbwssmalikdb1.ora)';
   RMAN> CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
   ```

1. 驗證組態。

   ```
   RMAN> SHOW ALL;
   ```

1. 備份資料庫。

   ```
   RMAN> BACKUP DATABASE;
   ```

1. 確認備份已成功完成。

   ```
   RMAN> LIST BACKUP OF DATABASE SUMMARY;
   ```

### 在 Amazon EC2 上使用 備份至 Amazon S3 AWS Storage Gateway Amazon EC2
<a name="manual-backups-storage-gateway"></a>

AWS Storage Gateway 是一種混合式服務，可將您的現場部署環境連線至 AWS 雲端 儲存服務。對於 Oracle Database@AWS backups，您可以使用 Storage Gateway 建立直接寫入 Amazon S3 的檔案型備份工作流程。與 Oracle Secure Backup 技術不同，您可以管理備份的生命週期。

在此解決方案中，您會建立個別的 Amazon EC2 執行個體來設定 Storage Gateway。您也可以新增 Amazon EBS 磁碟區，以快取讀取和寫入 Amazon S3。

此技術提供下列優點：
+ 您不需要 Oracle Secure Backup 等媒體管理員。
+ 不需要中繼備份儲存。

**部署 Storage Gateway 並建立檔案共享**

1.  AWS 管理主控台 在 https：//[https://console.aws.amazon.com/storagegateway/home/](https://console.aws.amazon.com/storagegateway/home/) 開啟 ，然後選擇您要建立閘道 AWS 的區域。

1. 使用 Amazon EC2 執行個體做為中樞，部署和啟用 Amazon S3 檔案閘道。 Amazon EC2 遵循 *Storage Gateway * [Gateway 使用者指南中部署 S3 File Gateway 的自訂 Amazon EC2 主機](https://docs.aws.amazon.com/filegateway/latest/files3/ec2-gateway-file.html)中的指示。

   當您設定檔案閘道時，請務必執行下列動作：
   + 為快取儲存新增至少一個 Amazon EBS 磁碟區，其大小至少為 150 GiB。
   + 開啟安全群組中 NFS 存取的 TCP/UDP 連接埠 2049。這可讓您建立 NFS 檔案共享。
   + 為傳入流量開啟 TCP 連接埠 80，以在閘道啟用期間允許一次性 HTTP 存取。啟用後，您可以關閉此連接埠。

1. 建立 Amazon VPC 端點，以便在 ODB 網路和 Storage Gateway 之間進行私有連線。如需詳細資訊，請參閱[使用介面 VPC 端點存取 AWS 服務](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)。

1. 透過 Storage Gateway 主控台建立 Amazon S3 儲存貯體的檔案共享。如需詳細資訊，請參閱[建立檔案共享](https://docs.aws.amazon.com/filegateway/latest/files3/GettingStartedCreateFileShare.html)。

**使用 Storage Gateway 將資料庫備份至 Amazon S3**

1. 在終端機中，使用 `ssh` 連線到 Exadata VM 的 DNS 名稱。若要尋找 DNS 名稱，請參閱 [使用者受管備份至 Oracle Database@ 中 Amazon S3 的先決條件AWS](#manual-backups-prerequisites)。

1. 在適用於 NFS 掛載的 Exadata VM 叢集伺服器上建立目錄。下列範例會建立 `/home/oracle/sgw_mount/` 目錄。

   ```
   mkdir /home/oracle/sgw_mount/
   ```

1. 在您剛建立的目錄中掛載 NFS 共用。下列範例會在目錄 上建立共用`/home/oracle/sgw_mount/`。將 *SG-IP-address* 取代為您的 Storage Gateway IP 地址，並將 *your-bucket-name* 取代為您的 S3 儲存貯體名稱。

   ```
   sudo mount -t nfs -o nolock,hard SG-IP-address:/your-bucket-name /home/oracle/sgw_mount/
   ```

1. 連線至 RMAN 並將資料庫備份至掛載的目錄。下列範例會建立頻道`rman_local_bkp`，並使用掛載點路徑來格式化備份片段。

   ```
   $ rman TARGET /
   RMAN> ALLOCATE CHANNEL rman_local_bkp DEVICE TYPE DISK;
   RMAN> BACKUP FORMAT '/home/oracle/sgw_mount/%U' DATABASE;
   ```

1. 確認已在掛載目錄中建立備份檔案。下列範例顯示兩個備份片段。

   ```
   $ ls -lart /home/oracle/sgw_mount/
   total 8569632
   -rw-r----- 1 oracle asmdba 1112223334 Jul 10 20:51 1a2b34cd_1234_1_1
   drwxrwxrwx 1 nobody nobody 0 Jul 10 20:56 .
   -rw-r----- 1 oracle asmdba 5556667778 Jul 10 20:56 1a2b34cd_1235_1_1
   ```

### 使用 Amazon S3 S3
<a name="manual-backups-s3-mount"></a>

您可以使用 Amazon S3 掛載點先在本機建立備份，然後將其複製到 Amazon S3。此技術會在本機儲存體上建立備份，然後使用掛載點界面將其傳輸至 Amazon S3。備份時間比其他技術更長，因為您需要備份資料兩次。

**注意**  
不支援使用掛載點直接備份至 Amazon S3，無需預備。RMAN 需要與 Amazon S3 掛載點界面不相容的特定檔案系統許可。

此技術不需要您授權媒體管理員，例如 Oracle Secure Backup。您可以管理備份的生命週期。

**使用 Amazon S3 S3**

1. 在終端機中，使用 `ssh` 連線到 Exadata VM 的 DNS 名稱。若要尋找 DNS 名稱，請參閱 [使用者受管備份至 Oracle Database@ 中 Amazon S3 的先決條件AWS](#manual-backups-prerequisites)。

1. 在 Exadata VM 叢集伺服器上安裝 Amazon S3 掛載點。如需安裝和組態的詳細資訊，請參閱《[Amazon S3 使用者指南》中的適用於 Amazon S3 的掛載點](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mountpoint.html)。 *Amazon S3 *

   ```
   $ sudo yum install ./mount-s3.rpm
   ```

1. 執行 `mount-s3`命令來驗證安裝。

   ```
   $ mount-s3 --version
   mount-s3 1.19.0
   ```

1. 在 Exadata VM 叢集伺服器本機儲存體上建立中繼備份目錄。您將將資料庫備份至此本機目錄，然後將備份複製到 S3 儲存貯體。下列範例會建立目錄 `/u02/rman_bkp_local`。

   ```
   mkdir /u02/rman_bkp_local
   ```

1. 建立 Amazon S3 掛載點的目錄。下列範例會建立目錄 `/home/oracle/s3mount`。

   ```
   $ mkdir /home/oracle/s3mount
   ```

1. 使用掛載點掛載 Amazon S3 儲存貯體。下列範例會在目錄 上掛載 S3 儲存貯體`/home/oracle/s3mount`。以實際的 Amazon S3*3 儲存貯體名稱取代 your-s3-bucket-*name。

   ```
   $ mount-s3 s3://your-s3-bucket-name /home/oracle/s3mount
   ```

1. 確認您可以存取 Amazon S3 儲存貯體內容。

   ```
   $ ls -lart /home/oracle/s3mount
   ```

1. 將 RMAN 連接到您的目標資料庫，並將其備份到本機預備目錄。下列範例會建立 頻道，`rman_local_bkp`並使用 路徑`/u02/rman_bkp_local/`來格式化備份片段。

   ```
   $ rman TARGET /
   
   RMAN> ALLOCATE CHANNEL rman_local_bkp DEVICE TYPE DISK;
   RMAN> BACKUP FORMAT '/u02/rman_bkp_local/%U' DATABASE;
   ```

1. 確認已在本機目錄中建立備份：

   ```
   $ cd /u02/rman_bkp_local/
   $ ls -lart
   total 4252128
   drwxr-xr-x 8 oracle oinstall 4096 Jul 10 02:13 ..
   -rw-r----- 1 oracle asmdba 1112223334 Jul 10 02:13 abcd1234_1921_1_1
   drwxr-xr-x 2 oracle oinstall 4096 Jul 10 02:13 .
   -rw-r----- 1 oracle asmdba 5556667778 Jul 10 02:14 abcd1234_1922_1_1
   ```

1. 將備份檔案從本機預備目錄複製到 Amazon S3 掛載點。

   ```
   cp /u02/rman_bkp_local/* /home/oracle/s3mount/
   ```

1. 確認您已成功將檔案複製到 Amazon S3。

   ```
   $ ls -lart /home/oracle/s3mount/
   total 4252112
   drwx------ 6 oracle oinstall 225 Jul 10 02:09 ..
   drwxr-xr-x 2 oracle oinstall 0 Jul 10 02:24 .
   -rw-r--r-- 1 oracle oinstall 1112223334 Jul 10 02:24 abcd1234_1921_1_1
   -rw-r--r-- 1 oracle oinstall 5556667778 Jul 10 02:24 abcd1234_1922_1_1
   ```

### 停用直接存取 Amazon S3
<a name="disabling-s3-customer-access"></a>

如果您不再需要從 ODB 網路直接存取 Amazon S3，您可以停用它。啟用或停用對 S3 的直接網路存取不會影響對 Oracle 受管備份對 Amazon S3 的網路存取。

#### 主控台
<a name="DisableS3Access.CON"></a>

**停用對 Amazon S3 的直接存取**

1. 在 https：//[https://console.aws.amazon.com/odb/](https://console.aws.amazon.com/odb/) 開啟 Oracle Database@AWS console。

1. 在導覽窗格中，選擇 **ODB 網路**。

1. 選取您要停用 Amazon S3 存取的 ODB 網路。

1. 選擇 **Modify** (修改)。

1. 清除**啟用 S3 存取**核取方塊。

1. 選擇**修改 ODB 網路**。

#### AWS CLI
<a name="DisableS3Access.CLI"></a>

使用具有 `s3-access` 參數的 `update-odb-network` 命令。

```
aws odb update-odb-network \
  --odb-network-id odb-network-id \
  --s3-access DISABLED
```

## Amazon S3 整合疑難排解
<a name="troubleshooting-s3-managed-backups"></a>

如果您遇到 Oracle 受管備份至 Amazon S3 或直接存取 Amazon S3 的問題，請考慮下列疑難排解步驟：

**無法從您的資料庫存取 Amazon S3 **  
請檢查以下內容：  
+ 確認您的 ODB 網路已啟用 Amazon S3 存取。使用 `GetOdbNetwork`動作來檢查`s3Access`狀態是否為 `Enabled`。
+ 請確定您使用的是正確的區域 DNS 名稱：`s3.region.amazonaws.com`。
+ 檢查您的 Oracle 資料庫是否具有存取 Amazon S3 的必要許可。

**Oracle 受管備份失敗**  
請檢查以下內容：  
+ Amazon S3 的 Oracle 受管備份預設為啟用，無法停用。如果備份失敗，請檢查 Oracle 資料庫日誌是否有特定錯誤訊息。
+ 檢視服務整合資源，確認 Amazon VPC Lattice 資源已正確設定。
+ 如需 Oracle 受管自動備份問題的協助，請聯絡 Oracle Support。如需詳細資訊，請參閱[取得 Oracle Database@ 的支援AWS](odb-troubleshooting-overview.md#oracle-database-aws-support)。