기술 정보
home
채널 소개
home

DB 강제 종료시 rollback 완료 시간 확인

문서 유형
기술 정보
분야
백업/복구
키워드
rollback
EXP_RB_TIME
적용 제품 버전
5SP1FS02

개요

DB종료를 위해 WAS 등을 먼저 종료했을 경우, 트랜잭션이 commit 되지 않은 상태일 때 rollback이 진행되며 이에 대한 소요시간을 확인하는 과정에 대해 안내합니다.

방법

rollback 진행 중일 때 정상 DB down 명령(normal, post_tx, immediate, switchover)이 주어지면 rollback이 완료될 때까지 대기합니다.

완료시간 확인

Case 1. Tibero5sp1 FS02 이후 버전

rollback 중인 트랜잭션은 V$TRANSACTION의 EXP_RB_TIME 컬럼을 통해 완료되는 시간을 알 수 있습니다. (단위 : 초)
이 항목은 짧은 트랜잭션에 대해서는 유의미한 값을 얻기 어렵고, 수분에서 몇 시간 이상의 긴 rollback에 대해서는 대략적인 소요시간을 확인할 수 있습니다. 단, DB내의 부하에 따라 예상시간은 변동 가능성이 있습니다.
SQL> select sess_id, start_time, used_blk, EXP_RB_TIME from v$transaction; SESS_ID START_TIME USED_BLK EXP_RB_TIME ---------- -------------------------------- ---------- ----------- 33 2016-04-22 19:35:32 142690 970 1 row selected.
SQL
복사

Case 2. Tibero5sp1 FS02 이전 버전

버전이 낮아 V$TRANSACTION 내 EXP_RB_TIME 항목이 없는 경우, USED_BLK 항목이 줄어드는 속도와 남은 양을 계산하여, 대략적인 완료시간을 유추할 수 있습니다.
V$TRANSACTION 내 USED_BLK 값: 해당 트랜잭션에 사용된 undo block 의 수
SQL> !date Fri Apr 22 17:27:22 KST 2016 SQL> select sess_id, start_time, used_blk from v$transaction; SESS_ID START_TIME USED_BLK ---------- -------------------------------- ---------- 30 2016-04-22 17:07:18 7537 1 row selected. SQL> !date Fri Apr 22 17:29:14 KST 2016 SQL> select sess_id, start_time, used_blk from v$transaction; SESS_ID START_TIME USED_BLK ---------- -------------------------------- ---------- 30 2016-04-22 17:07:18 2448 1 row selected.
SQL
복사