How to Use Data Pump with Exadata Exascale Storage

Do you know that feeling when you get new toys?

A short while ago, in a server room far, far away …

… a brand-new, shiny Oracle Exadata Exascale was left unguarded, so I decided to try out a few things.

Here’s how to export to and import from Exadata Exascale storage.

Prerequisites

  1. I create a directory for the Data Pump dump files pointing to the Exascale vault:
    create directory dumpdir as '@MYVAULT1/CDB26/SALES/DUMPDIR';
    
    • MYVAULT1 is the name of my vault. Notice the @ sign, which denotes Exascale vaults, like + in ASM.
    • I can specify subdirectories (CDB26/SALES/DUMPDIR) to organize my files. However, there’s no concept of directories in Exascale, so these are really path prefixes.
    • Unlike a regular file system or ASM, I don’t have to create the matching file system directory.
  2. I create another directory for my Data Pump log files:
    create directory logdir as '/u02/app/oracle/admin/CDB26/SALES/logdir';
    
    • I can’t use the Exascale directory for log files.
    • Similar to ASM, I can’t store log files in Exascale.
  3. I create the matching file system directory for logdir:
    mkdir -p /u02/app/oracle/admin/CDB26/SALES/logdir
    
    • In Oracle RAC, I should place the directory in a cluster file system or ensure that the folder exists on all nodes.
  4. Finally, I create a user to perform the Data Pump jobs:
    create user dpuser identified by <password>;
    alter user dpuser default tablespace users;
    alter user dpuser quota unlimited on users;
    grant datapump_exp_full_database to dpuser; 
    grant datapump_imp_full_database to dpuser; 
    

Export

  • Here’s how to start an export:

    expdp dpuser/<password>@<connect-string> \
    	dumpfile=dumpdir:myexp%L.dmp \
    	logfile=logdir:myexp-export.log \
    	...
    
    • I write the dump file to my Exascale vault by specifying the database directory (dumpdir) and then the dump file name specification. I’m using the %L wildcard to allow Data Pump to create additional files.
    • Data Pump must write the log file to a real file system, so I use logdir which points to a local file system.
  • At the end of the export, Data Pump writes the names of my dump files:

    04-AUG-26 11:08:36.114: Dump file set for DPUSER.SYS_EXPORT_SCHEMA_01 is:
    04-AUG-26 11:08:36.114:   @MYVAULT1/CDB26/SALES/DUMPDIR/myexp01.dmp
    04-AUG-26 11:08:36.145: Job "DPUSER"."SYS_EXPORT_SCHEMA_01" successfully completed at Tue Aug 4 11:08:36 2026 elapsed 0 00:01:03
    

Import

  • Here’s how to start an import:
    impdp dpuser/<password>@<connect-string> \
    	dumpfile=dumpdir:myexp%L.dmp \
    	logfile=logdir:myexp-import.log \
    	...
    
    • I configure the dumpfile and logfile parameters the same way as in the export.
    • I can use the %L wildcard in the dump file specification for imports as well. Data Pump automatically finds the required dump files.

Pro Tips

Happy Data Pumping!