Datapump and Oracle 12c PDB

In Oracle 12c with a PDB, a new directory has to be created in order for the Datapump script generated by Dbvisit Replicate to run successfully. 

The reason is the default Data Pump directory object, DATA_PUMP_DIR, does not work with 12c PDBs. See http://docs.oracle.com/cd/E16655_01/server.121/e17639/dp_overview.htm#BABFJBFC

The following error maybe received when running the generated Datapump script if the correct directory does not exist:

Connected to: Oracle Database 12c Release 12.1.0.1.0 - 64bit Production
ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-39087: directory name PDBORA121_DATA_PUMP_DIR is invalid

Naming convention 

The default naming convention that Dbvisit Replicate uses for the directory will be $TNS_DATA_PUMP_DIR for the APPLY or target database. 

Creating the Directory

In order to run the Datapump script, create the directory manually in Oracle on the target database and server. 

Example:

sqlplus / as sysdba
alter session set container=PDBORA121;  
 
create directory PDBORA121_DATA_PUMP_DIR as '/u01/app/oracle/admin/ora121/dpdump/';  
  
grant read,write on directory PDBORA121_DATA_PUMP_DIR to system;

In this example our PDB is called "PDBORA121", The TNS names is "PDBORA121"

Ensure "/u01/app/oracle/admin/ora121/dpdump/" is created and has the correct permissions on the target (APPLY) server.