논리적 이전을 사용하여 이전

다음 단계에서는 오프라인 논리적 마이그레이션을 수행하는 방법에 대해 설명합니다. 온라인 논리적 마이그레이션을 수행하려면 Oracle GoldenGate를 실행하는 추가 서버가 필요합니다. 이렇게 하면 마이그레이션 중 데이터베이스가 항상 온라인 상태가 됩니다. 오프라인 논리적 마이그레이션을 수행하기 전에 다음 사항에 유의하십시오.

  • x86 서버의 소스 데이터베이스를 암호화할 필요가 없습니다. Oracle Zero Downtime Migration은 마이그레이션 중 대상 데이터베이스를 암호화합니다.
  • 소스 및 대상 데이터베이스의 sys 비밀번호, 데이터베이스 버전 및 패치 레벨은 다를 수 있습니다.
  • 이전 중 데이터베이스를 업그레이드할 수 있습니다.
  • Zero Downtime Migration logical migrations will allow the migration of certain pluggable database (PDB) and or schemas to a pluggable database (PDB) in Oracle Exadata Database Service on Cloud@Customer.

오프라인 논리적 마이그레이션을 실행하려면 다음과 같이 하십시오.

  1. 별도의 서버에 Zero Downtime Migration 소프트웨어를 다운로드하여 설치합니다. zdmuser를 사용하여 제로 다운타임 마이그레이션 소프트웨어를 실행합니다.
  2. 제로 작동 중지 마이그레이션 서버에 zdmuser로 로그인합니다.
  3. ssh 키 쌍을 생성합니다.
  4. zdmuser에서 소스 x86 서버(root/privilege-sudoer user) 및 대상 Oracle Exadata Database Service on Cloud@Customer 데이터베이스(opc user)의 모든 VM 클러스터 노드로 암호 없는 ssh를 사용으로 설정합니다.
  5. Oracle ZFS Storage Appliance(NAS)에서 마이그레이션이 진행되는 동안 데이터베이스 데이터 덤프에 대한 위치 표시자로 사용할 NFS(네트워크 파일 시스템) 공유를 만듭니다.
  6. 소스 및 대상 데이터베이스의 모든 노드에서 동일한 마운트 지점에 NFS 공유를 마운트합니다. 모든 유저가 소스와 대상에 대해 읽기, 쓰기 및 실행(rwx) 권한을 가지고 있는지 확인합니다.
  7. OCI GUI 또는 REST API를 사용하여 Oracle Exadata Database Service on Cloud@Customer에서 대상 데이터베이스를 생성합니다. 다음과 같이 Target Database를 구성합니다.
    • 대상 데이터베이스의 이름과 버전은 소스와 다를 수 있습니다.
    • 백업 대상을 선택하거나 자동 백업을 사용으로 설정하지 마십시오. 이러한 설정은 데이터베이스가 소스에서 대상으로 이전된 후에 활성화할 수 있습니다.
  8. OCI GUI를 사용하여 대상 Oracle Exadata Database Service on Cloud@Customer 데이터베이스를 소유하는 OCI 사용자에 대한 API 키를 생성합니다. 사용자 OCID, 테넌시 OCID, 지문 및 OCI 지역을 기록합니다. 해당하는 개인 키와 공개 키를 .pem 파일에 저장합니다. 이 API 키는 다운타임 없는 이전에서 OCI에 접속하여 데이터베이스 이전 중 대상 데이터베이스 정보를 가져오는 데 사용됩니다.
  9. .pem 파일을 Zero Downtime Migration Server로 복사합니다.
  10. 대상 Oracle Exadata Database Service on Cloud@Customer 데이터베이스에 sys로 로그인하고 streams_pool_size 매개변수가 2G 이상으로 설정되었는지 확인합니다. 예를 들면 다음과 같습니다.
    SQL>show parameter streams_pool_size;
    SQL>alter system set streams_pool_size=2G scope=both SID=’*’;
  11. 0 작동 중지 시간 마이그레이션에 포함된 제로 작동 중지 시간 마이그레이션의 논리적 마이그레이션 응답 파일 템플리트를 사용하여 마이그레이션에 대한 응답 파일을 생성합니다. 키 매개변수에는 다음이 포함됩니다.
    • TARGETDATABASE_OCID: Oracle Exadata Database Service on Cloud@Customer 대상 데이터베이스의 OCID입니다.
    • MIGRATION_METHOD: OFFLINE_LOGICAL
    • DATA_TRANSFER_MEDIUM: NFS
    • TARGETDATABASE_ADMINUSERNAME: system
    • SOURCEDATABASE_ADMINUSERNAME: system
    • SOURCEDATABASE_CONNECTIONDETAILS_HOST: 소스 x86 데이터베이스 서버의 IP/호스트 이름입니다.
    • SOURCEDATABASE_CONNECTIONDETAILS_PORT: 1521
    • SOURCEDATABASE_CONNECTIONDETAILS_SERVICENAME: 소스 PDB 또는 비CDB(컨테이너 데이터베이스)의 서비스 이름입니다. lsnrctl를 사용하여 찾습니다.
    • OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_TENANTID: 8단계의 테넌시 OCID입니다.
    • OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_USERID: 8단계의 사용자 OCID입니다.
    • OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_FINGERPRINT: 8단계의 지문입니다.
    • OCIAUTHENTICATIONDETAILS_PRIVATEKEYFILE: 9단계에서 ZDM 서버의 개인 키 .pem 파일에 대한 파일 경로입니다.
    • OCIAUTHENTICATIONDETAILS_REGIONID: 8단계의 OCI 사용자용 OCI 지역 ID입니다.
    • TARGETDATABASE_CONECTIONDETAILS_HOST: 대상 Oracle Exadata Database Service on Cloud@Customer VM 클러스터의 첫번째 VM IP/호스트 이름입니다.
    • TARGETDATABASE_CONNECTIONDETAILS_PORT: 1521
    • TARGETDATABASE_CONNECTIONDETAILS_SERVICENAME: 대상 Oracle Exadata Database Service on Cloud@Customer 데이터베이스에 있는 대상 PDB(플러그인할 수 있는 데이터베이스)의 서비스 이름입니다. lsnrctl를 사용하여 찾습니다.
    • SOURCECONTAINERDATABASE_ADMINUSERNAME: system
    • SOURCECONTAINERDATABASE_CONNECTIONDETAILS_HOST: 소스 x86 데이터베이스 서버의 IP/호스트 이름입니다.
    • SOURCECONTAINERDATABASE_CONNECTIONDETAILS_PORT: 1521
    • SOURCECONTAINERDATABASE_CONNECTIONDETAILS_SERVICENAME: x86 서버의 소스 컨테이너 데이터베이스에 대한 서비스 이름입니다. lsnrctl를 사용하여 찾습니다.
    • DATAPUMPSETTINGS_JOBMODE: SCHEMA
    • DATAPUMPSETTINGS_FIXINVALIDOBJECTS: TRUE
    • DATAPUMPSETTINGS_EXPORTDIRECTORYOBJECT_NAME: mig
    • DATAPUMPSETTINGS_EXPORTDIRECTORYOBJECT_PATH: 6단계의 NFS 마운트 지점입니다.
    • DATAPUMPSETTINGS_IMPORTDIRECTORYOBJECT_NAME: mig
    • DATAPUMPSETTINGS_IMPORTDIRECTORYOBJECT_PATH: 6단계의 NFS 마운트 지점입니다.
    • DATAPUMPSETTINGS_CREATEAUTHTOKEN: TRUE
    • TABLESPACEDETAILS_AUTOCREATE: TRUE
    • TABLESPACEDETAILS_USEBIGFILE: TRUE
    • TABLESPACEDETAILS_EXTENTSIZEMB: 512
    • EXCLUDEOBJECTS-1: owner:PDBADMIN
  12. 다운타임이 없는 마이그레이션 Dry Run 마이그레이션 작업(-eval)을 실행하여 마이그레이션에 대한 모든 필요 조건을 검증할 수 있습니다. This will run the Cloud Pre-Migration Advisor Tool (CPAT) to validate the source database is suitable for migration to Oracle Exadata Database Service on Cloud@Customer using Zero Downtime Migration logical migration. 계속하기 전에 CPAT에서 보고한 문제를 해결하십시오. 예:
    zdmcli migrate database -sourcedb source_db_name \
    -sourcenode IP/hostname_of_x86_db_server \
    -srcauth zdmauth \
    -srcarg1 user: root_or_sudoer_user \
    -srcarg2 identity_file: path_to_ssh_private_key/ssh_private_key_file_name
    \
    -srcarg3 sudo_location:/usr/bin/sudo \
    -targetnode IP/hostname_of_first_Exadata_Database_Cloud@Customer_VM_Cluster_Node
    -tgtarg1 user:opc \
    -tgtarg2 identity_file: path_to_ssh_private_key/ssh_private_key_file_name
    \
    -tgtarg3 sudo_location:/usr/bin/sudo \
    -rsp path_to_response_file/response_file_name_from_step_11 \
    -eval
    Dry Run 마이그레이션이 성공한 후 다음 단계로 진행합니다.
  13. 제로 다운타임 마이그레이션 작업을 실행합니다. 예:
    zdmcli migrate database -sourcedb source_db_name \
    -sourcenode IP/hostname_of_x86_db_server \
    -srcauth zdmauth \
    -srcarg1 user: root_or_sudoer_user \
    -srcarg2 identity_file: path_to_ssh_private_key/ssh_private_key_file_name
    \
    -srcarg3 sudo_location:/usr/bin/sudo \
    -targetnode IP/hostname_of_first_Exadata_Database_Cloud@Customer_VM_Cluster_Node
    -tgtarg1 user:opc \
    -tgtarg2 identity_file:path_to_ssh_private_key/ssh_private_key_file_name
    \
    -tgtarg3 sudo_location:/usr/bin/sudo \
    -rsp path_to_response_file/response_file_name_from_step_11