Quick Start Guide
Get up and running with MigratorXpress in 5 minutes.
Prerequisites
- MigratorXpress Binary: Download the appropriate binary for your platform:
- Windows:
MigratorXpress.exe - Linux:
MigratorXpress
- Windows:
- Database Access: Ensure you have connection details for source and target databases
- FastTransfer: Required for data transfer tasks - download FastTransfer binaries for your platform:
- Windows:
FastTransfer_win-x64_vX.X.X - Linux:
FastTransfer_linux-x64_vX.X.X
- Windows:
Step 1: Create Credentials File
Create a JSON file with your database connection details:
{
"ds_oracle_01": {
"ds_type": "oracle",
"auth_mode": "classic",
"info": {
"username" : "oracle_01_user",
"password" : "oracle_01_pass",
"server" : "oracle_01-server.com",
"port" : 1521,
"database" : "oracle_01_db",
"lib_dir" : "C:\\Sources\\Oracle\\instantclient_19_25"
},
},
"ds_oracle_02": {
"ds_type": "oracle",
"auth_mode": "classic",
"info": {
"username" : "oracle_02_user",
"password" : "oracle_02_pass",
"server" : "oracle_02-server.com",
"port" : 1521,
"database" : "oracle_02_db",
},
},
"ds_netezza": {
"ds_type": "netezza",
"auth_mode": "classic",
"info": {
"username" : "nz_user",
"password" : "nz_pass",
"server" : "172.16.17.5",
"port" : 5480,
"database" : "nz_db"
}
},
"ds_postgres": {
"ds_type": "postgres",
"auth_mode": "classic",
"info": {
"username" : "pg_user",
"password" : "pg_pass",
"server" : "localhost",
"port" : 5432,
"database" : "pg_db"
}
},
"ds_ms_01": {
"ds_type": "mssql",
"auth_mode": "classic",
"info": {
"username" : "ms_01_user",
"password" : "ms_01_pass",
"server" : "toto.titi.tata.fr",
"port" : 1433,
"database" : "ms_01_db"
}
},
"ds_02_ms": {
"ds_type": "mssql",
"auth_mode": "classic",
"info": {
"username" : "ms_02_user",
"password" : "ms_02_pass*",
"server" : "localhost",
"port" : 1433,
"database" : "migratorxpress_log_db"
}
}
}
Save this as credentials.json in a secure location.
For Oracle databases, an optional entry is lib_dir for the client library directory path. This thick mode is only required for older versions of Oracle database (<=11.2). Later version support both thin and thick modes.
Step 2: Full Migration
Run a complete migration with schema and data:
Windows (PowerShell)
.\MigratorXpress.exe --auth credentials.json `
--source_db_auth_id source_oracle `
--source_db_name ORCL `
--source_schema_name HR `
--target_db_auth_id target_postgres `
--target_db_name hrdb `
--target_schema_name hr_migrated `
--migration_db_auth_id migration_tracker `
--fasttransfer_dir_path ./FastTransfer_win-x64_v0.12.4/ `
--n_jobs 4 `
--fasttransfer_p=2 `
--task_list translate create transfer diff `
--drop_tables_if_exists true
Linux
./MigratorXpress --auth credentials.json \
--source_db_auth_id source_oracle \
--source_db_name ORCL \
--source_schema_name HR \
--target_db_auth_id target_postgres \
--target_db_name hrdb \
--target_schema_name hr_migrated \
--migration_db_auth_id migration_tracker \
--fasttransfer_dir_path ./FastTransfer_linux-x64_v0.12.4/ \
--n_jobs 4 \
--fasttransfer_p=2 \
--task_list translate create transfer diff \
--drop_tables_if_exists true
Step 3: Add Constraints
After data migration, add constraints in a separate step:
Windows (PowerShell)
.\MigratorXpress.exe --auth credentials.json `
--source_db_auth_id source_oracle `
--source_db_name ORCL `
--source_schema_name HR `
--target_db_auth_id target_postgres `
--target_db_name hrdb `
--target_schema_name hr_migrated `
--migration_db_auth_id migration_tracker `
--task_list copy_pk copy_ak copy_fk
Linux
./MigratorXpress --auth credentials.json \
--source_db_auth_id source_oracle \
--source_db_name ORCL \
--source_schema_name HR \
--target_db_auth_id target_postgres \
--target_db_name hrdb \
--target_schema_name hr_migrated \
--migration_db_auth_id migration_tracker \
--task_list copy_pk copy_ak copy_fk
Advanced: Multi-Schema Migration (v0.6.12+)
New in v0.6.12: Migrate multiple schemas matching a pattern in a single run.
Windows (PowerShell)
.\MigratorXpress.exe --auth credentials.json `
--source_db_auth_id source_oracle `
--source_db_name ORCL `
--source_schema_name "APP_%" `
--target_db_auth_id target_postgres `
--target_db_name hrdb `
--migration_db_auth_id migration_tracker `
--fasttransfer_dir_path C:\FastTransfer_win-x64_v0.12.4\ `
--n_jobs 4 `
--fasttransfer_p=2 `
--task_list translate create transfer diff `
--drop_tables_if_exists true
Linux
./MigratorXpress --auth credentials.json \
--source_db_auth_id source_oracle \
--source_db_name ORCL \
--source_schema_name "APP_%" \
--target_db_auth_id target_postgres \
--target_db_name hrdb \
--migration_db_auth_id migration_tracker \
--fasttransfer_dir_path /opt/FastTransfer_linux-x64_v0.12.4/ \
--n_jobs 4 \
--fasttransfer_p=2 \
--task_list translate create transfer diff \
--drop_tables_if_exists true
This will migrate all schemas starting with “APP_” (e.g., APP_SALES, APP_HR, APP_INVENTORY) from Oracle to PostgreSQL, creating corresponding target schemas automatically.
Pattern Examples:
"APP_%"- All schemas starting with APP_"%PROD%"- All schemas containing PROD"DATA_2024%"- All 2024 data schemas"APP_%, TENANT_%"- Multiple patterns (comma-separated)
Next Steps
- Explore the full CLI reference
- Use the interactive command builder
- Check out real-world examples