I recently was asked to dump a rather big database. Because the database was big, the dump should be on the central storage. Sounds reasonable. I did take the normal step to use the datapump:
Create a directory in the database:
create directory q_expdp as 'Q:\expdp';
And then started the datapump export:
expdp system@db directory=q_expdp dumpfile=2010_01_20.dmp logfile=2010_01_20.log
This resulted in the following errormessage:
ORA-39002: Invalid operation
ORA-39070: Unable to open the log file
ORA-29283: Invalid file operation
ORA-06512: at 'SYS.UTL_FILE', line 488
ORA-29283: Invalid file operation
Mmh, bummer. Well, it is compaining about the logfile (ORA-39070). So how about omitting a logfile?
ORA-39001: Invalid argument value
ORA-39000: Bad dump file specification
ORA-31641: Unable to create dump file "Q:\expdp\2010_01_20.dmp"
ORA-27040: File create error, unable to create file
OSD-04002: Unable to open file
O/S-error (OS 3) The system can not find the path specified
Well, that obviously means it will not work…
Some googling didn’t reveal much information. Next metalink. This revealed note: 858401.1. It is reported as bug numbers: 4402871 and 493693 (which are public), and is expected behavior. There are some security model changes in Windows XP / 2003 which disables local services to pick up the authentication of a mapped drive. See: http://support.microsoft.com/kb/q124184/.
The resolution is using UNC naming (thus \\server\share\directory).