Friday, November 18, 2016

ORA-39087 - How to Create a DATA_PUMP directory on Oracle to import a DMP on custom DATA_PUMP Location.

When running an import a directory needs to be set in the impdp command as follows:

impdp schemas=MERCH directory=DATA_PUMP dumpfile=MERCH.DMP logfile=impdp_merch.log

If you send a directory that actaully exist on your system, Oracle still will complain about it.

impdp schemas=MERCH directory=/media/sf_shared dumpfile=MERCH.DMP logfile=impdp_merch.log

ORA-39087: directory name /MEDIA/SF_SHARED is invalid

As you can see oralce sees my directory on UPPER case, so I needed to make sure that /MEDIA/SF_SHARED existed on my system, so I created a symbolic link to make it work.

But the issue was still present:

ORA-39087: directory name /MEDIA/SF_SHARED is invalid

So, I found that 3 things need to happen:

1.- directory must exist on your system, and must have read and write privileges
2.- directory must exist with UPPER case since oralce impdp will require it like that
3.- Database needs to be aware of that directory so you need to create it as follows:

after the 3 conditions are met, you can do this:

impdp schemas=MERCH directory=DATA_PUMP_SHARED dumpfile=MERCH.DMP logfile=impdp_merch.log

And then the import will work without the ORA-39087 error, I hope this is helpful for you :D

UPDATE (2/16/2017):
I have learn that the directory that is needed into the impdp, needs to live in dba_directories table , with the reference to the path you are trying to set, so instead of doing upper case as described above just make sure you use the correct Directory_name

Special thanks to this guy:

Error Importing DMP on Oracle XE 11.2

I was trying to run a simple import of dmp on a Oracle XE database, and I faced this error

ORA-30094: failed to find the time zone data file for version 11 in $ORACLE_HOME/oracore/zoneinfo

I google it and found the following:

Cannot import data pump export into XE11 - bug?
ORA-30094: failed to find the time zone data file for version ... in $ORACLE_HOME/oracore/zoneinfo

Both talk about timestamp file, that you can get with this query:

And returns the version you have installed:

And as you can see in my Error, says version 11, and does not match with what the DB has.

ORA-30094: failed to find the time zone data file for version 11 in $ORACLE_HOME/oracore/zoneinfo

What I did to fix it was I went to $ORACLE_HOME/oracore/zoneinfo and copy the 2 files to be version 11, and that fixed my import.

The DB still points to version 14, but the import uses the version 11 somehow, not sure the reason, but what is sure is that this fixed my issue and helped me to import my DMP without any issues.

Thursday, November 10, 2016

How to Know which jsp files are used in CSC

CSC custom development is a common thing that retailers does, in order to be aware of how CSC works internally in the front end, you can enable useDebugPanelStackMode at /atg/svc/agent/ui/AgentUIConfiguration/, this will make CSC tell you which jsps are used in each section of the page, as follows:

This will tell you the name of the .jsp, the location, ans other sort of information, I can tell you this is great tool for support and development, so start using it, it will save you lots of time :)

This can be found on the ATG documentation at and is available from ATG10.1 and newer versions.