Architecture Note: Oracle SQL Developer Data Pump Export Wizard
Learn how SQL Developer's Data Pump Export relies on a server-side DIRECTORY object and Master Table, and what checks ensure reliable operation.
07 Mar 2026, 05:40 UTC

Architecture Note: SQL Developer Data Pump Export
When you start an export from the SQL Developer Data Pump Export wizard, the IDE does not move data through your workstation. It sends a request to the database to launch a server‑side Data Pump (expdp) job. Understanding this boundary is essential for permission setup, monitoring, and troubleshooting.
Requirements
- Database privileges: The user needs DATAPUMP_EXP_FULL_DATABASE or at least EXP_FULL_DATABASE role, or explicit EXPORT privileges on the objects being dumped.
- DIRECTORY object: A database DIRECTORY that maps to a filesystem path accessible by the Oracle OS user. The database user must have READ and WRITE on that DIRECTORY.
- Storage: Sufficient free space in the target directory and adequate tablespace/undo for the export operation.
Validate the DIRECTORY before opening the wizard:
-- Run in a SQL Worksheet with SELECT ANY DIRECTORY or DBA access SELECT directory_name, directory_path FROM all_directories WHERE directory_name = 'YOUR_DIR_NAME';
If the query returns no rows, create the DIRECTORY (requires DBA) and grant privileges:
CREATE OR REPLACE DIRECTORY YOUR_DIR_NAME AS '/u01/app/oracle/dump'; GRANT READ, WRITE ON DIRECTORY YOUR_DIR_NAME TO YOUR_SCHEMA;
Smallest Suitable Design
The Data Pump job creates a Master Table (a temporary table in the user’s schema) that tracks the job’s state. This decouples the export from the SQL Developer client session.
If the client loses network connectivity or the IDE crashes, the server‑side expdp process continues. You can later re‑attach to the job from the Data Pump Monitor tab in SQL Developer.
Trust and Data Boundaries
The only data crossing the trust boundary is the control command that starts the job. The actual data moves between the database server and the filesystem path represented by the DIRECTORY object. SQL Developer never sees the payload.
Operational Checks
After launching the export, verify progress independently of the IDE:
-- Requires SELECT on DBA_DATAPUMP_JOBS (DBA role or granted) SELECT job_name, operation, state, attached_sessions, cpu_used FROM dba_datapump_jobs WHERE owner_name = USER;
Look for a state of EXECUTING or COMPLETED. When the job finishes, check the log file:
-- Example log file name format: expdpYOUR_JOBNAME.log -- Verify its presence in the DIRECTORY path on the server OS.
On the database server OS, confirm the dump file size:
$ ls -lh /u01/app/oracle/dump/YOUR_JOBNAME.dmp
A non‑zero size indicates data was written.
Failure Modes and Design‑Change Conditions
- Network timeout between client and server: Does not stop the server‑side job, but you lose real‑time monitoring. Design remains valid; use the Data Pump Monitor to reconnect.
- I/O bottleneck: Large exports can saturate disk. Mitigation: increase the PARALLEL parameter in the wizard (requires adequate CPU and I/O capacity).
- Storage exhaustion: If the target directory fills, the job fails with ORA‑39002. The Master Table retains state, allowing you to free space and RESUME the job rather than restarting.
- Privilege revocation: If WRITE on the DIRECTORY is removed after job start, the job will fail. Ensure privileges are stable for the duration of the export.
- Plaintext exposure: Dump files are not encrypted by default. If data sensitivity requires protection, enable encryption in the wizard (ENCRYPTION_PASSWORD, ENCRYPTION_ALGORITHM). This changes the design by adding a cryptographic step server‑side.
Practical Verification Checklist
- Run the DIRECTORY query to confirm mapping and privileges.
- Start the export via the wizard, noting the job name.
- Query DBA_DATAPUMP_JOBS to see the job transition from NOT STARTED to EXECUTING.
- After completion, check state = COMPLETED.
- Inspect the log file for ORA‑ errors.
- Validate the .dmp file size on the server OS.
If any step fails, consult the alert log and the Data Pump Master Table (schema‑specific) for the error trace.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.