12 May,2023 by Rambler
Question: Quite often , after completing an AWS Database Migration Service (DMS )database migration task - I discover columns or tables missing from the target database. There can be many reasons. One of the typical reasons could be that there are data types which are not supported by DMS outright or data types whoich are only partially supported and require a change in the data type.
Is there a method within the DMS allowing a review of columns or data types BEFORE the conversion & migration process ?
Answer: The premigration checkout is a critical steps in assessing the complexity of a potential migration. Particuarly if it is replatforming of database engines such as SQL Server to PostgreSQL - where there can be incompatibilities causing data integrity and application consistency issues.
DMS offers a premigration assessment process - covering :
- Unsupported data types
- Source table with LOBs but without primary keys or unique constraints
- Large objects (LOBs) are used but target LOB columns are not nullable
You can either use the AWS CLI or the Interface to create these reports .
Enabling and working with premigration assessments for a task
I won't go into how to set these premigration assessments as AWS has excellent documentation . But these are some notes to consider
1) As part of the setup you have a number of report options. I usually select all 3 listed above , as all of these options can cause considerable issues. There is also the option to go back to the application owner to review some of there columns & data types
2)The report is stored in an s3 bucket . The IAM role used to interact with the s3 bucket will need permissions
3) When the Premigration assessment completes - separate json files are available in the s3 bucket. You can download the json files and read the reports in a json cpompatible viewer.
The output is useful - and offers enough information investigate further
Sample example 1 : here is an example of the summary report output
{
}
Sample output 2 : unsupported-data-types-in-source
{
This is only a preview. Your comment has not yet been posted.
As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.
Having trouble reading this image? View an alternate.
Posted by: |