AWS Database Migration Service
Step-by-Step Migration Guide (API Version 2016-01-01)


The following prerequisites are required to complete this walkthrough:

  • Understand Amazon Relational Database Service (Amazon RDS), the applicable database technologies, and SQL.

  • Create an AWS account with AWS Identity and Access Management (IAM) credentials that allows you to launch Amazon RDS and AWS Database Migration Service (AWS DMS) instances in your AWS Region. For information about IAM credentials, see Create an IAM User.

  • Understand the Amazon Virtual Private Cloud (Amazon VPC) service and security groups. For information about using Amazon VPC with Amazon RDS, see Amazon Virtual Private Cloud (VPCs) and Amazon RDS. For information about Amazon RDS security groups, see Amazon RDS Security Groups.

  • Understand the supported features and limitations of AWS DMS. For information about AWS DMS, see What Is AWS Database Migration Service?.

  • Understand the supported data type conversion options for Oracle and PostgreSQL. For information about data types for Oracle as a source, see Using an Oracle Database as a Source for AWS Database Migration Service. For information about data types for PostgreSQL as a target, see Using a PostgreSQL Database as a Target for AWS Database Migration Service.

  • Size your target PostgreSQL database host. DBAs should be aware of the load profile of the current source Oracle database host. Consider CPU, memory, and IOPS. With RDS, you can size up the target database host, or reduce it, after the migration. If this is the first time you are migrating to PostgreSQL, then we recommend that you have extra capacity to account for performance issues and tuning opportunities.

  • Audit your source Oracle database. For each schema and all the objects under each schema, determine if any of the objects are no longer being used. Deprecate these objects on the source Oracle database, because there's no need to migrate them if they are not being used.

  • If load capacity permits, then get the max size (kb) for each LOB type on the source database, and keep this information for later.

  • If possible, move columns with BLOB, CLOB, NCLOB, LONG, LONG RAW, and XMLTYPE to S3, Dynamo DB, or another data store. Doing so simplifies your source Oracle database for an easier migration. It will also lower the capacity requirements for the target PostgreSQL database.

For more information on AWS DMS, see the AWS DMS documentation.