Examples & Use Cases
Real-world migration scenarios with complete command examples.
Oracle to PostgreSQL
Full Schema and Data Migration
Linux
MigratorXpress --auth /home/user/credentials.json \
--fasttransfer_dir_path /opt/FastTransfer_linux-x64_v0.12.4/ \
--fasttransfer_p=2 \
--source_db_auth_id ds_08_oracle \
--source_db_name orclpdb1 \
--source_schema_name TPCH_IN \
--target_db_auth_id ds_04_pg \
--target_db_name tpch \
--target_schema_name tpch_1_copy \
--migration_db_auth_id ds_02_ms \
--n_jobs 2 \
--task_list translate create transfer diff \
--drop_tables_if_exists true \
--migration_db_mode drop
Windows (PowerShell)
.\MigratorXpress.exe --auth C:\Users\user\credentials.json `
--fasttransfer_dir_path C:\FastTransfer_win-x64_v0.13.5\ `
--fasttransfer_p=2 `
--source_db_auth_id ds_08_oracle `
--source_db_name orclpdb1 `
--source_schema_name TPCH_IN `
--target_db_auth_id ds_04_pg `
--target_db_name tpch `
--target_schema_name tpch_1_copy `
--migration_db_auth_id ds_02_ms `
--n_jobs 2 `
--task_list translate create transfer diff `
--drop_tables_if_exists true `
--migration_db_mode drop
Use Case: Complete migration of an Oracle schema to PostgreSQL with data validation.
Oracle to SQL Server
Part 1: Schema and Data
Linux
MigratorXpress --auth /home/user/credentials.json \
--fasttransfer_dir_path /opt/FastTransfer_linux-x64_v0.13.5/ \
--fasttransfer_p=2 \
--source_db_auth_id ds_08_oracle \
--source_db_name orclpdb1 \
--source_schema_name TPCH_IN \
--target_db_auth_id ds_05_ms \
--target_db_name target_db \
--migration_db_auth_id ds_02_ms \
--n_jobs 2 \
--task_list translate create transfer diff \
--drop_tables_if_exists true
Windows (PowerShell)
.\MigratorXpress.exe --auth C:\Users\user\credentials.json `
--fasttransfer_dir_path C:\FastTransfer_win-x64_v0.12.4\ `
--fasttransfer_p=2 `
--source_db_auth_id ds_08_oracle `
--source_db_name orclpdb1 `
--source_schema_name TPCH_IN `
--target_db_auth_id ds_05_ms `
--target_db_name target_db `
--migration_db_auth_id ds_02_ms `
--n_jobs 2 `
--task_list translate create transfer diff `
--drop_tables_if_exists true
Part 2: Constraints
Linux
MigratorXpress --auth /home/user/credentials.json \
--fasttransfer_dir_path /opt/FastTransfer_linux-x64_v0.12.4/ \
--fasttransfer_p=2 \
--source_db_auth_id ds_08_oracle \
--source_db_name orclpdb1 \
--source_schema_name TPCH_IN \
--target_db_auth_id ds_05_ms \
--target_db_name target_db \
--migration_db_auth_id ds_02_ms \
--n_jobs 2 \
--task_list copy_pk copy_ak
Windows (PowerShell)
.\MigratorXpress.exe --auth C:\Users\user\credentials.json `
--fasttransfer_dir_path C:\FastTransfer_win-x64_v0.12.4\ `
--fasttransfer_p=2 `
--source_db_auth_id ds_08_oracle `
--source_db_name orclpdb1 `
--source_schema_name TPCH_IN `
--target_db_auth_id ds_05_ms `
--target_db_name target_db `
--migration_db_auth_id ds_02_ms `
--n_jobs 2 `
--task_list copy_pk copy_ak
Use Case: Two-phase migration for large Oracle databases to SQL Server, separating data transfer from constraint creation for better performance.
PostgreSQL to PostgreSQL
Database Cloning
Linux
MigratorXpress --auth /home/user/credentials.json \
--fasttransfer_dir_path /opt/FastTransfer_linux-x64_v0.12.4/ \
--fasttransfer_p=2 \
--source_db_auth_id ds_04_pg \
--source_db_name tpch \
--source_schema_name tpch_1 \
--target_db_auth_id ds_04_pg \
--target_db_name tpch \
--target_schema_name tpch_1_copy \
--migration_db_auth_id ds_02_ms \
--n_jobs 2 \
--task_list translate create transfer diff \
--drop_tables_if_exists true \
--migration_db_mode drop
Windows (PowerShell)
.\MigratorXpress.exe --auth C:\Users\user\credentials.json `
--fasttransfer_dir_path C:\FastTransfer_win-x64_v0.12.4\ `
--fasttransfer_p=2 `
--source_db_auth_id ds_04_pg `
--source_db_name tpch `
--source_schema_name tpch_1 `
--target_db_auth_id ds_04_pg `
--target_db_name tpch `
--target_schema_name tpch_1_copy `
--migration_db_auth_id ds_02_ms `
--n_jobs 2 `
--task_list translate create transfer diff `
--drop_tables_if_exists true `
--migration_db_mode drop
Use Case: Create a copy of a PostgreSQL schema within the same or different database for testing or development.
PostgreSQL to SQL Server
Cross-Platform Migration
Linux
MigratorXpress --auth /home/user/credentials.json \
--fasttransfer_dir_path /opt/FastTransfer_linux-x64_v0.12.4/ \
--fasttransfer_p=2 \
--source_db_auth_id ds_04_pg \
--source_db_name tpch \
--source_schema_name tpch_1 \
--target_db_auth_id ds_09_ms \
--target_db_name tpch \
--target_schema_name tpch1 \
--migration_db_auth_id ds_02_ms \
--n_jobs 2 \
--task_list translate create transfer diff \
--drop_tables_if_exists true \
--migration_db_mode drop
Windows (PowerShell)
.\MigratorXpress.exe --auth C:\Users\user\credentials.json `
--fasttransfer_dir_path C:\FastTransfer_win-x64_v0.12.4\ `
--fasttransfer_p=2 `
--source_db_auth_id ds_04_pg `
--source_db_name tpch `
--source_schema_name tpch_1 `
--target_db_auth_id ds_09_ms `
--target_db_name tpch `
--target_schema_name tpch1 `
--migration_db_auth_id ds_02_ms `
--n_jobs 2 `
--task_list translate create transfer diff `
--drop_tables_if_exists true `
--migration_db_mode drop
Use Case: Migrate PostgreSQL databases to SQL Server for consolidation or platform standardization.
SQL Server to PostgreSQL
Platform Migration
Linux
MigratorXpress --auth /home/user/credentials.json \
--fasttransfer_dir_path /opt/FastTransfer_linux-x64_v0.12.4/ \
--fasttransfer_p=2 \
--source_db_auth_id ds_09_ms \
--source_db_name tpch \
--source_schema_name tpch1 \
--target_db_auth_id ds_04_pg \
--target_db_name tpch \
--target_schema_name tpch_1_copy \
--migration_db_auth_id ds_02_ms \
--n_jobs 2 \
--task_list translate create transfer diff \
--drop_tables_if_exists true \
--migration_db_mode drop
Windows (PowerShell)
.\MigratorXpress.exe --auth C:\Users\user\credentials.json `
--fasttransfer_dir_path C:\FastTransfer_win-x64_v0.12.4\ `
--fasttransfer_p=2 `
--source_db_auth_id ds_09_ms `
--source_db_name tpch `
--source_schema_name tpch1 `
--target_db_auth_id ds_04_pg `
--target_db_name tpch `
--target_schema_name tpch_1_copy `
--migration_db_auth_id ds_02_ms `
--n_jobs 2 `
--task_list translate create transfer diff `
--drop_tables_if_exists true `
--migration_db_mode drop
Use Case: Move from SQL Server to PostgreSQL for cost savings or open-source adoption.
Netezza to PostgreSQL
Data Warehouse Migration
Linux
MigratorXpress --auth /home/user/credentials.json \
--fasttransfer_dir_path /opt/FastTransfer_linux-x64_v0.12.4/ \
--fasttransfer_p=4 \
--source_db_auth_id ds_07_netezza \
--source_db_name system \
--source_schema_name warehouse \
--target_db_auth_id ds_04_pg \
--target_db_name analytics \
--target_schema_name warehouse_pg \
--migration_db_auth_id ds_02_ms \
--n_jobs 4 \
--task_list translate create transfer diff \
--drop_tables_if_exists true \
--migration_db_mode drop
Windows (PowerShell)
.\MigratorXpress.exe --auth C:\Users\user\credentials.json `
--fasttransfer_dir_path C:\FastTransfer_win-x64_v0.12.4\ `
--fasttransfer_p=4 `
--source_db_auth_id ds_07_netezza `
--source_db_name system `
--source_schema_name warehouse `
--target_db_auth_id ds_04_pg `
--target_db_name analytics `
--target_schema_name warehouse_pg `
--migration_db_auth_id ds_02_ms `
--n_jobs 4 `
--task_list translate create transfer diff `
--drop_tables_if_exists true `
--migration_db_mode drop
Use Case: Migrate Netezza data warehouse to PostgreSQL for modernization and cost optimization.
Netezza to SQL Server
Analytics Platform Migration
Linux
MigratorXpress --auth /home/user/credentials.json \
--fasttransfer_dir_path /opt/FastTransfer_linux-x64_v0.12.4/ \
--fasttransfer_p=4 \
--source_db_auth_id ds_07_netezza \
--source_db_name system \
--source_schema_name analytics \
--target_db_auth_id ds_05_ms \
--target_db_name data_warehouse \
--target_schema_name analytics_sql \
--migration_db_auth_id ds_02_ms \
--n_jobs 4 \
--task_list translate create transfer diff \
--drop_tables_if_exists true \
--migration_db_mode drop
Windows (PowerShell)
.\MigratorXpress.exe --auth C:\Users\user\credentials.json `
--fasttransfer_dir_path C:\FastTransfer_win-x64_v0.12.4\ `
--fasttransfer_p=4 `
--source_db_auth_id ds_07_netezza `
--source_db_name system `
--source_schema_name analytics `
--target_db_auth_id ds_05_ms `
--target_db_name data_warehouse `
--target_schema_name analytics_sql `
--migration_db_auth_id ds_02_ms `
--n_jobs 4 `
--task_list translate create transfer diff `
--drop_tables_if_exists true `
--migration_db_mode drop
Use Case: Move Netezza analytics workloads to SQL Server for integration with Microsoft ecosystem.
SQL Server to SQL Server
Instance Migration
Linux
MigratorXpress --auth /home/user/credentials.json \
--fasttransfer_dir_path /opt/FastTransfer_linux-x64_v0.13.5/ \
--fasttransfer_p=2 \
--source_db_auth_id ds_09_ms \
--source_db_name tpch \
--source_schema_name tpch1 \
--target_db_auth_id ds_05_ms \
--target_db_name target_db \
--target_schema_name tpch_1 \
--migration_db_auth_id ds_02_ms \
--n_jobs 2 \
--task_list translate create transfer diff \
--drop_tables_if_exists true \
--migration_db_mode drop
Windows (PowerShell)
.\MigratorXpress.exe --auth C:\Users\user\credentials.json `
--fasttransfer_dir_path C:\FastTransfer_win-x64_v0.13.5\ `
--fasttransfer_p=2 `
--source_db_auth_id ds_09_ms `
--source_db_name tpch `
--source_schema_name tpch1 `
--target_db_auth_id ds_05_ms `
--target_db_name target_db `
--target_schema_name tpch_1 `
--migration_db_auth_id ds_02_ms `
--n_jobs 2 `
--task_list translate create transfer diff `
--drop_tables_if_exists true `
--migration_db_mode drop
Use Case: Migrate between SQL Server instances for hardware upgrades or consolidation.
Advanced Scenarios
Incremental Data Sync
For ongoing synchronization after initial migration:
Linux
MigratorXpress --auth credentials.json \
--source_db_auth_id source_db \
--source_db_name prod \
--source_schema_name sales \
--target_db_auth_id target_db \
--target_db_name staging \
--target_schema_name sales_staging \
--migration_db_auth_id migration_db \
--task_list transfer diff \
--migration_db_mode preserve
Windows (PowerShell)
.\MigratorXpress.exe --auth credentials.json `
--source_db_auth_id source_db `
--source_db_name prod `
--source_schema_name sales `
--target_db_auth_id target_db `
--target_db_name staging `
--target_schema_name sales_staging `
--migration_db_auth_id migration_db `
--task_list transfer diff `
--migration_db_mode preserve
Schema-Only Migration
For setting up empty database structures (Oracle to SQL Server only):
Linux
MigratorXpress --auth credentials.json \
--source_db_auth_id source_db \
--source_db_name prod \
--source_schema_name app_schema \
--target_db_auth_id target_db \
--target_db_name dev \
--migration_db_auth_id migration_db \
--task_list translate create copy_pk copy_ak copy_fk
Windows (PowerShell)
.\MigratorXpress.exe --auth credentials.json `
--source_db_auth_id source_db `
--source_db_name prod `
--source_schema_name app_schema `
--target_db_auth_id target_db `
--target_db_name dev `
--migration_db_auth_id migration_db `
--task_list translate create copy_pk copy_ak copy_fk
Note: Constraint copying tasks (copy_pk, copy_ak, copy_fk) currently only support Oracle → SQL Server migrations. For other database combinations, create constraints manually after migration.
Parallel Large Table Migration
For databases with very large tables:
Linux
MigratorXpress --auth credentials.json \
--source_db_auth_id source_db \
--source_db_name warehouse \
--source_schema_name fact_tables \
--target_db_auth_id target_db \
--target_db_name warehouse_new \
--migration_db_auth_id migration_db \
--n_jobs 8 \
--fasttransfer_p=4 \
--fasttransfer_dir_path /opt/FastTransfer_linux-x64/ \
--task_list transfer diff
Windows (PowerShell)
.\MigratorXpress.exe --auth credentials.json `
--source_db_auth_id source_db `
--source_db_name warehouse `
--source_schema_name fact_tables `
--target_db_auth_id target_db `
--target_db_name warehouse_new `
--migration_db_auth_id migration_db `
--n_jobs 8 `
--fasttransfer_p=4 `
--fasttransfer_dir_path C:\FastTransfer_win-x64\ `
--task_list transfer diff
Multi-Schema Pattern Migration (v0.6.12+)
New in v0.6.12: Migrate multiple schemas matching a pattern in a single run.
Scenario 1: Multi-Tenant Application Schemas
Migrate all schemas for a multi-tenant application where each tenant has a schema named “TENANT_
Linux
MigratorXpress --auth credentials.json \
--source_db_auth_id source_oracle \
--source_db_name prod_db \
--source_schema_name "TENANT_%" \
--target_db_auth_id target_postgres \
--target_db_name tenant_db \
--migration_db_auth_id migration_db \
--fasttransfer_dir_path /opt/FastTransfer_linux-x64/ \
--n_jobs 4 \
--fasttransfer_p=2 \
--task_list translate create transfer diff
Windows (PowerShell)
.\MigratorXpress.exe --auth credentials.json `
--source_db_auth_id source_oracle `
--source_db_name prod_db `
--source_schema_name "TENANT_%" `
--target_db_auth_id target_postgres `
--target_db_name tenant_db `
--migration_db_auth_id migration_db `
--fasttransfer_dir_path C:\FastTransfer_win-x64\ `
--n_jobs 4 `
--fasttransfer_p=2 `
--task_list translate create transfer diff
Result: All schemas matching pattern (TENANT_ACME, TENANT_WIDGETS, TENANT_GLOBAL, etc.) are migrated in a single run.
Scenario 2: Environment-Based Schema Migration
Migrate all development, staging, or production schemas containing a specific keyword.
Linux
MigratorXpress --auth credentials.json \
--source_db_auth_id source_db \
--source_db_name warehouse \
--source_schema_name "%_PROD%" \
--target_db_auth_id target_db \
--target_db_name warehouse_new \
--migration_db_auth_id migration_db \
--fasttransfer_dir_path /opt/FastTransfer_linux-x64/ \
--n_jobs 8 \
--task_list translate create transfer diff
Windows (PowerShell)
.\MigratorXpress.exe --auth credentials.json `
--source_db_auth_id source_db `
--source_db_name warehouse `
--source_schema_name "%_PROD%" `
--target_db_auth_id target_db `
--target_db_name warehouse_new `
--migration_db_auth_id migration_db `
--fasttransfer_dir_path C:\FastTransfer_win-x64\ `
--n_jobs 8 `
--task_list translate create transfer diff
Result: Migrates all production schemas (SALES_PROD, INVENTORY_PROD, ANALYTICS_PROD, etc.).
Scenario 3: Year-Based Historical Schema Migration
Migrate historical data organized by year in separate schemas.
Linux
MigratorXpress --auth credentials.json \
--source_db_auth_id source_db \
--source_db_name archive \
--source_schema_name "DATA_2024%" \
--target_db_auth_id target_db \
--target_db_name archive_new \
--migration_db_auth_id migration_db \
--fasttransfer_dir_path /opt/FastTransfer_linux-x64/ \
--n_jobs 6 \
--task_list translate create transfer diff
Windows (PowerShell)
.\MigratorXpress.exe --auth credentials.json `
--source_db_auth_id source_db `
--source_db_name archive `
--source_schema_name "DATA_2024%" `
--target_db_auth_id target_db `
--target_db_name archive_new `
--migration_db_auth_id migration_db `
--fasttransfer_dir_path C:\FastTransfer_win-x64\ `
--n_jobs 6 `
--task_list translate create transfer diff
Result: Migrates all 2024 schemas (DATA_2024_Q1, DATA_2024_Q2, DATA_2024_Q3, DATA_2024_Q4).
Scenario 4: Multiple Pattern Migration
Migrate multiple schema patterns in a single run.
Linux
MigratorXpress --auth credentials.json \
--source_db_auth_id source_db \
--source_db_name company_db \
--source_schema_name "APP_%, TENANT_%" \
--target_db_auth_id target_db \
--target_db_name company_new \
--migration_db_auth_id migration_db \
--fasttransfer_dir_path /opt/FastTransfer_linux-x64/ \
--n_jobs 4 \
--task_list translate create transfer diff
Windows (PowerShell)
.\MigratorXpress.exe --auth credentials.json `
--source_db_auth_id source_db `
--source_db_name company_db `
--source_schema_name "APP_%, TENANT_%" `
--target_db_auth_id target_db `
--target_db_name company_new `
--migration_db_auth_id migration_db `
--fasttransfer_dir_path C:\FastTransfer_win-x64\ `
--n_jobs 4 `
--task_list translate create transfer diff
Result: Migrates schemas matching APP_* OR TENANT_* patterns.
Best Practices for Multi-Schema Migrations:
- Use appropriate
--n_jobsvalue based on system resources and number of matching schemas - Test pattern matching first with a single schema to verify correct behavior
- Monitor migration logs for per-schema progress
- Target database automatically creates missing schemas
- Each schema migration is tracked independently in migration database
- All matched schemas share a single
run_idfor unified tracking
Best Practices by Scenario
Development Environment Setup
- Use
--drop_tables_if_exists truefor clean migrations - Include all constraint copy tasks for complete schema
Production Migrations
- Always run
difftask to validate data integrity - Use higher
--n_jobsand--fasttransfer_pvalues - Keep migration database data (
--migration_db_mode preserve) for restart capability
Continuous Sync
- Run only
transfer difftasks - Maintain migration tracking data
- Schedule regular sync windows