마이그레이션 확인

이 페이지에서는 마이그레이션된 데이터가 완전하고 정확한지 확인하는 방법을 설명합니다. 최소한 SQL 문을 실행하여 테이블이 마이그레이션된 PostgreSQL용 AlloyDB 데이터베이스에 있는지 확인해야 합니다. 소스 데이터베이스와 대상 데이터베이스 간의 데이터를 더 정확하게 비교하려면 오픈소스 데이터 검증 도구를 사용해 보세요.

SQL 문으로 대상 데이터 확인

SQL 문을 실행하여 마이그레이션된 PostgreSQL용 AlloyDB 데이터베이스에 테이블이 있는지 확인할 수 있습니다. 다음 단계를 따르세요.

  1. 이전된 데이터베이스에 대해 SQL 명령어를 실행할 수 있는 도구를 사용하여 PostgreSQL용 Cloud SQL 인스턴스에 연결합니다.

    Cloud SQL 인스턴스에 연결하는 방법에 대한 자세한 내용은 Cloud SQL 문서의 연결 옵션을 참고하세요.

  2. SQL 명령어를 실행하여 이전된 데이터를 확인합니다. 예를 들면 다음과 같습니다.

    • 데이터베이스의 모든 테이블을 나열합니다.
      SELECT * FROM pg_catalog.pg_tables;
    • 테이블 콘텐츠를 확인합니다.
      SELECT * FROM TABLE_NAME';

데이터 검증 도구를 사용하여 확인

오픈소스 데이터 검증 도구를 사용하면 두 데이터베이스 간에 매우 정확한 데이터 비교를 실행할 수 있지만 소스 및 대상 데이터베이스에 대한 네트워크 연결을 만들어야 합니다.

다음 단계에서는 최소 예시를 보여줍니다.

  1. 소스와 대상 모두에 액세스할 수 있는 가상 머신을 배포하거나 사용합니다.

  2. 가상 머신에서 데이터 검증 도구를 설치할 폴더를 만듭니다.

  3. 이 폴더로 이동합니다.

  4. pip를 사용하여 데이터 검증 도구를 설치합니다.

    pip install google-pso-data-validator
    
  5. 소스 Oracle 데이터베이스 및 대상 PostgreSQL용 AlloyDB 데이터베이스에 대한 연결을 만듭니다.

    data-validation connections add -c source Oracle --host 'ip-address' --port port --user username --password pswd --database database-name
    data-validation connections add -c target Postgres --host 'ip-address' --port port --user username --password pswd --database database-name
    

    예를 들면 다음과 같습니다.

    data-validation connections add -c source Oracle --host '10.10.10.11' --port 1521 --user system --password pswd --database XE
    data-validation connections add -c target Postgres --host '10.10.10.12' --port 5432 --user postgres --password pswd --database postgres
    
  6. 소스 데이터베이스와 대상 데이터베이스 간의 데이터를 비교할 테이블 목록을 만들거나 생성합니다.

    export TABLES_LIST=$(data-validation find-tables --source-conn source --target-conn target --allowed-schemas schema-name)
    

    예를 들면 다음과 같습니다.

    export TABLES_LIST=$(data-validation find-tables --source-conn source --target-conn target --allowed-schemas public)
    
  7. 모든 테이블에 대해 전체 유효성 검사를 실행합니다.

    data-validation validate column --source-conn source --target-conn target --tables-list "${TABLES_LIST}"
    

상대적 일관성을 보장하려면 복제 중에 이 유효성 검사를 실행하는 것이 좋습니다. 작은 프로모션 기간에는 대규모 테이블 쿼리를 실행하는 데 시간이 너무 오래 걸릴 수 있습니다. 이 경우 데이터 유효성 검사 도구를 사용하여 런타임을 줄이는 필터를 추가하거나 최종 유효성 검사를 위해 테이블의 하위 집합을 포함하도록 테이블 목록을 준비합니다.