Skip to main content

Oracle

Oracle is supported as a source database in MigratorXpress. It supports both thin and thick client modes and uses Rowid-based parallel transfers for large tables.

Connection Parameters

ParameterRequiredDescription
ds_typeYesMust be "oracle"
auth_modeYesMust be "classic"
usernameYesOracle username
passwordYesOracle password
serverYesHostname or IP address
portYesPort number (default: 1521)
databaseYesService name or SID
lib_dirNoOracle Instant Client directory (thick mode only)

Thin vs Thick Mode

Thin Mode (Recommended):

  • No Oracle client libraries required on the machine running MigratorXpress.
  • Requires Oracle 12.1 or later.
  • Omit the lib_dir parameter.

Thick Mode:

  • Required for Oracle 11.2 and earlier.
  • Requires Oracle Instant Client installed locally.
  • Set lib_dir to the Instant Client directory path.

Required Permissions

Grant SELECT_CATALOG_ROLE to enable parallel Rowid-based transfers and metadata discovery:

-- As Oracle DBA (e.g., sys as sysdba)
GRANT SELECT_CATALOG_ROLE TO your_username;

This role provides access to data dictionary views needed for Rowid range partitioning and transfer method selection.

Example: Thin Mode

{
"oracle_prod": {
"ds_type": "oracle",
"auth_mode": "classic",
"info": {
"username": "$env{ORACLE_USER}",
"password": "$env{ORACLE_PASSWORD}",
"server": "oracle-prod.company.com",
"port": 1521,
"database": "PRODPDB"
}
}
}

Example: Thick Mode

{
"oracle_legacy": {
"ds_type": "oracle",
"auth_mode": "classic",
"info": {
"username": "$env{ORACLE_USER}",
"password": "$env{ORACLE_PASSWORD}",
"server": "oracle-11g.company.com",
"port": 1521,
"database": "LEGACY",
"lib_dir": "/opt/oracle/instantclient_19_8"
}
}
}

Troubleshooting

ORA-12154: TNS could not resolve connect identifier: Verify the service name in the database field. Check tnsnames.ora if applicable. Try using the IP address instead of the hostname and confirm the Oracle listener is running (lsnrctl status).

ORA-28000: account is locked:

ALTER USER your_username ACCOUNT UNLOCK;

Thick mode library not found: Verify that the lib_dir path exists and contains the Instant Client shared libraries. Confirm Oracle Instant Client is installed and check file permissions. On Linux, you may also need to set LD_LIBRARY_PATH:

export LD_LIBRARY_PATH=/opt/oracle/instantclient_19_8:$LD_LIBRARY_PATH

See Also

Copyright © 2026 Architecture & Performance.