Oracle RMAN(Recovery Manager)을 사용하여 블록 레벨 복구 수행
RMAN을 사용하여 블록 레벨 복구를 수행할 수 있도록 Oracle 툴인 RMAN(Recovery Manager)에서 백업을 카탈로그로 백업하도록 SnapManager를 구성할 수 있습니다. RMAN은 데이터베이스의 제어 파일 또는 별도의 복구 카탈로그 데이터베이스를 저장소로 사용할 수 있습니다.
-
SnapManager를 사용하여 전체 오프라인 백업을 수행하려면 다음 명령을 입력합니다.
SMO 백업 create-offline-full-profileprofile_name-labelbackup_label_name-verbose
여기서,
-
profile_name은 백업과 관련된 프로파일의 이름입니다
-
backup_label_name 은 백업 레이블의 이름입니다
-
smo backup create -offline -full -profile profile_monthly
-label full_backup -verbose
+
SMO-07109 [INFO ]: Cataloguing all files in backup set with RMAN
TAG=SMC_full_backup_1158773581857, RMAN=ES0/controlfile.
...
SMO-13037 [INFO ]: Successfully completed operation: Backup
SMO-13048 [INFO ]: Operation Status: SUCCESS
SMO-13049 [INFO ]: Elapsed Time: 0:02:20.506
Operation Id [ff8080810dcc47e3010dcc47eb7a0001] succeeded.
+
-
백업이 RMAN을 사용하여 카탈로그로 작성되었는지 확인하려면 데이터베이스 호스트에서 RMAN 프롬프트에 다음 명령을 입력합니다.
datafilecopy 태그 태그_이름 나열;
RMAN> list datafilecopy tag SMO_full_backup_1158773581857; Recovery Manager: Release 10.2.0.1.0 - Production on Wed Sep 20 10:33:41 2008 Copyright (c) 1982, 2008, Oracle. All rights reserved. using target database control file instead of recovery catalog List of Datafile Copies Key File S Completion Time Ckp SCN Ckp Time Name ------- ---- - --------------- ---------- --------------- --- 335 1 A 20-SEP-08 1347825 20-SEP-08 /opt/<path>/smo/mnt/Host4_ES0_SMO_E_ES0_F_C_0_ff8080810dcc47e3010dcc47eb7a0001 /system01.dbf 336 2 A 20-SEP-08 1347825 20-SEP-08 /opt/<path>/smo/mnt/Host4_ES0_SMO_E_ES0_F_C_0_ff8080810dcc47e3010dcc47eb7a0001 /undotbs01.dbf 334 3 A 20-SEP-08 1347825 20-SEP-08 /opt/<path>/smo/mnt/Host4_ES0_SMO_E_ES0_F_C_0_ff8080810dcc47e3010dcc47eb7a0001 /sysaux01.dbf 333 4 A 20-SEP-08 1347825 20-SEP-08 /opt/<path>/smo/mnt/Host4_ES0_SMO_E_ES0_F_C_0_ff8080810dcc47e3010dcc47eb7a0001 /user01.dbf 337 5 A 20-SEP-08 1347825 20-SEP-08 RMAN>
-
데이터베이스를 확인하고 손상된 블록이 있는지 확인하려면 다음 명령을 입력합니다.
dBV 파일 = user01.dbf
다음 출력에서는 두 페이지가 손상된 것을 보여 줍니다.
DBVERIFY: Release 10.2.0.1.0 - Production on Wed Sep 20 13:35:44 2006 Copyright (c) 1982, 2005, Oracle. All rights reserved. DBVERIFY - Verification starting : FILE = user01.dbf Page 625 is marked corrupt Corrupt block relative dba: 0x01400271 (file 5, block 625) Bad header found during dbv: Data in bad block: type: 240 format: 6 rdba: 0xed323b81 last change scn: 0x6f07.faa74628 seq: 0x87 flg: 0x02 spare1: 0x60 spare2: 0x5 spare3: 0xef7d consistency value in tail: 0xa210fe71 check value in block header: 0x13c7 block checksum disabled... Page 627 is marked corrupt Corrupt block relative dba: 0x01400273 (file 5, block 627) Bad header found during dbv: Data in bad block: type: 158 format: 7 rdba: 0x2101e16d last change scn: 0xe828.42414628 seq: 0xb4 flg: 0xff spare1: 0xcc spare2: 0x81 spare3: 0x8665 consistency value in tail: 0x46d20601 check value in block header: 0x1a84 computed block checksum: 0x6c30 DBVERIFY - Verification complete Total Pages Examined : 1280 Total Pages Processed (Data) : 1123 Total Pages Failing (Data) : 0 Total Pages Processed (Index): 0 Total Pages Failing (Index): 0 Total Pages Processed (Other): 34 Total Pages Processed (Seg) : 0 Total Pages Failing (Seg) : 0 Total Pages Empty : 120 Total Pages Marked Corrupt: 2 Total Pages Influx : 0 Highest block SCN : 1337349 (0.1337349)
-
백업에서 파일을 호스트 및 RMAN에 액세스할 수 있도록 하려면 다음 명령을 사용하여 백업을 마운트합니다.
SMO 백업 마운트 - profileprofile_name - labellabel - verbose
smo backup mount -profile SALES1 -label full_backup -verbose SMO-13046 [INFO ]: Operation GUID 8abc013111b9088e0111b908a7560001 starting on Profile SALES1 SMO-08052 [INFO ]: Beginning to connect mount(s) [/mnt/ssys1/logs, /mnt/ssys1/data] from logical snapshot SMO_SALES1_hsdb1_F_C_1_8abc013111a450480111a45066210001. SMO-08025 [INFO ]: Beginning to connect mount /mnt/ssys1/logs from snapshot SMO_SALES1_hsdb1_F_C_1_8abc013111a450480111a45066210001_0 of volume hs_logs. SMO-08027 [INFO ]: Finished connecting mount /mnt/ssys1/logs from snapshot SMO_SALES1_hsdb1_F_C_1_8abc013111a450480111a45066210001_0 of volume hs_logs. SMO-08025 [INFO ]: Beginning to connect mount /mnt/ssys1/data from snapshot SMO_SALES1_hsdb1_F_C_1_8abc013111a450480111a45066210001_0 of volume hs_data. SMO-08027 [INFO ]: Finished connecting mount /mnt/ssys1/data from snapshot SMO_SALES1_hsdb1_F_C_1_8abc013111a450480111a45066210001_0 of volume hs_data. SMO-08053 [INFO ]: Finished connecting mount(s) [/mnt/ssys1/logs, /mnt/ssys1/data] from logical snapshot SMO_SALES1_hsdb1_F_C_1_8abc013111a450480111a45066210001. SMO-13037 [INFO ]: Successfully completed operation: Backup Mount SMO-13048 [INFO ]: Operation Status: SUCCESS SMO-13049 [INFO ]: Elapsed Time: 0:01:00.981 Operation Id [8abc013111b9088e0111b908a7560001] succeeded.
-
블록을 복구하려면 RMAN에서 다음 명령을 입력합니다.
블록 복구 데이터 파일 ''/mountpoint/path/file.dbf'' 블록 블록 블록 블록 ID, 태그 backup_rman_tag
RMAN> blockrecover datafile ‘/mnt/ssys1/Host4_ES0/file01.dbf’ block 625, 626, 627 from tag SMO_full_backup_1158773581857; Starting blockrecover at 20-SEP-08 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: sid=153 devtype=DISK channel ORA_DISK_1: restoring block(s) from datafile copy /opt/NetApp/smo/mnt/_mnt_ssys1_Host4_ES0_SMO_E_ES0_F_C_0_ff8080810dcc47e3010dcc47eb7a0001/user01.dbf starting media recovery media recovery complete, elapsed time: 00:00:01 Finished blockrecover at 20-SEP-08
-
블록이 복구되었는지 확인하려면 다음 명령을 사용합니다.
dBV 파일 = filename.dbf
다음 출력에서는 손상된 페이지가 없음을 보여 줍니다.
dbv FILE=user01.dbf DBVERIFY: Release 10.2.0.1.0 - Production on Wed Sep 20 13:40:01 2008 Copyright (c) 1982, 2008, Oracle. All rights reserved. DBVERIFY - Verification starting : FILE = user01.dbf DBVERIFY - Verification complete Total Pages Examined : 1280 Total Pages Processed (Data) : 1126 Total Pages Failing (Data) : 0 Total Pages Processed (Index): 0 Total Pages Failing (Index): 0 Total Pages Processed (Other): 34 Total Pages Processed (Seg) : 0 Total Pages Failing (Seg) : 0 Total Pages Empty : 120 Total Pages Marked Corrupt : 0 Total Pages Influx : 0 Highest block SCN : 1337349 (0.1337349)
손상된 모든 블록이 복구 및 복원되었습니다.