Oracle 10g RMAN 부터 백업을 수행할 때 압축을 할 수 있다
RMAN에서 지원하는 압축은 기본값은 BZip2 이고 ZLIB 는 옵션으로 선택할 수 있고,
BZip2 방법은 압축 효율은 가장 좋지만 , CPU 부하가 많이 걸릴수 있고 속도 느리다.
그래서 11g R1부터는 Zlib 압축이 추가가 되었는데 CPU 부하는 적고 속도는 빠르지만 압축
효율이 Bzip2 에 비해 상대적으로 좋지 못하다.
ZLIB을 사용하려면 11g 이상 Advanced Compression Option 이 설치되어야 함.
아래 실습은 전, 후 용량 비교와 RMAN의 기본압축인 BZIP2방식을 이용해서 실습하겠음.
1) 압축하지 않고 기본 모드로 전체 Database 백업 수행
그 외 각종 백업 옵션들
1) keep - backup 수행 시 bacjupset 보존기간 설정하기
이 옵션은 특정 시점 이후 추가된 테이블 스페이스나 데이터 파일이 있을 경우
그 부분만 백업을 수행하는 기능입니다. 실습을 위해서 전체 백업을 수행 후
테이블 스페이스의 데이터 파일을 추가 한 후 이 옵션을 사용하여 백업을 수행하겠다.
그 후에 아래와 같이 test tablespace 를 신규로 생성하고
users tablespace 에 users02.dbf 를 추가 하고 기존에 존재하던 example Tablespace 에
테스트용 테이블 tt500 을 생성하고 데이터를 100 건 추가해서 내용을 변경했습니다.
즉 example Tablespace 와 같이 파일 추가 없이 내용만 변경된 것은 이 방법으로 백업 안됨.
만약 기준일을 주고 싶으면 (예를 들어 오늘을 기준으로 최근 5일 이내 추가된 파일) 아래와 같이 since 옵션을 사용하면 된다.
3) RMAN 백업 작업 진행사항 확인하기
RMAN 작업을 하다 보면 얼마나 진행되었고 얼마나 남았는지 궁금할 경우가 있다.
이럴 때는 아래의 방법으로 조회하면 결과를 알 수 있음
RMAN에서 지원하는 압축은 기본값은 BZip2 이고 ZLIB 는 옵션으로 선택할 수 있고,
BZip2 방법은 압축 효율은 가장 좋지만 , CPU 부하가 많이 걸릴수 있고 속도 느리다.
그래서 11g R1부터는 Zlib 압축이 추가가 되었는데 CPU 부하는 적고 속도는 빠르지만 압축
효율이 Bzip2 에 비해 상대적으로 좋지 못하다.
ZLIB을 사용하려면 11g 이상 Advanced Compression Option 이 설치되어야 함.
아래 실습은 전, 후 용량 비교와 RMAN의 기본압축인 BZIP2방식을 이용해서 실습하겠음.
1) 압축하지 않고 기본 모드로 전체 Database 백업 수행
RMAN > backup database format '/data/backup/rman/%T_full_%U' ;2) 압축 하면서 전체 database 백업 수행
RMAN > backup as compressed backupset database 2> format '/data/backup/rman/%T_full_comp_%U' ;3) 압축하면서 전체 Archive log file 백업
RMAN > backup as compressed backupset archivelog all 2> format '/data/backup/rman/%U_%T';
그 외 각종 백업 옵션들
1) keep - backup 수행 시 bacjupset 보존기간 설정하기
RMAN> backup as compressed backupset tablespace example 2> format '/data/backup/rman/%U_%T' 3> keep until time 'sysdate+90' ;2) not backuped up - 백업 안된 데이터파일만 골라서 백업
이 옵션은 특정 시점 이후 추가된 테이블 스페이스나 데이터 파일이 있을 경우
그 부분만 백업을 수행하는 기능입니다. 실습을 위해서 전체 백업을 수행 후
테이블 스페이스의 데이터 파일을 추가 한 후 이 옵션을 사용하여 백업을 수행하겠다.
[oracle@localhost ~]$ rman target sys/oracle RMAN > backup as compressed backupset database 2> format '/data/backup/rman/%U_%T'; Starting backup at 02-DEC-13 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=40 device type=DISK channel ORA_DISK_1: starting compressed full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00001 name=/app/oracle/oradata/testdb/system01.dbf input datafile file number=00002 name=/app/oracle/oradata/testdb/sysaux01.dbf input datafile file number=00005 name=/app/oracle/oradata/testdb/example01.dbf input datafile file number=00004 name=/app/oracle/oradata/testdb/users01.dbf input datafile file number=00003 name=/app/oracle/oradata/testdb/undotbs01.dbf ( 이하 내용은 생략합니다 )위와 같이 5개의 데이터 파일을 백업 수행했다.
그 후에 아래와 같이 test tablespace 를 신규로 생성하고
users tablespace 에 users02.dbf 를 추가 하고 기존에 존재하던 example Tablespace 에
테스트용 테이블 tt500 을 생성하고 데이터를 100 건 추가해서 내용을 변경했습니다.
RMAN> exit Recovery Manager complete. [oracle@localhost ~]$ sqlplus sys/oracle as sysdba SQL*Plus: Release 11.2.0.2.0 Production on Mon Dec 2 02:57:00 2013 Copyright (c) 1982, 2010, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SYS>create tablespace test 2 datafile '/app/oracle/oradata/testdb/test001.dbf' size 10M; Tablespace created. SYS>alter tablespace users add datafile 2 '/app/oracle/oradata/testdb/users02.dbf' size 5M; Tablespace altered. SYS>create table tt500 (no number) tablespace example; Table created. SYS>begin 2 for i in 1..100 loop 3 insert into tt500 values (i); 4 end loop; 5 commit; 6 end; 7 / PL/SQL procedure successfully completed.그 후 위 옵션을 사용하여 추가된 데이터 파일만 백업 하겠다.
SYS>exit [oracle@localhost ~]$ rman target sys/oracle RMAN> backup as compressed backupset database 2> format '/data/backup/rman/%U_%T' 3> not backed up ; Starting backup at 02-DEC-13 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=46 device type=DISK skipping datafile 1; already backed up on 02-DEC-13 skipping datafile 2; already backed up on 02-DEC-13 skipping datafile 3; already backed up on 02-DEC-13 skipping datafile 4; already backed up on 02-DEC-13 skipping datafile 5; already backed up on 02-DEC-13 channel ORA_DISK_1: starting compressed full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00006 name=/app/oracle/oradata/testdb/test001.dbf input datafile file number=00007 name=/app/oracle/oradata/testdb/users02.dbf channel ORA_DISK_1: starting piece 1 at 02-DEC-13 channel ORA_DISK_1: finished piece 1 at 02-DEC-13 piece handle=/data/backup/rman/0moqfidj_1_1_20131202 tag=TAG20131202T030211 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 02-DEC-13위와 같이 마지막 백업 후 데이터 파일이 추가된 부분만 백업이 수행됨을 확인 할 수 있다.
즉 example Tablespace 와 같이 파일 추가 없이 내용만 변경된 것은 이 방법으로 백업 안됨.
만약 기준일을 주고 싶으면 (예를 들어 오늘을 기준으로 최근 5일 이내 추가된 파일) 아래와 같이 since 옵션을 사용하면 된다.
RMAN> backup as compressed backupset database 2> format '/data/backup/rman/%U_%T' 3> not backed up since time='sysdate - 5' ;
3) RMAN 백업 작업 진행사항 확인하기
RMAN 작업을 하다 보면 얼마나 진행되었고 얼마나 남았는지 궁금할 경우가 있다.
이럴 때는 아래의 방법으로 조회하면 결과를 알 수 있음
SYS> SELECT SID, SERIAL#, CONTEXT, SOFAR, TOTALWORK, 2 ROUND(SOFAR/TOTALWORK*100,2) "%_COMPLETE" 3 FROM V$SESSION_LONGOPS 4 WHERE OPNAME LIKE 'RMAN%' 5 AND OPNAME NOT LIKE '%aggregate%' 6 AND TOTALWORK != 0 7 AND SOFAR <> TOTALWORK ; SID SERIAL# CONTEXT SOFAR TOTALWORK %_COMPLETE ---------- ---------- -------------- ------------- --------------- ----------------- 15 18683 1 57530 202640 28.39 SYS> / SID SERIAL# CONTEXT SOFAR TOTALWORK %_COMPLETE ---------- ---------- ------------- ------------- --------------- ------------------ 15 18683 1 64890 202640 32.02 … … … … … … … … … … … … … .. SYS> / no rows selected <- 작업이 완료되면 이렇게 나옴
'Oracle > Backup & Recovery' 카테고리의 다른 글
RMAN 임시경로에서 복구하기 (0) | 2014.11.14 |
---|---|
RMAN으로 복구 하기 (0) | 2014.11.14 |
RMAN 증분백업(incremental backup) (0) | 2014.11.13 |
RMAN backup 종류 (0) | 2014.11.13 |
RMAN (Recovery manager) channel 설정 (0) | 2014.11.13 |