

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

# RDS for Oracle 複本的要求與考量
<a name="oracle-read-replicas.limitations"></a>

建立 Oracle 複本之前，請先深入了解下列要求與注意事項。

**Topics**
+ [RDS for Oracle 複本的版本和授權需求](#oracle-read-replicas.limitations.versions-and-licenses)
+ [RDS for Oracle 複本的選項群組限制](#oracle-read-replicas.limitations.options)
+ [RDS for Oracle 複本的備份與還原考量](#oracle-read-replicas.limitations.backups)
+ [RDS for Oracle 複本 Oracle 資料保護的需求和限制](#oracle-read-replicas.data-guard.requirements)
+ [RDS for Oracle 複本的多租戶組態限制](#oracle-read-replicas.limitations.multitenant)
+ [RDS for Oracle 複本的其他事項需求](#oracle-read-replicas.limitations.miscellaneous)

## RDS for Oracle 複本的版本和授權需求
<a name="oracle-read-replicas.limitations.versions-and-licenses"></a>

建立 RDS for Oracle 複本之前，請先考量下列項目：
+ 如果複本處於唯讀模式，請確定您擁有 Active Data Guard 授權。如果您將複本置於掛載模式，則不需要 Active Data Guard 授權。只有 Oracle 資料庫引擎支援掛載的複本。
+ 僅支援將 Oracle 複本用於 Oracle Enterprise Edition (EE)。
+ 非 CDB 的 Oracle 複本僅支援使用非 CDB 執行個體 (執行 Oracle Database 19c) 建立的 CDB 執行個體。
+ Oracle 複本只適用於資料庫執行個體執行於資料庫執行個體類別具有兩個或以上的虛擬 vCPU。來源資料庫執行個體無法使用 db.t3.small 執行個體類別。
+ 來源資料庫執行個體及其所有複本的 Oracle 資料庫引擎版本必須相同。Amazon RDS 升級來源資料庫執行個體後會立即升級複本，無論複本的維護時段為何。對於跨區域複本的主要版本升級，Amazon RDS 會自動執行下列動作：
  + 產生目標版本的選項群組。
  + 將原始選項群組中的所有選項和選項設定複製到新選項群組。
  + 將升級的跨區域複本與新選項群組建立關聯。

  如需有關升級資料庫引擎版本的詳細資訊，請參閱[升級 RDS for Oracle 資料庫引擎](USER_UpgradeDBInstance.Oracle.md)。

## RDS for Oracle 複本的選項群組限制
<a name="oracle-read-replicas.limitations.options"></a>

使用 RDS for Oracle 複本的選項群組時，請考量下列事項：
+ 當來源和複本位於相同 AWS 區域時，您無法使用不同於來源資料庫執行個體選項群組的複本選項群組。

  對來源選項群組或來源選項群組成員的修改，會傳播到 Oracle 複本。套用至來源資料庫執行個體後變更會立即套用至複本，不論複本是否在維護視窗。如需選項群組的詳細資訊，請參閱[使用選項群組](USER_WorkingWithOptionGroups.md)。
+ 您無法從專用選項群組中移除 RDS for Oracle 跨區域複本，那是自動為複本建立的群組。
+ 您無法將 RDS for Oracle 跨區域複本的專用選項群組新增至其他資料庫執行個體。
+ 您無法從 RDS for Oracle 跨區域複本的專用選項群組新增或移除非複寫選項，但下列選項除外：
  + `NATIVE_NETWORK_ENCRYPTION`
  + `OEM`
  + `OEM_AGENT`
  + `SSL`

  若要將其他選項新增至 RDS for Oracle 跨區域複本，請將選項新增至來源資料庫執行個體的選項群組。選項也安裝在所有來源資料庫執行個體的複本上。對於授權選項，請確定複本有足夠的授權。

  當您提升 RDS for Oracle 跨區域複本時，提升的複本就像其他 Oracle 資料庫執行個體一樣運作，包括管理其選項。您可以刪除來源資料庫執行個體，以明確或隱含提升複本。

  如需選項群組的詳細資訊，請參閱[使用選項群組](USER_WorkingWithOptionGroups.md)。
+ 您無法將 `EFS_INTEGRATION` 選項新增至 RDS for Oracle 跨區域複本。

## RDS for Oracle 複本的備份與還原考量
<a name="oracle-read-replicas.limitations.backups"></a>

建立 RDS for Oracle 複本之前，請先考量下列項目：
+ 若要建立 RDS for Oracle 複本的快照或開啟自動備份，請務必手動設定備份保留期間。根據預設，不會啟用自動備份。
+ 當您還原複本備份時，會還原到資料庫時間，而不是開始備份的時間。資料庫時間指備份中資料最近套用的交易時間。其中的差異非常明顯，因為複本的時間可能會延後幾分鐘或幾小時。

  若要了解差異，請使用 `describe-db-snapshots` 命令。比較 `snapshotDatabaseTime` (也就是複本備份的資料庫時間) 及 `OriginalSnapshotCreateTime` 欄位 (也就是主要資料庫上最新套用的交易時間)。

## RDS for Oracle 複本 Oracle 資料保護的需求和限制
<a name="oracle-read-replicas.data-guard.requirements"></a>

建立 RDS for Oracle 複本之前，請注意下列需求和限制：
+ 如果您的主要資料庫執行個體使用多租用戶架構的單一租用戶或多租用戶組態，請考慮下列事項：
  + 您必須使用 Oracle 資料庫 19c 或更新版本與企業版搭配使用。
  + 您的主要 CDB 執行個體必須位於 `ACTIVE` 生命週期。
  + 您無法將非 CDB 主執行個體轉換為 CDB 執行個體，並在相同的作業中轉換其複本。相反，請刪除非 CDB 複本，將主要資料庫執行個體轉換為 CDB，然後建立新複本
+ 確保主要執行個體上的登入觸發程序必須允許 `RDS_DATAGUARD` 使用者以及其 `AUTHENTICATED_IDENTITY` 值為 `RDS_DATAGUARD` 或 `rdsdb` 之任何使用者的存取權。此外，觸發程序不得設定 `RDS_DATAGUARD` 使用者的目前結構描述。
+ 若要避免封鎖 Data Guard 中介處理作業的連線，請勿啟用受限制的階段作業。如需限制工作階段的詳細資訊，請參閱[啟用和停用受限制的工作階段](Appendix.Oracle.CommonDBATasks.RestrictedSession.md)。

## RDS for Oracle 複本的多租戶組態限制
<a name="oracle-read-replicas.limitations.multitenant"></a>

在 RDS for Oracle 複本上使用多租戶組態時，請注意下列限制：
+ 您只能在主要資料庫執行個體上建立、刪除或修改租用戶資料庫。這些變更會自動傳播到複本。
+ RDS for Oracle 主要、來源或複本上的租用戶資料庫無法使用自訂字元集建立。如果您需要自訂字元集，請先建立租戶資料庫，再為資料庫執行個體建立僅供讀取複本。

## RDS for Oracle 複本的其他事項需求
<a name="oracle-read-replicas.limitations.miscellaneous"></a>

建立 RDS for Oracle 複本之前，請先考量下列項目：
+ 當您為具有其他儲存磁碟區的資料庫執行個體建立 RDS for Oracle 複本時，RDS 會自動在複本上設定其他儲存磁碟區。不過，在主要資料庫執行個體的儲存磁碟區中所做的任何後續修改都不會自動套用至複本。
+ 如果您在主要資料庫執行個體中新增其他儲存磁碟區，RDS 不會自動將其他儲存磁碟區新增至複本。您需要修改複本以新增其他儲存磁碟區。
+ 如果您在主要資料庫執行個體中修改儲存磁碟區組態，例如儲存大小和 IOPS，RDS 不會自動修改複本中的儲存磁碟區。您需要修改複本來更新儲存磁碟區組態。
+ 跨磁碟區管理資料檔案位置時，請注意，在主要執行個體上所做的變更不會自動同步至複本。
  + 對於唯讀複本：您可以使用參數群組設定來控制預設檔案位置，或在建立檔案之後手動移動檔案。
  + 對於掛載複本：手動變更主資料庫中的資料檔案位置需要重新建立掛載複本以反映這些變更。為了避免這種情況，我們建議您使用參數群組設定來管理預設檔案位置。
+ 如果您的資料庫執行個體是一或多個跨區域複本的來源，則來源資料庫會將其封存的重做日誌檔案保留到套用至所有跨區域複本為止。封存的重做日誌可能導致耗用更多儲存空間。
+ 若要避免中斷 RDS 自動化，系統觸發程序必須允許特定使用者登入主要和複本資料庫。[系統觸發程序](https://docs.oracle.com/en/database/oracle/oracle-database/19/lnpls/plsql-triggers.html#GUID-FE23FCE8-DE36-41EF-80A9-6B4B49E80E5B)包括 DDL、登入和資料庫角色觸發程序。我們建議您將程式碼新增至您的觸發程序，以排除下列範本程式碼中所列的使用者：

  ```
  -- Determine who the user is
  SELECT SYS_CONTEXT('USERENV','AUTHENTICATED_IDENTITY') INTO CURRENT_USER FROM DUAL;
  -- The following users should always be able to login to either the Primary or Replica
  IF CURRENT_USER IN ('master_user', 'SYS', 'SYSTEM', 'RDS_DATAGUARD', 'rdsdb') THEN
  RETURN;
  END IF;
  ```
+ 唯讀複本支援區塊變更追蹤，但不支援掛載複本。您可以將掛載複本變更為唯讀複本，然後啟用區塊變更追蹤。如需詳細資訊，請參閱[啟用和停用區塊變更追蹤功能](Appendix.Oracle.CommonDBATasks.BlockChangeTracking.md)。
+ 當來源資料庫使用 Secrets Manager 管理主要使用者憑證時，您無法建立 Oracle 僅供讀取複本。