주:

OCI를 사용하여 PostgreSQL를 통해 온프레미스 PostgreSQL 데이터베이스를 OCI 데이터베이스로 마이그레이션 GoldenGate

소개

PostgreSQL가 포함된 Oracle Cloud Infrastructure Database(OCI Database with PostgreSQL)는 데이터베이스 테이블이 생성되거나 삭제될 때 스토리지를 자동으로 확장하는 완전 관리형 서비스입니다. 이렇게 하면 관리를 간소화하고 스토리지 비용을 최적화할 수 있습니다. 전송 중이거나 유휴 상태인 데이터는 암호화됩니다.

OCI GoldenGate은 논리적 온라인 마이그레이션을 지원하여 원활한 전환과 PostgreSQL 서비스 데이터베이스를 갖춘 OCI Database의 거의 제로 다운타임 마이그레이션을 지원합니다. 이 기능은 VM의 온프레미스 PostgreSQL 데이터베이스를 PostgreSQL 서비스 버전 14, 15 데이터베이스 및 이후 릴리스가 포함된 OCI 데이터베이스로 마이그레이션할 수 있도록 지원합니다.

이 사용지침서에서는 OCI GoldenGate를 통해 VM 버전 14의 온프레미스 PostgreSQL 데이터베이스를 PostgreSQL 서비스 데이터베이스 버전 14의 OCI 데이터베이스로 마이그레이션하는 방법을 설명합니다. 초기 로드는 pg_dump(pg_dumpall)/pg_restore 백업 유틸리티를 사용하여 수행됩니다. 소스 데이터베이스의 백업 또는 스냅샷이 생성됩니다. 소스(온프레미스 VM PostgreSQL 데이터베이스) 및 대상(OCI 데이터베이스와 PostgreSQL 서비스)을 동기화하기 위해 대상 시스템에서 복원된 후 OCI GoldenGate CDC(Change Data Capture) 복제가 수행됩니다.

다음 이미지는 VM의 온프레미스 PostgreSQL 데이터베이스를 OCI GoldenGate을 사용하여 PostgreSQL 서비스를 사용하는 OCI 데이터베이스로 이전하기 위한 구조를 보여줍니다.

구조를 보여주는 이미지

목표

필요 조건

주: 이러한 필요 조건은 VM의 온프레미스 PostgreSQL 데이터베이스(소스)에 대한 것입니다.

작업 1: 소스 데이터베이스 환경 준비

  1. 다음 질의를 실행하여 복제 사용자를 생성합니다. 이 사용자는 OCI 콘솔에서 접속을 생성하는 동안 사용되어야 합니다.

    create user ggadmin with password ‘<<password>>’;
    GRANT ALL PRIVILEGES ON DATABASE campaign TO ggadmin;
    alter user ggadmin replication;
    alter user ggadmin with superuser;
    
  2. 수정하려면 wal_level에 대해 다음 매개변수를 변경하고 데이터베이스 시스템을 재시작해야 합니다.

    ALTER SYSTEM SET wal_level = logical;
    ALTER SYSTEM SET track_commit_timestamp = on;
    

작업 2: OCI GoldenGate 프로비전 및 접속 구성

  1. OCI 콘솔에 로그인하여 PostgreSQL 데이터베이스에 대한 OCI GoldenGate 배치를 생성합니다.

    배치 생성을 보여주는 이미지

    배치 생성을 보여주는 이미지

    배치 생성을 보여주는 이미지

    배치 생성을 보여주는 이미지

    배치 생성을 보여주는 이미지

  2. OCI PostgreSQL에 대한 OCI GoldenGate 접속을 생성합니다.

    1. 소스 접속 세부정보를 입력하고 생성을 누릅니다.

      SourceConnections 생성을 보여주는 이미지

      SourceConnections 생성을 보여주는 이미지

    2. 대상 접속 세부정보를 입력하고 생성을 누릅니다.

      TargetConnections 생성을 보여주는 이미지

      TargetConnections 생성을 보여주는 이미지

    주: VM에 대한 접속이 생성된 경우 SSL 프로토콜은 일반이어야 하고 PostgreSQL 서비스가 포함된 OCI 데이터베이스의 경우 SSL 프로토콜은 요구 사항이어야 합니다.

  3. 생성을 눌러 연결을 만듭니다.

작업 3: 소스 데이터베이스 복제 설정

  1. OCI GoldenGate에서 추출을 생성합니다.

    스키마 trandata 생성을 보여주는 이미지

    주: 모든 적격 스키마에 대해 소스 데이터베이스에 스키마 trandata를 추가하고 제출을 누릅니다.

    추출 생성 생성을 보여주는 이미지

    추출 생성 생성을 보여주는 이미지

    추출 매개변수 생성 file1을 보여주는 이미지

    주: 생성을 누르고 생성 및 실행을 누르지 마십시오.

  2. 소스 데이터베이스에서 Extract 프로세스의 시작점을 생성하고 PostgreSQL 스냅샷을 배치하는 데 사용할 임시 복제 슬롯을 생성합니다. 이 작업은 CREATE_REPLICATION_SLOT 명령을 사용하여 수행할 수 있습니다. 단계에 따라 임시 복제 슬롯을 구성합니다.

    1. postgres 또는 ggadmin 사용자와 같이 복제 롤을 가진 사용자로 psql를 사용하여 PostgreSQL 데이터베이스에 로그인합니다.

    2. replication=database 옵션을 사용합니다.

      psql "dbname=pgsource replication=database user=postgres" 
      CREATE_REPLICATION_SLOT tslot TEMPORARY LOGICAL test_decoding EXPORT_SNAPSHOT;
      slot_name | consistent_point | snapshot_name | output_plugin
      ----------+------------------+---------------+--------------------- 
          tslot | 1/4232A6B0 | 00000007-00001142-1 | test_decoding 
      
    3. snapshot_nameconsistent_point 세부 정보를 확인합니다.

      참고:

      • consistent_point는 OCI GoldenGate Extract의 위치를 지정하고 Extract를 시작하여 CDC 트랜잭션을 캡처하는 데 사용되어야 합니다.
      • snapshot_namepg_dumppg_restore를 사용하여 소스에서 대상 데이터베이스로 초기 로드하는 데 사용해야 합니다.
  3. OCI Goldengate Extract를 consistent_point LSN(로그 시퀀스 번호)에 배치합니다.

    생성된 CDC 추출이 중지됨 상태입니다.

    추출 위치 지정 생성을 보여주는 이미지

    작업에서 ... 아이콘을 누르고 변경을 선택합니다.

    추출 위치 지정 생성을 보여주는 이미지

    LSN의 위치를 작업 3.2에서 캡처된 consistent_point로 변경합니다.

    추출 위치 지정 생성을 보여주는 이미지

  4. 제출을 누르고 추출 프로세스를 시작합니다.

    Extract가 실행 중 상태가 되며 변경된 위치에서 CDC 캡처가 시작됩니다.

    추출 위치 지정 생성을 보여주는 이미지

작업 4: 소스 및 대상 데이터베이스에서 백업 및 복원 실행

  1. 다음 명령을 실행하여 소스 primary database를 백업합니다.

    nohup /u01/pgsql-14/bin/pg_dump -h <<Sourceip>> -p 5432 -U <<superuser/ggadmin user>> –snapshot=00000007-00001142-1 -F c -b -v -f latestdump.db pgsource &
    
  2. 다음 명령을 실행하여 덤프를 Target Database로 복원합니다.

    nohup /u01/pgsql-14/bin/pg_restore -h <<Targetip>> -p 5432 -U admin -d pgtarget -v latestdump.db &
    

작업 5: Target Database 복제 설정

  1. OCI GoldenGate 대상 데이터베이스의 사용 가능한 스키마에 체크포인트 테이블을 생성하고 제출을 누릅니다.

    체크포인트 테이블 만들기를 보여주는 이미지

  2. 대상 데이터베이스에 CDC 데이터를 적용하려면 대상 데이터베이스 접속을 사용하여 복제 프로세스를 생성합니다.

    Replicat 생성을 보여주는 이미지

    Replicat 생성을 보여주는 이미지

    Replicat 생성을 보여주는 이미지

    Replicat 매개변수 파일 생성을 보여주는 이미지

  3. submit을 누르고 Replicat를 시작합니다. 동기화 할 수 있게 합니다.

    Replicat 생성을 보여주는 이미지

작업 6: 실제 이전 수행

PostgreSQL 서비스를 통해 온프레미스 VM PostgreSQL 데이터베이스에서 OCI Database로 컷오버합니다.

작업 7: 이전 검증

PostgreSQL를 사용하여 OCI Database의 대상 데이터베이스 시스템에서 전송된 데이터베이스 객체 및 데이터를 확인하여 마이그레이션이 성공했으며 이슈나 불일치가 없는지 확인합니다.

확인

추가 학습 자원

docs.oracle.com/learn에서 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer을 방문하십시오.

제품 설명서는 Oracle Help Center를 참조하십시오.