21
RMAN 의 특징 및 기능에 대한 내부 기술자료 발표일: 2004 년 9 월 3 일 작성자 : LG 카드 중형서버운영파트 민연홍 작성일 : 2004 년 9 월 3 일 업데이트 : 2006 년 2 월 23 일 1. rman 특징 .................................................................................................................................................................................................................. 2 2. rman catalog..................................................................................................................................................................................................................... 2 3. 컨트롤 파일을 사용한 rman repository ................................................................................................................................................................... 2 4. CHANNEL 할당............................................................................................................................................................................................................. 2 5. 수동으로 디스크 IO 채널할당하기............................................................................................................................................................................ 3 6. 자동으로 채널할당하는 설정을 해주자 .................................................................................................................................................................... 3 7. rman에서 datafile정보를 얻기 .............................................................................................................................................................................. 4 8. show 명령 ........................................................................................................................................................................................................................ 5 9. list 명령 ............................................................................................................................................................................................................................ 6 10. report 명령..................................................................................................................................................................................................................... 6 11. 백업................................................................................................................................................................................................................................. 7 12. backup 상황을 있는 동적view .................................................................................................................................................................. 7 13. fuz 컬럼은 백업모드 인지 보여줌 ........................................................................................................................................................................... 8 14. rman 백업 설명 ......................................................................................................................................................................................................... 9 15.backup set 아래와 같이 백업셋을 지정해줄 있다. .......................................................................................................................................... 9 16. backup piece ................................................................................................................................................................................................................ 10 17. rman backup option ................................................................................................................................................................................................ 11 18. 채널을 분산시켜서 빠른 백업이 가능하게 한다. ............................................................................................................................................... 13 19. archive log file까지 백업가능하다. .......................................................................................................................................................................... 13 20. copy 명령을 통한 백업( backup 명령이 아닌 이러한 명령도 가능하다) ..................................................................................................... 14 21. 병렬식 이미지 백업(copy) ....................................................................................................................................................................................... 14 22 incremental backup ..................................................................................................................................................................................................... 15 23. rman이용해서 tablespace 복구 하는 방법 ..................................................................................................................................................... 17 24. 새로운 이름을 데이터파일을 RESTORE 하고 RECOVER 하기..................................................................................................................... 17 25. RMAN통해서 불완전 복구하기 ........................................................................................................................................................................ 18 26. cross check 해서 sync맞추기 ............................................................................................................................................................................. 19 27. delete 명령................................................................................................................................................................................................................... 20 28. catalog DB 에서(RMANDB DB) RMAN catalog생성하고, catalog 이용해서 접속한 database등록하기 ......................... 20

RMAN 스터디자료 공개용 060223rman은 database , tablespace, datafile, 컨트롤 파일, archive log 를 백업가능 백업 복구의 자동으로 수행 incremental 블록

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: RMAN 스터디자료 공개용 060223rman은 database , tablespace, datafile, 컨트롤 파일, archive log 를 백업가능 백업 복구의 자동으로 수행 incremental 블록

RMAN 의 특징 및 기능에 대한 내부 기술자료

발표일: 2004 년 9 월 3 일

작성자 : LG 카드 중형서버운영파트 민연홍

작성일 : 2004 년 9 월 3 일

업데이트 : 2006 년 2 월 23 일

목 차

1. rman 의 특징 .................................................................................................................................................................................................................. 2

2. rman catalog..................................................................................................................................................................................................................... 2

3. 컨트롤 파일을 사용한 rman repository ................................................................................................................................................................... 2

4. CHANNEL 할당............................................................................................................................................................................................................. 2

5. 수동으로 디스크 IO 채널할당하기............................................................................................................................................................................ 3

6. 자동으로 채널할당하는 설정을 해주자 .................................................................................................................................................................... 3

7. rman에서 datafile의 정보를 얻기 .............................................................................................................................................................................. 4

8. show 명령 ........................................................................................................................................................................................................................ 5

9. list 명령 ............................................................................................................................................................................................................................ 6

10. report 명령..................................................................................................................................................................................................................... 6

11. 백업................................................................................................................................................................................................................................. 7

12. backup 상황을 알 수 있는 동적view .................................................................................................................................................................. 7

13. fuz 컬럼은 백업모드 인지 보여줌 ........................................................................................................................................................................... 8

14. rman 백업 설명 ......................................................................................................................................................................................................... 9

15.backup set 아래와 같이 백업셋을 지정해줄 수 있다. .......................................................................................................................................... 9

16. backup piece ................................................................................................................................................................................................................ 10

17. rman backup option ................................................................................................................................................................................................ 11

18. 채널을 분산시켜서 빠른 백업이 가능하게 한다. ............................................................................................................................................... 13

19. archive log file까지 백업가능하다. .......................................................................................................................................................................... 13

20. copy 명령을 통한 백업( backup 명령이 아닌 이러한 명령도 가능하다) ..................................................................................................... 14

21. 병렬식 이미지 백업(copy) ....................................................................................................................................................................................... 14

22 incremental backup ..................................................................................................................................................................................................... 15

23. rman을 이용해서 tablespace 복구 하는 방법 ..................................................................................................................................................... 17

24. 새로운 이름을 데이터파일을 RESTORE 하고 RECOVER 하기..................................................................................................................... 17

25. RMAN을 통해서 불완전 복구하기 ........................................................................................................................................................................ 18

26. cross check 해서 sync를 맞추기 ............................................................................................................................................................................. 19

27. delete 명령 ................................................................................................................................................................................................................... 20

28. catalog DB 에서(RMANDB DB) RMAN catalog를 생성하고, catalog 를 이용해서 접속한 후 database를 등록하기 ......................... 20

Page 2: RMAN 스터디자료 공개용 060223rman은 database , tablespace, datafile, 컨트롤 파일, archive log 를 백업가능 백업 복구의 자동으로 수행 incremental 블록

1. rman 의 특징

rman 은 database , tablespace, datafile, 컨트롤 파일, archive log 를 백업가능

백업 복구의 자동으로 수행

incremental 블록 백업 수행

unused block 를 넘어감

backup 의 제한을 걸어놓고 사용가능(예를들어 초당 3 메가씩 등등)

2. rman catalog

만약에 백업된 것이 날라간다면? control file 이 날라가면 rman 작업도 날라간다. 그러므로 백업된 것까지

catalog 를 다른 원격지 컴에 만들어야 한다. (원격지의 repository 에 recovery catalog 를 만들어야..)

$ rman target sys/oracle@mydb catalog raser/raser@catalog

-> mydb 라는 호스트 데이터베이스에 백업을 하면서 카탈로그로 catalog 호스트에 백업을 하는 것으로

접속하기

3. 컨트롤 파일을 사용한 rman repository

rman repository 는 target database 와 복구에 대한 메타데이터이다.

rman repository 는 항상 target database 의 컨트롤 파일에 저장된다.

CONTROL_FILLE_RECORD_KEEP_TIME 은 DEFAULT 값이 7 일이다. 즉 7 일 이후엔 백업한 내역이

사라지게 된다. 지정할 경우 그 날짜가 지나면 백업 내역이 지워진다.

4. CHANNEL 할당

disk 의 io 가 일어나면 channel 을 할당해줘야 한다.

Page 3: RMAN 스터디자료 공개용 060223rman은 database , tablespace, datafile, 컨트롤 파일, archive log 를 백업가능 백업 복구의 자동으로 수행 incremental 블록

5. 수동으로 디스크 IO 채널할당하기

6. 자동으로 채널할당하는 설정을 해주자

- configure defautl device type to sbt; 에서 sbt 는 tape 장치를 의미한다. 즉 기본적인 default

백업장치를 지정해주는 것이다.

- configure device type disk parallelism 3; 에서 디바이스로 디스크를 쓸 경우 병렬식으로 3 개의 채널을

할당해서 쓰겠다는 설정명령이다.

- configure channel device type disk format = '/backup/rman/%U'; 에서 디스크에 채널을 할당하면서

포멧을 지정하겠다는 설정명령이다.

- configure channel device type disk maxpiecessize 2G; 디스크에 채널을 할 당시 piece 를 지정하는데

Page 4: RMAN 스터디자료 공개용 060223rman은 database , tablespace, datafile, 컨트롤 파일, archive log 를 백업가능 백업 복구의 자동으로 수행 incremental 블록

하나의 백업본당 2G 의 크기를 준다는 설정명령이다. 즉 2G 가 넘어가면 2G 씩 백업된다.

백업그룹과 piece 의 관계는.. 뒤에서 알아보자

7. rman에서 datafile의 정보를 얻기

rman> report schema;

- configure channel device type disk format '/db01/backup/%U'; 포멧을 지정해준다. 자동채널 할당

참고 %d : db name , %s : backup set , %p : backup piece, %c : backup copy

- configure retention policy to recovery window of 7 days; 복구를 위한 백업을 유지해주는 기간 설정

- configure retention policy to redundancy 2; default 는 1 이다.

- configure retention policy clear ; retention policy 정보를 clear

Page 5: RMAN 스터디자료 공개용 060223rman은 database , tablespace, datafile, 컨트롤 파일, archive log 를 백업가능 백업 복구의 자동으로 수행 incremental 블록

- configure datafile backup copies form device type disk to 2;

백업의 복사본을 2 개로 만들겠다는 설정명령. Format 에서 %c 가 있어야 중복되지 않으므로

에러가 발생하지 않는다.

- configure backup optimization on ; backup 시 optimize 시킴

- configure retention policy clear; retention policy 를 clear (backup 유지기간 설정을 clear)

- configure channel device type sbt clear ; configure

8. show 명령

: show all 명령을 하면 모두 보인다. 아래는 특정한 것만 볼 경우 사용

Page 6: RMAN 스터디자료 공개용 060223rman은 database , tablespace, datafile, 컨트롤 파일, archive log 를 백업가능 백업 복구의 자동으로 수행 incremental 블록

9. list 명령

- list backup of database; 데이터베이스 백업 정보를 출력한다.

- list backup of datafile ~ : 데이터파일 백업 정보를 출력한다.

- List copy of tablespace “ system” : system tablespace 가 copy 명령으로 백업되었는지 확인한다.

10. report 명령

- report need backup incremental 3 ; incremental level 3 일 경우 백업이 필요한지 report

참고> backup database incremental level 0 이면 전체백업

incremental level 1 이면 level 0 으로 백업 후 변경된 데이터만을 백업

incremental level 2 이면 level 1 으로 백업 후 변경된 데이터만을 백업하거나

level 0 으로 백업되어 있다면 0 으로 백업한 이후의 데이터를 백업

- report need backup days 3 ;

3 일이 지났을 경우 백업이 필요한 것을 report ;

만약 retention policy 에 의해서 backup 한 것이 기간이 지났을 경우,

여기에 report 됨.

Page 7: RMAN 스터디자료 공개용 060223rman은 database , tablespace, datafile, 컨트롤 파일, archive log 를 백업가능 백업 복구의 자동으로 수행 incremental 블록

11. 백업

- online redolog file 은 rman 백업의 대상이 아니다. rman 에서는 redolog file 은 백업대상이 아니며

그룹이 삭제되었을 경우에는 복구를 수행해야 한다.

- 백업은 datafile , tablespace , database 전체 백업이 있다. 컨트롤 파일의 경우엔 따로

backup 시에 include current controlfile 옵션을 주어야 한다.

12. backup 상황을 알 수 있는 동적 view

Page 8: RMAN 스터디자료 공개용 060223rman은 database , tablespace, datafile, 컨트롤 파일, archive log 를 백업가능 백업 복구의 자동으로 수행 incremental 블록

13. fuz 컬럼은 백업모드 인지 보여줌

- alter tablespace end backup dmf 명령을 하면 fuz 컬럼이 변경

Page 9: RMAN 스터디자료 공개용 060223rman은 database , tablespace, datafile, 컨트롤 파일, archive log 를 백업가능 백업 복구의 자동으로 수행 incremental 블록

14. rman 백업 설명

- recovery manager 를 통해서

1) datafile, controlfile, archive logfile 의 image copy

2) backup set 을 통한 datafile 의 backup 이 가능하다. ( unused block 은 무시해버린다.)

15.backup set 아래와 같이 백업셋을 지정해줄 수 있다.

백업셋은 한번 백업하여 생성된 집합을 말한다.

예를들어 1>RMAN> backup tablespace users, tools ;

2>RMAN> backup database ;

명령을 했을 경우 1>RMAN 명령으로 backup set 이 하나가 생성되고, 2>RMAN 명령으로

다른 하나의 backup set 이 생성된다.

Page 10: RMAN 스터디자료 공개용 060223rman은 database , tablespace, datafile, 컨트롤 파일, archive log 를 백업가능 백업 복구의 자동으로 수행 incremental 블록

16. backup piece

Backup piece 는 backupset 을 특정 크기로 파일을 나눈다. 단 이 파일은 데이터파일과는 상관이 없으며,

데이터파일과는 상관없이 RMAN 에서 독립적으로 나누는 백업파일이다.

Backup piece 의 크기를 조절해서 백업 디바이스에 나누어서 들어갈 수 있도록 설정할 수 있다.

fileperset 에서 하나의 백업셋당 테이터파일이 얼만큼 들어갈 수 있는지 지정할 수 있다.

Page 11: RMAN 스터디자료 공개용 060223rman은 database , tablespace, datafile, 컨트롤 파일, archive log 를 백업가능 백업 복구의 자동으로 수행 incremental 블록

17. rman backup option

Page 12: RMAN 스터디자료 공개용 060223rman은 database , tablespace, datafile, 컨트롤 파일, archive log 를 백업가능 백업 복구의 자동으로 수행 incremental 블록

- backup piece size 를 정해서 나누어주는 역할을 해준다.

Page 13: RMAN 스터디자료 공개용 060223rman은 database , tablespace, datafile, 컨트롤 파일, archive log 를 백업가능 백업 복구의 자동으로 수행 incremental 블록

18. 채널을 분산시켜서 빠른 백업이 가능하게 한다.

19. archive log file까지 백업가능하다.

Page 14: RMAN 스터디자료 공개용 060223rman은 database , tablespace, datafile, 컨트롤 파일, archive log 를 백업가능 백업 복구의 자동으로 수행 incremental 블록

20. copy 명령을 통한 백업( backup 명령이 아닌 이러한 명령도 가능하다)

21. 병렬식 이미지 백업(copy)

Page 15: RMAN 스터디자료 공개용 060223rman은 database , tablespace, datafile, 컨트롤 파일, archive log 를 백업가능 백업 복구의 자동으로 수행 incremental 블록

22 incremental backup

- incremental backup을 하면 기존의 백업에서 추가된 데이터만 백업을 받을 수 있다.

Incremental level 은 0부터 4까지이다. Level 0은 전체 database backup을 의미하며

숫자가 높아질수록 백업 데이터량이 적어진다. (순위가 낮아짐)

- 실행하고자 하는 backup level보다, 이전에 실시했던 backup level이 작으면

그 이후의 데이터에 대해서만 백업을 한다. 만약 이전에 실시했던 backup level이 크면

무시하고 더 이전의 백업을 찾아서 자신의 backup level보다 작은 것을 찾아서 찾게 되면

그 이후의 데이터에 대해서만 백업을 진행한다. 만약 level 0 (=full backup)이 없다면

자신의 level이 0이 아닐 지라도 level 0 처럼 full backup을 받는다.

실행하고자 하는 backup level 이 이전의 backup level과 같을 경우, 이전의 backup을 찾는

Page 16: RMAN 스터디자료 공개용 060223rman은 database , tablespace, datafile, 컨트롤 파일, archive log 를 백업가능 백업 복구의 자동으로 수행 incremental 블록

것이 아니라, 같은 backup level 의 백업 이후 늘어난 데이터에 대해서만 백업을 한다.

- 위 그림에서 일요일에는 level 0 으로 backup을 받았으며

월요일에는 level 2 으로 backup을 하므로 lelel 0 이후의 백업을 받게 된다.

화요일에는 level 2 으로 backup을 하였으며 level이 같은 경우엔 같은 lelve l으로

백업한 이후의 늘어난 데이터를 추가로 다운로드 받게 된다.

수요일에는 level1으로 backup을 하였으며 level1 은 level2보다 크고, level0 보다

작으므로 level0이후 늘어난 데이터에 대해서 백업을 받는다.

목요일은 level2로 backup을 하였으며, 수요일에 level 0으로 백업을 받았으므로

수요일 level0 이후의 데이터에 대해서 백업을 한다.

예>

. Full Backup with catalog

1) incremental Base Backup 을 위한 stored script 를 작성한다. (inc0back)

RMAN> create script inc0back

{ backup incremental level 0 database; }

2) inc0back 를 실행한다.

RMAN> run { execute script inc0back; }

3) DB 에 변경작업을 한다.

sql> conn hr/hr

sql> update employees set salary=salary*1.1;

sql> commit;

4) Level 1 incremental backup script 를 작성한다.(inc1back)

RMAN> create script inc1back

{ backup incremental level 1 database; }

5) inc1back 을 실행한다.

RMAN> run { execute script inc0back; }

## rman 을 이용한 완전복구

Page 17: RMAN 스터디자료 공개용 060223rman은 database , tablespace, datafile, 컨트롤 파일, archive log 를 백업가능 백업 복구의 자동으로 수행 incremental 블록

23. rman을 이용해서 tablespace 복구 하는 방법

24. 새로운 이름을 데이터파일을 RESTORE 하고 RECOVER 하기

디스크 FAILURE로 인해서 다른 위치에 데이터파일을 위치시켰을 경우

Page 18: RMAN 스터디자료 공개용 060223rman은 database , tablespace, datafile, 컨트롤 파일, archive log 를 백업가능 백업 복구의 자동으로 수행 incremental 블록

25. RMAN을 통해서 불완전 복구하기

1) until time 시간단위 복구

2) sequence number까지 복구하기

Page 19: RMAN 스터디자료 공개용 060223rman은 database , tablespace, datafile, 컨트롤 파일, archive log 를 백업가능 백업 복구의 자동으로 수행 incremental 블록

26. cross check 해서 sync를 맞추기

(실재로 예전에 백업했던 것이 존재하는가? 없지는 않는가?)

예>

RMAN> crosscheck backupset;

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=9 devtype=DISK

crosschecked backup piece: found to be 'EXPIRED'

backup piece handle=/data/DBMS/oradata/sbackupmin/02g16m6o_1_1 recid=1 stamp=538138840

crosschecked backup piece: found to be 'EXPIRED'

backup piece handle=/data/DBMS/oradata/sbackupmin/03g16uos_1_1 recid=1 stamp=538147612

Crosschecked 2 objects

expire되었다. 즉 실재로 데이터가 없다.

RMAN> delete expired backupset;

using channel ORA_DISK_1

List of Backup Pieces

BP Key BS Key Pc# Cp# Status Device Type Piece Name

------- ------- --- --- ----------- ----------- ----------

13 12 1 1 EXPIRED DISK /data/DBMS/oradata/sbackupmin/02g16m6o_1_1

Page 20: RMAN 스터디자료 공개용 060223rman은 database , tablespace, datafile, 컨트롤 파일, archive log 를 백업가능 백업 복구의 자동으로 수행 incremental 블록

79 78 1 1 EXPIRED DISK /data/DBMS/oradata/sbackupmin/03g16uos_1_1

Do you really want to delete the above objects (enter YES or NO)? y

deleted backup piece

backup piece handle=/data/DBMS/oradata/sbackupmin/02g16m6o_1_1 recid=1 stamp=538138840

deleted backup piece

backup piece handle=/data/DBMS/oradata/sbackupmin/03g16uos_1_1 recid=1 stamp=538147612

Deleted 2 EXPIRED objects

RMAN>

27. delete 명령

( 백업된 것을 지우거나, 정책에 쓸모 없는 것을 지우기)

28. catalog DB 에서(RMANDB DB) RMAN catalog를 생성하고, catalog 를 이용해서

접속한 후 database를 등록하기

(아래에서 MIN db가 target DB, RMANDB DB가 catalog DB)

‘MIN DB $ rman target system/oracel ‘ 명령을 통해서 rman에 접속해서 사용할 경우 , backup data는

백업할 대상의 컨트롤 파일에 저장된다. 만약 컨트롤 파일이 날라갔을 경우엔 backup 된 정보가 하나도 없으므로

복구가 불가능해진다. 그래서 backup 에 대해서 외부 다른 DB(RMANDB DB)에 catalog를 생성하고

MIN DB $ rman target system/oracle catalog urman/urman@RMANDB

으로 catalog를 통해서 rman에 접속 한 후 backup을 하게 되면 외부의 다른 DB (RMANDB DB)에 MIN db의

백업된 정보가 저장이 된다. 즉 MIN DB의 컨트롤파일이 깨질지라도 CATALOG db에는 백업된 정보가

있으므로 복구가 가능해진다.

예>

(RMANDB DB)

SQL> create tablespace rcat datafile '/opt/oracle/oradata/RMANDB/Disk6/rcat.dbf' size 50M;

Page 21: RMAN 스터디자료 공개용 060223rman은 database , tablespace, datafile, 컨트롤 파일, archive log 를 백업가능 백업 복구의 자동으로 수행 incremental 블록

SQL> create user urman identified by urman

default tablespace rcat

temporary tablespace temp;

SQL> grant connect, resource, recovery_catalog_owner to rman;

RMANDB@~~$ rman catalog rman/rman@RMANDB

RMAN> create catalog tablespace rcat;

RMAN> exit

(MIN DB)

MIN@~ $ rman target \'sys/change_on_install as sysdba\' catalog rman/rman@RMANDB

RMAN> register database;