주:

Oracle Zero Downtime Migration 21.5 Cloud Native Disaster Recovery Automation 구현

소개

일반적인 마이그레이션에서 Oracle Zero Downtime Migration은 소스 데이터베이스를 하나의 대상 데이터베이스(단일 장애 지점)로만 마이그레이션합니다. 이제 21.5 버전에서는 마이그레이션 후에도 DR(재해 복구) 전략을 생성하여 비즈니스 운영에 부정적인 영향을 미치는 이벤트에 응답하고 복구할 수 있습니다. 이전(대상 기본 데이터베이스 및 대상 대기 데이터베이스) 중 두 개의 대상 데이터베이스가 인스턴스화됩니다. 두 데이터베이스는 모두 자연재해의 영향을 줄이기 위해 서로 다른 영역에 있을 수 있습니다. 이전 후 Oracle Data Guard Broker 구성은 전환 및 복구(Oracle Database Cloud Service 콘솔)와 같은 클라우드 네이티브 작업을 허용하도록 두 대상 데이터베이스에서 복원됩니다. 자세한 내용은 Oracle Cloud Native Disaster Recovery Strategy 생성을 참조하십시오.

아키텍처 다이어그램

구조

Oracle Zero Downtime Migration 워크플로우 단계

  1. 데이터베이스 이전을 시작합니다.
  2. 서비스에서 복원을 수행합니다.
  3. Target Primary에서 Standby Database를 인스턴스화합니다.
  4. Target Primary에서 Primary와 Standby를 동기화합니다.
  5. 서비스에서 복원을 수행합니다.
  6. 대상 standby에서 standby database를 인스턴스화합니다.
  7. 소스 및 대상 대기 데이터베이스를 동기화합니다.
  8. 스위치오버 준비 상태 모니터
  9. switchover 및 롤 전환을 수행합니다.
  10. 대상 기본 및 복원 클라우드 브로커 구성을 구성합니다.
    1. Oracle Zero Downtime Migration은 클라우드 대상 기본 대기 및 클라우드 대상 대기 간 클라우드 브로커 구성을 복원합니다.
    2. Oracle Zero Downtime Migration은 리두 로그를 대상 대기로 전달하도록 대상 기본을 구성합니다.
  11. 사후 검증 검사를 수행합니다.
  12. 이전 프로세스를 완료합니다.

참고: Oracle Base Database Service, Oracle Exadata Database Service on Dedicated Infrastructure, Oracle Exadata Database Service on Cloud@Customer, Exadata on-premises, Oracle Database@Azure의 Oracle Exadata Database Service on Dedicated Infrastructure는 이 워크플로를 지원합니다.

필요 조건

작업 1: 이전 전 작업

다음 단계에서는 실제 마이그레이션 전에 완료해야 하는 필수 작업에 대해 설명합니다.

  1. 소스 시스템에 소프트웨어를 설치합니다. zdmcli 빌드는 바이너리 버전을 표시합니다. 자세한 내용은 Install the Software on the Source System를 참조하십시오.

    여기에 이미지 설명 입력

  2. 필요 조건에 설명된 대로 다음 이미지와 같이 OCI 대상 기본 및 대상 대기 가상 머신 데이터베이스 시스템 시스템 사이에 DR 설정이 구성되었습니다.

    여기에 이미지 설명 입력

    데이터베이스 및 서버 인벤토리:

    이름
    DB 이름 및 버전 Db0403 & 19c
    소스(온프레미스) 호스트 이름 데이터베이스소스
    OCI "Target Primary" 호스트 이름 ociserver기본
    OCI "Target Primary" 콘솔 표시 이름 OCI_FUTURE_PRIMARY
    OCI "대상 대기" 호스트 이름 ociserver대기
    OCI "대상 대기" 콘솔 표시 이름 OCI_FUTURE_STANDBY
    PDB 이름 Db0403_Pdb1
    ZDM 서버 이름 버전(&V) 워크샵 및 21.5

    다음 이미지는 OCI 대상 기본 데이터베이스 및 대상 대기 데이터베이스 시스템 세부정보를 보여줍니다.

    여기에 이미지 설명 입력

    여기에 이미지 설명 입력

  3. 소스 데이터베이스에 강제 로깅 및 아카이브 로그 모드가 사용으로 설정되어 있으며 다음 명령을 사용하여 확인할 수 있습니다.

    select force_logging ,log_mode from v$database;
    FORCE_LOGGING  LOG_MODE
    --------------------------------------- ------------
    YES  ARCHIVELOG
    
  4. tnsping 명령을 실행하여 소스 및 대상 기본 서버 간에 사용으로 설정된 1521 포트를 테스트하고, 로그 전달을 테스트합니다.

  5. Oracle Zero Downtime Migration 서버는 소스로 SSH를 zdmuser로 설정하고 OPC 사용자로서 기본 및 대상 대기 서버를 타겟팅할 수 있어야 합니다. 여기서 소스 서버 OS 사용자는 대상 OS OPC 사용자 이름과 함께 이 이전에 사용된 OPC이기도 합니다.

    여기에 이미지 설명 입력

  6. 소스 서버 /etc/hosts 파일을 대상 기본 및 대상 대기 정보로 업데이트했습니다.

    여기에 이미지 설명 입력

  7. OCI 차후 기본 서버 /etc/hosts 파일을 다음 이미지에 표시된 항목으로 업데이트했습니다.

    여기에 이미지 설명 입력

  8. OCI 이후 대기 서버 `/etc/hosts` 파일을 다음 이미지에 표시된 항목으로 업데이트했습니다.

    여기에 이미지 설명 입력

  9. 다음 이미지에 표시된 항목으로 Oracle Zero Downtime Migration 서비스 호스트 서버 /etc/hosts 파일을 업데이트했습니다.

    여기에 이미지 설명 입력

작업 2: Oracle Zero Downtime Migration 작업 평가

-eval 플래그 명령을 사용하여 Oracle Zero Downtime Migration 준비 명령을 확인합니다. -eval는 실제 이전을 시작하지 않으며, 사전 검사 및 환경 준비 상태에 대한 평가에 사용됩니다.

다음 명령을 실행합니다.

/u01/app/zdmhome/bin/zdmcli migrate database -rsp /home/zdmuser/physical_online.rsp -sourcedb DB0403_sourcedb -sourcenode databasesource -srcauth zdmauth -srcarg1 user:opc -srcarg2 identity_file:/home/zdmuser/priv.key -srcarg3 sudo_location:/usr/bin/sudo -targetnode ociserverprimary -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/priv.key -tgtarg3 sudo_location:/usr/bin/sudo -targethome /u01/app/oracle/product/19.0.0.0/dbhome_1 -eval

출력:

여기에 이미지 설명 입력

응답 파일 매개변수가 최종 마이그레이션에 사용됩니다.

여기에 이미지 설명 입력

작업 3: 최종 이전 작업 인스턴스화

EVAL 작업 상태는 작업 2에서 성공이고 다음 명령은 마이그레이션 시작에 사용됩니다.

/u01/app/zdmhome/bin/zdmcli migrate database -rsp /home/zdmuser/physical_online.rsp -sourcedb DB0403_sourcedb -sourcenode databasesource -srcauth zdmauth -srcarg1 user:opc -srcarg2 identity_file:/home/zdmuser/priv.key -srcarg3 sudo_location:/usr/bin/sudo -targetnode ociserverprimary -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/priv.key -tgtarg3 sudo_location:/usr/bin/sudo -targethome /u01/app/oracle/product/19.0.0.0/dbhome_1 -pauseafter ZDM_CONFIGURE_DG_TGT

ZDM_CONFIGURE_DG_TGT 단계 이후 마이그레이션을 일시 중지하기 위해 migration 명령에 pauseafter 플래그를 추가했습니다. 이제 작업이 ZDM_CONFIGURE_DG_TGT 단계까지 성공적으로 완료되고 예상대로 일시 중지되었습니다.

이전 결과:

[zdmuser@workshop ~]$ zdmcli query job -jobid 13
workshop.pgvcnpublic1.pgvcn.oraclevcn.com: Audit ID: 115
Job ID: 13
User: zdmuser
Client: workshop
Job Type: "MIGRATE"
Scheduled job command: "zdmcli migrate database -rsp /home/zdmuser/physical_online.rsp -sourcedb DB0403_sourcedb -sourcenode databasesource -srcauth zdmauth -srcarg1 user:opc -srcarg2 identity_file:/home/zdmuser/priv.key -srcarg3 sudo_location:/usr/bin/sudo -targetnode ociserverprimary -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/priv.key -tgtarg3 sudo_location:/usr/bin/sudo -targethome /u01/app/oracle/product/19.0.0.0/dbhome_1"
Scheduled job execution start time: 2025-04-03T18:23:49Z. Equivalent local time: 2025-04-03 18:23:49
Current status: PAUSED
Current Phase: "ZDM_CONFIGURE_DG_TGT"
Result file path: "/u01/app/zdmbase/chkbase/scheduled/job-13-2025-04-03-18:23:55.log"
Metrics file path: "/u01/app/zdmbase/chkbase/scheduled/job-13-2025-04-03-18:23:55.json"
Job execution start time: 2025-04-03 18:23:55
Job execution end time: 2025-04-03 19:35:48
Job execution elapsed time: 41 minutes 7 seconds
ZDM_GET_SRC_INFO .............. COMPLETED
ZDM_GET_TGT_INFO .............. COMPLETED
ZDM_GET_STBY_INFO ............. COMPLETED
ZDM_PRECHECKS_SRC ............. COMPLETED
ZDM_PRECHECKS_TGT ............. COMPLETED
ZDM_PRECHECKS_STBY ............ COMPLETED
ZDM_SETUP_SRC ................. COMPLETED
ZDM_SETUP_TGT ................. COMPLETED
ZDM_SETUP_STBY ................ COMPLETED
ZDM_PREUSERACTIONS ............ COMPLETED
ZDM_PREUSERACTIONS_TGT ........ COMPLETED
ZDM_PREUSERACTIONS_STBY ....... COMPLETED
ZDM_VALIDATE_SRC .............. COMPLETED
ZDM_VALIDATE_TGT .............. COMPLETED
ZDM_VALIDATE_STBY ............. COMPLETED
ZDM_DISCOVER_SRC .............. COMPLETED
ZDM_COPYFILES ................. COMPLETED
ZDM_PREPARE_TGT ............... COMPLETED
ZDM_SETUP_TDE_TGT ............. COMPLETED
ZDM_RESTORE_TGT ............... COMPLETED
ZDM_RECOVER_TGT ............... COMPLETED
ZDM_FINALIZE_TGT .............. COMPLETED
ZDM_CONFIGURE_DG_SRC .......... COMPLETED
ZDM_COPYFILES_TGT_STBY ........ COMPLETED
ZDM_PREPARE_STBY .............. COMPLETED
ZDM_SETUP_TDE_STBY ............ COMPLETED
ZDM_RESTORE_TGT_STBY .......... COMPLETED
ZDM_RECOVER_TGT_STBY .......... COMPLETED
ZDM_FINALIZE_STBY ............. COMPLETED
ZDM_CONFIGURE_DG_TGT .......... COMPLETED
ZDM_SWITCHOVER_SRC ............ PENDING
ZDM_SWITCHOVER_TGT ............ PENDING
ZDM_POST_DATABASE_OPEN_TGT .... PENDING
ZDM_DATAPATCH_TGT ............. PENDING
ZDM_POST_MIGRATE_TGT_STBY ..... PENDING
ZDM_POST_MIGRATE_TGT .......... PENDING
ZDM_POSTUSERACTIONS ........... PENDING
ZDM_POSTUSERACTIONS_TGT ....... PENDING
ZDM_POSTUSERACTIONS_STBY ...... PENDING
ZDM_CLEANUP_SRC ............... PENDING
ZDM_CLEANUP_TGT ............... PENDING
ZDM_CLEANUP_STBY .............. PENDING

Pause After Phase: "ZDM_CONFIGURE_DG_TGT" <<<<<<<<<<<<<<<< job paused after this Phase.
[zdmuser@workshop ~]$

전환 단계 전에 이전 작업이 일시 정지되었습니다. OCI 차후 기본 및 차후 대기 데이터베이스가 물리적 대기 모드로 변경되고, Oracle Data Guard Broker가 구성에 포함된 세 개의 데이터베이스를 모두 포함하는 Oracle Zero Downtime Migration 작업에 의해 구성되고 모두 동기화됩니다.

여기에 이미지 설명 입력

작업 4: 이전 작업 전환 단계 시작

Oracle Zero Downtime Migration 작업과 Task 3 작업(13)을 재개하여 스위치오버를 시작하겠습니다.

[zdmuser@workshop ~]$ zdmcli resume job -jobid 13

workshop.pgvcnpublic1.pgvcn.oraclevcn.com: Audit ID: 117

zdmcli query job -jobid 13 명령은 작업 상태를 제공하고 작업이 지금 success로 표시됩니다.

출력:

[zdmuser@workshop ~]$ zdmcli query job -jobid 13
workshop.pgvcnpublic1.pgvcn.oraclevcn.com: Audit ID: 121
Job ID: 13
User: zdmuser
Client: workshop
Job Type: "MIGRATE"
Scheduled job command: "zdmcli migrate database -rsp /home/zdmuser/physical_online.rsp -sourcedb DB0403_sourcedb -sourcenode databasesource -srcauth zdmauth -srcarg1 user:opc -srcarg2 identity_file:/home/zdmuser/priv.key -srcarg3 sudo_location:/usr/bin/sudo -targetnode ociserverprimary -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/priv.key -tgtarg3 sudo_location:/usr/bin/sudo -targethome /u01/app/oracle/product/19.0.0.0/dbhome_1"
Scheduled job execution start time: 2025-04-03T18:23:49Z. Equivalent local time: 2025-04-03 18:23:49

Current status: SUCCEEDED <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Result file path: "/u01/app/zdmbase/chkbase/scheduled/job-13-2025-04-03-18:23:55.log"
Metrics file path: "/u01/app/zdmbase/chkbase/scheduled/job-13-2025-04-03-18:23:55.json"
Job execution start time: 2025-04-03 18:23:55
Job execution end time: 2025-04-04 06:03:04
Job execution elapsed time: 56 minutes 15 seconds
ZDM_GET_SRC_INFO .............. COMPLETED
ZDM_GET_TGT_INFO .............. COMPLETED
ZDM_GET_STBY_INFO ............. COMPLETED
ZDM_PRECHECKS_SRC ............. COMPLETED
ZDM_PRECHECKS_TGT ............. COMPLETED
ZDM_PRECHECKS_STBY ............ COMPLETED
ZDM_SETUP_SRC ................. COMPLETED
ZDM_SETUP_TGT ................. COMPLETED
ZDM_SETUP_STBY ................ COMPLETED
ZDM_PREUSERACTIONS ............ COMPLETED
ZDM_PREUSERACTIONS_TGT ........ COMPLETED
ZDM_PREUSERACTIONS_STBY ....... COMPLETED
ZDM_VALIDATE_SRC .............. COMPLETED
ZDM_VALIDATE_TGT .............. COMPLETED
ZDM_VALIDATE_STBY ............. COMPLETED
ZDM_DISCOVER_SRC .............. COMPLETED
ZDM_COPYFILES ................. COMPLETED
ZDM_PREPARE_TGT ............... COMPLETED
ZDM_SETUP_TDE_TGT ............. COMPLETED
ZDM_RESTORE_TGT ............... COMPLETED
ZDM_RECOVER_TGT ............... COMPLETED
ZDM_FINALIZE_TGT .............. COMPLETED
ZDM_CONFIGURE_DG_SRC .......... COMPLETED
ZDM_COPYFILES_TGT_STBY ........ COMPLETED
ZDM_PREPARE_STBY .............. COMPLETED
ZDM_SETUP_TDE_STBY ............ COMPLETED
ZDM_RESTORE_TGT_STBY .......... COMPLETED
ZDM_RECOVER_TGT_STBY .......... COMPLETED
ZDM_FINALIZE_STBY ............. COMPLETED
ZDM_CONFIGURE_DG_TGT .......... COMPLETED
ZDM_SWITCHOVER_SRC ............ COMPLETED
ZDM_SWITCHOVER_TGT ............ COMPLETED
ZDM_POST_DATABASE_OPEN_TGT .... COMPLETED
ZDM_DATAPATCH_TGT ............. COMPLETED
ZDM_POST_MIGRATE_TGT_STBY ..... COMPLETED
ZDM_POST_MIGRATE_TGT .......... COMPLETED
ZDM_POSTUSERACTIONS ........... COMPLETED
ZDM_POSTUSERACTIONS_TGT ....... COMPLETED
ZDM_POSTUSERACTIONS_STBY ...... COMPLETED
ZDM_CLEANUP_SRC ............... COMPLETED
ZDM_CLEANUP_TGT ............... COMPLETED
ZDM_CLEANUP_STBY .............. COMPLETED
[zdmuser@workshop ~]$

DGMGRL 명령은 데이터베이스 전환이 수행될 때 대상 기본 OCI(현재 기본)에서 실행됩니다. OCI 대상 대기는 여전히 대기 모드이며 소스가 기본 대기 롤에서 물리적 대기 롤로 변경되었습니다.

여기에 이미지 설명 입력

온-프레미스 대기 데이터베이스가 중개자 구성에 표시되지 않더라도 OCI 기본 데이터베이스에서 소스 온-프레미스 데이터베이스로 리두 로그를 계속 수신하며 로그 스위치 또는 log_archive_dest_3 값을 사용하여 확인할 수 있습니다.

여기에 이미지 설명 입력

작업 5: 구성에서 소스 데이터베이스 제거

온프레미스 동기화를 영구적으로 제거하고 OCI 콘솔에서 고유 스위치오버를 수행합니다.

여기에 이미지 설명 입력

콘솔에서 콘솔 전환 테스트로 전환 작업을 시작합니다.

여기에 이미지 설명 입력

  OCI 기본 OCI 대기
전환 전 DB0403_primary_oci DB0403_69p_iad
전환 후 DB0403_69p_iad DB0403_primary_oci

다음 이미지는 스위치오버가 완료된 후의 DGMGRL 출력을 보여줍니다.

여기에 이미지 설명 입력

확인

추가 학습 자원

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

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