기술 정보
home
채널 소개
home

hotbackup본으로 Data 복구시 발생 Internal Error 발생

문서 유형
장애 해결
분야
백업/복구
키워드
hotbackup
Internal Error
recovery
복구
적용 제품 버전
6FS06
6FS07
6FS07PS
7FS01
7FS02
7FS02PS
1 more property

현상

hotbackup본으로 Data 복구시 Internal Error가 발생하는 상황으로, 복구 수행 후 2131 Generic I/O 에러가 발생합니다.
SQL> alter database recover automatic; TBR-2131: Generic I/O error.
SQL
복사
Slog
Internal Error with condition '(dfhdrblk->status & (DFHDR_FUZZY_BACKUP | DFHDR_FUZZY_ONLINE | DFHDR_FUZZY_MR)) == 0' (1 args)
SQL
복사

원인

hotbackup본이 아닌, 운영중에 copy가 된 DataFile을 복구해 에러가 발생했습니다.
[09-12T17:52:41.294993] [RV-94] [I] DF #0(0) CKPT 2024-09-12 01:30:02,0000.65520be5(431563,431564) CF[CKPT 2024-09-12 01:30:02,0000.65520be5(431564), STOP 2024-09-12 17:49:33,ffff.ffffffff] FUZZY(online=1,backup=1,mr=0) rf(0000.00000000) 3 ...중략 [09-12T17:52:41.295694] [RV-94] [I] DF #22(17) CKPT 2024-09-12 01:36:04,0000.6552172f(430491,430492) CF[CKPT 2024-09-12 01:36:04,0000.6552172f(430492), STOP 2024-09-12 17:49:33,ffff.ffffffff] FUZZY(online=1,backup=0,mr=0) rf(0000.00000000) 3 …중략 [09-12T17:52:43.379852] [CLL-94] [I] logfile 1 is invalid online log file [09-12T17:52:44.051391] [COM-94] [I] Internal Error with condition '(dfhdrblk->status & (DFHDR_FUZZY_BACKUP | DFHDR_FUZZY_ONLINE | DFHDR_FUZZY_MR)) == 0'
SQL
복사
Media recovery를 모두 완료하고 DataFile header을 업데이트해야하나, 아직 위 flag가 모두 종료되지 않은 관계로 Media recovery가 완료되지 않으면 에러가 발생합니다.
begin backup ~ end backup 이 아닌 타이밍에 백업된 Datafile이 존재한 것으로 파악됩니다.

해결

hotbackup 스크립트 및 Datafile 백업을 정상적으로 수행합니다.

백업 정상 수행여부 확인

1. 백업한 Datafile의 Datafile header status 값 확인

tbhdreditor 툴을 사용하여 백업한 Datafile(이하 DF)의 DFhdr(datafile header) status를 하나씩 6 값이 되었는지 확인합니다. (online 값: 2, backup 값 4 => 2 + 4 = 6)

tbhdreditor 툴 사용 방법

tbhdredotor -d system001.dtf -v > output
SQL
복사
수행 후 Status 값을 확인합니다.

2. 백업본으로 MR 수행

백업본으로 MR 수행 하여 Slog에 모든 DF가 backup = 1이 되어 있는지 확인합니다.
[09-09T12:56:50.789296] [RV-105] [I] DF #0(0) CKPT 2024-09-09 01:30:01,0000.6529b4ac(430669,430670) CF[CKPT 2024-09-09 01:30:01,0000.6529b4ac(430670), STOP 2024-09-09 12:53:48,ffff.ffffffff] FUZZY(online=1,backup=1,mr=0) rf(0000.00000000) 3[09-09T12:56:50.789399] [CLR-105] [I] DF #1 (ts 1) resetlogs tsn=0, CF resetlogs tsn=0 [09-09T12:56:50.789404] [RV-105] [I] DF #1(1) CKPT 2024-09-09 01:30:02,0000.6529b4c3(234476,234477) CF[CKPT 2024-09-09 01:30:02,0000.6529b4c3(234477), STOP 2024-09-09 12:53:48,ffff.ffffffff] FUZZY(online=1,backup=1,mr=0) rf(0000.00000000) 3[09-09T12:56:50.789459] [CLR-105] [I] DF #2 (ts 3) resetlogs tsn=0, CF resetlogs tsn=0 [09-09T12:56:50.789464] [RV-105] [I] DF #2(3) CKPT 2024-09-09 01:30:03,0000.6529b4dc(430665,430666) CF[CKPT 2024-09-09 01:30:03,0000.6529b4dc(430666), STOP 2024-09-09 12:53:48,ffff.ffffffff] FUZZY(online=1,backup=1,mr=0) rf(0000.00000000) 3[09-09T12:56:50.789512] [CLR-105] [I] DF #3 (ts 4) resetlogs tsn=0, CF resetlogs tsn=0 [09-09T12:56:50.789516] [RV-105] [I] DF #3(4) CKPT 2024-09-09 01:30:04,0000.6529b4ee(430629,430630) CF[CKPT 2024-09-09 01:30:04,0000.6529b4ee(430630), STOP 2024-09-09 12:53:48,ffff.ffffffff] FUZZY(online=1,backup=1,mr=0) rf(0000.00000000) 3[09-09T12:56:50.789571] [CLR-105] [I] DF #4 (ts 5) resetlogs tsn=0, CF resetlogs tsn=0
SQL
복사