For heterogeneous Oracle migrations to AlloyDB for PostgreSQL, Database Migration Service requires that you first create and configure your AlloyDB for PostgreSQL destination cluster and primary database. Perform the following steps:
- Create your destination cluster and primary database. Make sure you
configure enough compute and memory resources to cover your migration needs
and follow the requirements listed in
known limitations.
We recommend that you create your destination cluster with settings specific to the destination networking method you want to use:
If you want to use... Then... Public IP destination connectivity, Create your destination cluster with public IP enabled for inbound connections. See Create an AlloyDB for PostgreSQL instance in the AlloyDB for PostgreSQL documentation. Private IP destination connectivity, Determine if you can use a PSC-enabled AlloyDB for PostgreSQL instance as your migration destination. Carefully consider functionality limitations for PSC-enabled instances. See Private Service Connect limitations in the AlloyDB for PostgreSQL documentation.
- For scenarios where you can use a PSC-enabled AlloyDB for PostgreSQL instance,
create your destination cluster with
Private Service Connect enabled. See
Create a PSC-enabled AlloyDB for PostgreSQL instance in the
AlloyDB for PostgreSQL documentation.
You don't have to create a Private Service Connect endpoint for your destination instance. Database Migration Service can automatically handle the endpoint creation in the background when you create the migration job.
- For scenarios where you can't use a PSC-enabled AlloyDB for PostgreSQL instance, create your destination cluster enabled with private services access. See Create an AlloyDB for PostgreSQL instance with private services access in the AlloyDB for PostgreSQL documentation.
- For scenarios where you can use a PSC-enabled AlloyDB for PostgreSQL instance,
create your destination cluster with
Private Service Connect enabled. See
Create a PSC-enabled AlloyDB for PostgreSQL instance in the
AlloyDB for PostgreSQL documentation.
- Create the following entities in your destination cluster:
- A database to migrate your data.
- A
dedicated migration user account.
This user account must have the same name as your destination database. For example, if you use Database Migration Service to migrate your data into a database called
myapp
, then the name of the dedicated migration user should also bemyapp
.
- Grant the required permissions to the dedicated migration user account.
Do the following:
-
Connect to your AlloyDB for PostgreSQL instance with the
psql
client. - Run the following commands on your destination database:
GRANT CREATE ON DATABASE DESTINATION_DB_NAME TO MIGRATION_USER_ACCOUNT_NAME; GRANT CREATE ON SCHEMA SCHEMA_NAME TO MIGRATION_USER_ACCOUNT_NAME; GRANT SELECT, INSERT, UPDATE, DELETE, TRUNCATE ON ALL TABLES IN SCHEMA SCHEMA_NAME TO MIGRATION_USER_ACCOUNT_NAME;
-
Optional: Grant your migration user the
CREATEDB
permission for the purposes of testing converted schema.At a later point in the migration, after you convert the source schema, you can use Database Migration Service to test whether converted schema can be applied to a PostgreSQL database. To perform the test, Database Migration Service creates a temporary database to avoid impacting your destination database. If you want to test your converted schema, grant your migration user the
CREATEDB
permission. Use the following command:ALTER USER MIGRATION_USER_ACCOUNT_NAME WITH CREATEDB;
- For source databases that contain foreign keys or triggers:
Skip replication for foreign keys and triggers by using the
REPLICATION
option with the dedicated migration user account. Run the following command:ALTER USER MIGRATION_USER_ACCOUNT_NAME WITH REPLICATION;
For more information about how Database Migration Service migrates foreign keys and triggers, see Considerations for foreign keys and triggers.
-
Connect to your AlloyDB for PostgreSQL instance with the
What's next?
Learn about destination database network connectivity. See Destination database networking methods.
Learn about migration jobs. See Create a migration job
To get a complete, step-by-step migration walkthrough, see Oracle to AlloyDB for PostgreSQL migration guide.