User Tools

Site Tools


oracle_tablespace_copy

오라클 10g 이상에서 expdp와 impdp를 사용한 tablespace 복사 방법

- 복사할 원본 tablespace 이름은 “SRC”, 사용자는 “SRC_USER”라 한다. - 복사 대상 tablespace 이름은 “COPY”, 사용자는 “COPY_USER”라 한다. - system 권한이 있어야 한다.(password는 “manager”)

< 순서 >

1. 복사본 tablespace 및 사용자 생성

2. Dump 디렉토리 설정

3. 원본 export

4. 원본 import


1. 복사본 tablespace 및 사용자 생성(SQL-Plus 로긴 필요)

ⅰ)	tablespace 생성
	CREATE TABLESPACE copy
		DATAFILE 'C:\ORACLExe\ORADATA\XE\copy00.dbf' SIZE 100M
		DEFAULT STORAGE 
		(	INITIAL    500K
 			NEXT      10K
 			MINEXTENTS 2
 			MAXEXTENTS 50
			PCTINCREASE 50);
		
ⅱ)	사용자 생성 및 권한 부여(패스워드는 동일)
	create user copy_user
		identified by copy_user
		default tablespace copy;
	
	grant connect,resource to copy_user;
	grant create table, create sequence, create view TO copy_user;
	
	> oracle 12c에서는 사용자 생성시에 사용자 이름 앞에 C##을 붙여야한다.
	C##을 붙이지 않고 만드려면 session의 _ORACLE_SCRIPT를 true로 수정해야한다.
	alter session set "_ORACLE_SCRIPT"=true;
	
	> oracle 12c에서는 table space를 사용할 때 할당량을 무제한으로 설정해야한다.
	alter user copy_user default tablespace users quota unlimited on users;
	
ⅲ)	데이타 파일 추가(사이즈에 맞게 설정)
	ALTER TABLESPACE copy
	ADD DATAFILE 'C:\ORACLExe\ORADATA\XE\copy01.dbf' SIZE 100M
	AUTOEXTEND ON NEXT 10M
	MAXSIZE 1G;	
	

2. Dump 디렉토리 설정(SQL-Plus 로긴 필요)

ⅰ) dump 받을 디렉토리 설정
	CREATE OR REPLACE DIRECTORY expdpDIR AS 'C:\temp';
ⅱ) 설정된 디렉토리 확인
	select * from dba_directories;
	
ⅲ)	디렉토리에 대한 권한 부여
	grant read, write on directory expdpDIR to system,src_user,copy_user;

3. 원본 export (cmd창에서 실행)

ⅰ)	오라클(10g) 설치 디렉토리의 bin 디렉토리로 이동
ⅱ) export 실행
	expdp system/password SCHEMAS=SRC directory=expdpdir dumpfile=expdpSRC.dmp job_name=SRC_JOB logfile=SRC_exp.log
	

4. 원본 import (cmd창에서 실행)

ⅰ) 오라클(10g) 설치 디렉토리의 bin 디렉토리로 이동
ⅱ) import 실행
	impdp system/password REMAP_SCHEMA=SRC:COPY REMAP_TABLESPACE=SRC:COPY directory=expdpDIR dumpfile=expdpSRC.dmp job_name=COPY_JOB logfile=COPY_imp.log

ⅲ) 메시지 확인
	"작업이 16:46:13에서 성공적으로 완료됨"

오라클에서 export/import를 사용하여 db 복사하는 방법

1. 소스db에서 export

 exp pan_toga/pan_toga@pantech_dev file=toga_all_20100928 

2. 타겟db에서 사용자 계정 생성 및 SQL 명령문으로 사용자 계정에 권한 부여

  grant connect, resource, create session to [user id];

3. 타겟db에 import

 imp pan_toga/pan_toga@apsdev file=toga_all_20100928.DMP fromuser=pan_toga touser=pan_toga
oracle_tablespace_copy.txt · Last modified: 2015/10/06 14:58 by nmaruchi