Using SQL Developer’s Data Pump Wizards to Move Schemas Between Environments
Learn when to use SQL Developer’s Data Pump export/import wizards versus the Database Export tool, see a step‑by‑step example of refreshing a dev schema from prod, and understand the key limitations and verification steps.
16 Sept 2026, 16:59 UTC

The problem: refreshing a development schema from production
Developers often need a recent copy of production data in a development or test environment to reproduce bugs, validate changes, or run performance tests. Doing this manually with SQL scripts is error‑prone and does not scale for large schemas. You need a repeatable, reliable method that works for big objects, supports parallelism, and can be scheduled or later automated.
Thesis: use SQL Developer’s Data Pump wizards for large, repeatable moves; reserve Database Export for small, human‑readable artifacts
SQL Developer provides two graphical ways to move data:
- Data Pump export/import wizards (found under the DBA view) call Oracle’s expdp/impdp utilities, creating binary dump files on the database server. They support schema filters, REMAP_* options, parallelism, network links, and restartable jobs.
- Tools → Database Export generates DDL plus data as SQL INSERT statements, CSV, loader files, etc. It is simple and produces text that can be version‑controlled, but it writes row‑by‑row and becomes impractical for large tables.
Choose Data Pump when you need speed, scalability, or repeatable automation. Use Database Export only for small reference tables or when you need a readable file for inspection or source control.
Prerequisites that often trip people up
Before launching the wizards, ensure the following are in place:
- DIRECTORY object pointing to a server‑side filesystem location that the Oracle instance can read and write. Example (run as a privileged user in SQL*Plus or the SQL Developer worksheet):
CREATE DIRECTORY dpump_dir AS '/u01/app/oracle/dumpdir'; GRANT READ, WRITE ON DIRECTORY dpump_dir TO ;
Replace/u01/app/oracle/dumpdirwith an actual OS path andwith the user that will run the export/import. - Privileges: To export another user’s schema you need
DATAPUMP_EXP_FULL_DATABASE; to import into another schema you needDATAPUMP_IMP_FULL_DATABASE. If you are working within your own schema, the defaultEXP_FULL_DATABASE/IMP_FULL_DATABASEroles are sufficient. - Version compatibility: The export version must be equal to or lower than the target database version, or you must specify a compatible
VERSIONparameter at export time.
If any of these are missing, the wizards will finish with errors such as ORA‑39002 (invalid directory) or ORA‑39087 (insufficient privileges).
Worked example: refresh a development schema from production
Assume:
- Source (production) schema:
PROD_SCHEMA - Target (development) schema:
DEV_SCHEMA - Target tablespace for data:
DEV_DATA - Directory object:
DPUMP_DIR(already created and granted)
Step 1 – Export
- In SQL Developer, open the DBA view for your production connection.
- Expand Data Pump → Export Jobs and click the Create Export Job icon.
- In the wizard:
- Job name:
PROD_TO_DEV_EXPORT - Dump file set: enter a file name like
prod_dev.dmp(the wizard will append a .dmp extension). - Directory: select
DPUMP_DIR. - Schema filter: move the slider to Schemas and add
PROD_SCHEMA. - Optional: set Parallelism to 2 or more if your server has multiple CPUs.
- Click Next → Finish to submit the job.
- Job name:
- Monitor progress under Data Pump → Export Jobs. When the status shows Completed, note the job log for any ORA‑ errors.
Step 2 – Import with remapping
- Switch to your development connection in SQL Developer.
- In the DBA view, expand Data Pump → Import Jobs and click Create Import Job.
- Wizard settings:
- Job name:
PROD_TO_DEV_IMPORT - Dump file set: select the same
prod_dev.dmpfile. - Directory:
DPUMP_DIR. - Schema mapping: under Advanced Options add a REMAP_SCHEMA entry: source
PROD_SCHEMA→ targetDEV_SCHEMA. - Tablespace mapping: add a REMAP_TABLESPACE entry: source tablespace (as exported) →
DEV_DATA. - Optional: enable Table Exists Action =
TRUNCATEif you want to reload data without dropping objects. - Click Next → Finish.
- Job name:
- Watch the import job; when it finishes, verify success in the job log.
Verification and limitations
To confirm the move worked:
- Run a quick object count comparison (run as
DEV_SCHEMAor a privileged user):SELECT object_type, COUNT(*) FROM dba_objects WHERE owner = 'DEV_SCHEMA' GROUP BY object_type;
Compare the output to the same query run onPROD_SCHEMAbefore export. Numbers should match (except for any objects you excluded). - Check that the dump file physically exists in the OS directory pointed to by
DPUMP_DIR. You can list it with an OS command:ls -l /u01/app/oracle/dumpdir/prod_dev.dmp. - Review the Data Pump job log in SQL Developer for any ORA‑ errors; a clean log ends with "Job "SYS_EXPORT_SCHEMA_01" successfully completed".
Limitations to keep in mind:
- Data Pump writes files on the database server, not on your laptop. If you expect a local copy, you must copy the dump file yourself (scp, ftp, etc.) after export.
- If the target database is older than the source, you must set the
VERSIONparameter at export time (e.g.,VERSION=12.2) to avoid ORA‑39002 errors. - The wizard layout and menu names can shift between SQL Developer releases; rely on the conceptual steps rather than exact click paths.
- Data Pump does not mask or anonymize data. Exporting production data to development may raise compliance concerns; consider applying a masking step after import if required.
Actionable closing
Now you have a repeatable, GUI‑driven process for moving schemas between environments using SQL Developer’s Data Pump wizards. Try the small‑scale test outlined above: export a tiny schema, import it with REMAP_SCHEMA, and compare object counts. Once the steps feel comfortable, you can:
- Schedule the export/import jobs via the DBMS_SCHEDULER interface if you need nightly refreshes.
- Export the same commands from the job log and reuse them in SQLcl or a CI/CD pipeline for fully automated deployments.
- Reserve the Database Export wizard for those occasional one‑off tasks where a readable SQL file is more convenient than a binary dump.
By matching the tool to the size and frequency of your data movement, you’ll avoid common pitfalls and keep your development environments in sync with production.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.