export를 하고 싶은데 ASM 으로 구성한 DB의 Filesystem에 공간이 없고 ASM내의 여유공간이 많을 경우에 이 방법을 사용해야 할 것이다.

 

1. 디렉토리를 만든다. 이 과정은 ASM의 특정 디렉토리에 만들 경우 필요하다.
 alter diskgroup data add directory '+data/dpump';

 

2. 디렉토리 오브젝트를 만든다.
create directory dpump as '+data/dpump';

 

3. 로그파일용 디렉토리를 만든다. 로그파일은 ASM 디스크내에 만들 수 없다는 점을 기억하자.
create directory dpump_log as '/home/oracle/dpump';

 

4. expdp를 수행한다.
expdp system/oracle directory=dpump dumpfile=expdp.dmp logfile=dpump_log:expdp.log full=y

 

5. ASM내 파일이 있는지 확인한다.

SQL> select file_number, bytes, creation_date from v$asm_file where type like 'DUMP%';

FILE_NUMBER      BYTES CREATION_
----------- ---------- ---------
        268    2572288 20-MAR-14

 

- asmcmd로도 확인 가능하다.
[grid@rac1 ~]$ asmcmd
ls
ASMCMD> DATA/
ASMCMD> cd data
ASMCMD> ls
DB_UNKNOWN/
ORCL/
dpump/
rac/
ASMCMD> cd dpump
ASMCMD> ls
expdp.dmp
ASMCMD> ls -l
Type     Redund  Striped  Time             Sys  Name
                                           N    expdp.dmp => +DATA/ORCL/DUMPSET/SYSTEMSYS_EXPORT_FULL_01_14068_1.268.842710589
ASMCMD> cd ../..
ASMCMD> ls
DATA/
ASMCMD> cd DATA/ORCL/DUMPSET/
ASMCMD> ls -l
Type     Redund  Striped  Time             Sys  Name
DUMPSET  UNPROT  COARSE   MAR 20 14:00:00  Y    SYSTEMSYS_EXPORT_FULL_01_14068_1.268.842710589

alias로 잡혀있는걸 알 수 있다. 이 alias를 지우면 원본 파일도 함께 지워진다.

ASMCMD> cd ../../dpump
ASMCMD> ls
expdp.dmp
ASMCMD> rm expdp.dmp
ASMCMD> cd ../..
ASMCMD> ls
DATA/
ASMCMD> cd data/orcl/
ASMCMD> ls
CONTROLFILE/
DATAFILE/
ONLINELOG/
TEMPFILE/
spfileorcl.ora

 

- 아예 dumpset 이라는 디렉토리가 없어졌음을 확인할 수 있다. 파일이 몇개 더 있다면 사라지지 않을 것이다.

'Knowledge > Oracle' 카테고리의 다른 글

Undo tablespace shrink  (0) 2014.04.16
datapump expdp remote  (0) 2014.04.03
About View  (0) 2014.03.07
About DBLINK  (0) 2014.03.07
About Sequence  (0) 2014.03.07
Posted by neo-orcl
,