Oracle Database@AWS에 백업 - Oracle Database@AWS

Oracle Database@AWS에 백업

Oracle Database@AWS는 Oracle 데이터베이스를 보호하기 위한 여러 백업 옵션을 제공합니다. Amazon S3와 원활하게 통합되는 Oracle 관리형 백업을 사용하거나 Oracle Recovery Manager(RMAN)를 사용하여 자체 사용자 관리형 백업을 생성할 수 있습니다.

Amazon S3에 대한 Oracle 관리형 백업

ODB 네트워크를 생성하면 Oracle Database@AWS가 Amazon S3에 대한 Oracle 관리형 백업의 네트워크 액세스를 자동으로 구성합니다. OCI는 필요한 DNS 항목과 보안 목록을 구성합니다. 이러한 구성은 OCI Virtual Cloud Network(VCN)와 Amazon S3 간의 트래픽을 허용합니다. ODB 네트워크는 자동 백업을 활성화하거나 제어하지 않습니다.

Oracle 관리형 백업은 OCI에서 완벽하게 관리합니다. Oracle Exadata 데이터베이스를 생성할 때 OCI 콘솔에서 자동 백업 활성화를 선택하여 자동 백업을 활성화할 수 있습니다. 다음 중 하나의 백업 대상을 선택합니다.

  • Amazon S3

  • OCI 객체 스토리지

  • Autonomous Recovery Service

자세한 내용은 OCI 설명서의 Exadata 데이터베이스 백업을 참조하세요.

Oracle Database@AWS의 Amazon S3에 대한 사용자 관리형 백업

Oracle Database@AWS를 사용하면 전용 인프라의 Exadata Database Service를 사용하여 데이터베이스의 사용자 관리형 백업을 생성할 수 있습니다. Oracle Recovery Manager(RMAN)를 사용하여 데이터를 백업하고 Amazon S3 버킷에 저장합니다. Oracle Database@AWS의 관리형 서비스 이점을 유지하면서 백업 예약, 보존 정책 및 스토리지 비용을 완벽하게 제어할 수 있습니다.

참고

Oracle Database@AWS는 전용 인프라의 Autonomous 데이터베이스에 대한 사용자 관리형 백업을 지원하지 않습니다.

사용자 관리형 백업은 Oracle Database@AWS에서 제공하는 AWS 관리형 백업 솔루션을 보완합니다. 규정 준수 요구 사항, 리전 간 재해 복구 또는 기존 백업 관리 워크플로와의 통합에 수동 백업을 사용할 수 있습니다.

다음과 같은 사용자 관리형 백업 기술을 사용할 수 있습니다.

Oracle 안전 백업

최적의 성능으로 Amazon S3로 직접 백업을 스트리밍합니다.

Storage Gateway

NFS 공유를 사용하는 파일 기반 백업에는 Storage Gateway를 사용합니다.

S3 탑재 지점

파일 클라이언트를 사용하여 Amazon S3 버킷을 로컬 파일 시스템으로 탑재합니다.

Oracle Database@AWS의 Amazon S3에 대한 사용자 관리형 백업을 위한 사전 조건

Oracle Exadata 데이터베이스를 Amazon S3에 백업하려면 먼저 다음을 수행합니다.

  1. ODB 네트워크에서 Amazon S3에 대한 직접 액세스를 활성화합니다.

  2. Oracle Database@AWS와 Amazon S3 간의 네트워크 연결 및 라우팅을 구성합니다.

ODB 네트워크에서 Amazon S3로의 액세스 활성화

데이터베이스를 Amazon S3에 수동으로 백업하려면 ODB 네트워크에서 S3에 대한 직접 액세스를 활성화합니다. 이 기술을 사용하면 데이터베이스가 데이터 가져오기/내보내기 또는 사용자 관리형 백업과 같은 비즈니스 요구 사항에 맞게 Amazon S3에 액세스할 수 있습니다. 백업 스토리지의 대상을 완전히 제어할 수 있으며 정책을 사용하여 VPC Lattice를 사용한 Amazon S3에 대한 액세스를 제한할 수 있습니다.

ODB 네트워크에서 Amazon S3에 대한 직접 액세스는 기본적으로 활성화되어 있지 않습니다. ODB 네트워크를 생성하거나 수정할 때 S3 액세스를 활성화할 수 있습니다.

ODB 네트워크에서 Amazon S3에 대한 직접 액세스를 활성화하려면
  1. https://console.aws.amazon.com/odb/에서 Oracle Database@AWS 콘솔을 엽니다.

  2. 탐색 창에서 ODB 네트워크를 선택합니다.

  3. Amazon S3 액세스를 활성화하려는 ODB 네트워크를 선택합니다.

  4. 수정을 선택합니다.

  5. Amazon S3를 선택합니다.

  6. (선택 사항) Amazon S3에 대한 액세스를 제어하도록 Amazon S3 정책 문서를 구성합니다. 정책을 지정하지 않으면 기본 정책에서 전체 액세스 권한을 부여합니다.

  7. 계속을 선택하고 수정을 선택합니다.

ODB 네트워크에서 직접 Amazon S3 액세스를 활성화하려면 s3-access 파라미터와 함께 update-odb-network 명령을 사용합니다.

aws odb update-odb-network \ --odb-network-id odb-network-id \ --s3-access ENABLED

Amazon S3 정책 문서를 구성하려면 --s3-policy-document 파라미터를 사용합니다.

aws odb update-odb-network \ --odb-network-id odb-network-id \ --s3-policy-document file://s3-policy.json

Amazon S3 액세스가 활성화되면 리전 DNS s3.region.amazonaws.com을 사용하여 ODB 네트워크에서 Amazon S3에 액세스할 수 있습니다. OCI는 기본적으로 이 DNS 이름을 구성합니다. 사용자 지정 DNS 이름을 사용하려면 사용자 지정 DNS가 서비스 네트워크 엔드포인트의 IP 주소로 확인되도록 VCN DNS를 수정합니다.

Oracle Database@AWS와 Amazon S3 간의 네트워크 연결 구성

Amazon S3에 대한 사용자 관리형 백업을 허용하려면 VM이 S3 Amazon VPC 엔드포인트에 액세스할 수 있어야 합니다. OCI 콘솔에서 네트워크 보안 그룹(NSG)의 보안 규칙을 편집하여 수신 및 송신 트래픽을 제어할 수 있습니다. 사용자 관리형 백업의 경우 트래픽은 백업 서브넷이 아닌 클라이언트 서브넷을 통해 흐릅니다. 다음 단계에서는 클라이언트 서브넷의 NSG를 업데이트하여 VPC 엔드포인트 IP 주소에 대한 송신 규칙을 추가합니다.

Amazon S3 엔드포인트에 대한 VM 액세스를 허용하려면
  1. https://console.aws.amazon.com/odb/에서 Oracle Database@AWS 콘솔을 엽니다.

  2. ODB 네트워크를 선택합니다.

  3. ODB 네트워크의 이름을 선택합니다.

  4. OCI 리소스를 선택합니다.

  5. 서비스 통합 탭을 선택합니다.

  6. Amazon S3에서 다음 정보를 기록해 둡니다.

    • Amazon VPC S3 엔드포인트의 IPv4 주소입니다. 나중에 이 정보가 필요합니다. 예를 들어 IP 주소는 192.168.12.223일 수 있습니다.

    • Amazon VPC S3 엔드포인트의 도메인 이름입니다. 나중에 이 정보가 필요합니다. 예를 들어, 도메인 이름은 s3.us-east-1.amazonaws.com일 수 있습니다.

  7. 왼쪽 탐색 창에서 Exadata VM 클러스터를 선택하고 VM 클러스터 이름을 선택합니다.

  8. 페이지 상단에서 요약 탭을 선택합니다.

  9. 가상 머신을 선택한 다음 VM의 이름을 선택합니다.

  10. DNS 이름의 값을 기록해 둡니다. ssh를 사용하여 VM에 연결할 때 지정하는 호스트 이름입니다.

  11. 오른쪽 상단에서 OCI에서 관리를 선택합니다. OCI 콘솔이 열립니다.

  12. 가상 클라우드 네트워크 목록 페이지에서 ODB 네트워크 클라이언트 서브넷(exa_static_nsg)의 네트워크 보안 그룹(NSG)이 포함된 VCN을 선택합니다. 자세한 내용은 OCI 설명서의 NSG에 대한 보안 규칙 관리를 참조하세요.

  13. 세부 정보 페이지에서 표시되는 옵션에 따라 다음 작업 중 하나를 수행합니다.

    • 보안 탭에서 네트워크 보안 그룹으로 이동합니다.

    • 리소스에서 네트워크 보안 그룹을 선택합니다.

  14. 클라이언트 서브넷(exa_static_nsg)의 NSG를 선택합니다.

  15. 앞서 기록한 VPC 엔드포인트 주소에 대한 송신 규칙을 추가합니다.

VM에서 S3에 대한 연결을 테스트하려면
  1. ssh를 사용하여 이전에 DNS 이름을 얻은 VM에 root로 연결합니다. 연결할 때 SSH 키를 사용하여 .pem 파일을 지정합니다.

  2. 다음 명령을 실행하여 VM이 Amazon S3 Amazon VPC 엔드포인트에 액세스할 수 있는지 확인합니다. 이전에 적어 둔 S3 도메인 이름을 사용합니다.

    # nslookup s3.us-east-1.amazonaws.com # curl -v https://s3.us-east-1.amazonaws.com/ # aws s3 ls --endpoint-url https://s3.us-east-1.amazonaws.com

Oracle Secure Backup을 사용하여 Amazon S3에 백업

Oracle Secure Backup은 Recovery Manager(RMAN)와 함께 사용할 수 있는 SBT 인터페이스 역할을 합니다. RMAN을 Oracle Secure Backup과 함께 사용하여 Oracle Database@AWS 데이터베이스를 Amazon S3에 직접 백업할 수 있습니다. Oracle Secure Backup은 다음과 같은 이점을 제공합니다.

  • Oracle Secure Backup은 RMAN과 S3 간의 데이터 전송을 최적화합니다.

  • 중간 백업 스토리지는 필요하지 않습니다.

  • Oracle Secure Backup은 백업 미디어의 수명 주기를 관리합니다.

Oracle Secure Backup을 사용하여 Amazon S3에 백업하려면
  1. Exadata VM 서버에 Oracle Secure Backup 모듈을 설치합니다. 자리 표시자 값을 AWS 액세스 키 및 시크릿 액세스 키로 바꿉니다. 자세한 내용은 Oracle Secure Backup Cloud Module을 사용하여 클라우드로 백업의 Oracle 설명서를 참조하세요.

    cd $ORACLE_HOME/lib java -jar osbws_install.jar -AWSID aws-access-key-id -AWSKey aws-secret-access-key -walletDir $ORACLE_HOME/dbs/osbws_wallet -location us-west-2 -useHttps -awsEndPoint s3.us-west-2.amazonaws.com
  2. RMAN에 연결하고 백업 채널과 기본 디바이스 유형을 구성합니다.

    RMAN target / RMAN> CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/u02/app/oracle/product/19.0.0.0/dbhome_2/lib/libosbws.so, ENV=(OSB_WS_PFILE=/u02/app/oracle/product/19.0.0.0/dbhome_2/dbs/osbwssmalikdb1.ora)'; RMAN> CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
  3. 구성을 확인합니다.

    RMAN> SHOW ALL;
  4. 데이터베이스를 백업합니다.

    RMAN> BACKUP DATABASE;
  5. 백업이 성공적으로 완료되었는지 확인합니다.

    RMAN> LIST BACKUP OF DATABASE SUMMARY;

Amazon EC2에서 AWS Storage Gateway를 사용하여 Amazon S3에 백업

AWS Storage Gateway는 온프레미스 환경을 AWS 클라우드 스토리지 서비스에 연결하는 하이브리드 서비스입니다. Oracle Database@AWS 백업의 경우 Storage Gateway를 사용하여 Amazon S3에 직접 쓰는 파일 기반 백업 워크플로를 생성할 수 있습니다. Oracle Secure Backup 기술과 달리 백업의 수명 주기를 관리합니다.

이 솔루션에서는 Storage Gateway를 구성하기 위한 별도의 Amazon EC2 인스턴스를 생성합니다. 또한 Amazon EBS 볼륨을 추가하여 Amazon S3에 읽기 및 쓰기를 캐싱합니다.

이 기법은 다음과 같은 이점이 있습니다.

  • Oracle Secure Backup과 같은 미디어 관리자는 필요하지 않습니다.

  • 중간 백업 스토리지는 필요하지 않습니다.

Storage Gateway를 배포하고 파일 공유를 생성하려면
  1. AWS Management Console(https://console.aws.amazon.com/storagegateway/home/)을 열고 게이트웨이를 생성할 AWS 리전을 선택합니다.

  2. Amazon EC2 인스턴스를 허브로 사용하여 Amazon S3 파일 게이트웨이를 배포하고 활성화합니다. Storage Gateway 사용 설명서에 있는 S3 File Gateway용 사용자 지정 Amazon EC2 호스트 배포의 지침을 따릅니다.

    파일 게이트웨이를 구성할 때 다음을 수행해야 합니다.

    • 캐시 스토리지용으로 크기가 150GiB 이상인 Amazon EBS 볼륨을 하나 이상 추가합니다.

    • 보안 그룹의 NFS 액세스를 위해 TCP/UDP 포트 2049를 엽니다. 이렇게 하면 NFS 파일 공유를 생성할 수 있습니다.

    • 게이트웨이 활성화 중에 일회성 HTTP 액세스를 허용하기 위해 수신 트래픽에 대해 TCP 포트 80을 엽니다. 활성화한 후에는 이 포트를 닫을 수 있습니다.

  3. ODB 네트워크와 Storage Gateway 간의 프라이빗 연결을 위한 Amazon VPC 엔드포인트를 생성합니다. 자세한 내용은 인터페이스 VPC 엔드포인트를 사용하여 AWS 서비스에 액세스를 참조하세요.

  4. Storage Gateway 콘솔을 통해 Amazon S3 버킷에 대한 파일 공유를 생성합니다. 자세한 내용은 파일 공유 생성을 참조하세요.

Storage Gateway를 사용하여 데이터베이스를 Amazon S3에 백업하려면
  1. 터미널에서 ssh를 사용하여 Exadata VM의 DNS 이름에 연결합니다. DNS 이름을 찾으려면 Oracle Database@AWS의 Amazon S3에 대한 사용자 관리형 백업을 위한 사전 조건 섹션을 참조하세요.

  2. NFS 탑재를 위해 Exadata VM 클러스터 서버에 디렉터리를 생성합니다. 다음 예에서는 /home/oracle/sgw_mount/ 디렉터리를 생성합니다.

    mkdir /home/oracle/sgw_mount/
  3. 방금 생성한 디렉터리에 NFS 공유를 탑재합니다. 다음 예제에서는 /home/oracle/sgw_mount/ 디렉터리에 공유를 생성합니다. SG-IP-address를 Storage Gateway IP 주소로 바꾸고 your-bucket-name을 S3 버킷 이름으로 바꿉니다.

    sudo mount -t nfs -o nolock,hard SG-IP-address:/your-bucket-name /home/oracle/sgw_mount/
  4. RMAN에 연결하고 데이터베이스를 탑재된 디렉터리에 백업합니다. 다음 예제에서는 rman_local_bkp 채널을 생성하고 탑재 지점 경로를 사용하여 백업 조각의 형식을 지정합니다.

    $ rman TARGET / RMAN> ALLOCATE CHANNEL rman_local_bkp DEVICE TYPE DISK; RMAN> BACKUP FORMAT '/home/oracle/sgw_mount/%U' DATABASE;
  5. 탑재 디렉터리에 백업 파일이 생성되었는지 확인합니다. 다음 예제에서는 두 개의 백업 조각을 보여줍니다.

    $ ls -lart /home/oracle/sgw_mount/ total 8569632 -rw-r----- 1 oracle asmdba 1112223334 Jul 10 20:51 1a2b34cd_1234_1_1 drwxrwxrwx 1 nobody nobody 0 Jul 10 20:56 . -rw-r----- 1 oracle asmdba 5556667778 Jul 10 20:56 1a2b34cd_1235_1_1

S3 탑재 지점을 사용하여 Amazon S3에 백업

Amazon S3 탑재 지점을 사용하여 먼저 로컬에서 백업을 생성한 다음 Amazon S3에 복사할 수 있습니다. 이 기법은 로컬 스토리지에 백업을 생성한 다음 탑재 지점 인터페이스를 사용하여 Amazon S3로 전송합니다. 데이터를 두 번 백업해야 하므로 백업 시간이 다른 기법보다 깁니다.

참고

스테이징 없이 탑재 지점을 사용하여 Amazon S3로 직접 백업하는 것은 지원되지 않습니다. RMAN에는 Amazon S3 탑재 지점 인터페이스와 호환되지 않는 특정 파일 시스템 권한이 필요합니다.

이 기법은 Oracle Secure Backup과 같은 미디어 관리자에 라이선스를 부여할 필요가 없습니다. 백업의 수명 주기를 관리합니다.

S3 탑재 지점을 사용하여 Amazon S3에 백업하려면
  1. 터미널에서 ssh를 사용하여 Exadata VM의 DNS 이름에 연결합니다. DNS 이름을 찾으려면 Oracle Database@AWS의 Amazon S3에 대한 사용자 관리형 백업을 위한 사전 조건 섹션을 참조하세요.

  2. Exadata VM 클러스터 서버에 Amazon S3 탑재 지점을 설치합니다. 설치 및 구성에 대한 자세한 내용은 Amazon S3 사용 설명서Mountpoint for Amazon S3를 참조하세요.

    $ sudo yum install ./mount-s3.rpm
  3. 명령에서 mount-s3를 실행하여 설치를 확인합니다.

    $ mount-s3 --version mount-s3 1.19.0
  4. Exadata VM 클러스터 서버 로컬 스토리지에 중간 백업 디렉터리를 생성합니다. 데이터베이스를 이 로컬 디렉터리에 백업한 다음 백업을 S3 버킷에 복사합니다. 다음 예에서는 /u02/rman_bkp_local 디렉터리를 생성합니다.

    mkdir /u02/rman_bkp_local
  5. Amazon S3 탑재 지점에 대한 디렉터리를 생성합니다. 다음 예에서는 /home/oracle/s3mount 디렉터리를 생성합니다.

    $ mkdir /home/oracle/s3mount
  6. 탑재 지점을 사용하여 Amazon S3 버킷을 탑재합니다. 다음 예제에서는 /home/oracle/s3mount 디렉터리에 S3 버킷을 탑재합니다. your-s3-bucket-name을 Amazon S3 버킷 이름으로 바꿉니다.

    $ mount-s3 s3://your-s3-bucket-name /home/oracle/s3mount
  7. Amazon S3 버킷 콘텐츠에 액세스할 수 있는지 확인합니다.

    $ ls -lart /home/oracle/s3mount
  8. RMAN을 대상 데이터베이스에 연결하고 로컬 스테이징 디렉터리에 백업합니다. 다음 예제에서는 rman_local_bkp 채널을 생성하고 /u02/rman_bkp_local/ 경로를 사용하여 백업 조각의 형식을 지정합니다.

    $ rman TARGET / RMAN> ALLOCATE CHANNEL rman_local_bkp DEVICE TYPE DISK; RMAN> BACKUP FORMAT '/u02/rman_bkp_local/%U' DATABASE;
  9. 백업이 로컬 디렉터리에 생성되었는지 확인합니다.

    $ cd /u02/rman_bkp_local/ $ ls -lart total 4252128 drwxr-xr-x 8 oracle oinstall 4096 Jul 10 02:13 .. -rw-r----- 1 oracle asmdba 1112223334 Jul 10 02:13 abcd1234_1921_1_1 drwxr-xr-x 2 oracle oinstall 4096 Jul 10 02:13 . -rw-r----- 1 oracle asmdba 5556667778 Jul 10 02:14 abcd1234_1922_1_1
  10. 로컬 스테이징 디렉터리에서 Amazon S3 탑재 지점으로 백업 파일을 복사합니다.

    cp /u02/rman_bkp_local/* /home/oracle/s3mount/
  11. 파일을 Amazon S3에 성공적으로 복사했는지 확인합니다.

    $ ls -lart /home/oracle/s3mount/ total 4252112 drwx------ 6 oracle oinstall 225 Jul 10 02:09 .. drwxr-xr-x 2 oracle oinstall 0 Jul 10 02:24 . -rw-r--r-- 1 oracle oinstall 1112223334 Jul 10 02:24 abcd1234_1921_1_1 -rw-r--r-- 1 oracle oinstall 5556667778 Jul 10 02:24 abcd1234_1922_1_1

Amazon S3에 대한 직접 액세스 비활성화

ODB 네트워크에서 Amazon S3에 더 이상 직접 액세스할 필요가 없는 경우 비활성화할 수 있습니다. S3에 대한 직접 네트워크 액세스를 활성화하거나 비활성화해도 Amazon S3에 대한 Oracle 관리형 백업에 대한 네트워크 액세스에는 영향을 주지 않습니다.

Amazon S3에 대한 직접 액세스를 비활성화하려면
  1. https://console.aws.amazon.com/odb/에서 Oracle Database@AWS 콘솔을 엽니다.

  2. 탐색 창에서 ODB 네트워크를 선택합니다.

  3. Amazon S3 액세스를 비활성화하려는 ODB 네트워크를 선택합니다.

  4. 수정을 선택합니다.

  5. S3 액세스 활성화 확인란의 선택을 취소합니다.

  6. ODB 네트워크 수정을 선택합니다.

s3-access 파라미터와 함께 update-odb-network 명령을 사용합니다.

aws odb update-odb-network \ --odb-network-id odb-network-id \ --s3-access DISABLED

Amazon S3 통합 문제 해결

Amazon S3에 대한 Oracle 관리형 백업 또는 Amazon S3에 대한 직접 액세스에 문제가 발생하는 경우 다음 문제 해결 단계를 고려하세요.

데이터베이스에서 Amazon S3에 액세스할 수 없음

다음을 확인하세요.

  • ODB 네트워크에 대해 Amazon S3 액세스가 활성화되어 있는지 확인합니다. GetOdbNetwork 작업을 사용하여 s3Access 상태가 Enabled인지 확인합니다.

  • 올바른 리전 DNS 이름인 s3.region.amazonaws.com을 사용하고 있는지 확인합니다.

  • Oracle 데이터베이스에 Amazon S3에 액세스하는 데 필요한 권한이 있는지 확인합니다.

Oracle 관리형 백업 실패

다음을 확인하세요.

  • Amazon S3에 대한 Oracle 관리형 백업은 기본적으로 활성화되어 있으며 비활성화할 수 없습니다. 백업이 실패하는 경우 Oracle 데이터베이스 로그에서 특정 오류 메시지를 확인합니다.

  • 서비스 통합 리소스를 확인하여 Amazon VPC Lattice 리소스가 제대로 구성되어 있는지 확인합니다.

  • Oracle 관리형 자동 백업 문제에 대한 지원은 Oracle Support에 문의하십시오. 자세한 내용은 Oracle Database@AWS에 대한 지원 받기 섹션을 참조하세요.