개요
Last updated
Last updated
Database Replay(이하 DBReplay)는 티베로 DBMS의 버전 업그레이드, 패치 진행 시 Application에 대한 영향도를 검증하는 클라이언트 프로그램 입니다. Database에서 발생한 부하를 메시지 단위로 캡쳐하여 동일한 동작을 수행할 수 있습니다.
DBReplay는 DB 자체를 캡쳐하여 Replay를 통해 영향도를 검사하는 방식이므로, downtime이 발생하지 않고 DB 작업과 동일한 시뮬레이션을 실행하여 정확한 운영 워크로드 반영이 가능합니다.
특히 Procedure나 function 과 같은 DB 기능을 많이 사용하는 업무에 적합한 프로그램 입니다.
DBreplay는 Database 부하 capture > Preprocess > Replay > Result (선택) 순서로 진행됩니다.
Database 부하 capture Database 부하(workload)를 capture하는 과정 입니다.
Preprocess Capture된 파일들을 replay 하기 위해 전처리를 진행합니다.
Replay Capture된 파일들의 replay 를 진행합니다.
Result 보다 쉽게 replay 결과를 확인할 수 있도록 console에 결과 전체를 출력하고 html 파일을 생성합니다.
다음의 상황에서는 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 등을 사용한 외부 쿼리 조회