마이그레이션된 데이터를 수락하도록 클라우드 서비스 준비

계정에 소스 데이터베이스의 공용 키를 추가하고, 데이터를 저장할 스토리지 버킷을 생성하고, 해당 지역에 호환되는 데이터베이스를 프로비저닝하고, 소스 데이터베이스의 전자 지갑을 클라우드의 새 데이터베이스에 복사하여 Oracle Cloud Infrastructure 계정이 이전된 데이터를 수락하도록 준비합니다.

Oracle Cloud Infrastructure 계정 프로파일에 공용 키 추가

소스 데이터베이스에서 생성한 전자 지갑 공용 키를 Oracle Cloud Infrastructure 계정에 추가합니다. 공용 키는 Oracle Cloud Infrastructure Object Storage에 액세스하는 데 사용됩니다.

  1. Oracle Cloud Infrastructure 콘솔로 이동하고 프로파일 아이콘을 누릅니다.
  2. 사용자 설정, 리소스, Api 키 순으로 선택합니다.
  3. 공용 키 추가를 누른 다음 공용 키 붙여넣기를 선택합니다.
  4. 공개 키 텍스트를 필드에 붙여 넣습니다. 추가를 누릅니다.
    소스 데이터베이스에서 전자 지갑을 생성할 때 저장한 머리글 및 바닥글 문을 포함하여 공용 키입니다.
  5. 업로드된 공개 키에 대한 지문을 기록해 둡니다. 나중에 필요합니다.

오브젝트 스토리지에 버킷 생성

버킷은 데이터를 저장하고 구성하는 데 사용됩니다. 생성하는 버킷은 Oracle Cloud Infrastructure Object Storage에 백업되는 데이터의 컨테이너가 됩니다.

  1. Oracle Cloud Infrastructure 콘솔코어 인프라에서 객체 스토리지를 누릅니다.
  2. 페이지 왼쪽에 있는 [구획] 목록에서 구획을 선택합니다.
    구획은 리소스를 배치한 위치입니다.
  3. 버킷 생성을 누릅니다.
  4. 버킷의 이름을 지정합니다.
    시스템에서는 현재 연도, 월, 일 및 시간(예: bucket-20210210-1359)을 반영하는 기본 버킷 이름을 생성합니다. 기본값을 다른 버킷 이름으로 변경할 때는 문자, 숫자, 대시, 밑줄 및 마침표를 사용합니다. 기밀 정보를 입력하지 마십시오. 예를 들어, 버킷 이름을 atp-upload로 지정합니다.
  5. 버킷 속성에 기본값을 사용합니다.
    예를 들어, 표준 스토리지 계층을 선택합니다. 표준은 빠르고 즉각적인 액세스가 필요한 데이터 저장에 사용되는 기본 스토리지 계층입니다.
  6. 버킷 생성을 누릅니다.

Oracle Cloud Infrastructure에서 데이터베이스 프로비전

Oracle Cloud Infrastructure에 호환되는 데이터베이스를 프로비전합니다. 데이터베이스는 베어 메탈 또는 가상 시스템일 수 있지만 버전은 최소한 원본 데이터베이스와 동일한 버전이어야 합니다.

클라우드의 CDB(컨테이너 데이터베이스) 또는 SID(시스템 식별자) 이름은 소스 데이터베이스 CDB 또는 SID 이름과 동일해야 합니다. 데이터베이스 시스템 유형 및 프로비전된 노드 수에 따라 데이터베이스 시스템을 프로비전하는 데 1시간 이상 걸릴 수 있습니다.

시작하기 전에 구획에 전용 서브넷이 있는 VCN(가상 클라우드 네트워크) 설정이 있어야 데이터베이스 시스템을 프로비전할 수 있습니다. 데이터베이스에 액세스하려면 공용 IP를 가지도록 VCN의 공용 서브넷에 배스천 호스트를 프로비저닝해야 합니다. 또는 VPN 또는 Oracle Cloud Infrastructure FastConnect를 통해 전용 네트워크에 직접 액세스해야 합니다. 공용 서브넷 CIDR 블록에서 데이터베이스 포트(1521)에 액세스할 수 있는 데이터베이스 전용 서브넷에 보안 목록 규칙을 생성합니다.

  1. Oracle Cloud Infrastructure 콘솔에서 데이터베이스, 베어메탈, VM 및 Exadata 순으로 누릅니다.
  2. 데이터베이스 시스템 생성을 누릅니다.
  3. 데이터베이스 시스템이 상주할 구획을 선택합니다.
  4. 데이터베이스 시스템 이름을 지정합니다.
  5. 가용성 도메인을 선택합니다.
  6. 구성 유형을 선택합니다.
  7. 데이터베이스 요구사항과 일치하는 컴퓨트 구성을 선택합니다.
  8. 다중 코어 구성의 노드 수를 선택합니다.
    둘 이상의 노드를 선택하는 경우 Logical Volume Manager 스토리지 옵션을 사용할 수 없습니다.
  9. 저장 영역 관리 옵션(Oracle Grid Infrastructure(OGI) 또는 Logical Volume Manager(LVM))을 선택합니다. OGI를 사용하면 여러 노드에 걸쳐 있는 저장 영역을 원활하게 관리할 수 있으므로 복원력을 위해 사용하는 것이 좋습니다. Oracle Grid Infrastructure를 사용하는 경우에만 버전 11g를 사용할 수 있습니다.
  10. 저장 영역 구성: 이 데이터베이스에 필요한 저장 영역 양을 선택합니다.
  11. 액세스를 위한 SSH 공용 키를 업로드합니다.
  12. 라이센스 유형(Universal 크레딧 사용에 포함된 라이센스 또는 Oracle Database 라이센스를 소유한 경우 Bring Your Own License)을 선택합니다.
  13. 데이터베이스 시스템에 대한 VCN 및 서브넷을 선택합니다.
  14. 호스트 이름 접두어를 선택합니다.
  15. 다음을 누릅니다.
  16. 소스 CDB 이름 또는 소스 데이터베이스 SID에 해당하는 데이터베이스 이름을 입력합니다.
    복원 단계가 원활하게 작동하려면 소스 및 대상 데이터베이스 이름이 일치해야 합니다.
  17. 데이터베이스 버전을 선택합니다.
    대상 데이터베이스 버전은 소스 데이터베이스 버전과 같거나 이후 버전이어야 합니다.

    대상 데이터베이스는 더 높은 패치 레벨일 수 있습니다. 상위 버전인 경우 마이그레이션하기 전에 업그레이드해야 합니다.

  18. 비밀번호 요구사항과 일치하는 SYS 사용자에 대한 비밀번호를 설정합니다.
  19. 생성을 누릅니다.

전자 지갑을 대상 데이터베이스로 복사

IP 주소를 사용하여 배스천 호스트와 대상 데이터베이스 호스트 사이에 SSH 터널을 열면 전자 지갑을 대상 데이터베이스 호스트의 /home/oracle/ 디렉토리에 복사합니다.

  1. 배스천 호스트의 공용 IP 주소를 가져옵니다.
    1. 콘솔에서 컴퓨트 인스턴스를 누릅니다.
    2. 배스천 호스트를 누릅니다. 공용 IP 주소가 배스천 호스트 세부정보에 나타납니다.
  2. 데이터베이스 시스템 노드의 전용 IP 주소를 가져옵니다.
    다중 노드 DB 시스템의 경우 마스터 노드의 IP 주소를 가져옵니다.
    1. 콘솔에서 데이터베이스, 베어메탈, VM 및 Exadata를 차례로 누릅니다.
    2. 데이터베이스 시스템을 선택합니다.
    3. 왼쪽 메뉴에서 노드를 누릅니다.
    4. IP 주소 또는 노드 목록의 호스트 이름에 대한 전용 IP 주소 및 DNS 이름으로 이동합니다.
  3. IP 주소를 사용하여 배스천 호스트와 데이터베이스 호스트 간에 SSH 터널을 연 다음 대상 데이터베이스 호스트의 /home/oracle/ 디렉토리에 전자 지갑을 복사합니다.
    이 파일은 사용자 oracle가 소유해야 합니다.
    #copy files over to target DB host through Bastion Host
    BASTION_IP=192.0.2.1 # public IP
    DB_HOST=10.0.1.11 # private IP
    
    scp -o ProxyCommand="ssh -W %h:%p opc@${BASTION_IP}" wallet.zip opc@${DB_HOST}:~/
    ssh -J opc@${BASTION_IP} opc@${DB_HOST} 'sudo chown oracle:oinstall wallet.zip; sudo mv wallet.zip /home/oracle/'
  4. 현재 전자 지갑을 백업하고 대상 데이터베이스에 전자 지갑을 설치합니다.
    mv $ORACLE_HOME/data/wallet $ORACLE_HOME/data/wallet_bck
    mkdir -p $ORACLE_HOME/data/wallet
    unzip wallet.zip -d $ORACLE_HOME/data/wallet/