Divergence
Capture DB에서의 부하 수행 결과 대비 Replay DB에서의 부하 수행 결과가 달라진 경우로, 총 2개의 divergence로 구분합니다.
Data Divergence: replay 시 data가 다를 경우
Error Divergence: replay 시 error가 다를 경우
Select Divergence
Capture DB에서 수행된 select 쿼리의 수행결과 row count 값과 해당 쿼리를 replay 하였을 때 row count 값이 서로 다른 경우입니다.
WORKER_ID
replay를 실행한 client worker id
SQL
divergence가 발생한 sql text
CAPTURE_SQL_ID
divergence가 발생한 select 쿼리에 대한 capture 시점의 sql id
CAPTURE_CHILD_NUMBER
divergence가 발생한 select 쿼리에 대한 capture 시점의 child number
CAPTURE_ROW_CNT
capture 시점에 수행한 select 쿼리의 결과 row 개수
REPLAY_ROW_CNT
replay 시점에 수행한 select 쿼리의 결과 row 개수
DML Divergence
Capture DB에서 수행된 DML 쿼리의 수행 결과 영향을 받은 row count 값과 해당 쿼리를 replay 하였을 때, 영향을 받은 row count 값이 서로 다른 경우입니다.
WORKER_ID
replay를 실행한 client worker id
SQL
divergence가 발생한 sql text
CAPTURE_SQL_ID
divergence가 발생한 select 쿼리에 대한 capture 시점의 sql id
CAPTURE_CHILD_NUMBER
divergence가 발생한 select 쿼리에 대한 capture 시점의 child number
CAPTURE_AFFECTED_CNT
capture 시점에 수행한 DML 쿼리의 결과 영향을 받은 row 개수
REPLAY_AFFECTED_CNT
replay 시점에 수행한 DML 쿼리의 결과 영향을 받은 row 개수
Error Divergence
Capture DB 혹은 Replay DB에서 error 발생 시 서로의 error 형상이 다른 경우 입니다.
WORKER_ID
replay를 실행한 client worker id
SQL
divergence가 발생한 sql text
CAPTURE_SQL_ID
divergence가 발생한 select 쿼리에 대한 capture 시점의 sql id
CAPTURE_CHILD_NUMBER
divergence가 발생한 select 쿼리에 대한 capture 시점의 child number
CAPTURE_ERR_CODE
divergence가 발생한 쿼리에 대한 capture 시점의 error number
REPLAY_ERR_CODE
divergence가 발생한 쿼리에 대한 replay 시점의 error number
DDL의 경우 CAPTURE_SQL_ID 값이 존재하지 않습니다.
CAPTURE_SQL_ID와 CAPTURE_CHILD_NUMBER를 V$SQL 혹은 V$SQLTEXT view를 조회할 때 where 조건을 사용하면 capture 당시 해당 쿼리에 대해 보다 자세한 정보를 얻을 수 있습니다.
ERR_CODE를 Tibero Error-Reference-Guide 메뉴얼에서 검색하면 해당 error에 대해 보다 자세한 정보를 얻을 수 있습니다.
New error Divergence
Capture DB에서는 정상적으로 수행된 부하가 Replay DB에서 error를 발생시킨 경우 입니다.
No Longer Error Divergence
Capture DB에서는 error를 발생시킨 부하였지만 Replay DB에서는 정상적으로 수행된 경우 입니다.
Mutated Error Divergence
같은 부하에 대해 Capture DB에서 발생했던 error와 Replay DB에서 발생한 error가 서로 다른 경우 입니다.
Last updated