1.) Texte aus oerr unter Linux
39070, 00000, „Unable to open the log file.“
// *Cause: Errors were detecting while opening the log file. Subsequent
// messages will detail the problems.
// *Action: Fix the problems outlined in the secondary messages.
2.) Erklärung
Es wurde versucht, mit Datapump (expdp) eine Sicherung durchzuführen. Das dem Parameter directory zugeordnete Verzeichnis war zwar auf dem Server vorhanden, aber in der View DBA_DIRECTORIES nicht angelegt.
Beispiel:
mkdir /u01/pump
expdp system/<passwort>@<instanz> schemas=<schema> directory=PUMP_DIR dumpfile=’expdp$ORACLE_SID.dmp‘ reuse_dumpfiles=y logfile=’expdp$ORACLE_SID.log‘
Export: Release 11.2.0.4.0 – Production on Wed Aug 24 12:21:35 2016
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Release 11.2.0.4.0 – 64bit Production
With the Real Application Clusters and Automatic Storage Management options
ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-39087: directory name PUMP_DIR is invalid
SQL> select DIRECTORY_NAME from DBA_DIRECTORIES where DIRECTORY_NAME=’PUMP_DIR‘;
no rows selected
3.) Lösungsvorschläge
sqlplus> create directory <directory> as ‚<verzeichnis>‘;
Beispiel:
sqlplus> create directory PUMP_DIR as ‚/u01/pump‘;
Hinweis:
Es ist darauf zu achten, dass der User die Berechtigungen zum Lesen und Schreiben auf dieses Verzeichnis besitzt. Andernfalls muss dem User wie folgt die Berechtigung gegeben werden.
SQL>grant read, write on directory <directory> to <user>;
Beispiel:
SQL>grant read, write on directory PUMP_DIR to system;
Dieses Statement war in dem Beispiel unter Abschnitt 2 nicht erforderlich, da der User system per default
bereits diese Berechtigung besitzt.