클라우드에서 파일 스토리지를 사용하여 마이그레이션 준비

Oracle Database Exadata Cloud ServiceOracle Cloud Infrastructure File Storage를 프로비전합니다. 그런 다음 소스 데이터베이스와 대상 데이터베이스에 데이터 펌프 디렉토리를 생성합니다.

Exadata DB 시스템 프로비전

Oracle Cloud 지역의 기존 구획 및 가용성 도메인에서 Exadata DB 시스템을 프로비전합니다.

클라우드의 CDB(컨테이너 데이터베이스) 또는 SID(시스템 식별자) 이름은 소스 데이터베이스 CDB 또는 SID 이름과 같아야 합니다.

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

  1. Oracle Cloud Infrastructure 콘솔에서 데이터베이스 를 누른 다음 베어메탈, VM 및 Exadata를 누릅니다.
  2. DB 시스템 생성 을 누릅니다.
  3. DB 시스템에 대한 기본 정보를 지정합니다:
    1. 구획 선택: 기본적으로 DB 시스템은 현재 구획에서 실행되며 해당 구획의 네트워크 리소스를 사용할 수 있습니다.
    2. DB 시스템 이름 지정: DB 시스템에 친숙한 표시 이름을 사용합니다.
      이름은 고유하지 않아도 됩니다. OCID(Oracle Cloud 식별자) 는 DB 시스템을 고유하게 식별합니다.
    3. 가용성 도메인 선택: DB 시스템이 상주하는 가용성 도메인입니다.
    4. 구성 유형 을 선택합니다. Exadata를 선택합니다.
    5. 구성 선택: 구성은 시스템에 할당된 랙 크기 및 리소스를 결정합니다.
    6. 데이터베이스 구성: 기본 설정을 사용합니다.
    7. 저장 영역 구성: 저장 영역 할당을 지정합니다.
      기본 할당은 백분율: 80% DATA, 20% RECO, 0% SPARSE입니다.
      희소 디스크 그룹을 생성하면 ASM 디스크 그룹(DATA 및 RECO) 에 사용 가능한 저장 영역이 영향을 받으며 DB 시스템을 프로비전한 후에는 저장 영역 할당 구성을 변경할 수 없습니다.
    8. 액세스를 위해 SSH 공용 키를 업로드합니다.
      DB 시스템에 대한 SSH 액세스에 사용할 각 키 쌍의 공개 키 부분입니다. . pub 파일을 찾아보거나 끌어 놓거나 개별 공개 키에 붙여넣을 수 있습니다. 여러 키를 붙여 넣으려면 + 다른 SSH 키 를 누르고 각 항목에 대해 단일 키를 제공합니다.
    9. 라이센스 유형(라이센스 포함(기본값) 또는 Oracle Database 라이센스를 소유한 경우 Bring Your Own License) 을 선택합니다.
  4. 네트워크 정보 지정:
    1. 가상 클라우드 네트워크: DB 시스템을 실행할 VCN 입니다. 구획 변경 을 눌러 다른 구획의 VCN을 선택합니다.
    2. 클라이언트 서브넷: Exadata DB 시스템이 연결되어야 하는 서브넷입니다. 구획 변경 을 눌러 다른 구획의 서브넷을 선택합니다.
      데이터베이스 인스턴스의 Oracle Clusterware 전용 상호 접속에 사용되는 192.168.16.16/28과 겹치는 서브넷을 사용하지 마십시오. 겹치는 서브넷을 지정하면 전용 상호 접속이 작동하지 않습니다.
    3. 백업 서브넷: 백업 네트워크에 사용할 서브넷으로, 일반적으로 Oracle Cloud Infrastructure Object Storage에서 백업 정보를 전송하는 데 사용됩니다.
      192.168.128.0/20와 겹치는 서브넷을 사용하지 마십시오. 이 제한은 클라이언트 서브넷과 백업 서브넷에 모두 적용됩니다.
    4. 네트워크 보안 그룹:(선택 사항) 클라이언트 및 백업 네트워크 모두에 대해 NSG(네트워크 보안 그룹) 를 하나 이상 지정할 수 있습니다.
      NSG는 가상 방화벽으로 작동하므로 DB 시스템에 수신 및 송신 보안 규칙 집합을 적용할 수 있습니다. NSG는 최대 5개까지 지정할 수 있습니다.

      보안 목록이 있는 서브넷을 선택할 경우 DB 시스템에 대한 보안 규칙은 보안 목록과 NSG에 있는 규칙의 합집합입니다.

    5. 호스트 이름 접두어: Exadata DB 시스템에 대한 호스트 이름을 지정합니다. 호스트 이름은 서브넷 내에서 고유해야 하며 문자로 시작하고 영숫자 및 하이픈(-) 만 포함할 수 있습니다. Exadata DB 시스템에 허용되는 최대 문자 수는 12자입니다.
    6. 호스트 도메인 이름: DB 시스템의 도메인 이름입니다.
      선택한 서브넷에서 DNS 이름 확인을 위해 Oracle 제공 인터넷 및 VCN 분석기를 사용하는 경우 이 필드에는 서브넷의 도메인 이름이 표시되며 변경할 수 없습니다. 그렇지 않으면 도메인 이름 선택을 제공할 수 있습니다. 하이픈(-) 은 허용되지 않습니다. 오브젝트 스토리지에 데이터베이스 백업을 저장하려는 경우 Oracle은 백업에 사용되는 Swift 끝점을 자동으로 분석하므로 클라이언트 서브넷의 DNS 이름 확인을 위해 VCN 분석기를 사용할 것을 권장합니다.
    7. 호스트 및 도메인 URL: 호스트 및 도메인 이름을 결합하여 데이터베이스에 대한 FQDN(전체 도메인 이름) 을 표시합니다. 최대 길이는 64자입니다.
  5. 다음 을 누릅니다.
  6. 초기 데이터베이스에 대한 정보를 제공하십시오:
    1. 데이터베이스 이름: 데이터베이스에 대한 이름입니다.
      데이터베이스 이름은 문자로 시작하고 최대 8자의 영숫자를 포함할 수 있습니다. 특수 문자는 사용할 수 없습니다.
    2. 데이터베이스 버전: 19c 버전을 DB 시스템에 생성된 초기 데이터베이스 버전으로 지정합니다.
      대상 데이터베이스 버전은 소스 데이터베이스 버전과 동일한 버전이거나 상위 버전이어야 합니다. 대상 데이터베이스는 높은 패치 레벨일 수 있습니다. 상위 버전인 경우 이전하기 전에 업그레이드가 필요합니다.
      DB 시스템이 활성화된 후 DB 시스템에 추가 데이터베이스를 생성할 수 있습니다. DB 시스템에서 데이터베이스 버전을 혼합할 수 있습니다. 이전 데이터베이스 버전은 19c Exadata DB 시스템에서 지원되며 언제든지 생성할 수 있습니다. 이전 Oracle Database 버전으로 생성된 Exadata DB 시스템은 Oracle Database 19c.를 자동으로 지원하지 않습니다. DB 시스템을 수동으로 업그레이드해야 합니다.
    3. PDB 이름: 플러그인할 수 있는 데이터베이스의 이름입니다.
      PDB 이름은 문자로 시작하고 최대 8자의 영숫자를 포함할 수 있습니다. 허용되는 특수 문자는 밑줄(_) 뿐입니다.
    4. 비밀번호 요구사항과 일치하는 SYS 사용자에 대한 비밀번호를 설정합니다.
      SYS 비밀번호는 소스 데이터베이스의 SYS 비밀번호와 동일해야 합니다.
      비밀번호는 9 ~ 30자여야 하며 대문자, 소문자, 숫자 및 특수 문자를 두 개 이상 포함해야 합니다. 특수 문자는_, # 또는 -여야 합니다. 비밀번호는 대소문자를 구분하지 않고 앞이나 뒤집은 순서로 사용자 이름(SYS, SYSTEM 등) 또는 단어 "oracle" 을 포함하면 안됩니다.
    5. OLTP(온라인 트랜잭션 처리) 또는 DSS(의사결정 지원 시스템) 중에서 작업 로드 유형을 선택합니다.
  7. 데이터베이스 백업 구성: 데이터베이스를 오브젝트 스토리지에 백업하기 위한 설정을 지정합니다.
  8. DB 시스템 생성 을 누릅니다.
    DB 시스템의 아이콘이 녹색으로 바뀌면 사용 가능 상태로 강조 표시된 DB 시스템 이름을 눌러 DB 시스템에 대한 세부 정보를 확인합니다. DB 시스템에 연결할 IP 주소를 기록해 둡니다.

온-프레미스와 클라우드 간에 SQL*Net 접속 생성

온-프레미스 데이터베이스와 Oracle Database Exadata Cloud Service 간에 SQL*Net 연결을 설정합니다.

  1. 콘솔을 열고 Exadata DB 시스템에 대한 호스트 이름 접두어 및 호스트 도메인 이름을 가져옵니다.

    호스트 이름 접두어와 호스트 도메인 이름은 SERVICE_NAME를 형성합니다.

  2. IP 주소 또는 호스트 DNS 이름 및 DB 호스트 PORT를 가져옵니다. 포트는 일반적으로 1521입니다.
  3. 소스 시스템의 TNSNAMES.ora 파일에 IP 주소 또는 호스트 DNS 이름과 DB 호스트 포트를 추가합니다.
    $ cat $ORACLE_HOME/network/admin/tnsnames.ora
  4. sqlplus 또는 tnsping를 사용하여 tnsnames.ora의 새 항목에 대해 접속을 검증합니다.
    $ tnsping pdbname
    sh-4.2$ tnsping pdbname

온프레미스와 클라우드 간 SCP 연결 생성

API 서명 공용 키를 Oracle Cloud Infrastructure로 업로드하고 온-프레미스 데이터베이스와 Oracle Cloud Infrastructure File Storage 간에 SCP 접속을 생성합니다. expdp 덤프 파일을 이동하려면 접속이 필요합니다.

  1. 콘솔에 로그인하고 키 쌍으로 API를 호출할 사용자에 대한 세부정보를 봅니다.
  2. 키 쌍으로 API를 호출할 사용자로 서명한 경우 다음 단계를 수행합니다:
    1. 프로파일 메뉴를 엽니다.
    2. 사용자 설정 을 누릅니다.
  3. 다른 사용자에 대한 키를 추가하는 관리자인 경우 다음과 같이 하십시오:
    1. 탐색 메뉴를 엽니다.
    2. Governance and Administration(거버넌스 및 관리) 아래에서 Identity(ID) 로 이동하고 Users(사용자) 를 누릅니다.
    3. 목록에서 사용자를 선택합니다.
  4. 공용 키 추가를 누릅니다.
  5. 대화상자에 PEM 공용 키의 콘텐츠를 붙여 넣고 추가 를 누릅니다.

파일 저장 영역에 대한 VCN 보안 목록 규칙 구성

VCN를 생성하면 기본 보안 목록도 생성됩니다. 보안 목록의 규칙은 서브넷에 대한 트래픽을 허용하거나 거부하는 데 사용됩니다. 파일 시스템을 마운트하려면 마운트 대상 서브넷에 대한 트래픽을 허용하도록 보안 목록 규칙을 구성해야 합니다.

파일 스토리지에는 TCP 포트 111, 2048, 2049및 2050에 대한 Stateful 수신 및 UDP 포트 111및 2048에 대한 Stateful 수신이 필요합니다.
  1. 콘솔에서 탐색 메뉴를 확장합니다. Core Infrastructure(코어 기반 구조) 아래에서 Networking(네트워킹), Virtual Cloud Networks(가상 클라우드 네트워크) 를 차례로 누릅니다.
  2. 오른쪽 메뉴의 범위 섹션에서 파일 시스템과 연관될 서브넷을 포함하는 구획을 선택한 다음 파일 시스템과 연관될 클라우드 네트워크를 누릅니다.
  3. 클라우드 네트워크의 세부정보 페이지에서 Security Lists(보안 목록) 를 누른 다음 파일 시스템과 연관될 서브넷에서 사용되는 보안 목록을 누릅니다.
  4. 보안 목록의 세부 정보 페이지에서 모든 규칙 편집 을 누릅니다.
  5. 왼쪽 자원 메뉴에서 수신 규칙 을 누릅니다. 수신 규칙 추가 버튼을 누른 다음 모든 규칙 편집을 누릅니다.
  6. SCP 트래픽을 허용하는 수신 규칙을 추가합니다.
  7. 수신 규칙 추가 를 누릅니다.

파일 시스템 생성 및 대상 마운트

Oracle Cloud Infrastructure File Storage 서비스 및 마운트 대상을 사용하여 클라우드에서 공유 파일 시스템을 프로비전합니다.

파일 시스템에 대한 네트워크 액세스는 마운트 대상을 통해 제공됩니다. 내보내기는 NFS 클라이언트가 마운트 대상에 연결할 때 파일 시스템에 액세스하는 방법을 제어합니다. 파일 시스템을 마운트하고 사용하려면 파일 시스템의 마운트 대상 하나에 익스포트가 하나 이상 있어야 합니다. 일반적으로 첫번째 파일 시스템을 만들 때 첫번째 마운트 대상을 만듭니다.

콘솔을 사용하여 파일 시스템을 만들면 컴퓨트 인스턴스가 파일 시스템에 액세스하고 쓰는 데 사용하는 마운트 대상도 만들어집니다. 마운트 대상이 만들어지면 여러 파일 시스템을 대상과 연관시킬 수 있습니다.

파일 시스템을 만들기 전에 구획에 적어도 하나의 VCN(가상 클라우드 네트워크) 가 있고 파일 시스템 마운트 대상에 대해 올바르게 구성된 보안 규칙이 있어야 합니다. 마운트 대상 서브넷에 대한 보안 목록에서 보안 규칙을 만들 수 있습니다.
  1. 콘솔에서 탐색 메뉴를 확장합니다. 코어 기반 구조 에서 파일 저장 영역 을 누른 다음 파일 시스템 을 누릅니다.
  2. 왼쪽 탐색의 [목록 범위] 섹션에서 구획을 선택합니다.
  3. 파일 시스템 생성 을 누릅니다.
  4. (선택 사항) 파일 시스템 정보. 기본값을 편집하려면 세부 정보 편집 을 누릅니다.
  5. (선택사항) 익스포트 정보. 기본 익스포트 경로를 사용하지 않으려는 경우 경로를 지정합니다.
  6. 마운트 대상 정보입니다. 기본값을 편집하려면 세부 정보 편집 을 누릅니다.
    파일 시스템은 인스턴스에서 마운트할 마운트 대상과 연관되어야 합니다. 가용성 도메인에 이전에 생성된 마운트 대상이 하나 이상 있는 경우 파일 스토리지 서비스는 목록에서 가장 최근에 생성된 마운트 대상을 자동으로 선택합니다. 선택한 가용성 도메인에 마운트 대상이 없는 경우 파일 저장소 서비스는 기본값을 사용하여 마운트 대상을 생성합니다.
    1. 마운트 대상 이름: 파일 저장 영역 서비스는 Mount-YYYYMMDD-HHMM를 사용하여 기본 마운트 대상 이름을 생성합니다. 마운트 대상의 이름을 입력하십시오.
    2. (선택사항) 구획. 현재 작업 중인 구획인 기본 구획을 사용하지 않으려는 경우 경로를 지정합니다.
    3. 가상 클라우드 네트워크: VCN(가상 클라우드 네트워크) 를 선택합니다. 기본값은 현재 구획에 나열된 첫번째 VCN 입니다.
    4. (선택 사항) 네트워크 보안 그룹 구성: 이 마운트 대상을 생성한 NSG에 추가하려면 이 옵션을 선택합니다. 목록에서 NSG를 선택합니다. 각 마운트 대상은 최대 5개의 NSG에 속할 수 있습니다.
    5. 서브넷: 마운트 대상에 대한 지역 공용 서브넷을 선택합니다. 기본값은 선택한 가용성 도메인에 나열된 가장 최근에 생성된 서브넷입니다.
  7. 생성 을 누릅니다.
  8. 파일 시스템을 마운트합니다.
    파일 시스템을 만들 때 정의한 파일 시스템 마운트 대상 이름을 사용합니다. 예를 들어, Mount-YYYYMMDD-HHMM 입니다.
    $ sudo yum install nfs-utils
    $ sudo mkdir –p /mnt/file system mount target name
    $ sudo mount 10.0.1.4:/file system mount target name  /mnt/file system mount target name

소스 및 대상 시스템에 데이터 펌프 디렉토리 생성

소스 데이터베이스에서 익스포트 파일의 백업 파일과 Exadata DB 시스템의 디렉토리를 가리키는 데이터 펌프 디렉토리를 생성합니다.

  1. 소스 데이터베이스 시스템에 로그인합니다.
  2. 내보내기 파일의 백업 파일을 가리키는 백업 디렉토리를 데이터베이스에 만듭니다.
    $ create or replace directory bdir as ‘/opt/oracle/oradata/backup’
  3. Oracle Database Exadata Cloud Servicedpdump 디렉토리를 생성하고 소유자와 권한을 opc로 설정합니다.
    $ sqlplus system/password@pdb database name 
    $ create or replace directory dpdump as ‘/mnt/file system mount target name/dpdump’
  4. 샘플 텍스트 파일을 생성하고 이 파일을 사용하여 소스 데이터베이스에서 Exadata DB 시스템으로 데이터 전송을 테스트합니다.
    $ echo test > my.txt
    $ scp -i private key my.txt opc@ip address of Exadata db system:/mnt/file system mount target name/dpdump/
  5. SFTP를 사용하여 Oracle Database Exadata Cloud Service에 로그인하고 /mnt/file system mount target name/dpdump/ 디렉토리에서 my.txt 파일을 볼 수 있는지 확인합니다.