2015-03-16 9 views
7

Ich verwende impdp, um eine Sicherung zu importieren. Aber ich möchte Standard-Verzeichnis-Dump-Datei ändern.Wie Verzeichnis-Dumpdatei in IMPDP ändern?

$ impdp system/[email protected]$ORACLE_SID schemas=USER_SCHEMA dumpfile=mydumpfile.dmp logfile=impdpmydumpfile.log 

Import: Release 11.2.0.3.0 - Production on Mon Mar 16 09:32:05 2015 

Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. 

Connected to: Oracle Database 11g Release 11.2.0.3.0 - 64bit Production 
ORA-39001: invalid argument value 
ORA-39000: bad dump file specification 
ORA-31640: unable to open dump file "/u01/app/oracle/admin/mydatabase/dpdump/mydumpfile.dmp" for read 
ORA-27037: unable to obtain file status 
Linux-x86_64 Error: 2: No such file or directory 
Additional information: 3 

Antwort

11

Mit the directory parameter:

impdp system/[email protected]$ORACLE_SID schemas=USER_SCHEMA directory=MY_DIR \ 
    dumpfile=mydumpfile.dmp logfile=impdpmydumpfile.log 

Die default directory ist DATA_PUMP_DIR, die vermutlich auf /u01/app/oracle/admin/mydatabase/dpdump auf Ihrem System eingestellt ist.

Um ein anderes Verzeichnis zu verwenden, müssen Sie (oder Ihr DBA) create a new directory object in der Datenbank angeben, die auf das Oracle-sichtbare Betriebssystemverzeichnis verweist, in das Sie die Datei einfügen, und dem Benutzer, der den Import durchführt, Berechtigungen zuweisen.

4

Verwenden Sie die Option VERZEICHNIS.

Dokumentation hier: http://docs.oracle.com/cd/E11882_01/server.112/e22490/dp_import.htm#SUTIL907

DIRECTORY 

    Default: DATA_PUMP_DIR 

    Purpose 

    Specifies the default location in which the import job can find the dump file set and where it should create log and SQL files. 

    Syntax and Description 

    DIRECTORY=directory_object 
    The directory_object is the name of a database directory object (not the file path of an actual directory). Upon installation, privileged users have access to a default directory object named DATA_PUMP_DIR. Users with access to the default DATA_PUMP_DIR directory object do not need to use the DIRECTORY parameter at all. 

    A directory object specified on the DUMPFILE, LOGFILE, or SQLFILE parameter overrides any directory object that you specify for the DIRECTORY parameter. You must have Read access to the directory used for the dump file set and Write access to the directory used to create the log and SQL files. 

    Example 

    The following is an example of using the DIRECTORY parameter. You can create the expfull.dmp dump file used in this example by running the example provided for the Export FULL parameter. See "FULL". 

    > impdp hr DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp 
    LOGFILE=dpump_dir2:expfull.log 
    This command results in the import job looking for the expfull.dmp dump file in the directory pointed to by the dpump_dir1 directory object. The dpump_dir2 directory object specified on the LOGFILE parameter overrides the DIRECTORY parameter so that the log file is written to dpump_dir2. 
3

Ich möchte Standardverzeichnis dumpfile ändern.

Sie könnten ein neues Verzeichnis erstellen und geben Sie es Rechte erforderlich, zum Beispiel:

SQL> CREATE DIRECTORY dmpdir AS '/opt/oracle'; 
Directory created. 

SQL> GRANT read, write ON DIRECTORY dmpdir TO scott; 
Grant succeeded. 

das neu erstellte Verzeichnis zu verwenden, könnten Sie einfach fügen Sie es als Parameter:

DIRECTORY=dmpdir 

Oracle führte ein Standardverzeichnis von 10g R2, genannt DATA_PUMP_DIR, das verwendet werden kann. Um den Standort zu überprüfen, könnte man sich in dba_directories:

SQL> select DIRECTORY_NAME, DIRECTORY_PATH from dba_directories where DIRECTORY_NAME = 'DATA_PUMP_DIR'; 

DIRECTORY_NAME  DIRECTORY_PATH 
-------------------- -------------------------------------------------- 
DATA_PUMP_DIR  C:\app\Lalit/admin/orcl/dpdump/ 

SQL> 
0

können Sie den folgenden Befehl verwenden, um den DATA PUMP Verzeichnispfad zu aktualisieren,

create or replace directory DATA_PUMP_DIR as '/u01/app/oracle/admin/MYDB/dpdump/'; 

Für mich Datenweg Korrektur als ich erforderlich habe meine Datenbank von der Produktion bis zur Testumgebung wiederhergestellt.

Derselbe Befehl kann verwendet werden, um einen neuen DATA PUMP DIRECTORYname und path zu erstellen.