AWS Security ChangesHomeSearch

AWS dms documentation change

Service: dms · 2025-03-02 · Documentation low

File: dms/latest/userguide/CHAP_Tasks.AssessmentReport.Oracle.md

Summary

Added new validation checks and recommendations for Oracle database migration tasks, including batch apply settings, directory permissions, compression methods, and CDC recommendations.

Security assessment

The changes primarily focus on improving migration performance and compatibility checks. While some changes mention permissions and directory access, they are standard operational requirements rather than addressing specific security vulnerabilities or introducing new security features.

Diff

diff --git a/dms/latest/userguide/CHAP_Tasks.AssessmentReport.Oracle.md
index 5ff45dc9e..6605d22f8 100644
--- a/dms/latest/userguide/CHAP_Tasks.AssessmentReport.Oracle.md
+++ b/dms/latest/userguide/CHAP_Tasks.AssessmentReport.Oracle.md
@@ -5 +5 @@
-Validate that limited LOB mode only is used when BatchApplyEnabled is enabled Validate if tables on the source has columns without scale specified for the Number data type Validate triggers on the target database Validate if source has archivelog DEST_ID set to 0 Validate if secondary indexes are enabled on the target database during full-load Validate if tables used in the DMS task scope with BatchApplyEnabled have more than 999 columnsCheck supplemental logging on database levelValidate if required DB link is created for StandbyOracle validation for LOB datatype and if binary reader is configuredValidate if the database is CDBCheck the Oracle Database EditionValidate Oracle CDC method for DMSValidate Oracle RAC configuration for DMSValidate if DMS user has permissions on targetValidate if supplemental logging is required for all columnsValidate if supplemental logging is enabled on tables with Primary or Unique keysValidate if there are SecureFile LOBs and the task is configured for Full LOB modeValidate whether Function-Based Indexes are being used within the tables included in the task scope. Validate whether global temporary tables are being used on the tables included in the task scope. Validate whether index-organized tables with an overflow segment are being used on the tables included in the task scope.Validate if multilevel nesting tables are used on the tables included in the task scope. Validate if invisible columns are used on the tables included in the task scope.Validate if materialized views based on a ROWID column are used on the tables included in the task scope.Validate if Active Data Guard DML Redirect feature is used.Validate if Hybrid Partitioned Tables are used.Validate if schema-only Oracle accounts are usedValidate if Virtual Columns are usedValidate whether table names defined in the task scope contain apostrophes. Validate whether the columns defined in the task scope have XMLType, Long, or Long Raw datatypes and verify the LOB mode configuration in the task settings.Validate whether the source Oracle version is supported by AWS DMS.Validate whether the target Oracle version is supported by AWS DMS.Validate whether the target Oracle version is supported by AWS DMS. Validate whether the DMS user has the required permissions to use data validation.Validate if the DMS user has permissions to use Binary Reader with Oracle ASMValidate if the DMS user has permissions to use Binary Reader with Oracle non-ASMValidate if the DMS user has permissions to use Binary Reader with CopyToTempFolder methodValidate if the DMS user has permissions to use Oracle Standby as a SourceValidate if the DMS source is connected to an application container PDB Validate if the table has XML datatypes included in the task scope. Validate whether archivelog mode is enabled on the source database.Validates the archivelog retention for RDS Oracle. Validate if the table has Extended datatypes included in the task scope. Validate the length of the object name included in the task scope. Validate if the DMS source is connected to an Oracle PDBValidate if the table has spatial columns included in the task scope.Validate if the DMS source is connected to an Oracle standby.Validate if the source database tablespace is encrypted using TDE.Validate if the source database is Oracle ASM
+Validate that limited LOB mode only is used when BatchApplyEnabled is enabled Validate if tables on the source has columns without scale specified for the Number data type Validate triggers on the target database Validate if source has archivelog DEST_ID set to 0 Validate if secondary indexes are enabled on the target database during full-load Validate if tables used in the DMS task scope with BatchApplyEnabled have more than 999 columnsCheck supplemental logging on database levelValidate if required DB link is created for StandbyOracle validation for LOB datatype and if binary reader is configuredValidate if the database is CDBCheck the Oracle Database EditionValidate Oracle CDC method for DMSValidate Oracle RAC configuration for DMSValidate if DMS user has permissions on targetValidate if supplemental logging is required for all columnsValidate if supplemental logging is enabled on tables with Primary or Unique keysValidate if there are SecureFile LOBs and the task is configured for Full LOB modeValidate whether Function-Based Indexes are being used within the tables included in the task scope. Validate whether global temporary tables are being used on the tables included in the task scope. Validate whether index-organized tables with an overflow segment are being used on the tables included in the task scope.Validate if multilevel nesting tables are used on the tables included in the task scope. Validate if invisible columns are used on the tables included in the task scope.Validate if materialized views based on a ROWID column are used on the tables included in the task scope.Validate if Active Data Guard DML Redirect feature is used.Validate if Hybrid Partitioned Tables are used.Validate if schema-only Oracle accounts are usedValidate if Virtual Columns are usedValidate whether table names defined in the task scope contain apostrophes. Validate whether the columns defined in the task scope have XMLType, Long, or Long Raw datatypes and verify the LOB mode configuration in the task settings.Validate whether the source Oracle version is supported by AWS DMS.Validate whether the target Oracle version is supported by AWS DMS.Validate whether the target Oracle version is supported by AWS DMS. Validate whether the DMS user has the required permissions to use data validation.Validate if the DMS user has permissions to use Binary Reader with Oracle ASMValidate if the DMS user has permissions to use Binary Reader with Oracle non-ASMValidate if the DMS user has permissions to use Binary Reader with CopyToTempFolder methodValidate if the DMS user has permissions to use Oracle Standby as a SourceValidate if the DMS source is connected to an application container PDB Validate if the table has XML datatypes included in the task scope. Validate whether archivelog mode is enabled on the source database.Validates the archivelog retention for RDS Oracle. Validate if the table has Extended datatypes included in the task scope. Validate the length of the object name included in the task scope. Validate if the DMS source is connected to an Oracle PDBValidate if the table has spatial columns included in the task scope.Validate if the DMS source is connected to an Oracle standby.Validate if the source database tablespace is encrypted using TDE.Validate if the source database is Oracle ASMValidate if the batch apply is enabled and whether the table on the target Oracle database has parallelism enabled at the table or index level.Recommend “Bulk Array Size” parameter by validating the tables in the task scope.Validate if HandleCollationDiff task setting is ConfiguredValidate if table has primary key or unique index and its state is VALID when DMS validation is enabledValidate if Binary Reader is used for Oracle Standby as a sourceValidate if the AWS DMS user has the required directory permissions to replicate data from an Oracle RDS Standby database. Validate the type of Oracle Standby used for replicationValidate if required directories are created for RDS Oracle standbyValidate if Primary Key or Unique Index exists on target for Batch ApplyValidate if both Primary Key and Unique index exist on target for Batch ApplyValidate if unsupported HCC levels are used for Full LoadValidate if unsupported HCC levels are used for Full Load with CDCValidate if unsupported HCC compression used for CDCCDC Recommendation based on source compression methodCheck if batch apply is enabled and validate whether the table has more than 999 columns
@@ -81,0 +82,15 @@ For more information about permissions when using Oracle as a source, see [User
+  * Validate if the batch apply is enabled and whether the table on the target Oracle database has parallelism enabled at the table or index level.
+  * Recommend “Bulk Array Size” parameter by validating the tables in the task scope.
+  * Validate if HandleCollationDiff task setting is Configured
+  * Validate if table has primary key or unique index and its state is VALID when DMS validation is enabled
+  * Validate if Binary Reader is used for Oracle Standby as a source
+  * Validate if the AWS DMS user has the required directory permissions to replicate data from an Oracle RDS Standby database. 
+  * Validate the type of Oracle Standby used for replication
+  * Validate if required directories are created for RDS Oracle standby
+  * Validate if Primary Key or Unique Index exists on target for Batch Apply
+  * Validate if both Primary Key and Unique index exist on target for Batch Apply
+  * Validate if unsupported HCC levels are used for Full Load
+  * Validate if unsupported HCC levels are used for Full Load with CDC
+  * Validate if unsupported HCC compression used for CDC
+  * CDC Recommendation based on source compression method
+  * Check if batch apply is enabled and validate whether the table has more than 999 columns
@@ -426,0 +442,116 @@ This premigration assessment validates whether the source uses ASM. For improved
+## Validate if the batch apply is enabled and whether the table on the target Oracle database has parallelism enabled at the table or index level.
+
+**API key:** `oracle-check-degree-of-parallelism`
+
+AWS DMS validates that the table in the target database has any parallelism enabled. Having parallelism enabled on the target database causes the batch process to fail. Therefore, it is required to disable parallelism at the table or index level when using the batch apply feature.
+
+## Recommend “Bulk Array Size” parameter by validating the tables in the task scope.
+
+**API key:** `oracle-check-bulk-array-size`
+
+This assessment recommends setting the `BulkArraySize` ECA (Extra Connection Attribute) if there are no tables with LOB (Large Object) data types found within the task scope. Setting the `BulkArraySize` ECA can improve performance of the full load phase of the migration. You can set the bulk array size using the ECA on the Source/Target endpoint to get optimal performance during the full load phase of the migration.
+
+## Validate if HandleCollationDiff task setting is Configured
+
+**API key:** `oracle-check-handlecollationdiff`
+
+This assessment validates if DMS task is configured for validation and recommend `HandleCollationDiff` task setting to avoid any incorrect validation results while validating data between Oracle and PostgreSQL. 
+
+For more information, see [ Data validation task settings](./CHAP_Tasks.CustomizingTasks.TaskSettings.DataValidation.html).
+
+## Validate if table has primary key or unique index and its state is VALID when DMS validation is enabled
+
+**API key:** `oracle-check-pk-validity`
+
+Data validation requires that the table has a primary key or unique index on both source and target. 
+
+For more information, see [AWS DMS data validation](./CHAP_Validating.html).
+
+## Validate if Binary Reader is used for Oracle Standby as a source
+
+**API key:** `oracle-check-binary-reader`
+
+This assessment validates if the source database is a standby database and is using the Binary Reader for Change Data Capture (CDC). 
+
+For more information, see [Using an Oracle database as a source for AWS DMS](./CHAP_Source.Oracle.html).
+
+## Validate if the AWS DMS user has the required directory permissions to replicate data from an Oracle RDS Standby database. 
+
+**API key:** `oracle-check-directory-permissions`
+
+This assessment validates if the AWS DMS user has the required read privileges on the `ARCHIVELOG_DIR_%` and `ONLINELOG_DIR_%` directories when the source database is an Oracle RDS Standby. 
+
+For more information, see [Working with an AWS-managed Oracle database as a source for AWS DMS](./CHAP_Source.Oracle.html#CHAP_Source.Oracle.Amazon-Managed).
+
+## Validate the type of Oracle Standby used for replication
+
+**API key:** `oracle-check-physical-standby-with-apply`
+
+This assessment validates the type of Oracle standby database used for the AWS DMS replication. AWS DMS only supports Physical standby databases, which must be opened in Read Only mode with the redo logs being applied automatically. AWS DMS does not support Snapshot or Logical standby databases for replication. 
+
+For more information, see [Using a self-managed Oracle Standby as a source with Binary Reader for CDC in AWS DMS](./CHAP_Source.Oracle.html#CHAP_Source.Oracle.Self-Managed.BinaryStandby).
+
+## Validate if required directories are created for RDS Oracle standby
+
+**API key:** `oracle-check-rds-standby-directories`
+
+This assessment validates if the required oracle directories are created for archive logs and online logs on the RDS Standby instance.
+
+For more information, see [Using an Amazon RDS Oracle Standby (read replica) as a source with Binary Reader for CDC in AWS DMS](./CHAP_Source.Oracle.html#CHAP_Source.Oracle.Amazon-Managed.StandBy).
+
+## Validate if Primary Key or Unique Index exists on target for Batch Apply
+
+**API key:** `oracle-check-batch-apply-target-pk-ui-absence`
+
+Batch apply is only supported on tables with Primary Keys or Unique Indexes on the target table. Tables without Primary Keys or Unique Indexes causes the batch to fail, and changes are processed one by one. It is advisable to move such tables to their own tasks and utilize transactional apply mode instead. Alternatively, you can create a unique key on the target table.
+
+For more information, see [Using an Oracle database as a target for AWS Database Migration Service](./CHAP_Target.Oracle.html).
+
+## Validate if both Primary Key and Unique index exist on target for Batch Apply
+
+**API key:** `oracle-check-batch-apply-target-pk-ui-simultaneously`
+
+Batch apply is only supported on tables with Primary Keys or Unique Indexes on the target table. Tables with Primary Keys and Unique Indexes simultaneously causes the batch to fail, and changes are processed one by one. It is advisable to move such tables to their own tasks and utilize transactional apply mode instead. Alternatively, you can drop a unique key(s) or primary key on the target table and rebuild it if you are doing migration.
+
+For more information, see [Using an Oracle database as a target for AWS Database Migration Service](./CHAP_Target.Oracle.html).
+
+## Validate if unsupported HCC levels are used for Full Load
+
+**API key:** `oracle-check-binary-reader-hcc-full-load`
+
+The Oracle source endpoint is configured to use Binary Reader, the Query Low level of the HCC compression method is supported for full-load tasks only.
+
+For more information, see [Supported compression methods for using Oracle as a source for AWS DMS](./CHAP_Source.Oracle.html#CHAP_Source.Oracle.Compression).
+
+## Validate if unsupported HCC levels are used for Full Load with CDC
+
+**API key:** `oracle-check-binary-reader-hcc-full-load-and-cdc`
+
+The Oracle source endpoint is configured to use Binary Reader, HCC with Query low is supported for Full Load task only.
+
+[Supported compression methods for using Oracle as a source for AWS DMS](./CHAP_Source.Oracle.html#CHAP_Source.Oracle.Compression)
+
+## Validate if unsupported HCC compression used for CDC
+
+**API key:** `oracle-check-binary-reader-hcc-cdc`
+
+The Oracle source endpoint is configured to use Binary Reader. Binary Reader doesn't support Query low for tasks with CDC.
+
+For more information, see [Using Oracle LogMiner or AWS DMS Binary Reader for CDC](./CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC).
+
+## CDC Recommendation based on source compression method
+
+**API key:** `oracle-recommend-cdc-method-by-compression`
+
+Compressed objects are detected. Please navigate into the Result section of the specific assessment for further recommendation.
+
+For more information, see [Using Oracle LogMiner or AWS DMS Binary Reader for CDC](./CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC).
+
+## Check if batch apply is enabled and validate whether the table has more than 999 columns
+
+**API key:** `oracle-batch-apply-lob-999`
+
+DMS uses the `2 * columns_in_original_table + columns_in_primary_key` formula to determine the number of columns on customer table. Based on this formula, we have identified tables with more than 999 columns. This impacts the batch process, causing it to fail and switch to one-by-one mode.
+
+For more information, see [Limitations on Oracle as a target for AWS Database Migration Service](./CHAP_Target.Oracle.html#CHAP_Target.Oracle.Limitations).
+