

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

# Oracle 評估
<a name="CHAP_Tasks.AssessmentReport.Oracle"></a>

如需使用 Oracle 做為來源時許可的詳細資訊，請參閱 [的自我管理 Oracle 來源所需的使用者帳戶權限 AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Self-Managed.Privileges)或 [AWS受管 Oracle 來源所需的使用者帳戶權限 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Amazon-Managed)。

**注意**  
本節說明使用 Oracle 做為來源或目標之遷移任務的個別預遷移評估 AWS DMS。  
如果您使用自我管理的 Oracle 資料庫做為 的來源 AWS DMS，請使用下列許可集：  

```
grant select on gv_$parameter to dms_user;
                    grant select on v_$instance to dms_user;
                    grant select on v_$version to dms_user;
                    grant select on gv_$ASM_DISKGROUP to dms_user;
                    grant select on gv_$database to dms_user;
                    grant select on DBA_DB_LINKS to to dms_user;
                    grant select on gv_$log_History to dms_user;
                    grant select on gv_$log to dms_user;
                    grant select on dba_types to dms_user;
                    grant select on dba_users to dms_user;
                    grant select on dba_directories to dms_user;
                    grant execute on SYS.DBMS_XMLGEN to dms_user;
```
如果您使用自我管理的 Oracle 資料庫做為 AWS DMS Serverless 來源，則需要其他許可：  

```
grant select on dba_segments to dms_user;
                    grant select on v_$tablespace to dms_user;
                    grant select on dba_tab_subpartitions to dms_user;
                    grant select on dba_extents to dms_user;
```
如果您使用 AWS受管 Oracle 資料庫做為 的來源 AWS DMS，請使用下列一組許可：  

```
EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('V_$PARAMETER', 'dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('V_$INSTANCE', 'dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('V_$VERSION','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('GV_$ASM_DISKGROUP','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('GV_$DATABASE','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_DB_LINKS','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('GV_$LOG_HISTORY','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('GV_$LOG','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_TYPES','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_USERS','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_DIRECTORIES','dms_user', 'SELECT');
                    GRANT SELECT ON RDSADMIN.RDS_CONFIGURATION to dms_user;
                    GRANT EXECUTE ON SYS.DBMS_XMLGEN TO dms_user;
```
如果您使用 AWS受管 Oracle 資料庫做為 AWS DMS Serverless 的來源，則需要其他許可：  

```
EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_SEGMENTS','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_TAB_SUBPARTITIONS','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_EXTENTS','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('V_$TABLESPACE','dms_user', 'SELECT');
```
如果您使用自我管理的 Oracle 資料庫做為 的目標 AWS DMS，請使用下列一組許可：  

```
grant select on v_$instance to dms_user;
                    grant execute on SYS.DBMS_XMLGEN to dms_user;
```
如果您使用 AWS受管 Oracle 資料庫做為 的目標 AWS DMS，請使用下列一組許可：  

```
EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('V_$INSTANCE', 'dms_user', 'SELECT');
                    GRANT EXECUTE ON SYS.DBMS_XMLGEN TO dms_user;
```

**Topics**
+ [驗證只在啟用`BatchApplyEnabled`時才會使用有限的 LOB 模式](#CHAP_Tasks.AssessmentReport.Oracle.LimitedLOBMode)
+ [驗證來源上的資料表是否具有未為數字資料類型指定擴展的資料欄](#CHAP_Tasks.AssessmentReport.Oracle.NumberTypeWithoutScale)
+ [驗證目標資料庫上的觸發條件](#CHAP_Tasks.AssessmentReport.Oracle.TriggersOnTargetDatabase)
+ [驗證來源是否將封存日誌`DEST_ID`設定為 0](#CHAP_Tasks.AssessmentReport.Oracle.UseZeroDestIDTrue)
+ [驗證是否在完全載入期間在目標資料庫上啟用次要索引](#CHAP_Tasks.AssessmentReport.Oracle.SecondaryIndexesEnabled)
+ [驗證搭配 BatchApplyEnabled 用於 DMS 任務範圍的資料表是否有超過 999 個資料欄](#CHAP_Tasks.AssessmentReport.Oracle.SetBatchApplyEnabledTrue)
+ [檢查資料庫層級的補充日誌](#CHAP_Tasks.AssessmentReport.Oracle.SupplementalLogging)
+ [驗證所需的資料庫連結是否已建立待命](#CHAP_Tasks.AssessmentReport.Oracle.DbLink)
+ [LOB 資料類型以及是否已設定 Binary Reader 的 Oracle 驗證](#CHAP_Tasks.AssessmentReport.Oracle.Lob)
+ [驗證資料庫是否為 CDB](#CHAP_Tasks.AssessmentReport.Oracle.Cdb)
+ [檢查 Oracle 資料庫版本](#CHAP_Tasks.AssessmentReport.Oracle.Express)
+ [驗證 DMS 的 Oracle CDC 方法](#CHAP_Tasks.AssessmentReport.Oracle.CdcConfigurations)
+ [驗證 DMS 的 Oracle RAC 組態](#CHAP_Tasks.AssessmentReport.Oracle.Rac)
+ [驗證 DMS 使用者是否具有目標的許可](#CHAP_Tasks.AssessmentReport.Oracle.TargetPermissions)
+ [驗證是否需要所有資料欄的補充記錄](#CHAP_Tasks.AssessmentReport.Oracle.SupplementalLoggingColumns)
+ [驗證是否在具有主索引鍵或唯一索引鍵的資料表上啟用補充記錄](#CHAP_Tasks.AssessmentReport.Oracle.SupplementalLoggingIndexes)
+ [驗證是否有 SecureFile LOBs且任務已設定為完整 LOB 模式](#CHAP_Tasks.AssessmentReport.Oracle.SecureFileLOBs)
+ [驗證是否在任務範圍中包含的資料表內使用以函數為基礎的索引。](#CHAP_Tasks.AssessmentReport.Oracle.FunctionBasedIndexes)
+ [驗證是否在任務範圍中包含的資料表上使用全域暫時資料表。](#CHAP_Tasks.AssessmentReport.Oracle.GlobalTemporaryTables)
+ [驗證是否在任務範圍中包含的資料表上使用具有溢位區段的索引組織資料表。](#CHAP_Tasks.AssessmentReport.Oracle.IndexOrganizedTables)
+ [驗證是否在任務範圍中包含的資料表上使用多層巢狀資料表。](#CHAP_Tasks.AssessmentReport.Oracle.MultilevelNestingTables)
+ [驗證任務範圍中包含的資料表是否使用隱藏資料欄。](#CHAP_Tasks.AssessmentReport.Oracle.InvisibleColumns)
+ [驗證任務範圍中包含的資料表是否使用以 ROWID 欄為基礎的具體化視觀表。](#CHAP_Tasks.AssessmentReport.Oracle.RowIDMaterialViews)
+ [驗證是否使用 Active Data Guard DML 重新導向功能。](#CHAP_Tasks.AssessmentReport.Oracle.ActiveDataGuard)
+ [驗證是否使用混合分割資料表。](#CHAP_Tasks.AssessmentReport.Oracle.HybridPartitionedTables)
+ [驗證是否使用僅限結構描述的 Oracle 帳戶](#CHAP_Tasks.AssessmentReport.Oracle.SchemaOnly)
+ [驗證是否使用虛擬資料欄](#CHAP_Tasks.AssessmentReport.Oracle.VirtualColumns)
+ [驗證任務範圍中定義的資料表名稱是否包含撇號。](#CHAP_Tasks.AssessmentReport.Oracle.NamesWithApostrophes)
+ [驗證任務範圍中定義的資料欄是否具有 `XMLType`、 或 `Long Raw`資料類型`Long`，並在任務設定中驗證 LOB 模式組態。](#CHAP_Tasks.AssessmentReport.Oracle.XMLLongRawDatatypes)
+ [驗證來源 Oracle 版本是否受支援 AWS DMS。](#CHAP_Tasks.AssessmentReport.Oracle.SourceOracleVersion)
+ [驗證是否支援目標 Oracle 版本 AWS DMS。](#CHAP_Tasks.AssessmentReport.Oracle.TargetOracleVersion)
+ [驗證 DMS 使用者是否具有使用資料驗證所需的許可。](#CHAP_Tasks.AssessmentReport.Oracle.DataValidation)
+ [驗證 DMS 使用者是否具有使用 Binary Reader 搭配 Oracle ASM 的許可](#CHAP_Tasks.AssessmentReport.Oracle.BinaryReaderPrivilegesASM)
+ [驗證 DMS 使用者是否具有使用 Binary Reader 搭配 Oracle 非 ASM 的許可](#CHAP_Tasks.AssessmentReport.Oracle.BinaryReaderPrivilegesNonASM)
+ [驗證 DMS 使用者是否具有使用 Binary Reader 搭配 CopyToTempFolder 方法的許可](#CHAP_Tasks.AssessmentReport.Oracle.BinaryReaderTemp)
+ [驗證 DMS 使用者是否具有使用 Oracle Standby 做為來源的許可](#CHAP_Tasks.AssessmentReport.Oracle.StandbySource)
+ [驗證 DMS 來源是否已連線至應用程式容器 PDB](#CHAP_Tasks.AssessmentReport.Oracle.AppPdb)
+ [驗證資料表是否包含任務範圍中的 XML 資料類型。](#CHAP_Tasks.AssessmentReport.Oracle.XmlColumns)
+ [驗證來源資料庫是否已啟用封存日誌模式。](#CHAP_Tasks.AssessmentReport.Oracle.Archivelog)
+ [驗證 RDS Oracle 的 archivelog 保留。](#CHAP_Tasks.AssessmentReport.Oracle.ArchivelogRetention)
+ [驗證資料表是否包含任務範圍中的擴充資料類型。](#CHAP_Tasks.AssessmentReport.Oracle.ExtendedColumns)
+ [驗證任務範圍中包含的物件名稱長度。](#CHAP_Tasks.AssessmentReport.Oracle.30ByteLimit)
+ [驗證 DMS 來源是否已連線至 Oracle PDB](#CHAP_Tasks.AssessmentReport.Oracle.PDBEnabled)
+ [驗證資料表是否在任務範圍中包含空間欄。](#CHAP_Tasks.AssessmentReport.Oracle.SpatialColumns)
+ [驗證 DMS 來源是否已連線至 Oracle 待命。](#CHAP_Tasks.AssessmentReport.Oracle.StandbyDB)
+ [驗證來源資料庫資料表空間是否使用 TDE 加密。](#CHAP_Tasks.AssessmentReport.Oracle.StandbyDB)
+ [驗證來源資料庫是否使用自動儲存管理 (ASM)](#CHAP_Tasks.AssessmentReport.Oracle.ASMSource)
+ [驗證是否已啟用批次套用，以及目標 Oracle 資料庫上的資料表是否已在資料表或索引層級啟用平行處理](#CHAP_Tasks.AssessmentReport.Oracle.batchapply)
+ [透過驗證任務範圍內的資料表來建議「大量陣列大小」參數](#CHAP_Tasks.AssessmentReport.Oracle.bulkarraysize)
+ [驗證是否已設定 HandleCollationDiff 任務設定](#CHAP_Tasks.AssessmentReport.Oracle.handlecollationdiff)
+ [驗證資料表是否具有主索引鍵或唯一索引，且啟用 DMS 驗證時其狀態為 VALID](#CHAP_Tasks.AssessmentReport.Oracle.pkvalidity)
+ [驗證 Binary Reader 是否用於 Oracle Standby 做為來源](#CHAP_Tasks.AssessmentReport.Oracle.binaryreader)
+ [驗證 AWS DMS 使用者是否具有從 Oracle RDS Standby 資料庫複寫資料所需的目錄許可。](#CHAP_Tasks.AssessmentReport.Oracle.directorypermissions)
+ [驗證用於複寫的 Oracle Standby 類型](#CHAP_Tasks.AssessmentReport.Oracle.physicalstandby)
+ [驗證是否已為 RDS Oracle 待命建立必要的目錄](#CHAP_Tasks.AssessmentReport.Oracle.rdsstandby)
+ [驗證批次套用的目標上是否存在主索引鍵或唯一索引](#CHAP_Tasks.AssessmentReport.Oracle.batchapplypkui)
+ [驗證批次套用的目標上是否同時存在主索引鍵和唯一索引](#CHAP_Tasks.AssessmentReport.Oracle.batchapplypkuitarget)
+ [驗證是否將不支援的 HCC 層級用於完全載入](#CHAP_Tasks.AssessmentReport.Oracle.hccfullload)
+ [驗證是否使用不支援的 HCC 層級搭配 CDC 用於 Full Load](#CHAP_Tasks.AssessmentReport.Oracle.hccandcdc)
+ [驗證 CDC 是否使用不支援的 HCC 壓縮](#CHAP_Tasks.AssessmentReport.Oracle.binaryreaderhcccdc)
+ [以來源壓縮方法為基礎的 CDC 建議](#CHAP_Tasks.AssessmentReport.Oracle.cdcmethodbycompression)
+ [檢查是否已啟用批次套用，並驗證資料表是否有超過 999 個資料欄](#CHAP_Tasks.AssessmentReport.Oracle.batchapplylob)
+ [檢查數字隨機轉換規則](#CHAP_Tasks.AssessmentReport.Oracle.digits.randomize)
+ [檢查數字遮罩的轉換規則](#CHAP_Tasks.AssessmentReport.Oracle.digits.mask)
+ [檢查雜湊遮罩的轉換規則](#CHAP_Tasks.AssessmentReport.Oracle.hash.mask)
+ [確認資料驗證任務設定和資料遮罩數字隨機化未同時啟用](#CHAP_Tasks.AssessmentReport.Oracle.all.digit.random)
+ [確認資料驗證任務設定和資料遮罩雜湊遮罩未同時啟用](#CHAP_Tasks.AssessmentReport.Oracle.all.hash.mask)
+ [確認資料驗證任務設定和資料遮罩數字遮罩未同時啟用](#CHAP_Tasks.AssessmentReport.Oracle.all.digit.mask)
+ [驗證對串流目標的複寫不包含 LOBs或延伸資料類型資料欄](#CHAP_Tasks.AssessmentReport.Oracle.streaming-target)
+ [驗證僅限 CDC 的任務已設定為使用`OpenTransactionWindow`端點設定](#CHAP_Tasks.AssessmentReport.Oracle.open.tx.window)
+ [驗證來源資料庫中至少存在一個選取的物件](#CHAP_Tasks.AssessmentReport.Oracle.all.check.source.selection.rules)
+ [驗證目標外部金鑰限制已停用以進行遷移](#CHAP_Tasks.AssessmentReport.Oracle.target.foreign.key.constraints.check)
+ [驗證 Oracle 資料庫和 AWS DMS 版本是否相容](#CHAP_Tasks.AssessmentReport.Oracle.dms.compatibility.version.check)
+ [驗證來源資料庫中是否存在次要限制條件和索引 （非主要）](#CHAP_Tasks.AssessmentReport.Oracle.all.check.secondary.constraints)
+ [驗證工作階段逾時設定 (`IDLE_TIME`) 已設定為 `UNLIMITED`](#CHAP_Tasks.AssessmentReport.Oracle.check.idle.time)
+ [驗證 AWS DMS 使用者是否具有來源資料庫的所有必要許可](#CHAP_Tasks.AssessmentReport.Oracle.validate.permissions.on.source)
+ [使用 Oracle LogMiner 時，驗證 `XMLTYPE`或 LOB 資料欄是否存在](#CHAP_Tasks.AssessmentReport.Oracle.update.lob.columns)
+ [驗證目標端點不是僅供讀取複本](#CHAP_Tasks.AssessmentReport.Oracle.read.replica)
+ [使用直接路徑載入時，驗證 Oracle 目標沒有 CONTEXT 索引](#CHAP_Tasks.AssessmentReport.Oracle.directpath.index)
+ [驗證`FailTasksOnLobTruncation`在現有 LOB 資料欄使用有限 LOB 模式時啟用](#CHAP_Tasks.AssessmentReport.Oracle.FailTasksOnLobTruncation)
+ [驗證`EnableHomogenousPartitionOps`端點設定是否已啟用](#CHAP_Tasks.AssessmentReport.Oracle.Homogenous.partition)

## 驗證只在啟用`BatchApplyEnabled`時才會使用有限的 LOB 模式
<a name="CHAP_Tasks.AssessmentReport.Oracle.LimitedLOBMode"></a>

**API 金鑰：**`oracle-batch-apply-lob-mode`

此預遷移評估會驗證 DMS 任務中的資料表是否包含 LOB 資料欄。如果任務範圍中包含 LOB 資料欄，則只能`BatchApplyEnabled`搭配有限的 LOB 模式使用 。

如需詳細資訊，請參閱[目標中繼資料任務設定](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.TargetMetadata.html)。

## 驗證來源上的資料表是否具有未為數字資料類型指定擴展的資料欄
<a name="CHAP_Tasks.AssessmentReport.Oracle.NumberTypeWithoutScale"></a>

**API 金鑰：**`oracle-number-columns-without-scale`

此預遷移評估會驗證 DMS 任務是否包含未指定擴展的 NUMBER 資料類型資料欄。建議您將端點設定`NumberDataTypeScale`設定為評估報告中指定的值。

如需詳細資訊，請參閱[使用 Oracle 做為來源時的端點設定 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib)。

## 驗證目標資料庫上的觸發條件
<a name="CHAP_Tasks.AssessmentReport.Oracle.TriggersOnTargetDatabase"></a>

**API 金鑰：**`oracle-target-triggers-are-enabled`

此預遷移評估會驗證是否在目標資料庫上啟用觸發。如果啟用觸發，評估將會失敗。我們建議您在遷移期間停用或移除觸發條件。

如需詳細資訊，請參閱 [ 如需詳細資訊，請參閱 DMS 最佳實務](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html)。

## 驗證來源是否將封存日誌`DEST_ID`設定為 0
<a name="CHAP_Tasks.AssessmentReport.Oracle.UseZeroDestIDTrue"></a>

**API 金鑰：**`oracle-zero-archive-log-dest-id`

如果封存的日誌設定為 `DEST_ID`0`useZeroDestid=true`，則此預遷移評估會驗證是否為來源設定端點額外連線屬性。

如需詳細資訊，請參閱[在容錯移轉案例中搭配 Oracle 資料庫使用時如何處理 AWS DMS 複寫](https://aws.amazon.com/blogs/database/how-to-handle-aws-dms-replication-when-used-with-oracle-database-in-fail-over-scenarios/)。

## 驗證是否在完全載入期間在目標資料庫上啟用次要索引
<a name="CHAP_Tasks.AssessmentReport.Oracle.SecondaryIndexesEnabled"></a>

**API 金鑰：**`oracle-check-secondary-indexes`

此預遷移評估會驗證是否在目標資料庫的完全載入期間啟用次要索引。建議您在完全載入期間停用或移除次要索引。

如需詳細資訊，[請參閱 的最佳實務 AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html)。

## 驗證搭配 BatchApplyEnabled 用於 DMS 任務範圍的資料表是否有超過 999 個資料欄
<a name="CHAP_Tasks.AssessmentReport.Oracle.SetBatchApplyEnabledTrue"></a>

**API 金鑰：**`oracle-batch-apply-lob-999`

啟用批次最佳化套用模式的資料表總計不能超過 999 個資料欄。超過 999 個資料欄的資料表會導致 逐一 AWS DMS 處理批次，進而增加延遲。DMS 使用公式 **2 \$1 column\$1in\$1original\$1table \$1 column\$1in\$1primary\$1key <= 999** 來計算批次最佳化套用模式中每個資料表支援的欄總數。

如需詳細資訊，請參閱 [ Oracle 做為目標的限制 AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html#CHAP_Target.Oracle.Limitations)。

## 檢查資料庫層級的補充日誌
<a name="CHAP_Tasks.AssessmentReport.Oracle.SupplementalLogging"></a>

**API 金鑰：**`oracle-supplemental-db-level`

此預遷移評估會驗證資料庫層級是否已啟用最低補充日誌。您必須啟用補充記錄日誌，才能使用 Oracle 資料庫作為遷移來源。

若要啟用補充日誌，請執行下列查詢：

```
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA
```

如需詳細資訊，請參閱[設定補充記錄](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Self-Managed.Configuration.SupplementalLogging)。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

## 驗證所需的資料庫連結是否已建立待命
<a name="CHAP_Tasks.AssessmentReport.Oracle.DbLink"></a>

**API 金鑰：**`oracle-validate-standby-dblink`

此預遷移評估會驗證是否已針對 Oracle 待命資料庫來源建立 Dblink。AWSDMS\$1DBLINK 是使用待命資料庫作為來源的先決條件。使用 Oracle 待命管理系統作為來源時， AWS DMS 依預設不會驗證已開啟的交易。

如需詳細資訊，請參閱[使用自我管理的 Oracle 資料庫做為 的來源 AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Self-Managed)。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

## LOB 資料類型以及是否已設定 Binary Reader 的 Oracle 驗證
<a name="CHAP_Tasks.AssessmentReport.Oracle.Lob"></a>

**API 金鑰：**`oracle-binary-lob-source-validation`

此預遷移評估會驗證 Oracle LogMiner 是否用於 Oracle 資料庫端點版本 12c 或更新版本。 AWS DMS 不支援從 Oracle LogMiner 資料庫版本 12c 進行 LOB 資料欄遷移。此評估也會檢查 LOB 資料欄是否存在，並提供適當的建議。

若要將您的遷移設定為不使用 Oracle LogMiner，請將下列組態新增至來源端點：

```
useLogMinerReader=N;useBfile=Y;
```

如需詳細資訊，請參閱[使用 Oracle LogMiner 或 AWS DMS Binary Reader for CDC](CHAP_Source.Oracle.md#CHAP_Source.Oracle.CDC)。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

## 驗證資料庫是否為 CDB
<a name="CHAP_Tasks.AssessmentReport.Oracle.Cdb"></a>

**API 金鑰：**`oracle-validate-cdb`

此預遷移評估會驗證資料庫是否為容器資料庫。 AWS DMS 不支援多租用戶容器根資料庫 (CDB\$1ROOT)。

**注意**  
只有 Oracle 12.1.0.1 或更新版本需要此評估。此評估不適用於 Oracle 12.1.0.1 之前的版本。

如需詳細資訊，請參閱[使用 Oracle 做為 來源的限制 AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Limitations)。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

## 檢查 Oracle 資料庫版本
<a name="CHAP_Tasks.AssessmentReport.Oracle.Express"></a>

**API 金鑰：**`oracle-check-cdc-support-express-edition`

此預遷移評估會驗證 Oracle 來源資料庫是否為 Express Edition。 AWS DMS 對於 Oracle Express Edition (Oracle 資料庫 XE) 18.0 及更新版本不支援 CDC。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

## 驗證 DMS 的 Oracle CDC 方法
<a name="CHAP_Tasks.AssessmentReport.Oracle.CdcConfigurations"></a>

**API 金鑰：**`oracle-recommendation-cdc-method`

此預遷移評估會驗證過去七天的重做日誌產生，並建議是否針對 CDC 使用 AWS DMS Binary Reader 或 Oracle LogMiner。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

如需判斷應使用哪種 CDC 方法的詳細資訊，請參閱：[使用 Oracle LogMiner 或 AWS DMS Binary Reader for CDC](CHAP_Source.Oracle.md#CHAP_Source.Oracle.CDC)。

## 驗證 DMS 的 Oracle RAC 組態
<a name="CHAP_Tasks.AssessmentReport.Oracle.Rac"></a>

**API 金鑰：**`oracle-check-rac`

此預遷移評估會驗證 Oracle 資料庫是否為 Real Application Cluster。Real Application Cluster 資料庫必須正確設定。如果資料庫是以 RAC 為基礎，我們建議您使用適用於 CDC 的 AWS DMS Binary Reader，而不是 Oracle LogMiner。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

如需詳細資訊，請參閱[使用 Oracle LogMiner 或 AWS DMS Binary Reader for CDC](CHAP_Source.Oracle.md#CHAP_Source.Oracle.CDC)。

## 驗證 DMS 使用者是否具有目標的許可
<a name="CHAP_Tasks.AssessmentReport.Oracle.TargetPermissions"></a>

**API 金鑰：**`oracle-validate-permissions-on-target`

此預遷移評估會驗證 DMS 使用者是否擁有目標資料庫所需的所有必要許可。

## 驗證是否需要所有資料欄的補充記錄
<a name="CHAP_Tasks.AssessmentReport.Oracle.SupplementalLoggingColumns"></a>

**API 金鑰：**`oracle-validate-supplemental-logging-all-columns`

此預遷移評估會針對任務範圍中提到的資料表，驗證是否已將補充記錄新增至資料表的所有資料欄，而不需要主索引鍵或唯一索引鍵。如果資料表缺少主索引鍵或唯一索引鍵的所有資料欄沒有補充記錄，則還原日誌中將不會提供資料的before-and-after影像。DMS 需要沒有主索引鍵或唯一索引鍵的資料表補充記錄，才能產生 DML 陳述式。

## 驗證是否在具有主索引鍵或唯一索引鍵的資料表上啟用補充記錄
<a name="CHAP_Tasks.AssessmentReport.Oracle.SupplementalLoggingIndexes"></a>

**API 金鑰：**`oracle-validate-supplemental-logging-for-pk`

 此預遷移評估會驗證是否為具有主索引鍵或唯一索引的資料表啟用補充記錄，並檢查是否在端點層級`AddSupplementalLogging`啟用。為了確保 DMS 可以複寫變更，您可以根據主索引鍵或唯一索引鍵在資料表層級手動新增補充記錄，或`AddSupplementalLogging = true`對任何複寫資料表具有 ALTER 許可的 DMS 使用者使用端點設定。

## 驗證是否有 SecureFile LOBs且任務已設定為完整 LOB 模式
<a name="CHAP_Tasks.AssessmentReport.Oracle.SecureFileLOBs"></a>

**API 金鑰：**`oracle-validate-securefile-lobs`

此預遷移評估會檢查任務範圍內資料表中是否存在 SecureFile LOBs，並驗證其 LOB 設定。請考慮將 LOB 資料表指派給個別任務以增強效能，因為在完整 LOB 模式下執行任務可能會導致效能變慢。

## 驗證是否在任務範圍中包含的資料表內使用以函數為基礎的索引。
<a name="CHAP_Tasks.AssessmentReport.Oracle.FunctionBasedIndexes"></a>

**API 金鑰：**`oracle-validate-function-based-indexes`

此預遷移評估會檢查任務範圍內資料表上的函數型索引。請注意， AWS DMS 不支援複寫以函數為基礎的索引。請考慮在遷移目標資料庫之後建立索引。

## 驗證是否在任務範圍中包含的資料表上使用全域暫時資料表。
<a name="CHAP_Tasks.AssessmentReport.Oracle.GlobalTemporaryTables"></a>

**API 金鑰：**`oracle-validate-global-temporary-tables`

此預遷移評估會檢查是否在任務資料表映射範圍內使用全域暫時資料表。請注意， AWS DMS 不支援遷移或複寫全域暫時資料表。

## 驗證是否在任務範圍中包含的資料表上使用具有溢位區段的索引組織資料表。
<a name="CHAP_Tasks.AssessmentReport.Oracle.IndexOrganizedTables"></a>

**API 金鑰：**`oracle-validate-iot-overflow-segments`

驗證是否在任務範圍中包含的資料表上使用具有溢位區段的索引組織資料表。 AWS DMS 對於具有溢位區段的索引組織資料表， 不支援 CDC。

## 驗證是否在任務範圍中包含的資料表上使用多層巢狀資料表。
<a name="CHAP_Tasks.AssessmentReport.Oracle.MultilevelNestingTables"></a>

**API 金鑰：**`oracle-validate-more-than-one-nesting-table-level`

此預遷移評估會檢查任務範圍上使用之巢狀資料表的巢狀層級。 僅 AWS DMS 支援單一層級的資料表巢狀。

## 驗證任務範圍中包含的資料表是否使用隱藏資料欄。
<a name="CHAP_Tasks.AssessmentReport.Oracle.InvisibleColumns"></a>

**API 金鑰：**`oracle-validate-invisible-columns`

此預遷移評估會驗證任務範圍中使用的資料表是否具有隱藏資料欄。 AWS DMS 不會從來源資料庫中的隱藏資料欄遷移資料。若要遷移隱藏的資料欄，您需要修改它們才能顯示。

## 驗證任務範圍中包含的資料表是否使用以 ROWID 欄為基礎的具體化視觀表。
<a name="CHAP_Tasks.AssessmentReport.Oracle.RowIDMaterialViews"></a>

**API 金鑰：**`oracle-validate-rowid-based-materialized-views`

此預遷移評估會驗證遷移中使用的具體化視觀表是否根據 ROWID 資料欄建立。 AWS DMS 不支援根據 ROWID 資料欄建立 ROWID 資料類型或具體化視觀表。

## 驗證是否使用 Active Data Guard DML 重新導向功能。
<a name="CHAP_Tasks.AssessmentReport.Oracle.ActiveDataGuard"></a>

**API 金鑰：**`oracle-validate-adg-redirect-dml`

此預遷移評估會驗證是否使用 Active Data Guard DML 重新導向功能。使用 Oracle 19.0 做為來源時， AWS DMS 不支援 Data Guard DML 重新導向功能。

## 驗證是否使用混合分割資料表。
<a name="CHAP_Tasks.AssessmentReport.Oracle.HybridPartitionedTables"></a>

**API 金鑰：**`oracle-validate-hybrid-partitioned-tables`

此預遷移評估會驗證混合分割資料表是否用於任務範圍中定義的資料表。

## 驗證是否使用僅限結構描述的 Oracle 帳戶
<a name="CHAP_Tasks.AssessmentReport.Oracle.SchemaOnly"></a>

**API 金鑰：**`oracle-validate-schema-only-accounts`

此預遷移評估會驗證是否在任務範圍內找到僅限結構描述的帳戶。

## 驗證是否使用虛擬資料欄
<a name="CHAP_Tasks.AssessmentReport.Oracle.VirtualColumns"></a>

**API 金鑰：**`oracle-validate-virtual-columns`

此預遷移評估會驗證 Oracle 執行個體在任務範圍內的資料表中是否有虛擬資料欄。

## 驗證任務範圍中定義的資料表名稱是否包含撇號。
<a name="CHAP_Tasks.AssessmentReport.Oracle.NamesWithApostrophes"></a>

**API 金鑰：**`oracle-validate-names-with-apostrophes`

此預遷移評估會驗證任務範圍中使用的資料表是否包含撇號。 AWS DMS 不會複寫名稱包含撇號的資料表。如果已識別，請考慮重新命名此類資料表。或者，您可以建立檢視或具體化檢視，而無需撇號來載入這些資料表。

## 驗證任務範圍中定義的資料欄是否具有 `XMLType`、 或 `Long Raw`資料類型`Long`，並在任務設定中驗證 LOB 模式組態。
<a name="CHAP_Tasks.AssessmentReport.Oracle.XMLLongRawDatatypes"></a>

**API 金鑰：**`oracle-validate-limited-lob-mode-for-longs`

此預遷移評估會驗證任務範圍中定義的資料表是否具有資料類型 `XMLType`、 `Long`或 `Long Raw`，並檢查任務設定是否設定為使用有限大小 LOB 模式。 AWS DMS 不支援使用 FULL LOB 模式複寫這些資料類型。在識別具有此類資料類型的資料表時，請考慮將任務設定變更為使用有限大小 LOB 模式。

## 驗證來源 Oracle 版本是否受支援 AWS DMS。
<a name="CHAP_Tasks.AssessmentReport.Oracle.SourceOracleVersion"></a>

**API 金鑰：**`oracle-validate-supported-versions-of-source`

 此預遷移評估會驗證來源 Oracle 執行個體版本是否受到支援 AWS DMS。

## 驗證是否支援目標 Oracle 版本 AWS DMS。
<a name="CHAP_Tasks.AssessmentReport.Oracle.TargetOracleVersion"></a>

**API 金鑰：**`oracle-validate-supported-versions-of-target`

此預遷移評估會驗證是否支援目標 Oracle 執行個體版本 AWS DMS。

## 驗證 DMS 使用者是否具有使用資料驗證所需的許可。
<a name="CHAP_Tasks.AssessmentReport.Oracle.DataValidation"></a>

**API 金鑰：**`oracle-prerequisites-privileges-of-validation-feature`

此預遷移評估會驗證 DMS 使用者是否具有使用 DMS 資料驗證的必要權限。如果您不打算使用資料驗證，可以忽略啟用此驗證。

## 驗證 DMS 使用者是否具有使用 Binary Reader 搭配 Oracle ASM 的許可
<a name="CHAP_Tasks.AssessmentReport.Oracle.BinaryReaderPrivilegesASM"></a>

**API 金鑰：**`oracle-prerequisites-privileges-of-binary-reader-asm`

此預遷移評估會驗證 DMS 使用者是否具有在 Oracle ASM 執行個體上使用 Binary Reader 的必要權限。如果您的來源不是 Oracle ASM 執行個體，或者您沒有使用適用於 CDC 的 Binary Reader，您可以忽略啟用此評估。

## 驗證 DMS 使用者是否具有使用 Binary Reader 搭配 Oracle 非 ASM 的許可
<a name="CHAP_Tasks.AssessmentReport.Oracle.BinaryReaderPrivilegesNonASM"></a>

**API 金鑰：**`oracle-prerequisites-privileges-of-binary-reader-non-asm`

此預遷移評估會驗證 DMS 使用者是否具有在 Oracle 非 ASM 執行個體上使用 Binary Reader 的必要權限。此評估只有在您有 Oracle 非 ASM 執行個體時才有效。

## 驗證 DMS 使用者是否具有使用 Binary Reader 搭配 CopyToTempFolder 方法的許可
<a name="CHAP_Tasks.AssessmentReport.Oracle.BinaryReaderTemp"></a>

**API 金鑰：**`oracle-prerequisites-privileges-of-binary-reader-copy-to-temp-folder`

此預遷移評估會驗證 DMS 使用者是否具有使用 Binary Reader 與「複製到 Temp Folder」方法的必要權限。只有在您計劃在使用 Binary Reader 時使用 CopyToTempFolder 讀取 CDC 變更，並將 ASM 執行個體連接到來源時，此評估才相關。如果您不打算使用 CopyToTempFolder 功能，您可以忽略啟用此評估。

我們建議您不要使用 CopyToTempFolder 功能，因為它已棄用。

## 驗證 DMS 使用者是否具有使用 Oracle Standby 做為來源的許可
<a name="CHAP_Tasks.AssessmentReport.Oracle.StandbySource"></a>

**API 金鑰：**`oracle-prerequisites-privileges-of-standby-as-source`

此預遷移評估會驗證 DMS 使用者是否具有使用 StandBy Oracle 執行個體做為來源的必要權限。如果您不打算使用 StandBy Oracle 執行個體做為來源，您可以忽略啟用此評估。

## 驗證 DMS 來源是否已連線至應用程式容器 PDB
<a name="CHAP_Tasks.AssessmentReport.Oracle.AppPdb"></a>

**API 金鑰：**`oracle-check-app-pdb`

此預遷移評估會驗證 DMS 來源是否連線至應用程式容器 PDB。DMS 不支援從應用程式容器 PDB 複寫。

## 驗證資料表是否包含任務範圍中的 XML 資料類型。
<a name="CHAP_Tasks.AssessmentReport.Oracle.XmlColumns"></a>

**API 金鑰：**`oracle-check-xml-columns`

此預遷移評估會驗證任務範圍中使用的資料表是否具有 XML 資料類型。當資料表包含 XML 資料類型時，也會檢查任務是否設定為有限 LOB 模式。DMS 僅支援用於遷移 Oracle XML 資料欄的有限 LOB 模式。

## 驗證來源資料庫是否已啟用封存日誌模式。
<a name="CHAP_Tasks.AssessmentReport.Oracle.Archivelog"></a>

**API 金鑰：**`oracle-check-archivelog-mode`

此預遷移評估會驗證來源資料庫上是否已啟用封存日誌模式。在來源資料庫上啟用封存日誌模式是 DMS 複寫變更的必要條件。

## 驗證 RDS Oracle 的 archivelog 保留。
<a name="CHAP_Tasks.AssessmentReport.Oracle.ArchivelogRetention"></a>

**API 金鑰：**`oracle-check-archivelog-retention-rds`

此預遷移評估會驗證 RDS Oracle 資料庫上的封存日誌保留是否已設定至少 24 小時。

## 驗證資料表是否包含任務範圍中的擴充資料類型。
<a name="CHAP_Tasks.AssessmentReport.Oracle.ExtendedColumns"></a>

**API 金鑰：**`oracle-check-extended-columns`

此預遷移評估會驗證任務範圍中使用的資料表是否具有擴充的資料類型。請注意，擴充資料類型僅支援 DMS 3.5 版或更新版本。

## 驗證任務範圍中包含的物件名稱長度。
<a name="CHAP_Tasks.AssessmentReport.Oracle.30ByteLimit"></a>

**API 金鑰：**`oracle-check-object-30-bytes-limit`

此預遷移評估會驗證物件名稱的長度是否超過 30 個位元組。DMS 不支援長物件名稱 （超過 30 個位元組）。

## 驗證 DMS 來源是否已連線至 Oracle PDB
<a name="CHAP_Tasks.AssessmentReport.Oracle.PDBEnabled"></a>

**API 金鑰：**`oracle-check-pdb-enabled`

此預遷移評估會驗證 DMS 來源是否連線至 PDB。DMS 只有在使用 Binary Reader 搭配 Oracle PDB 做為來源時，才支援 CDC。評估也會評估 DMS 連線至 Oracle PDB 時，任務是否設定為使用二進位讀取器。

## 驗證資料表是否在任務範圍中包含空間欄。
<a name="CHAP_Tasks.AssessmentReport.Oracle.SpatialColumns"></a>

**API 金鑰：**`oracle-check-spatial-columns`

此預遷移評估會驗證資料表是否在任務範圍中包含空間資料欄。DMS 僅支援使用完整 LOB 模式的空間資料類型。當 DMS 識別空間資料欄時，評估也會評估任務是否設定為使用完整 LOB 模式。

## 驗證 DMS 來源是否已連線至 Oracle 待命。
<a name="CHAP_Tasks.AssessmentReport.Oracle.StandbyDB"></a>

**API 金鑰：**`oracle-check-standby-db`

此預遷移評估會驗證來源是否連線至 Oracle 待命。DMS 只有在使用二進位讀取器搭配 Oracle Standby 做為來源時，才支援 CDC。評估也會評估 DMS 連線至 Oracle Standby 時，任務是否設定為使用二進位讀取器。

## 驗證來源資料庫資料表空間是否使用 TDE 加密。
<a name="CHAP_Tasks.AssessmentReport.Oracle.StandbyDB"></a>

**API 金鑰：**`oracle-check-tde-enabled`

此預遷移評估會驗證來源是否已在資料表空間上啟用 TDE 加密。DMS 在使用 Oracle LogMiner for RDS Oracle 時，僅支援具有加密資料表空間的 TDE。

## 驗證來源資料庫是否使用自動儲存管理 (ASM)
<a name="CHAP_Tasks.AssessmentReport.Oracle.ASMSource"></a>

**API 金鑰：**`oracle-check-asm`

此預遷移評估會偵測來源資料庫是否使用 ASM。為了獲得最佳效能，請在端點設定中使用 `parallelASMReadThreads`和 `readAheadBlocks` 參數來設定 Binary Reader。這些設定可在使用 ASM 儲存體時增強資料擷取效能

如需詳細資訊，請參閱[使用 Oracle LogMiner 或 AWS DMS Binary Reader for CDC](CHAP_Source.Oracle.md#CHAP_Source.Oracle.CDC)。

## 驗證是否已啟用批次套用，以及目標 Oracle 資料庫上的資料表是否已在資料表或索引層級啟用平行處理
<a name="CHAP_Tasks.AssessmentReport.Oracle.batchapply"></a>

**API 金鑰：**`oracle-check-degree-of-parallelism`

AWS DMS 驗證目標資料庫中的資料表是否已啟用任何平行處理。在目標資料庫上啟用平行處理會導致批次程序失敗。因此，使用批次套用功能時，需要在資料表或索引層級停用平行處理。

## 透過驗證任務範圍內的資料表來建議「大量陣列大小」參數
<a name="CHAP_Tasks.AssessmentReport.Oracle.bulkarraysize"></a>

**API 金鑰：**`oracle-check-bulk-array-size`

如果任務範圍內找不到具有 LOB （大型物件） 資料類型的資料表，則此評估建議設定 `BulkArraySize` ECA （額外連線屬性）。設定 `BulkArraySize` ECA 可以改善遷移完整載入階段的效能。您可以使用來源/目標端點上的 ECA 設定大量陣列大小，以在遷移的完整載入階段取得最佳效能。

## 驗證是否已設定 HandleCollationDiff 任務設定
<a name="CHAP_Tasks.AssessmentReport.Oracle.handlecollationdiff"></a>

**API 金鑰：**`oracle-check-handlecollationdiff`

此評估會驗證 DMS 任務是否已設定為驗證，並建議`HandleCollationDiff`任務設定，以避免在驗證 Oracle 和 PostgreSQL 之間的資料時產生任何不正確的驗證結果。

如需詳細資訊，請參閱[資料驗證任務設定](CHAP_Tasks.CustomizingTasks.TaskSettings.DataValidation.md)。

## 驗證資料表是否具有主索引鍵或唯一索引，且啟用 DMS 驗證時其狀態為 VALID
<a name="CHAP_Tasks.AssessmentReport.Oracle.pkvalidity"></a>

**API 金鑰：**`oracle-check-pk-validity`

資料驗證要求資料表在來源和目標上都有主索引鍵或唯一索引。

如需詳細資訊，請參閱[AWS DMS 資料驗證](CHAP_Validating.md)。

## 驗證 Binary Reader 是否用於 Oracle Standby 做為來源
<a name="CHAP_Tasks.AssessmentReport.Oracle.binaryreader"></a>

**API 金鑰：**`oracle-check-binary-reader`

此評估會驗證來源資料庫是否為待命資料庫，並使用 Binary Reader for Change Data Capture (CDC)。

如需詳細資訊，請參閱[使用 Oracle 資料庫做為 的來源 AWS DMS](CHAP_Source.Oracle.md)。

## 驗證 AWS DMS 使用者是否具有從 Oracle RDS Standby 資料庫複寫資料所需的目錄許可。
<a name="CHAP_Tasks.AssessmentReport.Oracle.directorypermissions"></a>

**API 金鑰：**`oracle-check-directory-permissions`

當來源資料庫為 Oracle RDS 待命時，此評估會驗證 AWS DMS 使用者在 `ARCHIVELOG_DIR_%`和 `ONLINELOG_DIR_%` 目錄上是否具有所需的讀取權限。

如需詳細資訊，請參閱[使用 受 AWS管 Oracle 資料庫做為 的來源 AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Amazon-Managed)。

## 驗證用於複寫的 Oracle Standby 類型
<a name="CHAP_Tasks.AssessmentReport.Oracle.physicalstandby"></a>

**API 金鑰：**`oracle-check-physical-standby-with-apply`

此評估會驗證用於 AWS DMS 複寫的 Oracle 待命資料庫類型。 AWS DMS 僅支援實體待命資料庫，必須以唯讀模式開啟，並自動套用重做日誌。 AWS DMS 不支援快照或邏輯待命資料庫進行複寫。

如需詳細資訊，請參閱[在 中使用自我管理的 Oracle 待命做為來源與適用於 CDC 的 Binary Reader AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Self-Managed.BinaryStandby)。

## 驗證是否已為 RDS Oracle 待命建立必要的目錄
<a name="CHAP_Tasks.AssessmentReport.Oracle.rdsstandby"></a>

**API 金鑰：**`oracle-check-rds-standby-directories`

此評估會驗證是否為 RDS 待命執行個體上的封存日誌和線上日誌建立所需的 Oracle 目錄。

如需詳細資訊，請參閱[在 中使用 Amazon RDS Oracle Standby （僅供讀取複本） 作為搭配適用於 CDC 的 Binary Reader 的來源 AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Amazon-Managed.StandBy)。

## 驗證批次套用的目標上是否存在主索引鍵或唯一索引
<a name="CHAP_Tasks.AssessmentReport.Oracle.batchapplypkui"></a>

**API 金鑰：**`oracle-check-batch-apply-target-pk-ui-absence`

只有在目標資料表上具有主索引鍵或唯一索引的資料表上才支援批次套用。沒有主索引鍵或唯一索引的資料表會導致批次失敗，並逐一處理變更。建議您將這類資料表移至自己的任務，並改用交易套用模式。或者，您可以在目標資料表上建立唯一的金鑰。

如需詳細資訊，請參閱[使用 Oracle 資料庫做為 的目標 AWS Database Migration Service](CHAP_Target.Oracle.md)。

## 驗證批次套用的目標上是否同時存在主索引鍵和唯一索引
<a name="CHAP_Tasks.AssessmentReport.Oracle.batchapplypkuitarget"></a>

**API 金鑰：**`oracle-check-batch-apply-target-pk-ui-simultaneously`

只有在目標資料表上具有主索引鍵或唯一索引的資料表上才支援批次套用。具有主索引鍵和唯一索引的資料表會同時導致批次失敗，並逐一處理變更。建議您將這類資料表移至自己的任務，並改用交易套用模式。或者，您可以在目標資料表上捨棄唯一索引鍵 （或主索引鍵），並在執行遷移時重建它。

如需詳細資訊，請參閱[使用 Oracle 資料庫做為 的目標 AWS Database Migration Service](CHAP_Target.Oracle.md)。

## 驗證是否將不支援的 HCC 層級用於完全載入
<a name="CHAP_Tasks.AssessmentReport.Oracle.hccfullload"></a>

**API 金鑰：**`oracle-check-binary-reader-hcc-full-load`

Oracle 來源端點設定為使用 Binary Reader，僅完全載入任務支援 HCC 壓縮方法的低查詢層級。

如需詳細資訊，請參閱[使用 Oracle 做為 來源的支援壓縮方法 AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Compression)。

## 驗證是否使用不支援的 HCC 層級搭配 CDC 用於 Full Load
<a name="CHAP_Tasks.AssessmentReport.Oracle.hccandcdc"></a>

**API 金鑰：**`oracle-check-binary-reader-hcc-full-load-and-cdc`

Oracle 來源端點設定為使用 Binary Reader，僅 Full Load 任務支援查詢較低的 HCC。

[使用 Oracle 做為 來源的支援壓縮方法 AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Compression)

## 驗證 CDC 是否使用不支援的 HCC 壓縮
<a name="CHAP_Tasks.AssessmentReport.Oracle.binaryreaderhcccdc"></a>

**API 金鑰：**`oracle-check-binary-reader-hcc-cdc`

Oracle 來源端點設定為使用 Binary Reader。Binary Reader 不支援針對使用 CDC 的任務查詢低。

如需詳細資訊，請參閱[使用 Oracle LogMiner 或 AWS DMS Binary Reader for CDC](CHAP_Source.Oracle.md#CHAP_Source.Oracle.CDC)。

## 以來源壓縮方法為基礎的 CDC 建議
<a name="CHAP_Tasks.AssessmentReport.Oracle.cdcmethodbycompression"></a>

**API 金鑰：**`oracle-recommend-cdc-method-by-compression`

偵測到壓縮的物件。請導覽至特定評估的結果區段，以取得進一步建議。

如需詳細資訊，請參閱[使用 Oracle LogMiner 或 AWS DMS Binary Reader for CDC](CHAP_Source.Oracle.md#CHAP_Source.Oracle.CDC)。

## 檢查是否已啟用批次套用，並驗證資料表是否有超過 999 個資料欄
<a name="CHAP_Tasks.AssessmentReport.Oracle.batchapplylob"></a>

**API 金鑰：**`oracle-batch-apply-lob-999`

DMS 使用 `2 * columns_in_original_table + columns_in_primary_key` 公式來判斷客戶資料表上的資料欄數。根據此公式，我們已識別超過 999 個資料欄的資料表。這會影響批次程序，導致批次程序失敗並切換到one-by-one模式。

如需詳細資訊，請參閱[Oracle 做為 目標的限制 AWS Database Migration Service](CHAP_Target.Oracle.md#CHAP_Target.Oracle.Limitations)。

## 檢查數字隨機轉換規則
<a name="CHAP_Tasks.AssessmentReport.Oracle.digits.randomize"></a>

**API 金鑰：**`oracle-datamasking-digits-randomize`

此評估會驗證資料表映射中使用的資料欄是否與數位隨機轉換規則相容。此外，評估會檢查為轉換選取的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為套用數字隨機轉換並不保證任何唯一性。

## 檢查數字遮罩的轉換規則
<a name="CHAP_Tasks.AssessmentReport.Oracle.digits.mask"></a>

**API 金鑰：**`oracle-datamasking-digits-mask`

此評估會驗證 Digits Mask 轉換規則是否不支援資料表映射中使用的任何資料欄。此外，評估會檢查為轉換選取的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為將數位遮罩轉換套用至此類資料欄可能會導致 DMS 任務失敗，因為無法保證唯一性。

## 檢查雜湊遮罩的轉換規則
<a name="CHAP_Tasks.AssessmentReport.Oracle.hash.mask"></a>

**API 金鑰：**`oracle-datamasking-hash-mask`

此評估會驗證雜湊遮罩轉換規則是否不支援資料表映射中使用的任何資料欄。它也會檢查來源資料欄的長度是否超過 64 個字元。理想情況下，目標欄長度應大於 64 個字元，以支援雜湊遮罩。此外，評估會檢查為轉換選取的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為套用數字隨機轉換並不保證任何唯一性。

## 確認資料驗證任務設定和資料遮罩數字隨機化未同時啟用
<a name="CHAP_Tasks.AssessmentReport.Oracle.all.digit.random"></a>

**API 金鑰：**`all-to-all-validation-with-datamasking-digits-randomize`

此預遷移評估會驗證資料驗證設定和資料遮罩數字隨機化不會同時啟用，因為這些功能不相容。

## 確認資料驗證任務設定和資料遮罩雜湊遮罩未同時啟用
<a name="CHAP_Tasks.AssessmentReport.Oracle.all.hash.mask"></a>

**API 金鑰：**`all-to-all-validation-with-datamasking-hash-mask`

此預遷移評估會驗證資料驗證設定和資料遮罩雜湊遮罩不會同時啟用，因為這些功能不相容。

## 確認資料驗證任務設定和資料遮罩數字遮罩未同時啟用
<a name="CHAP_Tasks.AssessmentReport.Oracle.all.digit.mask"></a>

**API 金鑰：**`all-to-all-validation-with-digit-mask`

此預遷移評估會驗證資料驗證設定和資料遮罩數字遮罩不會同時啟用，因為這些功能不相容。

## 驗證對串流目標的複寫不包含 LOBs或延伸資料類型資料欄
<a name="CHAP_Tasks.AssessmentReport.Oracle.streaming-target"></a>

**API 金鑰：**`oracle-validate-lob-to-streaming-target`

此評估可識別將 LOB 或延伸資料類型遷移至串流目標端點 （例如 S3、Kinesis 或 Kafka) 時的潛在資料遺失。Oracle 資料庫不會追蹤這些資料類型在其日誌檔案中的變更，導致 DMS 將`NULL`值寫入串流目標。為了防止資料遺失，您可以在來源資料庫上實作 '`before`' 觸發，強制 Oracle 記錄這些變更。

## 驗證僅限 CDC 的任務已設定為使用`OpenTransactionWindow`端點設定
<a name="CHAP_Tasks.AssessmentReport.Oracle.open.tx.window"></a>

**API 金鑰：**`oracle-check-cdc-open-tx-window`

對於僅限 CDC 的任務，請使用 `OpenTransactionWindow` 來避免遺失資料。如需詳細資訊，請參閱[使用 建立持續複寫的任務 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html)。

## 驗證來源資料庫中至少存在一個選取的物件
<a name="CHAP_Tasks.AssessmentReport.Oracle.all.check.source.selection.rules"></a>

**API 金鑰：**`all-check-source-selection-rules`

此預遷移評估會驗證選取規則中指定的至少一個物件是否存在於來源資料庫中，包括萬用字元型規則的模式比對。

## 驗證目標外部金鑰限制已停用以進行遷移
<a name="CHAP_Tasks.AssessmentReport.Oracle.target.foreign.key.constraints.check"></a>

**API 金鑰：**`oracle-target-foreign-key-constraints-check`

此預遷移評估會偵測目標資料庫上可能導致遷移失敗的作用中外部金鑰限制條件 (ORA-02291)。

## 驗證 Oracle 資料庫和 AWS DMS 版本是否相容
<a name="CHAP_Tasks.AssessmentReport.Oracle.dms.compatibility.version.check"></a>

**API 金鑰：**`oracle-dms-compatibility-version-check`

此預遷移評估會偵測您的 Oracle 資料庫版本是否與您的 AWS DMS 版本不相容。由於不支援的 Oracle Redo 相容性設定，此不相符可能會導致任務失敗。

## 驗證來源資料庫中是否存在次要限制條件和索引 （非主要）
<a name="CHAP_Tasks.AssessmentReport.Oracle.all.check.secondary.constraints"></a>

**API 金鑰：**`all-check-secondary-constraints`

此預遷移評估會驗證來源資料庫中是否存在次要限制條件和索引 （外部索引鍵、檢查限制條件、非叢集索引）。

## 驗證工作階段逾時設定 (`IDLE_TIME`) 已設定為 `UNLIMITED`
<a name="CHAP_Tasks.AssessmentReport.Oracle.check.idle.time"></a>

**API 金鑰：**`oracle-check-idle-time`

此預遷移評估會驗證`UNLIMITED` AWS DMS 使用者的 Oracle 資料庫`IDLE_TIME`參數是否設定為 。有限的工作階段逾時可能會因為連線逾時而導致遷移任務失敗。

## 驗證 AWS DMS 使用者是否具有來源資料庫的所有必要許可
<a name="CHAP_Tasks.AssessmentReport.Oracle.validate.permissions.on.source"></a>

**API 金鑰：**`oracle-validate-permissions-on-source`

此預遷移評估會驗證 AWS DMS 使用者是否已設定來源資料庫的所有必要許可。

## 使用 Oracle LogMiner 時，驗證 `XMLTYPE`或 LOB 資料欄是否存在
<a name="CHAP_Tasks.AssessmentReport.Oracle.update.lob.columns"></a>

**API 金鑰：**`oracle-update-lob-columns`

當使用 Oracle LogMiner 時，此預遷移評估會警告來源資料庫中存在 `XMLTYPE`或 LOB 資料欄。

## 驗證目標端點不是僅供讀取複本
<a name="CHAP_Tasks.AssessmentReport.Oracle.read.replica"></a>

**API 金鑰：**`all-check-target-read-replica`

此預遷移評估會驗證目標端點未設定為僅供讀取複本。 AWS DMS 需要對目標資料庫的寫入存取權，且無法複寫至唯讀複本。

## 使用直接路徑載入時，驗證 Oracle 目標沒有 CONTEXT 索引
<a name="CHAP_Tasks.AssessmentReport.Oracle.directpath.index"></a>

**API 金鑰：**`oracle-check-direct-path-context-indexes`

此預遷移評估會驗證目標 Oracle 資料表是否包含 CONTEXT 索引。在完全載入模式下使用直接路徑時 AWS DMS ， 不支援 CONTEXT 索引。若要避免失敗，請在載入之前停用直接路徑完全載入模式或移除 CONTEXT 索引。

如需詳細資訊，請參閱[使用 Oracle 做為 來源的限制 AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Limitations)。

## 驗證`FailTasksOnLobTruncation`在現有 LOB 資料欄使用有限 LOB 模式時啟用
<a name="CHAP_Tasks.AssessmentReport.Oracle.FailTasksOnLobTruncation"></a>

**API 金鑰：**`oracle-pg-lobs-with-failtasksonlobtruncation`

此預遷移評估會在選取的資料表中存在 LOB 資料欄並指定有限的 LOB 模式時，驗證`FailTasksOnLobTruncation`額外的連線屬性是否設為 true。如果在遷移期間截斷任何 LOB 資料，以防止無提示資料遺失，此設定會失敗任務。

如需詳細資訊，請參閱[使用 Oracle 做為 來源時的端點設定 AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.ConnectionAttrib)。

## 驗證`EnableHomogenousPartitionOps`端點設定是否已啟用
<a name="CHAP_Tasks.AssessmentReport.Oracle.Homogenous.partition"></a>

**API 金鑰：**`oracle-homogenous-partition-ops`

此預遷移評估會驗證是否為 Oracle 同質遷移啟用`EnableHomogenousPartitionOps`端點設定。需要此設定 AWS DMS 才能複寫 Oracle 分割區和子分割區 DDL 操作。

如需詳細資訊，請參閱[使用 Oracle 做為 來源的限制 AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Limitations)。