728x90

EXPDP

Oracle Data Pump Export Utility로 백업을 한 시점에서 복구를 한다던가 다른 데이터 베이스에 이관을 쉽게 할 수 있어서 매우 유용하다.

디렉터리 생성과 삭제

cd /home/oracle
mkdir /home/oracle/oracle_dump
-- 디렉토리 생성
CREATE OR REPLACE DIRECTORY STR_DUMP AS '/home/oracle/oracle_dump';
GRANT READ, WRITE ON DIRECTORY STR_DUMP TO PUBLIC;

--디렉토리 삭제
REVOKE READ,WRITE ON DIRECTORY STR_DUMP FROM PUBLIC;
DROP DIRECTORY STR_DUMP;

전체 백업

-- FULL=YES
expdp system/oracle DIRECTORY=STR_DUMP FULL=YES \
DUMPFILE=EXPDP_STR_FULL_20221206.DMP LOGFILE=EXPDP_STR_FULL_20221206.log

암호화가 되어 있는 테이블 스페이스나 테이블이 있을 경우 오류가 난다.

DATAPUMP 백업 상태 확인

-- SQL Developer 확인(SYS계정)
SELECT * FROM DBA_DATAPUMP_JOBS;

암호화되어있는지 확인(TDE Check)

-- Tablespace Level
SELECT 
    TABLESPACE_NAME,
    ENCRYPTED,
    STATUS 
FROM DBA_TABLESPACES;

-- Table Level
SELECT * 
FROM DBA_ENCRYPTED_COLUMNS;

암호화가 되어 있는지 테이블스페이스 단위, 테이블 단위로 확인을 한다.

전체 백업(기본+TDE)

-- FULL=YES ENCRYPTION_PASSWORD=oracle123
expdp system/oracle DIRECTORY=STR_DUMP FULL=YES ENCRYPTION_PASSWORD=oracle123 \
DUMPFILE=EXPDP_STR_FULL_TDE_20221206.DMP LOGFILE=EXPDP_STR_FULL_TDE_20221206.log

전체 백업(압축+TDE)

-- FULL=YES COMPRESSION=ALL ENCRYPTION_PASSWORD=oracle123
expdp system/oracle DIRECTORY=STR_DUMP FULL=YES COMPRESSION=ALL ENCRYPTION_PASSWORD=oracle123 \
DUMPFILE=EXPDP_STR_FULL_COMP_20221206.DMP LOGFILE=EXPDP_STR_FULL_COMP_20221206.log

전체 백업(백업 파일 100M 분할)

-- FULL=YES FILESIZE=100M ENCRYPTION_PASSWORD=oracle123
expdp system/oracle DIRECTORY=STR_DUMP FULL=YES FILESIZE=100M ENCRYPTION_PASSWORD=oracle123 \
DUMPFILE=EXPDP_STR_FULL_DIV_20221206_%U.DMP LOGFILE=EXPDP_STR_FULL_DIV_20221206.log

DUMPFILE에 파일 명 쓰고 %U를 붙여줘야 1,2,3… 숫자가 포함된다.

전체 백업(Parallel+압축+TDE)

-- FULL=YES COMPRESSION=ALL PARALLEL=4 ENCRYPTION_PASSWORD=oracle123
expdp system/oracle DIRECTORY=STR_DUMP FULL=YES COMPRESSION=ALL PARALLEL=4 ENCRYPTION_PASSWORD=oracle123 \
DUMPFILE=EXPDP_STR_FULL_PCOMP_20221206_%U.DMP LOGFILE=EXPDP_STR_FULL_PCOMP_20221206.log &

Parallel의 장점은 병렬로 처리하기 때문에 매우 빠르고 단점은 CPU 사용량이 높아서 전체 CPU 코어의 반 정도 사용하는 것을 추천한다.

부분 백업 STR계정 백업(Parallel+압축)

-- SCHEMAS=STR COMPRESSION=ALL PARALLEL=4
expdp system/oracle DIRECTORY=STR_DUMP SCHEMAS=STR COMPRESSION=ALL PARALLEL=4 \
DUMPFILE=EXPDP_STR_STR_P_20221206_%U.dmp LOGFILE=EXPDP_STR_STR_P_20221206.log

테이블 단위 백업

-- 계정명: STR, 테이블명: CUST
expdp system/oracle DIRECTORY=STR_DUMP DUMPFILE= EXPDP_STR_CUST_20221206.DMP LOGFILE=EXPDP_STR_CUST_20221206.log \
TABLES=STR.CUST

참고

https://www.youtube.com/watch?v=Ie0jjerBqvk&t=1s 

 

728x90
728x90

데이터 백업과 복구의 개념

  • 언제 발생할지 모르는 사고를 대비해 반드시 해야 할 작업이 ‘백업’
  • 기존의 폴더 또는 파일을 다른 안전한 장소에 보관하는 것
  • Windows Server에서는 자체적으로 백업 기능을 제공
  • 백업은 별도의 하드디스크나 다른 컴퓨터의 공유 폴더에 하는 것이 필수
  • 최근에는 서버와 멀리 떨어진 원격지에도 백업(클라우드)
  • 복구는 삭제된 일부 폴더만 복구할 수도 있고, 볼륨 전체를 복구할 수도 있다.

백업의 종류

전체 백업

  • 데이터 전체를 백업하는 것
  • 시간이 오래 걸리고 백업할 때마다 중복된 데이터도 백업하기 때문에 디스크 공간이 많이 필요
  • 가장 최근에 전체 백업을 복구하면 가장 최근의 데이터로 복구됨

증분 백업

  • 이전에 수행한 백업으로부터 변경된 데이터만을 백업하는 것
  • 데이터의 중복이 없고 용량을 많이 차지하지 않는다.
  • 복구할 때는 전체 백업부터 증분 백업한 데이터를 순서대로 복구해야 최신 데이터를 복구할 수 있다.

차분 백업

  • 이전에 수행한 전체 백업을 기준으로 변경된 데이터만 백업하는 것
  • 전체 백업을 복구하고 가장 최근에 차분 백업을 복구하면 가장 최근의 데이터로 복구됨

tar를 이용한 전체 백업

  • tar zcvpf [아카이브 이름] - -exclude=[예외] /
  • exclude 옵션을 이용하여 백업 파일이 저장되는 경로는 제외한 나머지 / 전체를 백업한다.

tar를 이용한 증분 백업

  • tar zcvpf [아카이브 이름] -g [리스트 파일 이름] [경로]
  • -g 옵션을 이용하면 리스트를 만들어 백업 정보를 따로 저장해준다.
  • -p 옵션을 이용하면 기존의 파일 시스템의 권한 정보를 그대로 유지한다.

tar를 이용한 복구

  • tar zxcpf [아카이브 이름] -C [복구할 경로] -g [리스트 파일 이름]
  • -C 옵션을 이용해서 아카이브 및 압축을 해제하면 특정 경로는 지정해서 해당 경로에 풀 수 있다.

dump를 이용한 백업

  • dump [옵션]f [백업 장치] [백업 대상]
  • 0 : 전체 백업
  • -1 ~ 9 : 증분 or 차분 백업(자신보다 낮은 레벨 중 가장 가까운 레벨의 내용과 비교해서 변환 내용만 백업)
  • -파일 시스템 단위로 백업

restore를 이용한 복구

  • restore -rvf [백업 파일 or 장치]
  • 작업 경로를 복구하길 원하는 경로로 이동 후 명령어 실행
  • 복구 명령어를 실행하면 작업 디렉터리에 restoresymtable 파일이 생성
  • 해당 파일은 증분 복구와 복구 사이의 진행 정보 등이 저장되어 있음
  • 따라서 증분 백업을 모두 복구하기 전에 삭제 x
  • 복구가 끝나면 모두 삭제

dd를 이용한 백업

  • dd if=[백업할 장치] of=[저장할 위치] [bs=[크기] count=[숫자]]
  • 블록 크기와 카운트를 지정하지 않으면 디스크 장치 단위로 백업 및 복구
  • 블록 크기와 카운트를 지정하면 해당 용량만큼만 백업 및 복구 또는 복사

네트워크 설정

 

  • 리눅스에서는 ifconfig 윈도우에서는 ipconfig
  • ifconfig [장치명] [IP주소] netmask [서브넷 마스크]

route 명령어

route add default gw [GW 주소]

dhclient [장치명]

  • /etc/sysconfig/network-script/ifcfg-ens33 파일로 설정
  • ifcfg-ens33 파일에 BOOTPROTO=dhcp로 바꾼다.  static으로 설정하면 ip 주소를 수동으로 할당하고 dhcp로 설정하면 dhcp가 자동으로 할당
  • ONBOOT=yes로 바꾼다. 부팅될 때 또는 서비스가 실행될 때 이 파일을 적용시킨다.
  • BOOTPROTO를 static으로 바꾸면 파일에 IPADDR=[주소] NETMASK=[서브넷] GATEWAY=[주소] DNS1=[주소]를 추가로 설정해야 된다.
728x90

+ Recent posts