개요
Last updated
Last updated
Database Replay(이하 DBReplay)는 티베로 DBMS의 버전 업그레이드, 패치 진행 시 Application에 대한 영향도를 검증하는 클라이언트 프로그램 입니다. Database에서 발생한 부하를 메시지 단위로 캡쳐하여 동일한 동작을 수행할 수 있습니다.
DBReplay는 DB 자체를 캡쳐하여 Replay를 통해 영향도를 검사하는 방식이므로, downtime이 발생하지 않고 DB 작업과 동일한 시뮬레이션을 실행하여 정확한 운영 워크로드 반영이 가능합니다.
특히 Procedure나 function 과 같은 DB 기능을 많이 사용하는 업무에 적합한 프로그램 입니다.
DBreplay는 Database 부하 capture > Preprocess > Replay > Result (선택) 순서로 진행됩니다.
다음의 상황에서는 DBreplay 지원이 불가 합니다.
Capture DB 환경이 Windows 인 경우
Long, Longraw data type (LOB데이터 사용 권장)
Capture DB와 Replay DB의 character set이 다른 경우
nchar string literal replacement 기능
분산트랜잭션
JOB SCHEDULER로 발생한 트랜잭션
User Defined Type (예: Object, Varray 등)
Parallel DPL 과 DPL이 동일 TABLE에 대해 동시 수행되는 경우
캡쳐된 username 정보를 리플레이 시 알 수 없는 경우
self dblink와 같은 동일한 DB에 대한 remote operation (DB isolation 권장)
다음의 상황에서는 정합성 보장이 불가 합니다.
Flashback Query
PSM 내부에서 발생한 트랜잭션 및 DML
RANDOM() 혹은 SYSDATE와 같은, 정해지지 않은 값을 반환하는 함수 사용
Sequence 객체를 사용한 operation
Capture 도중에 user 정보를 변경한 경우
dblink 등을 사용한 외부 쿼리 조회
Database 부하(workload)를 capture하는 과정 입니다.
Capture된 파일들을 replay 하기 위해 전처리를 진행합니다.
Capture된 파일들의 replay 를 진행합니다.
보다 쉽게 replay 결과를 확인할 수 있도록 console에 결과 전체를 출력하고 html 파일을 생성합니다.