2015-03-16 16 views
7

Sto usando impdp per importare un backup. Ma voglio cambiare il file dump della directory di default.Come cambiare directory dumpfile in impdp?

$ 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 

risposta

11

Con the directory parameter:

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

Il default directory è DATA_PUMP_DIR, che è presumibilmente impostato /u01/app/oracle/admin/mydatabase/dpdump sul sistema.

Per utilizzare una directory diversa (o il DBA) dovrà essere create a new directory object nel database, che punta alla directory del sistema operativo visibile di Oracle in cui si inserisce il file e assegnare i privilegi all'utente che esegue l'importazione.

4

utilizzare l'opzione DIRECTORY.

documentazione qui: 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

Desidero modificare il file di directory di default.

Si potrebbe creare una nuova directory e dare richiesto privilegi, ad esempio:

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

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

Per utilizzare la directory appena creata, si può solo aggiungere come parametro:

DIRECTORY=dmpdir 

Oracle ha introdotto una directory predefinita da 10g R2, denominata DATA_PUMP_DIR, che può essere utilizzata. Per controllare la posizione, si poteva guardare 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

È possibile utilizzare il seguente comando per aggiornare il percorso della directory DATA PUMP,

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

Per me la correzione del percorso di dati è stato richiesto come ho ho ripristinato il mio database dalla produzione all'ambiente di test.

Lo stesso comando può essere utilizzato per creare un nuovo DATA PUMP DIRECTORYname e path.

Problemi correlati