Oracle assessments
This section describes individual premigration assessments for migration tasks that use an Oracle source endpoint.
Note
To use the premigration assessments in this section, you must add the following permissions to dms_user
:
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;
For more information about permissions when using Oracle as a source, see User account privileges required on a self-managed Oracle source for AWS DMS.
Topics
- 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 columns
- Check supplemental logging on database level
- Validate if required DB link is created for Standby
- Oracle validation for LOB datatype and if binary reader is configured
- Validate if the database is CDB
- Check the Oracle Database Edition
- Validate Oracle CDC method for DMS
- Validate Oracle RAC configuration for DMS
- Validate if DMS user has permissions on target
- Validate if supplemental logging is required for all columns
- Validate if supplemental logging is enabled on tables with Primary or Unique keys
- Validate if there are SecureFile LOBs and the task is configured for Full LOB mode
- Validate 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 used
- Validate if Virtual Columns are used
- Validate 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 ASM
- Validate if the DMS user has permissions to use Binary Reader with Oracle non-ASM
- Validate if the DMS user has permissions to use Binary Reader with CopyToTempFolder method
- Validate if the DMS user has permissions to use Oracle Standby as a Source
- Validate 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 PDB
- Validate 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
API key: oracle-batch-apply-lob-mode
This premigration assessment validates whether tables in the DMS task includes LOB columns. If LOB columns are
included in the scope of the task, you must use BatchApplyEnabled
together with
limited LOB mode only.
For more information, see Target metadata task settings.
Validate if tables on the source has columns without scale specified for the Number data type
API key: oracle-number-columns-without-scale
This premigration assessment validates whether the DMS task includes columns of NUMBER data type without
scale specified. We recommend that you set the endpoint setting NumberDataTypeScale
to the value specified
in the assessment report.
For more information, see Endpoint settings when using Oracle as a source for AWS DMS.
Validate triggers on the target database
API key: oracle-target-triggers-are-enabled
This premigration assessment validates whether triggers are enabled on the target database. The assessment will fail if triggers are enabled. We recommend that you disable or remove the triggers during the migration.
For more information, see For more information, see DMS best practices.
Validate if source has archivelog DEST_ID
set to 0
API key: oracle-zero-archive-log-dest-id
This premigration assessment validates whether endpoint extra connection attribute
useZeroDestid=true
is set for source if archived log DEST_ID
is set to 0.
For more information, see
How to handle AWS DMS replication when used with Oracle database in fail-over scenarios
Validate if secondary indexes are enabled on the target database during full-load
API key: oracle-check-secondary-indexes
This premigration assessment validates whether secondary indexes are enabled during a full-load on the target database. We recommend that you disable or remove the secondary indexes during full-load.
For more information, Best practices for AWS Database Migration Service.
Validate if tables used in the DMS task scope with BatchApplyEnabled have more than 999 columns
API key: oracle-batch-apply-lob-999
Tables with batch optimized apply mode enabled can't have more than a total of 999 columns. Tables that have more than 999 columns will cause AWS DMS to process the batch one by one, which increases latency. DMS uses the formula 2 * columns_in_original_table + columns_in_primary_key <= 999 to calculate the total number of columns per table supported in batch-optimized apply mode.
For more information, see Limitations on Oracle as a target for AWS Database Migration Service.
Check supplemental logging on database level
API key: oracle-supplemental-db-level
This premigration assessment validates if minimum supplemental logging is enabled at the database level. You must enable supplemental logging to use an Oracle database as a source for migration.
To enable supplemental logging, use the following query:
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA
For more information, see Setting up supplemental logging.
This assessment is only valid for a full-load and CDC migration, or a CDC-only migration. This assessment is not valid for a full-load only migration.
Validate if required DB link is created for Standby
API key: oracle-validate-standby-dblink
This premigration assessment validates if Dblink is created for the Oracle standby database source. AWSDMS_DBLINK is a prerequisite for using a standby database as a source. When using Oracle Standby as a source, AWS DMS does not validate open transactions by default.
For more information, see Working with a self-managed Oracle database as a source for AWS DMS.
This assessment is only valid for a full-load and CDC migration, or a CDC-only migration. This assessment is not valid for a full-load only migration.
Oracle validation for LOB datatype and if binary reader is configured
API key: oracle-binary-lob-source-validation
This premigration assessment validates if Oracle LogMiner is used for an Oracle database endpoint version 12c or later. AWS DMS does not support Oracle LogMiner for migrations of LOB columns from Oracle databases version 12c. This assessment also checks for the presence of LOB columns and provides appropriate recommendations.
To configure your migration to not use Oracle LogMiner, add the following configuration to your source endpoint:
useLogMinerReader=N;useBfile=Y;
For more information, see Using Oracle LogMiner or AWS DMS Binary Reader for CDC.
This assessment is only valid for a full-load and CDC migration, or a CDC-only migration. This assessment is not valid for a full-load only migration.
Validate if the database is CDB
API key: oracle-validate-cdb
This premigration assessment validates if the database is a container database. AWS DMS doesn't support the multi-tenant container root database (CDB$ROOT).
Note
This assessment is only required for Oracle versions 12.1.0.1 or later. This assessment is not applicable for Oracle versions prior to 12.1.0.1.
For more information, see Limitations on using Oracle as a source for AWS DMS.
This assessment is only valid for a full-load and CDC migration, or a CDC-only migration. This assessment is not valid for a full-load only migration.
Check the Oracle Database Edition
API key: oracle-check-cdc-support-express-edition
This premigration assessment validates if the Oracle source database is Express Edition. AWS DMS doesn't support CDC for Oracle Express Edition (Oracle Database XE) version 18.0 and later.
This assessment is only valid for a full-load and CDC migration, or a CDC-only migration. This assessment is not valid for a full-load only migration.
Validate Oracle CDC method for DMS
API key: oracle-recommendation-cdc-method
This premigration assessment validates redo log generation for the last seven days, and makes a recommendation whether to use AWS DMS Binary Reader or Oracle LogMiner for CDC.
This assessment is only valid for a full-load and CDC migration, or a CDC-only migration. This assessment is not valid for a full-load only migration.
For more information about deciding which CDC method to use, see Using Oracle LogMiner or AWS DMS Binary Reader for CDC.
Validate Oracle RAC configuration for DMS
API key: oracle-check-rac
This premigration assessment validates if the oracle database is a Real Application Cluster. Real Application Cluster databases must be configured correctly. If the database is based on RAC, we recommend that you use AWS DMS Binary Reader for CDC rather than Oracle LogMiner.
This assessment is only valid for a full-load and CDC migration, or a CDC-only migration. This assessment is not valid for a full-load only migration.
For more information, see Using Oracle LogMiner or AWS DMS Binary Reader for CDC.
Validate if DMS user has permissions on target
API key: oracle-validate-permissions-on-target
This premigration assessment validates whether DMS users have all the required permissions on the target database.
Validate if supplemental logging is required for all columns
API key: oracle-validate-supplemental-logging-all-columns
This premigration assessment validates, for the tables mentioned in the task scope, whether supplemental logging has been added to all columns of tables without a primary or unique key. Without supplemental logging on all columns for a table lacking a primary or unique key, the before-and-after image of the data won't be available in the redo logs. DMS requires supplemental logging for tables without a primary or unique key to generate DML statements.
Validate if supplemental logging is enabled on tables with Primary or Unique keys
API key: oracle-validate-supplemental-logging-for-pk
This premigration assessment validates whether supplemental logging is enabled for tables with a primary
key or unique index and also checks if AddSupplementalLogging
is enabled at the endpoint level.
To ensure DMS can replicate changes, you can either manually add supplemental logging on the table level
based on the primary key or unique key or utilize the endpoint setting AddSupplementalLogging = true
with a DMS user having the ALTER permission on any replicated table.
Validate if there are SecureFile LOBs and the task is configured for Full LOB mode
API key: oracle-validate-securefile-lobs
This premigration assessment checks for the presence of SecureFile LOBs in tables within the task scope and verifies their LOB settings. It's important to note that SecureFile LOBs are currently supported only during FULL LOB mode. Consider assigning LOB tables to a separate task to enhance performance, as running tasks in full LOB mode may result in slower performance.
Validate whether Function-Based Indexes are being used within the tables included in the task scope.
API key: oracle-validate-function-based-indexes
This premigration assessment checks for function-based indexes on tables within the task scope. Note that AWS DMS doesn't support replicating function-based indexes. Consider creating the indexes after your migration on your target database.
Validate whether global temporary tables are being used on the tables included in the task scope.
API key: oracle-validate-global-temporary-tables
This premigration assessment checks whether global temporary tables are used within the task table-mapping scope. Note that AWS DMS doesn't support migrating or replicating global temporary tables.
Validate whether index-organized tables with an overflow segment are being used on the tables included in the task scope.
API key: oracle-validate-iot-overflow-segments
Validate whether index-organized tables with an overflow segment are being used on the tables included in the task scope. AWS DMS doesn't support CDC for index-organized tables with an overflow segment.
Validate if multilevel nesting tables are used on the tables included in the task scope.
API key: oracle-validate-more-than-one-nesting-table-level
This premigration assessment checks the nesting level of the nested table used on the task scope. AWS DMS supports only one level of table nesting.
Validate if invisible columns are used on the tables included in the task scope.
API key: oracle-validate-invisible-columns
This premigration assessment validates whether the tables used in the task scope have invisible columns. AWS DMS doesn't migrate data from invisible columns in your source database. To migrate the columns that are invisible, you need to modify them to be visible.
Validate if materialized views based on a ROWID column are used on the tables included in the task scope.
API key: oracle-validate-rowid-based-materialized-views
This premigration assessment validates whether the materialized views used in the migration are created based on the ROWID column. AWS DMS doesn't support the ROWID data type or materialized views based on a ROWID column.
Validate if Active Data Guard DML Redirect feature is used.
API key: oracle-validate-adg-redirect-dml
This premigration assessment validates whether the Active Data Guard DML Redirect feature is used. When using Oracle 19.0 as the source, AWS DMS doesn't support the Data Guard DML Redirect feature.
Validate if Hybrid Partitioned Tables are used.
API key: oracle-validate-hybrid-partitioned-tables
This premigration assessment validates whether hybrid partitioned tables are used for the tables defined in the task scope.
Validate if schema-only Oracle accounts are used
API key: oracle-validate-schema-only-accounts
This premigration assessment validates whether Schema-Only Accounts are found within the task scope.
Validate if Virtual Columns are used
API key: oracle-validate-virtual-columns
This premigration assessment validates whether the Oracle Instance has Virtual Columns in tables within the task scope.
Validate whether table names defined in the task scope contain apostrophes.
API key: oracle-validate-names-with-apostrophes
This premigration assessment validates whether the tables used in the task scope contain apostrophes. AWS DMS doesn't replicate tables with names containing apostrophes. If identified, consider renaming such tables. Alternatively, you could create a view or materialized view without apostrophes to load these tables.
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.
API key: oracle-validate-limited-lob-mode-for-longs
This premigration assessment validates whether the tables defined in the task scope have the
datatypes XMLType
, Long
, or Long Raw
, and checks if the task setting
is configured to use Limited Size LOB Mode. AWS DMS doesn't support replicating these datatypes using FULL LOB
mode. Consider changing the task setting to use Limited Size LOB mode upon identifying tables with such datatypes.
Validate whether the source Oracle version is supported by AWS DMS.
API key: oracle-validate-supported-versions-of-source
This premigration assessment validates if the source Oracle instance version is supported by AWS DMS.
Validate whether the target Oracle version is supported by AWS DMS.
API key: oracle-validate-supported-versions-of-target
This premigration assessment validates if the target Oracle instance version is supported by AWS DMS.
Validate whether the target Oracle version is supported by AWS DMS.
API key: oracle-validate-supported-versions-of-target
This premigration assessment validates if the target Oracle instance version is supported by AWS DMS.
Validate whether the DMS user has the required permissions to use data validation.
API key: oracle-prerequisites-privileges-of-validation-feature
This premigration assessment validates whether the DMS user has the necessary privileges to use DMS Data Validation. You can ignore enabling this validation if you do not intend to use data validation.
Validate if the DMS user has permissions to use Binary Reader with Oracle ASM
API key: oracle-prerequisites-privileges-of-binary-reader-asm
This premigration assessment validates whether the DMS user has the necessary privileges to use Binary Reader on the Oracle ASM instance. You can ignore enabling this assessment if your source is not an Oracle ASM instance or if you are not using Binary Reader for CDC.
Validate if the DMS user has permissions to use Binary Reader with Oracle non-ASM
API key: oracle-prerequisites-privileges-of-binary-reader-non-asm
This premigration assessment validates whether the DMS user has the necessary privileges to use Binary Reader on the Oracle non-ASM instance. This assessment is only valid if you have an Oracle non-ASM instance.
Validate if the DMS user has permissions to use Binary Reader with CopyToTempFolder method
API key: oracle-prerequisites-privileges-of-binary-reader-copy-to-temp-folder
This premigration assessment validates whether the DMS user has the necessary privileges to use the Binary Reader with the 'Copy to Temp Folder' method. This assessment is relevant only if you are planning to use CopyToTempFolder to read CDC changes while using the Binary Reader, and have an ASM instance connected to the source. You can ignore enabling this assessment if you don't intend to use the CopyToTempFolder feature.
We recommend not using the CopyToTempFolder feature because it is deprecated.
Validate if the DMS user has permissions to use Oracle Standby as a Source
API key: oracle-prerequisites-privileges-of-standby-as-source
This premigration assessment validates whether the DMS user has the necessary privileges to use a StandBy Oracle Instance as a source. You can ignore enabling this assessment if you don't intend to use a StandBy Oracle Instance as a source.
Validate if the DMS source is connected to an application container PDB
API key: oracle-check-app-pdb
This premigration assessment validates whether the DMS source is connected to an application container PDB. DMS doesn't support replication from an application container PDB.
Validate if the table has XML datatypes included in the task scope.
API key: oracle-check-xml-columns
This premigration assessment validates whether the tables used in the task scope have XML datatypes. It also checks if the task is configured for Limited LOB mode when the table contains an XML datatype. DMS only supports Limited LOB mode for migrating Oracle XML Columns.
Validate whether archivelog mode is enabled on the source database.
API key: oracle-check-archivelog-mode
This premigration assessment validates whether archivelog mode is enabled on the source database. Enabling archive log mode on the source database is necessary for DMS to replicate changes.
Validates the archivelog retention for RDS Oracle.
API key: oracle-check-archivelog-retention-rds
This premigration assessment validates whether archivelog retention on your RDS Oracle database is configured for at least 24 hours.
Validate if the table has Extended datatypes included in the task scope.
API key: oracle-check-extended-columns
This premigration assessment validates whether the tables used in the task scope have extended datatypes. Note that extended datatypes are supported only with DMS version 3.5 onwards.
Validate the length of the object name included in the task scope.
API key: oracle-check-object-30-bytes-limit
This premigration assessment validates whether the length of the object name exceeds 30 bytes. DMS doesn't support long object names (over 30 bytes).
Validate if the DMS source is connected to an Oracle PDB
API key: oracle-check-pdb-enabled
This premigration assessment validates whether the DMS source is connected to a PDB. DMS supports CDC only when using the Binary Reader with Oracle PDB as the source. The assessment also evaluates if the task is configured to use the binary reader when DMS is connected to Oracle PDB.
Validate if the table has spatial columns included in the task scope.
API key: oracle-check-spatial-columns
This premigration assessment validates whether the table has spatial columns included in the task scope. DMS supports Spatial datatypes only using Full LOB mode. The assessment also evaluates whether the task is configured to use Full LOB mode when DMS identifies spatial columns.
Validate if the DMS source is connected to an Oracle standby.
API key: oracle-check-standby-db
This premigration assessment validates whether the source is connected to an Oracle standby. DMS supports CDC only when using the binary reader with Oracle Standby as the source. The assessment also evaluates if the task is configured to use the binary reader when DMS is connected to Oracle Standby.
Validate if the source database tablespace is encrypted using TDE.
API key: oracle-check-tde-enabled
This premigration assessment validates whether the source has TDE Encryption enabled on the tablespace. DMS supports TDE only with encrypted tablespaces when using Oracle LogMiner for RDS Oracle.
Validate if the source database is Oracle ASM
API key: oracle-check-asm
This premigration assessment validates whether the source uses ASM. For improved performance
with ASM configuration, consider adding parallelASMReadThreads
and readAheadBlocks
to the source endpoint settings.