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 |