기술 정보
home
채널 소개
home

tbdv (Datafile 정합성 검증) 사용 방안

문서 유형
기술 정보
분야
관리/환경설정
키워드
datablock
datafile
tbdv
정합성
적용 제품 버전
6FS07PS
7FS02PS

개요

tbdvTibero 데이터 파일 블록에 대한 정합성을 검사하는 유틸리티입니다.
운영 중 딕셔너리 테이블 조회가 불가능하거나 DB가 정상적으로 기동하지 않는 경우, 데이터 파일에 대한 블록 단위 정합성 여부를 확인할 수 있습니다.

tbdv 제약 조건

온라인 상태에서 tbdv 사용 시, DBWR가 블록을 쓰는 도중 낮은 확률로 정상 블록을 손상된 블록으로 잘못 인식할 수 있습니다.
디스크 장애 발생 시, 데이터가 저장된 블록이 zero-out(0으로 초기화) 되어도 블록 포맷이 이루어지지 않은 것으로 간주되어 오류 메시지를 출력하지 않습니다.
Nologging 방식으로 적재된 블록은 장애 발생 시에도 TBDV에서 검출되지 않습니다.
[IMS-98074] Raw Device를 사용할 경우, 체크 사이즈를 명시가 필요합니다. (Option : -l <Raw Device Size>)

방법

tbdv 교체 방법

Technet에서 다운로드 받아 $TB_HOME/client/bin 디렉토리에서 교체하여 사용합니다.
1.
Tibero Technet 접속 -Technet > 다운로드 > 데이터베이스 > Tibero > Tibero Trouble Shooting Tools > 다운로드
2.
Tibero Trouble Shooting Tools 플랫폼 선택 > Linux > tbdv 다운로드
3.
Tibero 서버 접속 > 아래 디렉토리로 이동 후 다운받은 파일 업로드 및 교체
-. 기존 파일 백업 $ cp $TB_HOME/client/bin/tbdv $TB_HOME/client/bin/tbdv.bak -. 신규 파일 덮어쓰기 $ mv tbdv $TB_HOME/client/bin/ $ chmod +x $TB_HOME/client/bin/tbdv
SQL
복사

tbdv 사용 방법

tbdv 사용하여 데이터 파일을 검증하는 방법에 대한 예시입니다.
$ tbdv [옵션] <datafile 경로> -. 예시 $ tbdv -s 8192 /path/to/datafile
SQL
복사
$ tbdv .================================================================== .= Database Verifier (DV) starts = .= = .= TmaxTibero Corporation Copyright (c) 2020-. All rights reserved. = .================================================================== Usage: tbdv [options] <fpath> <fpath> path to datafile to verify Options: -s data block size (default: 8192) -m multi block read count (default: 1) -l the number of bytes to be checked -f check if space management information is consistent. (default: 1)
SQL
복사
주의
Raw Device를 사용하는 경우에는 -l 옵션이 필수입니다.
예) tbdv '<데이터 파일 경로>' -l <Raw Device 크기>

tbdv 옵션

옵션
설명
-s
블록 크기 (default : 8192byte)
-m
디스크에서 한번에 읽는 블록 수 (default: 1)
-l
파일의 시작 부분부터 몇 바이트를 체크할 것인지 명시 (Default : 파일 전체 체크)최소 단위는 K부터 시작 (ex : 8K)-l {옵션 값}/블럭 사이즈 = 정합성 검사할 블록의 개수
-f
L1 bitmap block에 대한 정합성 검사를 진행하고 총 개수 산정 (default: 1)

tbdv 체크 항목 

tbdv 실행 시 아래 에러가 출력되면 해당되는 블록의 덤프를 같이 생성해야 원인 파악에 용이합니다.
1.
데이터 블록의 Format 여부 검사
2.
블록의 DBA 확인 (일치하지 않을 시 아래와 같은 에러 발생)
block #<block_no> is misplaced dba differs (expected=<relative file id + blkno>, real= blk→dba)
SQL
복사
3.
블록의 Checksum 일치 여부 확인
block #<block_no> isn’t consistent.
SQL
복사
4.
블록의 Free space 확인
block #<block_no> has incorrect freespace.
SQL
복사
5.
블록 Row-Piece 영역이 서로 중첩 되었을 시
block #<block no> has overlapping or pieces.
SQL
복사