rman backup and recovery - wordpress.com · 2013-03-25 · rman components 5 rman backup disk...

14
RMAN Backup and Recovery Seungtaek Lee(放浪DBA)

Upload: others

Post on 24-Mar-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: RMAN Backup and Recovery - WordPress.com · 2013-03-25 · RMAN Components 5 RMAN Backup Disk Server Session 1st Default Channel Polling Channel Input Input Buffers Output Buffers

RMAN Backup and Recovery

Seungtaek Lee(放浪DBA)

Page 2: RMAN Backup and Recovery - WordPress.com · 2013-03-25 · RMAN Components 5 RMAN Backup Disk Server Session 1st Default Channel Polling Channel Input Input Buffers Output Buffers

User-managed Backup vs Server-managed Backup

2

단계 Inconsistency 현상 User-managed Backup Server-managed Backup (RMAN)

시작 . File Header Inconsistency : Backup 수행 시 File Header부터 Copy하지 않을 경우 복구 시에 Redo Log 적용 시작 시점을 알 수 없음

. 수동으로 Begin Backup command수행

. Data File Header에 Hot Backup Fuzzy Bits(0x01)이 설정됨. . Tablespace/Database단위로 Checkpoint 발생 . Data File Header의 Checkpoint SCN을 Backup이 끝날 때까지 고정 시킴. → 복구 시 Backup File의 Checkpoint SCN이 Redo Log 적용 시작 시점이 됨

. Data File 단위로 Checkpoint 발생

. Backup 시작 시점의 Checkpoint SCN이 Backup Set일 경우 메모리(Large Pool/Shared Pool)에 기록되고 Image Copy일 경우 Backup본의 Header Block에 기록된다. → 복구 시 Checkpoint SCN이 Redo Log 적용 시작 시점이 됨 . Backup 수행 중에 Data File Header의 Checkpoint SCN은 Checkpoint 발생 때 변한다.

수행 . Block Inconsistency : Backup IO 단위와 Oracle Block 단위 차이 때문에 Backup Block이 손상됨 (Fractured Block)

. 해당 Block에 Transaction 발생 시 최초 한번은 Block Image Redo Record 생성(OPCODE:18.1)

. Oracle Block Size의 배수로 Backup 수행하고 Block 손상 유무 확인함

종료 . Backup Inconsistency : Backup 종료 시점을 알 수 없어서 Redo Log 최소 적용 시점을 알 수 없음

. 수동으로 End Backup command수행

. Redo log에 Hot Backup end marker 생성 → 복구 시 Consistency 보장을 위한 최소 복구 시점 임. (Recovery 수행 시 해당 marker를 만나면 Hot Backup Fuzzy Bits설정이 해제되고 DB Open이 가능함) . Data File Header에 Hot Backup Fuzzy Bits설정이 해제됨

. Backup본의 Block SCN중에서 가장 높은 SCN(Absolute Fuzzy SCN)이 Backup 시작시점의 SCN(Checkpoint SCN)과 함께 Backup 본의 Header Block에 기록됨. → Backup본 Header에 기록된 Absolute Fuzzy SCN이 복구 Consistency 보장을 위한 최소 복구 시점임.

Page 3: RMAN Backup and Recovery - WordPress.com · 2013-03-25 · RMAN Components 5 RMAN Backup Disk Server Session 1st Default Channel Polling Channel Input Input Buffers Output Buffers

More Redo Log during User-managed Backup

3

SQL> update test set a='CI-TEC' where a='TEC'; SQL> alter tablespace users end backup;

REDO RECORD - Thread:1 RBA: 0x000588.00000002.0010 LEN: 0x2050 VLD: 0x05 SCN: 0x0000.002cff6e SUBSCN: 2 04/27/2010 08:45:13 CHANGE #1 TYP:3 CLS: 1 AFN:4 DBA:0x0100c2e1 OBJ:55790 SCN:0x0000.002cfed7 SEQ: 1 OP:18.1 Log block image redo entry Dump of memory from 0xAEDEF220 to 0xAEDF1208 AEDEF220 00000001 0000D9EE 002CFED5 00000000 [..........,.....] AEDEF230 00320002 0100C28A 00230007 0000033A [..2.......#.:...] AEDEF240 008001F4 00140201 00008000 002C8D7A [............z.,.] AEDEF250 00260008 00000432 008009A9 000F03C5 [..&.2...........] AEDEF260 00002001 002CFED7 00000000 00000000 [. ....,.........] AEDEF270 00030100 00180001 1F6B1F6C 00001F6B [........l.k.k...] AEDEF280 1F8C0003 1F6CFFFF 00000000 00000000 [......l.........] AEDEF290 00000000 00000000 00000000 00000000 [................] Repeat 499 times

REDO RECORD - Thread:1 RBA: 0x000588.00000012.0160 LEN: 0x01b0 VLD: 0x01 SCN: 0x0000.002cff6e SUBSCN: 3 04/27/2010 08:45:13 CHANGE #1 TYP:0 CLS:27 AFN:2 DBA:0x00800059 OBJ:4294967295 SCN:0x0000.002cff21 SEQ: 1 OP:5.2 ktudh redo: slt: 0x001b sqn: 0x00000439 flg: 0x0012 siz: 156 fbi: 0 uba: 0x008008ad.027a.2a pxid: 0x0000.000.00000000 CHANGE #2 TYP:0 CLS:28 AFN:2 DBA:0x008008ad OBJ:4294967295 SCN:0x0000.002cff20 SEQ: 1 OP:5.1 ktudb redo: siz: 156 spc: 488 flg: 0x0012 seq: 0x027a rec: 0x2a xid: 0x0006.01b.00000439 ktubl redo: slt: 27 rci: 0 opc: 11.1 objn: 55789 objd: 55790 tsn: 4 Undo type: Regular undo Begin trans Last buffer split: No Temp Object: No Tablespace Undo: No 0x00000000 prev ctl uba: 0x008008ad.027a.29 …………. KDO Op code: URP row dependencies Disabled xtype: XA flags: 0x00000000 bdba: 0x0100c2e1 hdba: 0x010001ab itli: 1 ispac: 0 maxfr: 4858 tabn: 0 slot: 2(0x2) flag: 0x2c lock: 0 ckix: 10 ncol: 1 nnew: 1 size: -3 col 0: [ 3] 54 45 43 -> TEC CHANGE #3 TYP:2 CLS: 1 AFN:4 DBA:0x0100c2e1 OBJ:55790 SCN:0x0000.002cfed7 SEQ: 1 OP:11.5 KTB Redo op: 0x11 ver: 0x01 op: F xid: 0x0006.01b.00000439 uba: 0x008008ad.027a.2a Block cleanout record, scn: 0x0000.002cff6e ver: 0x01 opt: 0x02, entries follow... itli: 2 flg: 2 scn: 0x0000.002cfed7 KDO Op code: URP row dependencies Disabled xtype: XA flags: 0x00000000 bdba: 0x0100c2e1 hdba: 0x010001ab itli: 1 ispac: 0 maxfr: 4858 tabn: 0 slot: 2(0x2) flag: 0x2c lock: 1 ckix: 10 ncol: 1 nnew: 1 size: 3 col 0: [ 6] 43 49 2d 54 45 43 -> CI-TEC

REDO RECORD (112bytes) : End Backup Redo Record CHANGE#1 : End backup marker

REDO RECORD - Thread:1 RBA: 0x000588.00000015.0010 LEN: 0x0070 VLD: 0x05 SCN: 0x0000.002cff74 SUBSCN: 1 04/27/2010 08:45:21 CHANGE #1 MEDIA RECOVERY MARKER SCN:0x0000.00000000 SEQ: 0 OP:17.1 End backup marker - file:4 scn: 0x0000.002cff5c

REDO RECORD (8272bytes)

: Block Image Redo Record

추가 Redo Record

CHANGE#1

: Block Image Dump 생성

REDO RECORD (432bytes)

: Data 변경 Redo Record

CHANGE#1

: Rollback Segment 의 Header Block 변경

Transaction Table

CHANGE#2

: Rollback Segment의 Undo Block 변경

TEC

CHANGE#3

: Data Block 변경

CI-TEC

REDO RECORD (112bytes)

: End Backup Redo Record

CHANGE#1

: End backup marker

Page 4: RMAN Backup and Recovery - WordPress.com · 2013-03-25 · RMAN Components 5 RMAN Backup Disk Server Session 1st Default Channel Polling Channel Input Input Buffers Output Buffers

RMAN Backup & Recovery Process

4

Header SCN

Block 1 SCN

Block 2 SCN

Block 3 SCN

Block 4 SCN

Block 5 SCN

38 37 39 37 38 36

Header SCN

Block 1 SCN

Block 2 SCN

Block 3 SCN

Block 4 SCN

Block 5 SCN

38 37 34 37 38 36

Header SCN

Block 1 SCN

Block 2 SCN

Block 3 SCN

Block 4 SCN

Block 5 SCN

36 37 34 37 35 35

Header SCN

Block 1 SCN

Block 2 SCN

Block 3 SCN

Block 4 SCN

Block 5 SCN

36 34 34 35 35 35

Header SCN

Block 1 SCN

Block 2 SCN

Block 3 SCN

Block 4 SCN

Block 5 SCN

31 30 34 30 34 34

Block 1 SCN

Block 2 SCN

Block 3 SCN

Block 4 SCN

Block 5 SCN

Header SCN

34 34 37 38 36 36 38

Fuzzy

CKPT

Fuzzy

CKPT

Fuzzy

Block 1 SCN

Block 2 SCN

Block 3 SCN

Block 4 SCN

Block 5 SCN

34 34 37 38 36

Block 1 SCN

Block 2 SCN

Block 3 SCN

Block 4 SCN

34 34 37 38

Block 1 SCN

Block 2 SCN

34 34

Block 1 SCN

34

Header SCN

36

Fuzzy

Absolute Fuzzy SCN Checkpoint SCN

Header SCN

Block 1 SCN

Block 2 SCN

Block 3 SCN

Block 4 SCN

Block 5 SCN

36 38

34 34 37 38 36

Header SCN

Block 1 SCN

Block 2 SCN

Block 3 SCN

Block 4 SCN

Block 5 SCN

38 37 34 37 38 36 Consistency

Online Data File

Backup Set

Restored Data File

③ Recovery

① Online Backup

② Restore

Large Pool

Step Description

Online Backup

RMAN Online Backup이 시작되면 해당 Data File에 대해 Checkpoint를 발생시킨다. 이때의 Checkpoint SCN이 기 록 된 Data File Header Block 을 Large Pool 메모리에 Copy한다. 이후 순서대로 Block을 읽어 Backup Set에 저장한다. Backup 종료시점에 Backup Set Block의 가장 높은 SCN(Absolute Fuzzy SCN)을 Header Block에 업데이터하여 Backup Set 끝 부 분 에 Header Block을 추가한다. (V$BACKUP_DATAFILE. ABSOLUTE_FUZZY_CHANGE#)

Recovery

Recovery시에는 Header Block에 기록 된 Checkpoint SCN 부 터 Redo Record를 적용한다. Absolute Fuzzy SCN 까 지 Redo Record가 적용되면 Fuzzy Bit이 없어지고 DB를 Open할 수 있다.

RMAN Image Copy

Image Copy 백업도 Backup Set 백업과 거의 동일하게 수행된다 . 단 Header Block을 Image Copy본 앞부분에 가장 먼저 저장한다 .(Image Copy본은 Data File과 똑 같은 구조로 만들기 때문에 Restore없이 경로만 바꾸어 사용할 수도 있다 .) 그리고 Backup 종료 시점에 Absolute Fuzzy SCN을 Image Copy Header Block에 업데이트한다. 이 때문에 Image Copy본은 Tape 백업이 지원되지 않는다.

Page 5: RMAN Backup and Recovery - WordPress.com · 2013-03-25 · RMAN Components 5 RMAN Backup Disk Server Session 1st Default Channel Polling Channel Input Input Buffers Output Buffers

RMAN Components

5

RMAN

Backup

Disk

Server Session

1st Default

Channel

Polling

Channel

Input

Buffers

Output

Buffers

Allocated

Channel

MML

Client

MML

Server

Components Description

1st Default Channel Backup을 제외한 모든 작업을 수행하는 Channel (ex cmpatibility 확 인 SQL 문 수행,control file 조회 등

Polling Channel Allocated Channel 할당을 위한 Channel

Allocated Channel Backup/Restore를 실제 수행하는 Channel

Input Buffers - Validate, Compression, Encryption - 4 per datafile - Normally 1MB per Channel

Output Buffers - 4 per channel - DISK : 1MB per Channel - SBT: 256KB per Channel

Target

DB

Target

Controlfile Catalog

DB

Server

Session

Page 6: RMAN Backup and Recovery - WordPress.com · 2013-03-25 · RMAN Components 5 RMAN Backup Disk Server Session 1st Default Channel Polling Channel Input Input Buffers Output Buffers

RMAN Buffers

6

PGA/SGA

Input Buffer

Buffer Size Parameter Buffer 수 Buffer 위치

256 KB (Output) 128 KB (Input)

PARMS=BLKSIZE 11gR2:_BACKUP_SEQ_BUFSZ

11gR2:_BACKUP_SEQ_BUFCNT

SIO : PGA AIO : Large Pool

Input Buffer Input Buffer Input Buffer

Read I/O Read I/O Read I/O Read I/O

Write I/O

_BACKUP_KSFQ_BUFCNT (Default 16)

_BACKUP_KSFQ_BUFSZ _BACKUP_KSFQ_BUFSZ _BACKUP_KSFQ_BUFSZ _BACKUP_KSFQ_BUFSZ

Validate (and Compress,

Encryption) and Copy to

Output Buffer

Output Buffer

BLKSIZE Output Buffer

BLKSIZE Output Buffer

BLKSIZE Output Buffer

SBT : 256KB (BLKSIZE)

DISK : 1MB

4

Tape Buffer

Multiplexing MIN(MAXOPENFILES,FILEPERSET)

Buffer Size

Multiplexing ≤ 4 1 MB

4 > Multiplexing ≤ 8 512 KB

Multiplexing > 8 128 KB

Disk Buffer

Device Type #Buffers Per Channel Buffer Size Total Buffer Size

Output 4 (_BACKUP_KSFQ_BUFCNT)

1 MB (_db_file_direct_io_count)

4MB

Page 7: RMAN Backup and Recovery - WordPress.com · 2013-03-25 · RMAN Components 5 RMAN Backup Disk Server Session 1st Default Channel Polling Channel Input Input Buffers Output Buffers

Validate Backup

• Checksum

- Default로 모든 Backup Block에 대해 Block Header에 Checksum값을 기록한다.

- 해당 Block에 이미 Checksum값이 있으면 (db_block_checksum 설정)

Checksum값 기록을 생략한다.

- 주로 physical(OS/HW) 문제로 인한 corruption(Faulty Disk, Faulty Memory, Header/Footer of block mismatch 등)을 detect 할 수 있다.

- NOCHECKSUM 구문으로 기능을 disable 시킬 수 있다.(not recommend)

• Logical Block Check

• - CHECK LOGICAL 구문으로 기능을 enable 한다.(default는 disable)

• - Logical 및 Physical Corruption을 Detect 할 수 있다.

(ex. Row Piece, Index Entry Corruption 등)

- 약간의 Overhead 발생 (1~10%)

7

Page 8: RMAN Backup and Recovery - WordPress.com · 2013-03-25 · RMAN Components 5 RMAN Backup Disk Server Session 1st Default Channel Polling Channel Input Input Buffers Output Buffers

Compressed Backup

• Null Block Compression

- 모든 Block을 Read 한 후 한번도 Data가 저장된적인 없는 Block(Null Block)만 Backup시 Skip함(truncate/drop/shrink 되어도 skip안됨)

• Unused Block Compression

• - LMT Bitmap 정보를 읽은 후 현재 사용중인 Block만 Read한 후 Backup함

(truncate/drop purge/shrink skip됨)

• - 아래 조건이 모두 만족되어야 수행됨

COMPATIBLE ≥ 10.2

DB Version ≥ 10.2.0.2

RMAN DISK Backup or OSB Tape Backup (3rd Party Tape Backup은 지원안함)

Locally Managed Tablespace

Not Exist GRPs (Guaranteed Restore Points)

Backup Set as Part of a Full Backup (level 0)

• Binary Compression

• BACKUP AS COMPRESSED BACKUPSET Command로 수행

8

Page 9: RMAN Backup and Recovery - WordPress.com · 2013-03-25 · RMAN Components 5 RMAN Backup Disk Server Session 1st Default Channel Polling Channel Input Input Buffers Output Buffers

Duplicate Database/TSPITR

9

RMAN

Target

DB

Duplicate

Database

Connect Target

Connect Auxiliary

connect target sys/q1w2e3r4@MOS15K;

connect rcvcat rman5/rman5@swbck2;

connect auxiliary /;

run

{

allocate auxiliary channel t1 type 'SBT_TAPE';

allocate auxiliary channel t2 type 'SBT_TAPE';

send 'NSR_ENV=(NSR_SERVER=kmbck2, NSR_CLIENT=dmos15d1)';

duplicate target database to 'MOSTEST' skip tablespace

APC,APC_I,COMPTXN,COMPTXN_I,EDCOL,EDCOL_I,EXTTXN,EXTTXN_I,EXT_OTHERS,EXT_OTHERS_I,

LEGACY,LEGACY_I,WORKTXN,WORKTXN_I,OTHERS,OTHERS_I,PARAMETER,PARAMETER_I,RPT,RPT_I,

SCHEDULE,SCHEDULE_I,TS_CUR_1,TS_CUR_1_IDX,TS_EQP_HIST_1,TS_EQP_HIST_1_IDX,TS_LOT_HIST_1,

TS_LOT_HIST_1_IDX,TS_LOT_HIST_2,TS_LOT_HIST_2_IDX,TS_LOT_HIST_3,TS_LOT_HIST_3_IDX,

WORKMAN,WORKMAN_I ;

release channel t1;

release channel t2;

}

• Duplicate Database

- RMAN의 백업파일을 이용하여 별도의 DB를 자동으로 생성/Open해주는 RMAN 기능

- 특정 시점 테이블 복구, 테스트 DB 구성, Standby DB 구성 등의 용도로 활용할 수 있다

- 11g 부터는 백업본이 없어도 Target DB의 Datafile을 가지고 Duplicate DB를 생성할 수도 있다.(Active Database Duplication)

• TSPITR (Tablespace Point-in-Time Recovery)

- Auxiliary Instance에서 특정 테이블스페이스만 Incomplete 복구를 수행하여 Transportable Tablespace 기능을 이용하여 Target DB의 특정테이블스페이스를 과거 시점으로 복구하는 기능

- RMAN에서는 recover tablespace until time 구문만으로 완전 자동화(Fully Automated)하여 운영DB의 특정 테이블스페이스를 과거 시점으로 바꾸기때문에 조심해서 사용하여야 한다.

Auxiliary Channel

TSPITR

Page 10: RMAN Backup and Recovery - WordPress.com · 2013-03-25 · RMAN Components 5 RMAN Backup Disk Server Session 1st Default Channel Polling Channel Input Input Buffers Output Buffers

Block Change Tracking File

• 과거 Backup 이후 변경된 block 정보를 비트맵으로 저장하여 Incremental Backup 수행 시 변경된 Block만 Read하여 빠르게 Backup(Fast Incremental Backup)할 수 있게 지원하는 File.

• 각 Datafile마다 최대 8개 Version(_bct_bitmaps_per_file)의 Backup에 대한 변경된 block 정보를 bitmap extent에 switch하면서 저장한다.(bitmap extent 1개에는 1개의 version정보만 저장됨)

• 변경된 block은 32k (_bct_chunk_size) 크기의 Chunk 단위로 관리한다

• RAC 환경하에서는 BCT File을 ASM/Raw Device/CFS 같은 공유 Device에 생성하여야 한다.

10

File #1 bitmap extent bitmap extent bitmap extent bitmap extent bitmap extent bitmap extent bitmap extent bitmap extent

X$KRCBIT

Page 11: RMAN Backup and Recovery - WordPress.com · 2013-03-25 · RMAN Components 5 RMAN Backup Disk Server Session 1st Default Channel Polling Channel Input Input Buffers Output Buffers

Incrementally Updated Backup

11

구분 Backup Comment

Time 1 Full 초기 Full backup

Time 2 Incremental ① Incremental backup → ② Full backup본에 update

Time 3 Incremental ① Incremental backup → ② Full backup본에 update

… … …

• 최초 Backup 시에는 Image Copy Full Backup(①)을 수행하고 이후 Backup 수행 시에는 Incremental Backup을 수행하여 이때 만들어지는 Incremental Backup(②)을 Image Copy Full Backup본에 Update하는 Backup. 대용량 DB 환경하에서 Incremental Backup 수행 만으로 Full Backup 본을 생성할 수 있으므로 Disk Full Backup을 좀더 빠르게 수행할 수 있는 Backup 방식.

Full Backup

(Image Copy)

Time 1

Updated

Full Backup

(Image Copy)

Time 2

Incremental

(Backup set) ② Update

① Backup

② Update

① Backup

Updated

Full Backup

(Image Copy)

Incremental

(Backup set)

Time 3

connnect target /

connect rcvcat rman5/rman5@swbck2;

run {

ALLOCATE CHANNEL disk1 DEVICE TYPE DISK FORMAT '+DATA%u_%p_%c';

ALLOCATE CHANNEL disk2 DEVICE TYPE DISK FORMAT '+DATA%u_%p_%c';

crosscheck copy tag 'PRMY_FULL_DISK';

delete noprompt expired copy tag 'PRMY_FULL_DISK';

backup incremental level 1 for recover of copy with tag 'PRMY_FULL_DISK' database ;

recover copy of database with tag ‘PRMY_FULL_DISK’;

release channel disk1;

release channel disk2;

}

Page 12: RMAN Backup and Recovery - WordPress.com · 2013-03-25 · RMAN Components 5 RMAN Backup Disk Server Session 1st Default Channel Polling Channel Input Input Buffers Output Buffers

Standby DB Backup in Data Guard

• Standby DB Backup 구성법

Online Standby DB Backup을 구성하기 위해서는 반드시 Backup 정보를 저장하는 Catalog DB 구성이 필요하다. 왜냐하면 RMAN은 Catalog DB가 구성 안되어 있을 시에는 Catalog DB 대신에 디폴트로 Backup 정보 저장을 위해서 Target DB의 control file을 사용하는데 control file을 사용하면 Product DB와 Standby DB의 control file이 다르기 때문에 Backup 정보를 서로 공유할 수 없다. Target DB를 Primary DB로 설정하고 Catalog DB로 접속한 다음 register database로 Catalog DB에 DB 정보를 등록한다.

Backup 시에는 Standby DB를 Target 설정 후 Catalog DB에 접속한 후 Backup을 수행하면 Backup정보가 자동으로 Catalog DB에 Primary DB Backup 정보로 등록되게 된다.

• Standby DB Backup 제약 사항

Standby DB에서는 Incrementally Updated Backup 기능이 지원하지 않는다. 그리고 Standby DB의 BCT File은 11g R1 버전부터 지원이 된다.

12

connect target /;

connect rcvcat rman1/rman1@swbck2;

run{

allocate channel t1 type 'SBT_TAPE' connect 'sys/q1w2e3r4@MOS15K1';

allocate channel t2 type 'SBT_TAPE' connect 'sys/q1w2e3r4@MOS15K1';

allocate channel t3 type 'SBT_TAPE' connect 'sys/q1w2e3r4@MOS15K1';

allocate channel t4 type 'SBT_TAPE' connect 'sys/q1w2e3r4@MOS15K1';

allocate channel t5 type 'SBT_TAPE' connect 'sys/q1w2e3r4@MOS15K2';

allocate channel t6 type 'SBT_TAPE' connect 'sys/q1w2e3r4@MOS15K2';

allocate channel t7 type 'SBT_TAPE' connect 'sys/q1w2e3r4@MOS15K2';

allocate channel t8 type 'SBT_TAPE' connect 'sys/q1w2e3r4@MOS15K2';

send 'NSR_ENV=(NSR_SERVER=kmesbk, NSR_CLIENT=dmos15d1, NSR_DATA_VOLUME_POOL=VTLDB)';

backup as compressed backupset incremental level 0 filesperset 4 tag ‘STBY_FULL_TAPE' format 'stby_%d_%U' database;

release channel t1;

release channel t2;

release channel t3;

release channel t4;

release channel t5;

release channel t6;

release channel t7;

release channel t8;

}

Page 13: RMAN Backup and Recovery - WordPress.com · 2013-03-25 · RMAN Components 5 RMAN Backup Disk Server Session 1st Default Channel Polling Channel Input Input Buffers Output Buffers

Online Standby DB Backup in Data Guard & Split-Mirror SW

13

Instance

Loca

l Rem

ote

Instance

Product

DB

Data

Guard

Standby

DB

Online

Compress

Parallel

RMAN Backup

Backup

Disk

Block

Data file

Tablespace

Full DB

Switch

RMAN Recovery

Backup

Disk

Storage

Mirror

S/W

③ ① ②

단계 내 용

① RMAN Online Standby DB Backup

Standby DB를 Online으로 Backup을 수행함. Standby DB에서 Backup을 수행하기 때문에 Product DB에 전혀 영향을 주지 않는다(Data Guard 모드는 Max Performance 모드로 설정). Image Copy, Compress Backup 등 다양한 형태의 Backup이 가능하다. Backup Disk형태는 Filesystem/ASM/VTL 등이 가능하다. (만약 VTL Backup 구성이거나 Backup Disk가 같은 스토리지로 구성되어 있을 경우에는 ②단계는 생략된다.)

② Storage Mirror/Split Backup

Standby DB로 받은 Backup이 저장된 Backup Disk를 Storage Mirror 솔류션(EMC SRDF, Hitachi UR/True Copy, HP CA 등)을 사용하여 운영 스토리지에 Backup Disk 복제본을 생성한다.

③ RMAN Recovery

DB 장애 시 운영 Storage에 있는 Backup Disk 복제본을 Mount하여 RMAN Recovery 작업을 수행한다. Block/Datafile/Tablespace/Database 단위 Recovery 및 Image Copy Switch 등 다양한 RMAN Recovery 기능을 사용하여 Recovery 가능하다

- Step 1 : Raw Device Image Copy Backup

RMAN> backup as copy DB_FILE_NAME_CONVERT ('/dev/vg/','/dev/bvg/') database reuse;

- Step 2 : Disk Backup Activation (예:HP-UX, True Copy)

split –g DG명 -S

vgchange –a y /dev/bvg

- Step 3 : Rename Data File

RMAN> SWITCH DATABASE TO COPY;

- Step 4 : Recover Database

RMAN> RECOVER DATABASE;

- Step 5 : Rename tempfile

RMAN> run {

SET NEWNAME FOR TEMPFILE 1 TO ‘/dev/bvg/temp01’;

SWITCH TEMPFILE ALL;

}

- Step 6 : Open Database

RMAN> alter database open;

Page 14: RMAN Backup and Recovery - WordPress.com · 2013-03-25 · RMAN Components 5 RMAN Backup Disk Server Session 1st Default Channel Polling Channel Input Input Buffers Output Buffers

Best Practice

• Product DB는 Incrementally Updated Backup 방식으로 Local ASM Backup Storage에 Backup을 수행한다.

• Standby DB는 Online Compressed 방식으로 VTL및 Remote ASM Storage에 Backup을 수행한다.

• Recovery 필요 시에는 Local ASM Storage의 Backup으로 1차 Recovery를 수행한다.

• Local ASM Storage Backup에 문제가 있을 시 에는 VTL이나 Remote ASM Storage에 있는 Backup을 이용한다.

14