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.