일관성 검사

시스템 보기 및 nz_md5_qsum 데이터 체크섬 유틸리티를 사용하여 기본 노드와 복제 NPS® 노드 간의 일관성을 확인합니다.

시스템 뷰

V_replication_sync와 같은 시스템 보기를 사용하여 복제본이 프라이머리를 따라잡았는지 확인할 수 있습니다. 이 보기의 각 행은 노드의 복제 상태를 보여줍니다. NODE_CSN과 MASTER_CSN 열의 값이 같으면 노드는 프라이머리에서 마지막으로 커밋된 트랜잭션을 적용합니다.

보기에서 선택하는 예는 다음과 같습니다. 명확성과 서식을 위해 일부 필드가 제거되었으며 출력은 두 섹션으로 표시됩니다.

SELECT * FROM _v_replication_sync;
 SETID | SET_NAME | NODEID | NODE_NAME | MASTER_ID | MASTER_NAME | NODE_SOURCE |
-------+----------+--------+-----------+-----------+-------------+-------------+
  7681 | REPLSET  |    743 | TEST      |     30260 | TEST2       |       30260 |
(2 rows)

 NODE_CSN | MASTER_SOURCE | MASTER_CSN |     APPLY_COMMIT_TIME
----------+---------------+------------+---------------------------
        5 |          0260 |          5 | 2011-10-31 15:58:14.709963

nz_md5_qsum 데이터 체크섬 유틸리티

NPS nz_md5_qsum 유틸리티는 테이블에 대한 쿼리의 고유 체크섬을 계산하여 노드 간에 데이터를 비교하여 테이블의 콘텐츠가 동기화되었는지 확인할 수 있는 편리한 방법을 제공합니다. 복제본이 프라이머리에서 커밋된 모든 트랜잭션을 적용하여 노드가 동기화되었음을 나타내는 _v_replication_sync 보기에 표시되는 경우 이 유틸리티를 사용합니다.

nz_md5_qsum 유틸리티는 시스템 데이터베이스에서 실행해야 하는 UDF 함수로 구현됩니다. 유틸리티의 입력은 SELECT <col_list> FROM <database>..<user_table>[WHERE ...] 형식의 SELECT 문입니다. WHERE 절은 선택사항입니다. SELECT 쿼리에 제공하는 사용자 테이블에는 최대 64개의 열이 있을 수 있습니다.

예는 다음과 같습니다.
SELECT nz_md5_qsum ('SELECT * FROM test..table1');
nz_md5_qsum 유틸리티의 출력은 다음 열이 있는 테이블입니다:
표 1. nz_md5_qsum 유틸리티 출력
컬럼 이름 데이터 유형
데이터섬 char(32) 테이블 데이터의 32자리 16진수 체크섬입니다.
스키마 char(32) 테이블 레이아웃의 32자리 16진수 체크섬입니다.
NUMROWS bigint 행 수.
NUMCOLS int 열 수입니다.

nz_md5_ qsum 유틸리티는 쿼리에서 반환되는 데이터 집합에 대한 체크섬을 계산하기 때문에 큰 테이블에 대해 호출할 때 NPS 노드에 다양한 성능 영향을 미칩니다.

nz_md5_qsum 유틸리티 설치하기

기본 및 복제본 모두에 nz_md5_qsum 유틸리티를 설치해야 합니다. 설치 프로그램은 다음 위치에 있습니다:
/nz/kit/bin/adm/tools/nzqsum
유틸리티를 설치하려면 다음 단계를 따르세요:
  1. 다음을 실행하십시오.
    tar xvf nz_md5_qsum.tar
  2. 유효한 사용자 이름과 비밀번호로 installQsum.pl 스크립트를 실행합니다. 다음 표에서는 사용법을 설명합니다:
    표 2. installQsum.pl 스크립트 사용법
    입력 설명
    -u 시스템 데이터베이스에 연결하는 데 사용되는 사용자 ID를 지정합니다. 기본 사용자는 NZ_USER입니다.
    -pw 시스템 데이터베이스에 연결하는 데 사용되는 비밀번호를 지정합니다. 기본 비밀번호는 NZ_PASSWORD입니다.
    -uninstall 유틸리티를 제거합니다.