'datapump'에 해당되는 글 2건

  1. 2014.04.03 datapump expdp remote
  2. 2014.03.20 Datapump export in ASM

알고는 있었지만 테스트를 한번도 안해둬서 생각났을 때 해보고 기록을 남긴다.

tnsnames.ora의 tnsnames를 사용해 가능한줄 알았는데 계정/비밀번호가 필요해서 DB link를 통해 가능하다.

 

remote의 DB에 접속해 scott 스키마만 local에서 expdp로 받는 테스트이다.

 

1. local DB에 system으로 연결하여 remote 측으로 연결할 dblink를 만든다.
$ sqlplus system/orakle

SQL> create database link exptest
 connect to system
 identified by oracle
 using 'test';

 

※구분을 위해 local DB의 system 비밀번호는 orakle로 하였다. test는 tnsnames.ora에 설정해두었다.

 

2. dblink가 정상 동작하는지 확인한다.

 

3. directory를 생성한다.(system 유저로)
SQL> create directory pump as '/oracle/expdp';

 

4. expdp를 실행한다.
[oracle@11g expdp]$ expdp system/orakle schemas=scott network_link=test directory=pump dumpfile=scott.dmp flashback_time=sysdate

Export: Release 11.2.0.3.0 - Production on Wed Apr 2 14:45:52 2014

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

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning option
Starting "SYSTEM"."SYS_EXPORT_SCHEMA_01":  system/******** schemas=scott network_link=test directory=pump dumpfile=scott.dmp flashback_time=sysdate
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 192 KB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "SCOTT"."DEPT"                              5.937 KB       4 rows
. . exported "SCOTT"."EMP"                               8.570 KB      14 rows
. . exported "SCOTT"."SALGRADE"                          5.867 KB       5 rows
. . exported "SCOTT"."BONUS"                                 0 KB       0 rows
Master table "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_01 is:
  /oracle/expdp/scott.dmp
Job "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully completed at 14:46:18

 

일단 remote는 11.2.0.4이고 local은 11.2.0.3인데 schema 단위로 가능한 것을 테스트했다.
full=y로 진행시 에러가 났는데 아마도 remote측 SGA가 너무 작은게 문제일 것으로 생각된다.

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

DB Upgrade 상식  (0) 2014.05.27
Undo tablespace shrink  (0) 2014.04.16
Datapump export in ASM  (0) 2014.03.20
About View  (0) 2014.03.07
About DBLINK  (0) 2014.03.07
Posted by neo-orcl
,

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
,