증분 백업 (Incremental backup)
 : 이전에 백업 받았던 백업파일과 비교해서 변경된 부분만 골라서 백업을 수행
 : 시나리오를(지정해준 level 번호) 따로 볼수 있는 방법은 없다. 관리자가 본인 나름대로 시나리오를 잘 짜고 관리해야 한다.
 
 

1. 차등 증분 백업 (과거숫자 =< 현재숫자)

 <그림 : 차등 증분 백업>
  : 백업 받을 때 설정했던 level 숫자가 자기보다 작거나 같으면 그 시점부터 지금까지 모든 데이터를 백업
 
 



2. 누적 증분 백업 (과거숫자 < 현재숫자)

<그림 : 누적 증분 백업>
  : 백업 받을 때 설정했던 level 숫자가 자기보다 무조건 작으면 그 시점부터 지금까지 모든 데이터를 백업
 
 
 
 
 
 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 실습 시작
실습 : 차등 증분 백업
 
1. 일요일 - level 0 으로 데이터베이스 전체 백업
 
RMAN>
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
backup
incremental level 0
database
format '/data/backup/rman/%U_%T';
}

 
 
2. 월요일 - level 3 으로 users tablespace 만 차등 증분 백업
 
RMAN>
run {
allocate channel c1 type disk;
backup
incremental level 3
tablespace users;
}

 
 
 
3. 수요일 - level 3 으로 누적 증분 백업
 
RMAN>
run {
allocate channel c2 type disk;
backup
incremental level 3 cumulative
tablespace example;
}

 
 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 실습 끝
 
 
 







3. Block change tracking 기능 활성 화 후 증분 백업 수행
 : 데이터 블록들의 변경된 블록만 추적하는 기능
   블록들의 변경사항은 특정 파일에 저장 되어 관리됨
   Oracle 10g Enterprise Edition
 : 각자의 환경 상 속도적으로 느려질 수 있다.
 
1. 설정하기
① 활성화
SQL> alter database enable block change tracking
  2  using file '/data/backup/rman/block_tracking.txt';

 
$ cd /data/backup/rman
$ ls -lSh *.txt
$ vi block_tracking.txt
 
^@^@^@^@^@^@^@^@^@^@^@^@^@^@
바이너리 파일임.
 


② 비활성화
SQL> alter database disable block chang tracking;
 
 
  
③ 활성화 상태 조회
SQL> col status for a10
SQL> col filename for a50
SQL> col MB for 999999
 
활성화 전
SQL> select status, filename, bytes/1024/1024 MB
  2  from v$block_change_tracking;

 
STATUS     FILENAME                                                MB
---------- -------------------------------------------------- -------
DISABLED
 
 
활성화 후
SQL>  select status, filename, bytes/1024/1024 MB
  2  from v$block_change_tracking;
 
STATUS     FILENAME                                                MB
---------- -------------------------------------------------- -------
ENABLED    /data/backup/rman/block_tracking.txt                    11
 
 


④ RMAN의 기능 사용여부 조회
 : v$backup_datafile의 used_change_tracking 컬럼을 조회 해보면 된다.
 
SQL> save bt.sql
select file#,
avg(datafile_blocks) "blocks",
avg(blocks_read) "reads",
round(avg(blocks_read/datafile_blocks) * 100,3)|| '%' as "Read for Backup"
from v$backup_datafile
where incremental_level > 0
and used_change_tracking = 'YES'
group by file#
order by file#;

 
 
no rows selected  ← 아직 사용 안했음
 
→ 다시 백업 후 조회
 
RMAN>
run {
allocate channel c1 type disk format '/data/backup/rman/%U_%T';
backup
incremental level 3
tablespace users;
}
 
 
SQL> @bt
 
     FILE#     blocks      reads Read for Backup
---------- ---------- ---------- -----------------------------------------
         4       1600          1 .063%
 
설명 : 4번파일에 총 1600개의 블록이 있다. 그중 1개를 block tracking 을 사용함.
▶ 이 기능을 사용하면 incremental backup이 더 빨리 수행 될 수 있다.
 

 
Posted by 딩구르
,