Oracle 논리적 백업

싱하·2023년 6월 14일
0

oracle

목록 보기
1/6
post-thumbnail

요새 이관작업이 많아서 끄적이는 oracle datapump정리...작업 그만!ㅠㅠ

Datapump

RMAN백업과는 다르게 논리적으로 백업하는 방식
실제 데이터들을 확인하면서 백업.
-> RMAN보다 속도는 느린 편이다.

pump파일

모든 데이터는 SQL에서 사용가능한 DDL,DML 문장으로 변형되어 백업.

백업후에 복구 시 DDL로 table, user를 만들고 DML로 한개의 row씩 복구.
<-> RMAN은 데이터파일을 복구 후 RedoLog를 활용하여 복구

datapump 활용은 백업/복구가 아닌 이관시에 많이 사용

1. datapump 디렉토리 생성

기본으로 설정 되어있는 디렉토리 조회
-> select * from directories;
DATA_PUMP_라고 쓰여있는 row확인

create or replace directory [alias] as '경로';

새로 등록

os상에 directory생성
$ mkdir datapump
SQL> create or replace directory datapump as '/datapump';

asm상에 실행
대부분 grid계정으로 asm설치
$su - grid
$asmcmd
$mkdir datapump
$cd datapump
$pwd 해서 나온 경로 SQL로 등록해주면 됨

2. expdp 실행

기본 expdp username/passwd dumpfile=[filename.dmp] logfile=[logname.log]

  • 옵션
    directory=[설정한 디렉토리명]
    schemas=[뽑아낼 스키마] 여러개 가능
    job_name=임의로 지정 -> 중간에 취소하고 재시작할때 필요함.
    parallel=1,2,3,4,5,... cpu자원이 충분하고 작업이 클 때 주면 작업시간 단축가능
    Include/Exclude=포함/미포함
    parfile= vi로 .par파일을 만들어서 위 옵션들 다 넣고 expdp ---.par해도 됨
    content=[all,data_only,metadata_only,none]

  • Ctrl+C 입력 시

Export> status  --취소가 아닌 멈춘 상태 조회
Export> stop   -> yes 나가기
  • 재시작
expdp attach=[username.job_name]
Export> start_job
Export> status  -> executing 된 것 확인가능
exit으로 나가면 됨

3. impdp 실행

기본 impdp username/passwd dumpfile=[filename.dmp] logfile=[logname.log]

  • 옵션
    table_exists_action=[SKIP 넘기기 | APPEND 수정된 값만 덮기 | TRUNCATE 싹날리고 덮기 | REPLACE drop하고 덮기]
    remap_schema=이전 스키마:이관할 스키마(이름다를경우에 옵션필수)
    remap_tablespace=이전 테이블스페이스:이관할 테이블스페이스(다르면 필수)
    remap_datafile=이전 데이터파일:이관할 데이터파일
    content=[all,data_only,metadata_only,none]
이관할 스키마 생성
create user imp_test identified by oracle default tablespace users;
grant connect, resource on imp_test;

impdp실행

impdp system/oracle dumpfile=[filename.dmp] logfile=[logname.log] directory=datapump remap_schema=[schema]:imp_test
옵션은 요청별로 넣기

부족한 부분은 알려주시면 감사하겠습니다!

profile
끄적끄적...

0개의 댓글

관련 채용 정보