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
| Parameter | Required | Description |
|---|---|---|
ds_type | Yes | Must be "oracle" |
auth_mode | Yes | Must be "classic" |
username | Yes | Oracle username |
password | Yes | Oracle password |
server | Yes | Hostname or IP address |
port | Yes | Port number (default: 1521) |
database | Yes | Service name or SID |
lib_dir | No | Oracle 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_dirparameter.
Thick Mode:
- Required for Oracle 11.2 and earlier.
- Requires Oracle Instant Client installed locally.
- Set
lib_dirto 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
- Database Connections Overview -- Auth file format and security best practices