Oracle DBA study materials
Oracle DBA study resources

Oracle DBA: Moving Data

Oracle DBA · Work through your exam, one topic at a time.

All guide sections

Moving Data

Data Pump

Data Pump (expdp/impdp) runs on the server: the job executes inside the database and writes its dump file to a server-side DIRECTORY object, so the user needs READ/WRITE on that directory and the path must exist on the server. Key options: SCHEMAS, TABLES, CONTENT=METADATA_ONLY|DATA_ONLY, INCLUDE/EXCLUDE, REMAP_SCHEMA, REMAP_TABLESPACE, PARALLEL, ESTIMATE, FLASHBACK_SCN/FLASHBACK_TIME for consistency, SQLFILE to emit DDL, and NETWORK_LINK to copy directly between databases with no dump file at all.

SQL*Loader and external tables

SQL*Loader reads a control file describing the data and produces bad and discard files. Conventional path uses SQL, so triggers fire and constraints and indexes are maintained. Direct path writes formatted blocks above the high-water mark, bypassing SQL: much faster, but triggers do not fire, and indexes are left unusable unless the data is pre-sorted.

External tables (ORACLE_LOADER driver) expose a flat file as a read-only table you can query and join; ORACLE_DATAPUMP lets you unload to a file.

Transportable tablespaces

Copy the datafiles plus exported metadata (TRANSPORT_TABLESPACES=...), with the tablespaces read-only and self-contained. Across platforms, check endianness and use RMAN CONVERT when needed.

Traps: re-running an export into an existing dump file fails unless REUSE_DUMPFILES; the same object cannot appear in both INCLUDE and EXCLUDE; SQL*Loader direct path will not fire triggers.

Rule of thumb: same database or platform → Data Pump; huge flat-file load → SQL*Loader direct path; cross-platform move of an entire tablespace → transportable tablespaces.