백업이란?
오라클 DBA의 관점에서 백업이란 무엇일까요?
서버의 전원공급, 디스크의 손상, 데이터파일의 유실 등 다양한 원인으로 발생하는 장애 상황에 대응하기위해
미리 복사해두는 행위를 말합니다.
오늘은 백업의 종류인 Cold backup과 Hot backup에 대해 알아보겠습니다.
우선 Cold backup입니다.
닫힌 백업이라고도 하며 DB의 기동이 멈춘상태에서의 백업을 말합니다.
따라서 DB의 백업이 이뤄지는 동안 DB서비스는 불가능한 단점이 있습니다.
하지만 모든파일의 시점이 동일하며 아카이브모드와 노아카이브 모두 사용가능하며
DB에서 가장 중요한 데이터파일, 컨트롤파일, 리두로그파일을 모두 백업 할 수 있는 장점이 있습니다.
다음은 Hot backup 입니다.
열린 백업이라고도 하며 DB가 서비스중인 상태에서의 백업을 말합니다.
DB서비스 계속 제공된다는 장점이 있습니다.
하지만 데이터파일과 컨트롤 파일만 백업이 가능하며
DB의 변경되는 내용이 저장되는 리두로그는 백업되지않고 백업 후 적용됩니다.
그렇기 때문에 리두로그가 많이 발생하는 업무시간에 Hot backup을 진행하지 않으며,
아카이브모드를 반드시 필요로 합니다.
Cold backup 순서
1. DB의 정상종료
2. Controlfile, Redolog file, Datafile 등 파일복사
3. DB OPEN
Hot backup 순서
1. DB기동중, Tablespace 조회
2. alter tablespace <테이블스페이스 명> begin backup;
3. 해당 datafile 물리적 복사
4. alter tablespace <테이블스페이스 명> end backup;
DB의 백업상태 조회
1. Tablespace 확인
SQL> select tablespace_name, bytes/1024/1024/1024 GB, file_name from dba_data_files;
TABLESPACE_NAME GB FILE_NAME
------------------------------ ---------- ------------------------------------------------------------
SYSTEM .68359375 +DATA/ORCL19/DATAFILE/system.260.1022509767
SYSAUX 2.40234375 +DATA/ORCL19/DATAFILE/sysaux.261.1022509775
UNDOTBS1 1.66015625 +DATA/ORCL19/DATAFILE/undotbs1.262.1022509781
USERS .009765625 +DATA/ORCL19/DATAFILE/users.264.1022509789
TEST /dev/raw/raw1
STATSPACK_TS .1953125 +DATA/ORCL19/DATAFILE/statspack_ts.266.1047077147
HOTTEST .048828125 /home/oracle/test/hottest.dbf
HOTTEST라는 테이블스페이스를 HOT BACKUP한다.
2. begin backup
SQL> alter tablespace hottest begin backup;
Tablespace altered.
3. backup 상태 확인
SQL> select a.tablespace_name, b.*
2 from dba_data_files a, v$backup b
3 where a.file_id=b.file#;
TABLESPACE_NAME FILE# STATUS CHANGE# TIME CON_ID
------------------------------ ---------- ------------------ ---------- --------- ----------
SYSTEM 1 NOT ACTIVE 0 0
SYSAUX 2 NOT ACTIVE 0 0
UNDOTBS1 3 NOT ACTIVE 0 0
USERS 4 NOT ACTIVE 0 0
STATSPACK_TS 6 NOT ACTIVE 0 0
HOTTEST 7 ACTIVE 26892479 08-DEC-20 0
6 rows selected.
HOTTEST 테이블스페이스가 현재 ACTIVE 상태로 백업중임을 확인한다.
4. 물리적 복사
[oracle@ORACLE19 test]$ ls
hot hottest.dbf
[oracle@ORACLE19 test]$ cp hottest.dbf /home/oracle/test/hot
5. end backup
SQL> alter tablespace hottest end backup;
Tablespace altered.
6. backup 상태 확인
SQL> select a.tablespace_name, b.*
2 from dba_data_files a, v$backup b
3 where a.file_id=b.file#;
TABLESPACE_NAME FILE# STATUS CHANGE# TIME CON_ID
------------------------------ ---------- ------------------ ---------- --------- ----------
SYSTEM 1 NOT ACTIVE 0 0
SYSAUX 2 NOT ACTIVE 0 0
UNDOTBS1 3 NOT ACTIVE 0 0
USERS 4 NOT ACTIVE 0 0
STATSPACK_TS 6 NOT ACTIVE 0 0
HOTTEST 7 NOT ACTIVE 26892479 08-DEC-20 0
6 rows selected.
파일 복사이후 HOTTEST 테이블스페이스에 대해 end backup하고 상태를 조회하면
NOT ACTIVE임을 확인 할 수 있다.
Oracle 11g_Sweep [inc][115385]: completed 발견 (0) | 2020.12.21 |
---|---|
Oracle expdp 테스트해보자 ORA-01950: no privileges on tablespace 'USERS' 발생 (0) | 2020.12.16 |
Oracle 19c HOT Backup TEST해보기 2_Archive mode 활용 (0) | 2020.12.08 |
Oracle 19c HOT Backup TEST해보기 (0) | 2020.12.08 |
오라클 트리거 Oracle trigger 알아보자 (0) | 2020.12.02 |
댓글 영역