programing

Oracle 기본 데이터 펌프 디렉토리를 덤프 파일을 가져오도록 변경하는 방법은 무엇입니까?

telecom 2023. 9. 12. 19:50
반응형

Oracle 기본 데이터 펌프 디렉토리를 덤프 파일을 가져오도록 변경하는 방법은 무엇입니까?

사용하고 있습니다.impdp백업을 가져올 수 있습니다.하지만 기본 디렉터리 덤프 파일을 변경하고 싶습니다.

$ impdp system/password@$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

매개변수 사용:

impdp system/password@$ORACLE_SID schemas=USER_SCHEMA directory=MY_DIR \
  dumpfile=mydumpfile.dmp logfile=impdpmydumpfile.log

기본 디렉터리는DATA_PUMP_DIR, 다음과 같이 설정되어 있는 것으로 추정됩니다./u01/app/oracle/admin/mydatabase/dpdump시스템 상에서.

다른 디렉토리를 사용하려면 데이터베이스에 새 디렉토리 개체를 생성해야 합니다. 이 개체는 파일을 입력한 Oracle 가시적 운영 체제 디렉토리를 가리키며 가져오기를 수행하는 사용자에게 권한을 할당합니다.

기본 디렉터리 덤프 파일을 변경하고 싶습니다.

새 디렉토리를 생성하고 필요한 권한을 부여할 수 있습니다. 예를 들어 다음과 같습니다.

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

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

새로 만든 디렉터리를 사용하려면 매개 변수로 추가하면 됩니다.

DIRECTORY=dmpdir

오라클은 10g R2에서 DATA_PUMP_DIR이라는 기본 디렉터리를 도입했는데, 이 디렉터리를 사용할 수 있습니다.위치를 확인하기 위해 dba_directorys를 조사할 수 있습니다.

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>

DIRECTORY 옵션을 사용합니다.

문서: 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.

다음 명령을 사용하여 DATA PUMP DIRECTORY 경로를 업데이트할 수 있습니다.

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

운영 환경에서 테스트 환경으로 데이터베이스를 복원했기 때문에 데이터 경로 수정이 필요했습니다.

동일한 명령을 사용하여 새 파일을 생성할 수 있습니다.DATA PUMP DIRECTORY name그리고.path.

여기서 문제가 된 것은 DATA_PUMP_DIR에 대한 권한이 올바르지 않다는 것이었습니다.저는 디렉토리를 다시 만들어야 했습니다.

언급URL : https://stackoverflow.com/questions/29077007/how-to-change-oracle-default-data-pump-directory-to-import-dumpfile

반응형