Skip to main content
Version: 0.7 (Latest)

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" (the only mode supported for Oracle)
usernameYesOracle username
passwordYesOracle password
serverYesHostname or IP address
portYesPort number, as a JSON integer (usually 1521)
databaseYesService name (connections use service_name; SIDs are not supported)
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": "migrator",
"password": "********",
"server": "oracle-prod.company.com",
"port": 1521,
"database": "PRODPDB"
}
}
}

Example: Thick Mode​

{
"oracle_legacy": {
"ds_type": "oracle",
"auth_mode": "classic",
"info": {
"username": "migrator",
"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 (MigratorXpress connects with host:port/service_name, so TNS aliases from tnsnames.ora are not used). 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.