Msg 성장일기
데이터 백업방식 본문
1) CTAS
# 첫번째 방법
CREATE TABLE test_new TABLESPACE test_space AS SELECT * FROM test_old; --스키마만 복제시 SELECT * FROM ST_POST_DTL; WHERE 1=0;
- test_new 테이블을 생성하고 tablespace를 선언해주고 백업할 테이블 복제하면 됨
# 두번째 방법
1) 이관 대상 테이블과 동일한 타겟 테이블 레이아웃 생성 (주의 : DEFAULT 값이 설정되어 있으면, 아래의 방법으로 테이블 생성 시 적용되지 않으므로 수동 적용해야 함)
CREATE TABLE TOBE_TEST -- 타겟 테이블
AS
SELECT *
FROM ASIS_TEST -- 이관대상 테이블명
WHERE 1=2;
2) 타겟 테이블에 데이터 저장
ALTER TABLE TOBE_TEST NOLOGGING;
ALTER SESSION ENABLE PARALLEL DML;
INSERT /*+ APPEND */ INTO TOBE_TEST
SELECT /*+ PARALLEL(A 8) */ * FROM ASIS_TEST A;
- NOLOGGING 옵션을 통해 작업에 대한 REDO 로그를 최소한으로 생성되게 함으로써 DISK I/O 부하 및 대량의 로그 기록으로 인한 시간을 단축시킨다.
- 또한 PARALLEL 설정을 통해 SELECT시 분산 작업이 가능하게 함으로써 작업시간을 단축시키며, DIRECT LOAD(APPEND)를 통해 INSERT시 현재 세그먼트의 FREE BLOCK을 무시하고 HWM뒤에 WRITE함으로써 작업시간을 단축시킨다.
2) Data dump
1) DATA PUMP 사용을 위한 디렉터리 객체 생성
CREATE DIRECTORY DMPDIR AS 'C:\DUMP';
2) expdp 유틸리티를 이용한 대상 백업
expdp system/*** directory=dmpdir tables=asis_test dumpfile= exp.dmp logfile=exp.log
# 사용자ID/암호 dumpfile: 백업경로/저장할 파일명.dmp
-- EXP에는 FULL/SCHEMEA/TABLE 단위로 백업 가능
3) impdp 유틸리티를 이용한 대상 이관
CREATE TABLE TOBE_TEST NOLOGGING -- 타겟 테이블명
AS
SELECT * FROM ASIS_TEST -- 이관대상 테이블명
WHERE 1=2;
impdp system/**** directory=dmpdir dumpfile=exp.dmp logfile=imp.log content=data_only
'study_DB > Oracle' 카테고리의 다른 글
| single db 설치 (0) | 2025.06.22 |
|---|---|
| RAC(Real Application Clusters) (0) | 2025.06.10 |
| 파티션 (0) | 2024.08.05 |
| 오라클 설치(구축) (0) | 2023.11.27 |
| 리두 로그, 아카이브 로그 (0) | 2023.09.13 |