Skip to main content
NetApp Solutions
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

TR-4981: Amazon FSx ONTAP을 사용한 Oracle Active Data Guard 비용 절감

기여자

Allen Cao, Niyaz Mohamed, NetApp

목적

Oracle Data Guard는 기본 데이터베이스 및 대기 데이터베이스 복제 구성의 엔터프라이즈 데이터에 대한 고가용성, 데이터 보호 및 재해 복구를 보장합니다. Oracle Active Data Guard는 기본 데이터베이스에서 대기 데이터베이스로 데이터 복제가 활성 상태인 동안 사용자가 대기 데이터베이스에 액세스할 수 있도록 합니다. Data Guard는 Oracle Database Enterprise Edition의 기능입니다. 별도의 라이센스가 필요하지 않습니다. 반면 Active Data Guard는 Oracle Database Enterprise Edition 옵션이므로 별도의 라이센스가 필요합니다. 여러 대기 데이터베이스가 Active Data Guard 설정의 기본 데이터베이스로부터 데이터 복제를 수신할 수 있습니다. 그러나 각각의 추가 대기 데이터베이스에는 활성 Data Guard 라이센스와 기본 데이터베이스의 크기로 추가 스토리지가 필요합니다. 운영 비용이 빠르게 증가합니다.

Oracle 데이터베이스 작업의 비용 절감에 관심이 있고 AWS에서 Active Data Guard를 설정할 계획이라면 대안을 고려해야 합니다. Active Data Guard 대신 Data Guard를 사용하여 기본 데이터베이스에서 Amazon FSx ONTAP 스토리지의 단일 물리적 대기 데이터베이스로 복제합니다. 그런 다음 이 대기 데이터베이스의 여러 복사본을 복제해 읽기/쓰기 액세스를 위해 열어 보고, 개발, 테스트 등과 같은 다른 여러 활용 사례를 지원할 수 있습니다 그 결과 Active Data Guard의 기능을 효과적으로 제공하는 동시에 추가 대기 데이터베이스당 Active Data Guard 라이센스 및 추가 스토리지 비용을 절감할 수 있습니다. 이 문서에서는 AWS의 기존 기본 데이터베이스로 Oracle Data Guard를 설정하고 Amazon FSx ONTAP 스토리지에 물리적 대기 데이터베이스를 배치하는 방법을 설명합니다. 대기 데이터베이스는 스냅샷을 통해 백업되고 필요에 따라 활용 사례를 위해 읽기/쓰기 액세스를 위해 클론됩니다.

이 솔루션은 다음과 같은 사용 사례를 해결합니다.

  • Oracle Data Guard는 AWS의 모든 스토리지에 있는 기본 데이터베이스와 Amazon FSx ONTAP 스토리지의 대기 데이터베이스 사이에 있습니다.

  • 보고, 개발, 테스트 등과 같은 활용 사례를 제공하기 위해 데이터 복제를 위해 닫혀 있는 동안 대기 데이터베이스의 클론을 생성합니다

대상

이 솔루션은 다음과 같은 사용자를 대상으로 합니다.

  • 고가용성, 데이터 보호 및 재해 복구를 위해 AWS에서 Oracle Active Data Guard를 설정한 DBA

  • AWS 클라우드에서 Oracle Active Data Guard 구성에 관심이 있는 데이터베이스 솔루션 설계자

  • Oracle Data Guard를 지원하는 AWS FSx ONTAP 스토리지를 관리하는 스토리지 관리자

  • AWS FSx/EC2 환경에서 Oracle Data Guard를 실행하려는 애플리케이션 소유자.

솔루션 테스트 및 검증 환경

이 솔루션의 테스트 및 검증은 최종 구축 환경과 일치하지 않을 수 있는 AWS FSx ONTAP 및 EC2 연구소 환경에서 수행되었습니다. 자세한 내용은 섹션을 참조하십시오 [Key Factors for Deployment Consideration].

있습니다

이 이미지는 FSxN이 포함된 AWS에서 Oracle Data Guard를 구현한 모습을 자세히 보여 줍니다.

하드웨어 및 소프트웨어 구성 요소

* 하드웨어 *

FSX ONTAP 저장소

AWS에서 제공하는 현재 버전입니다

동일한 VPC 및 가용성 존에 FSx HA 클러스터 1개

컴퓨팅용 EC2 인스턴스

T2.xLarge/4vCPU/16G

EC2 T2 xlarge EC2 인스턴스 3개, 하나는 운영 DB 서버로, 다른 하나는 대기 DB 서버로, 다른 하나는 클론 DB 서버로 사용됩니다

* 소프트웨어 *

RedHat Linux

RHEL-8.6.0_HVM-20220503-x86_64-2-Hourly2-GP2

테스트를 위해 RedHat 서브스크립션을 배포했습니다

Oracle Grid Infrastructure

버전 19.18

RU 패치 p34762026_190000_Linux-x86-64.zip 를 적용했습니다

Oracle 데이터베이스

버전 19.18

RU 패치 p34765931_190000_Linux-x86-64.zip 를 적용했습니다

Oracle OPatch

버전 12.2.0.1.36

최신 패치 p6880880_190000_Linux-x86-64.zip

가상 NY to LA DR 설정을 사용한 Oracle Data Guard 구성

* 데이터베이스 *

* DB_UNIQUE_NAME *

* Oracle Net 서비스 이름 *

기본

DB1_NY입니다

db1_NY.demo.netapp.com

물리적 대기

DB1_LA를 클릭합니다

db1_LA.demo.netapp.com

구축 시 고려해야 할 주요 요소

  • * Oracle 대기 데이터베이스 FlexClone 작동 방식 * AWS FSx ONTAP FlexClone은 쓰기 가능한 동일한 대기 데이터베이스 볼륨의 공유 복사본을 제공합니다. 볼륨의 복사본은 클론에서 새 쓰기가 시작될 때까지 원래 데이터 블록에 다시 연결되는 포인터입니다. 그런 다음 ONTAP은 새 쓰기에 대해 새 스토리지 블록을 할당합니다. 모든 읽기 IO는 활성 복제 상태의 원본 데이터 블록에 의해 처리됩니다. 따라서 클론은 스토리지 효율성이 매우 뛰어나 새로운 쓰기 입출력에 대해 최소한의 증분 새 스토리지 할당으로 다른 많은 활용 사례에서 사용할 수 있습니다. 따라서 Active Data Guard 스토리지 설치 공간을 크게 줄여 스토리지 비용을 크게 절감할 수 있습니다. 데이터베이스가 운영 스토리지에서 대기 FSx 스토리지로 전환될 때 Oracle 성능을 최고 수준으로 유지하기 위해 FlexClone 활동을 최소화하는 것이 좋습니다 NetApp.

  • * Oracle 소프트웨어 요구 사항. * 일반적으로 물리적 대기 데이터베이스는 패치 세트 예외(PSE), 중요 패치 업데이트(CPU), 및 패치 세트 업데이트(PSU)(의 My Oracle Support Note 1265700.1 에 설명된 대로 Oracle Data Guard Standby-First Patch Apply 프로세스가 진행 중인 경우 제외 "support.oracle.com"

  • 대기 데이터베이스 디렉터리 구조 고려 사항. 가능한 경우 기본 및 대기 시스템의 데이터 파일, 로그 파일 및 제어 파일은 이름과 경로 이름이 같아야 하며 OFA(Optimal Flexible Architecture) 명명 규칙을 사용해야 합니다. 대기 데이터베이스의 보관 디렉터리도 크기 및 구조를 포함하여 사이트 간에 동일해야 합니다. 이 전략을 통해 백업, 스위치오버 및 페일오버 같은 다른 작업에서 동일한 단계를 실행할 수 있으므로 유지 관리의 복잡성이 줄어듭니다.

  • * 강제 로깅 모드. * 대기 데이터베이스로 전파할 수 없는 기본 데이터베이스에서 로깅되지 않은 직접 쓰기로부터 보호하려면 대기 생성을 위한 데이터 파일 백업을 수행하기 전에 기본 데이터베이스에서 강제 로깅을 켜십시오.

  • * 데이터베이스 스토리지 관리. * 운영을 단순화하기 위해 Oracle Data Guard 구성에서 Oracle 자동 스토리지 관리(Oracle ASM) 및 Oracle 관리 파일(OMF)을 설정할 때 기본 및 대기 데이터베이스에 대칭적으로 설정할 것을 권장합니다.

  • * EC2 컴퓨팅 인스턴스 * 이러한 테스트 및 검증에서는 AWS EC2 T2.xLarge 인스턴스를 Oracle 데이터베이스 컴퓨팅 인스턴스로 사용했습니다. NetApp은 운영 구축 시 데이터베이스 워크로드에 최적화되어 있는 M5 유형 EC2 인스턴스를 Oracle의 컴퓨팅 인스턴스로 사용할 것을 권장합니다. 실제 워크로드 요구 사항에 따라 vCPU 수와 RAM 양에 따라 EC2 인스턴스를 적절하게 사이징해야 합니다.

  • * FSx 스토리지 HA 클러스터 단일 또는 다중 영역 배포. * 이러한 테스트 및 검증에서는 단일 AWS 가용성 영역에 FSx HA 클러스터를 구축했습니다. 프로덕션 배포를 위해 FSx HA 쌍을 두 가지 가용성 영역에 배포하는 것이 좋습니다. FSx 클러스터는 스토리지 레벨 이중화를 제공하기 위해 액티브-패시브 파일 시스템 쌍으로 동기화되는 HA 쌍으로 프로비저닝됩니다. 다중 영역 구축을 통해 단일 AWS 영역에서 장애가 발생할 경우 고가용성을 더욱 강화할 수 있습니다.

  • * FSx 스토리지 클러스터 크기 조정 * ONTAP 스토리지 파일 시스템용 Amazon FSx는 최대 160,000개의 원시 SSD IOPS, 최대 4Gbps 처리량 및 최대 192TiB 용량을 제공합니다. 그러나 구현 시 실제 요구 사항에 따라 프로비저닝된 IOPS, 처리량 및 스토리지 제한(최소 1,024GiB)을 기준으로 클러스터 크기를 조정할 수 있습니다. 애플리케이션 가용성에 영향을 주지 않고 용량을 즉각적으로 동적으로 조정할 수 있습니다.

솔루션 구축

Data Guard를 설정하기 위한 시작점으로 VPC 내의 AWS EC2 환경에 기본 Oracle 데이터베이스가 이미 구축되어 있다고 가정합니다. 기본 데이터베이스는 스토리지 관리를 위해 Oracle ASM을 사용하여 구축됩니다. Oracle 데이터 파일, 로그 파일 및 제어 파일 등을 위해 2개의 ASM 디스크 그룹 - + 데이터 및 + 로그가 생성됩니다 AWS에서 ASM을 사용한 Oracle 배포에 대한 자세한 내용은 다음 기술 보고서를 참조하십시오.

기본 Oracle 데이터베이스는 FSx ONTAP 또는 AWS EC2 에코시스템 내의 선택한 다른 스토리지에서 실행될 수 있습니다. 다음 섹션에서는 ASM 스토리지가 있는 기본 EC2 DB 인스턴스와 ASM 스토리지가 있는 대기 EC2 DB 인스턴스 간에 Oracle Data Guard를 설정하는 단계별 구축 절차를 제공합니다.

배포를 위한 사전 요구 사항

Details

배포에는 다음과 같은 사전 요구 사항이 필요합니다.

  1. AWS 계정이 설정되었으며 AWS 계정 내에 필요한 VPC 및 네트워크 세그먼트가 생성되었습니다.

  2. AWS EC2 콘솔에서 최소 3개의 EC2 Linux 인스턴스를 구축해야 합니다. 하나는 운영 Oracle DB 인스턴스로, 하나는 대기 Oracle DB 인스턴스로, 또 다른 하나는 보고, 개발, 테스트를 위한 클론 타겟 DB 인스턴스로 구축됩니다 환경 설정에 대한 자세한 내용은 이전 섹션의 아키텍처 다이어그램을 참조하십시오. 또한 AWS에 대해서도 검토합니다 "Linux 인스턴스에 대한 사용자 가이드" 를 참조하십시오.

  3. AWS EC2 콘솔에서 Amazon FSx for ONTAP 스토리지 HA 클러스터를 구축하여 Oracle 대기 데이터베이스를 저장하는 Oracle 볼륨을 호스팅합니다. FSx 저장소 배포에 익숙하지 않은 경우 설명서를 참조하십시오 "ONTAP 파일 시스템용 FSx 생성" 을 참조하십시오.

  4. 2단계와 3단계는 라는 EC2 인스턴스를 만드는 다음 Terraform 자동화 툴킷을 사용하여 수행할 수 있습니다 ora_01 이라는 FSx 파일 시스템이 있습니다 fsx_01. 실행 전에 지침을 주의 깊게 검토하고 환경에 맞게 변수를 변경하십시오. 사용자 고유의 배포 요구 사항에 맞게 템플릿을 쉽게 수정할 수 있습니다.

    git clone https://github.com/NetApp-Automation/na_aws_fsx_ec2_deploy.git
참고 Oracle 설치 파일을 스테이징할 충분한 공간을 확보하기 위해 EC2 인스턴스 루트 볼륨에 50G 이상을 할당했는지 확인합니다.

Data Guard용 기본 데이터베이스를 준비합니다

Details

이 데모에서는 기본 EC2 DB 인스턴스에 db1이라는 기본 Oracle 데이터베이스를 설정했습니다. 독립 실행형 Restart 구성의 ASM 디스크 그룹 2개와 ASM 디스크 그룹 + 데이터 및 ASM 디스크 그룹 + 로그의 플래시 복구 영역에 있는 데이터 파일이 포함된 ASM 디스크 그룹을 사용했습니다. 다음은 Data Guard용 기본 데이터베이스를 설정하는 자세한 절차를 보여 줍니다. 모든 단계는 데이터베이스 소유자인 Oracle 사용자로 실행해야 합니다.

  1. 운영 EC2 DB 인스턴스 IP-172-30-15-45의 기본 데이터베이스 db1 구성 ASM 디스크 그룹은 EC2 에코시스템 내 모든 유형의 스토리지에 있을 수 있습니다.

    [oracle@ip-172-30-15-45 ~]$ cat /etc/oratab
    
    # This file is used by ORACLE utilities.  It is created by root.sh
    # and updated by either Database Configuration Assistant while creating
    # a database or ASM Configuration Assistant while creating ASM instance.
    
    # A colon, ':', is used as the field terminator.  A new line terminates
    # the entry.  Lines beginning with a pound sign, '#', are comments.
    #
    # Entries are of the form:
    #   $ORACLE_SID:$ORACLE_HOME:<N|Y>:
    #
    # The first and second fields are the system identifier and home
    # directory of the database respectively.  The third field indicates
    # to the dbstart utility that the database should , "Y", or should not,
    # "N", be brought up at system boot time.
    #
    # Multiple entries with the same $ORACLE_SID are not allowed.
    #
    #
    +ASM:/u01/app/oracle/product/19.0.0/grid:N
    db1:/u01/app/oracle/product/19.0.0/db1:N
    
    [oracle@ip-172-30-15-45 ~]$ /u01/app/oracle/product/19.0.0/grid/bin/crsctl stat res -t
    --------------------------------------------------------------------------------
    Name           Target  State        Server                   State details
    --------------------------------------------------------------------------------
    Local Resources
    --------------------------------------------------------------------------------
    ora.DATA.dg
                   ONLINE  ONLINE       ip-172-30-15-45          STABLE
    ora.LISTENER.lsnr
                   ONLINE  ONLINE       ip-172-30-15-45          STABLE
    ora.LOGS.dg
                   ONLINE  ONLINE       ip-172-30-15-45          STABLE
    ora.asm
                   ONLINE  ONLINE       ip-172-30-15-45          Started,STABLE
    ora.ons
                   OFFLINE OFFLINE      ip-172-30-15-45          STABLE
    --------------------------------------------------------------------------------
    Cluster Resources
    --------------------------------------------------------------------------------
    ora.cssd
          1        ONLINE  ONLINE       ip-172-30-15-45          STABLE
    ora.db1.db
          1        ONLINE  ONLINE       ip-172-30-15-45          Open,HOME=/u01/app/o
                                                                 racle/product/19.0.0
                                                                 /db1,STABLE
    ora.diskmon
          1        OFFLINE OFFLINE                               STABLE
    ora.driver.afd
          1        ONLINE  ONLINE       ip-172-30-15-45          STABLE
    ora.evmd
          1        ONLINE  ONLINE       ip-172-30-15-45          STABLE
    --------------------------------------------------------------------------------
  2. sqlplus에서 기본 로그온을 활성화합니다.

    alter database force logging;
  3. sqlplus에서 primary에서 플래시백을 활성화합니다. 플래시백은 장애 조치 후 기본 데이터베이스를 대기 데이터베이스로 쉽게 복원할 수 있도록 합니다.

    alter database flashback on;
  4. Oracle 암호 파일을 사용하여 redo 전송 인증 구성 - 설정하지 않은 경우 orapwd 유틸리티를 사용하여 기본 데이터베이스에 pwd 파일을 생성하고 대기 데이터베이스 $oracle_home/dbs 디렉토리로 복사합니다.

  5. 현재 온라인 로그 파일과 크기가 같은 기본 DB에 대기 redo 로그를 생성합니다. 로그 그룹은 하나 이상의 온라인 로그 파일 그룹입니다. 그러면 기본 데이터베이스가 신속하게 대기 역할로 전환되고 필요한 경우 다시 실행 데이터 수신을 시작할 수 있습니다.

    alter database add standby logfile thread 1 size 200M;
    Validate after standby logs addition:
    
    SQL> select group#, type, member from v$logfile;
    
        GROUP# TYPE    MEMBER
    ---------- ------- ------------------------------------------------------------
             3 ONLINE  +DATA/DB1/ONLINELOG/group_3.264.1145821513
             2 ONLINE  +DATA/DB1/ONLINELOG/group_2.263.1145821513
             1 ONLINE  +DATA/DB1/ONLINELOG/group_1.262.1145821513
             4 STANDBY +DATA/DB1/ONLINELOG/group_4.286.1146082751
             4 STANDBY +LOGS/DB1/ONLINELOG/group_4.258.1146082753
             5 STANDBY +DATA/DB1/ONLINELOG/group_5.287.1146082819
             5 STANDBY +LOGS/DB1/ONLINELOG/group_5.260.1146082821
             6 STANDBY +DATA/DB1/ONLINELOG/group_6.288.1146082825
             6 STANDBY +LOGS/DB1/ONLINELOG/group_6.261.1146082827
             7 STANDBY +DATA/DB1/ONLINELOG/group_7.289.1146082835
             7 STANDBY +LOGS/DB1/ONLINELOG/group_7.262.1146082835
    
    11 rows selected.
  6. sqlplus 에서 편집할 spfile 에서 pfile 을 만듭니다.

    create pfile='/home/oracle/initdb1.ora' from spfile;
  7. pfile을 수정하고 다음 매개 변수를 추가합니다.

    DB_NAME=db1
    DB_UNIQUE_NAME=db1_NY
    LOG_ARCHIVE_CONFIG='DG_CONFIG=(db1_NY,db1_LA)'
    LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=db1_NY'
    LOG_ARCHIVE_DEST_2='SERVICE=db1_LA ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=db1_LA'
    REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
    FAL_SERVER=db1_LA
    STANDBY_FILE_MANAGEMENT=AUTO
  8. sqlplus에서 /home/oracle 디렉토리의 수정된 pfile에서 asm+ data 디렉토리에 spfile을 생성합니다.

    create spfile='+DATA' from pfile='/home/oracle/initdb1.ora';
  9. data disk group(필요한 경우 asmcmd 유틸리티 사용)에서 새로 생성된 spfile을 찾습니다. srvctl을 사용하여 아래 그림과 같이 새 spfile에서 데이터베이스를 시작하도록 그리드를 수정합니다.

    [oracle@ip-172-30-15-45 db1]$ srvctl config database -d db1
    Database unique name: db1
    Database name: db1
    Oracle home: /u01/app/oracle/product/19.0.0/db1
    Oracle user: oracle
    Spfile: +DATA/DB1/PARAMETERFILE/spfile.270.1145822903
    Password file:
    Domain: demo.netapp.com
    Start options: open
    Stop options: immediate
    Database role: PRIMARY
    Management policy: AUTOMATIC
    Disk Groups: DATA
    Services:
    OSDBA group:
    OSOPER group:
    Database instance: db1
    [oracle@ip-172-30-15-45 db1]$ srvctl modify database -d db1 -spfile +DATA/DB1/PARAMETERFILE/spfiledb1.ora
    [oracle@ip-172-30-15-45 db1]$ srvctl config database -d db1
    Database unique name: db1
    Database name: db1
    Oracle home: /u01/app/oracle/product/19.0.0/db1
    Oracle user: oracle
    Spfile: +DATA/DB1/PARAMETERFILE/spfiledb1.ora
    Password file:
    Domain: demo.netapp.com
    Start options: open
    Stop options: immediate
    Database role: PRIMARY
    Management policy: AUTOMATIC
    Disk Groups: DATA
    Services:
    OSDBA group:
    OSOPER group:
    Database instance: db1
  10. 이름 확인을 위해 db_unique_name을 추가하려면 tnsnames.ora를 수정하십시오.

    # tnsnames.ora Network Configuration File: /u01/app/oracle/product/19.0.0/db1/network/admin/tnsnames.ora
    # Generated by Oracle configuration tools.
    
    db1_NY =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = ip-172-30-15-45.ec2.internal)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SID = db1)
        )
      )
    
    db1_LA =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = ip-172-30-15-67.ec2.internal)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SID = db1)
        )
      )
    
    LISTENER_DB1 =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ip-172-30-15-45.ec2.internal)(PORT = 1521))
  11. 기본 데이터베이스에 대한 데이터 가드 서비스 이름 db1_NY_DGMGRL.demo.netapp 을 listener.ora 파일에 추가합니다.

#Backup file is  /u01/app/oracle/crsdata/ip-172-30-15-45/output/listener.ora.bak.ip-172-30-15-45.oracle line added by Agent
# listener.ora Network Configuration File: /u01/app/oracle/product/19.0.0/grid/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ip-172-30-15-45.ec2.internal)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = db1_NY_DGMGRL.demo.netapp.com)
      (ORACLE_HOME = /u01/app/oracle/product/19.0.0/db1)
      (SID_NAME = db1)
    )
  )

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON              # line added by Agent
VALID_NODE_CHECKING_REGISTRATION_LISTENER=ON            # line added by Agent
  1. srvctl을 사용하여 데이터베이스를 종료하고 다시 시작하고 데이터 가드 매개변수가 현재 활성 상태인지 확인합니다.

    srvctl stop database -d db1
    srvctl start database -d db1

이것으로 Data Guard에 대한 기본 데이터베이스 설정이 완료되었습니다.

대기 데이터베이스를 준비하고 Data Guard를 활성화합니다

Details

Oracle Data Guard를 사용하려면 운영 EC2 DB 인스턴스와 일치하도록 대기 EC2 DB 인스턴스의 패치 세트를 포함한 Oracle 소프트웨어 스택과 OS 커널 구성이 필요합니다. 손쉬운 관리와 간소화를 위해 대기 EC2 DB 인스턴스 데이터베이스 스토리지 구성은 ASM 디스크 그룹의 이름, 수 및 크기 등 기본 EC2 DB 인스턴스와 이상적으로 일치해야 합니다. 다음은 Data Guard용 Standby EC2 DB 인스턴스를 설정하는 세부 절차입니다. 모든 명령은 Oracle 소유자 사용자 ID로 실행해야 합니다.

  1. 먼저 운영 EC2 인스턴스에서 운영 데이터베이스의 구성을 검토합니다. 이 데모에서는 독립 실행형 재시작 구성에서 두 개의 ASM 디스크 그룹 + 데이터 및 + 로그를 사용하여 운영 EC2 DB 인스턴스에 db1이라는 기본 Oracle 데이터베이스를 설정했습니다. 기본 ASM 디스크 그룹은 EC2 에코시스템 내의 모든 유형의 스토리지에 있을 수 있습니다.

  2. 문서의 절차를 따릅니다 "TR-4965: iSCSI/ASM을 사용하는 AWS FSx/EC2에서 Oracle 데이터베이스 구축 및 보호" 기본 데이터베이스와 일치하도록 대기 EC2 DB 인스턴스에 그리드 및 Oracle을 설치하고 구성합니다. 데이터베이스 스토리지는 스토리지 용량이 운영 EC2 DB 인스턴스와 동일한 FSx ONTAP의 대기 EC2 DB 인스턴스에 프로비저닝하고 할당해야 합니다.

    참고 의 10단계에서 멈춥니다 Oracle database installation 섹션을 참조하십시오. 대기 데이터베이스는 dbca 데이터베이스 복제 기능을 사용하여 기본 데이터베이스에서 인스턴스화됩니다.
  3. Oracle 소프트웨어가 설치 및 구성되면 스탠바이 $ORACLE_HOME DBS 디렉토리에서 기본 데이터베이스에서 Oracle 암호를 복사합니다.

    scp oracle@172.30.15.45:/u01/app/oracle/product/19.0.0/db1/dbs/orapwdb1 .
  4. 다음 항목을 사용하여 tnsnames.ora 파일을 만듭니다.

    # tnsnames.ora Network Configuration File: /u01/app/oracle/product/19.0.0/db1/network/admin/tnsnames.ora
    # Generated by Oracle configuration tools.
    
    db1_NY =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = ip-172-30-15-45.ec2.internal)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SID = db1)
        )
      )
    
    db1_LA =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = ip-172-30-15-67.ec2.internal)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SID = db1)
        )
      )
  5. listener.ora 파일에 DB 데이터 가드 서비스 이름을 추가합니다.

    #Backup file is  /u01/app/oracle/crsdata/ip-172-30-15-67/output/listener.ora.bak.ip-172-30-15-67.oracle line added by Agent
    # listener.ora Network Configuration File: /u01/app/oracle/product/19.0.0/grid/network/admin/listener.ora
    # Generated by Oracle configuration tools.
    
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = ip-172-30-15-67.ec2.internal)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
      )
    
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = db1_LA_DGMGRL.demo.netapp.com)
          (ORACLE_HOME = /u01/app/oracle/product/19.0.0/db1)
          (SID_NAME = db1)
        )
      )
    
    ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON              # line added by Agent
    VALID_NODE_CHECKING_REGISTRATION_LISTENER=ON            # line added by Agent
  6. Oracle 홈 및 경로를 설정합니다.

    export ORACLE_HOME=/u01/app/oracle/product/19.0.0/db1
    export PATH=$PATH:$ORACLE_HOME/bin
  7. dbca를 사용하여 운영 데이터베이스 db1에서 대기 데이터베이스를 인스턴스화합니다.

    [oracle@ip-172-30-15-67 bin]$ dbca -silent -createDuplicateDB -gdbName db1 -primaryDBConnectionString ip-172-30-15-45.ec2.internal:1521/db1_NY.demo.netapp.com -sid db1 -initParams fal_server=db1_NY -createAsStandby -dbUniqueName db1_LA
    Enter SYS user password:
    
    Prepare for db operation
    22% complete
    Listener config step
    44% complete
    Auxiliary instance creation
    67% complete
    RMAN duplicate
    89% complete
    Post duplicate database operations
    100% complete
    
    Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/db1_LA/db1_LA.log" for further details.
  8. 중복된 대기 데이터베이스를 검증합니다. 새로 복제된 대기 데이터베이스는 처음에 읽기 전용 모드로 열립니다.

    [oracle@ip-172-30-15-67 bin]$ export ORACLE_SID=db1
    [oracle@ip-172-30-15-67 bin]$ sqlplus / as sysdba
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Wed Aug 30 18:25:46 2023
    Version 19.18.0.0.0
    
    Copyright (c) 1982, 2022, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.18.0.0.0
    
    SQL> select name, open_mode from v$database;
    
    NAME      OPEN_MODE
    --------- --------------------
    DB1       READ ONLY
    
    SQL> show parameter name
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    cdb_cluster_name                     string
    cell_offloadgroup_name               string
    db_file_name_convert                 string
    db_name                              string      db1
    db_unique_name                       string      db1_LA
    global_names                         boolean     FALSE
    instance_name                        string      db1
    lock_name_space                      string
    log_file_name_convert                string
    pdb_file_name_convert                string
    processor_group_name                 string
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    service_names                        string      db1_LA.demo.netapp.com
    SQL>
    SQL> show parameter log_archive_config
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    log_archive_config                   string      DG_CONFIG=(db1_NY,db1_LA)
    SQL> show parameter fal_server
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    fal_server                           string      db1_NY
    
    SQL> select name from v$datafile;
    
    NAME
    --------------------------------------------------------------------------------
    +DATA/DB1_LA/DATAFILE/system.261.1146248215
    +DATA/DB1_LA/DATAFILE/sysaux.262.1146248231
    +DATA/DB1_LA/DATAFILE/undotbs1.263.1146248247
    +DATA/DB1_LA/03C5C01A66EE9797E0632D0F1EAC5F59/DATAFILE/system.264.1146248253
    +DATA/DB1_LA/03C5C01A66EE9797E0632D0F1EAC5F59/DATAFILE/sysaux.265.1146248261
    +DATA/DB1_LA/DATAFILE/users.266.1146248267
    +DATA/DB1_LA/03C5C01A66EE9797E0632D0F1EAC5F59/DATAFILE/undotbs1.267.1146248269
    +DATA/DB1_LA/03C5EFD07C41A1FAE0632D0F1EAC9BD8/DATAFILE/system.268.1146248271
    +DATA/DB1_LA/03C5EFD07C41A1FAE0632D0F1EAC9BD8/DATAFILE/sysaux.269.1146248279
    +DATA/DB1_LA/03C5EFD07C41A1FAE0632D0F1EAC9BD8/DATAFILE/undotbs1.270.1146248285
    +DATA/DB1_LA/03C5EFD07C41A1FAE0632D0F1EAC9BD8/DATAFILE/users.271.1146248293
    
    NAME
    --------------------------------------------------------------------------------
    +DATA/DB1_LA/03C5F0DDF35CA2B6E0632D0F1EAC8B6B/DATAFILE/system.272.1146248295
    +DATA/DB1_LA/03C5F0DDF35CA2B6E0632D0F1EAC8B6B/DATAFILE/sysaux.273.1146248301
    +DATA/DB1_LA/03C5F0DDF35CA2B6E0632D0F1EAC8B6B/DATAFILE/undotbs1.274.1146248309
    +DATA/DB1_LA/03C5F0DDF35CA2B6E0632D0F1EAC8B6B/DATAFILE/users.275.1146248315
    +DATA/DB1_LA/03C5F1C9B142A2F1E0632D0F1EACF21A/DATAFILE/system.276.1146248317
    +DATA/DB1_LA/03C5F1C9B142A2F1E0632D0F1EACF21A/DATAFILE/sysaux.277.1146248323
    +DATA/DB1_LA/03C5F1C9B142A2F1E0632D0F1EACF21A/DATAFILE/undotbs1.278.1146248331
    +DATA/DB1_LA/03C5F1C9B142A2F1E0632D0F1EACF21A/DATAFILE/users.279.1146248337
    
    19 rows selected.
    
    SQL> select name from v$controlfile;
    
    NAME
    --------------------------------------------------------------------------------
    +DATA/DB1_LA/CONTROLFILE/current.260.1146248209
    +LOGS/DB1_LA/CONTROLFILE/current.257.1146248209
    
    SQL> select name from v$tempfile;
    
    NAME
    --------------------------------------------------------------------------------
    +DATA/DB1_LA/TEMPFILE/temp.287.1146248371
    +DATA/DB1_LA/03C5C01A66EE9797E0632D0F1EAC5F59/TEMPFILE/temp.288.1146248375
    +DATA/DB1_LA/03C5EFD07C41A1FAE0632D0F1EAC9BD8/TEMPFILE/temp.290.1146248463
    +DATA/DB1_LA/03C5F0DDF35CA2B6E0632D0F1EAC8B6B/TEMPFILE/temp.291.1146248463
    +DATA/DB1_LA/03C5F1C9B142A2F1E0632D0F1EACF21A/TEMPFILE/temp.292.1146248463
    
    SQL> select group#, type, member from v$logfile order by 2, 1;
    
        GROUP# TYPE    MEMBER
    ---------- ------- ------------------------------------------------------------
             1 ONLINE  +LOGS/DB1_LA/ONLINELOG/group_1.259.1146248349
             1 ONLINE  +DATA/DB1_LA/ONLINELOG/group_1.280.1146248347
             2 ONLINE  +DATA/DB1_LA/ONLINELOG/group_2.281.1146248351
             2 ONLINE  +LOGS/DB1_LA/ONLINELOG/group_2.258.1146248353
             3 ONLINE  +DATA/DB1_LA/ONLINELOG/group_3.282.1146248355
             3 ONLINE  +LOGS/DB1_LA/ONLINELOG/group_3.260.1146248355
             4 STANDBY +DATA/DB1_LA/ONLINELOG/group_4.283.1146248357
             4 STANDBY +LOGS/DB1_LA/ONLINELOG/group_4.261.1146248359
             5 STANDBY +DATA/DB1_LA/ONLINELOG/group_5.284.1146248361
             5 STANDBY +LOGS/DB1_LA/ONLINELOG/group_5.262.1146248363
             6 STANDBY +LOGS/DB1_LA/ONLINELOG/group_6.263.1146248365
             6 STANDBY +DATA/DB1_LA/ONLINELOG/group_6.285.1146248365
             7 STANDBY +LOGS/DB1_LA/ONLINELOG/group_7.264.1146248369
             7 STANDBY +DATA/DB1_LA/ONLINELOG/group_7.286.1146248367
    
    14 rows selected.
    
    SQL> select name, open_mode from v$database;
    
    NAME      OPEN_MODE
    --------- --------------------
    DB1       READ ONLY
  9. 에서 대기 데이터베이스를 다시 시작합니다 mount 대기 데이터베이스 관리 복구를 활성화하려면 다음 명령을 준비하고 실행합니다.

    alter database recover managed standby database disconnect from session;
    SQL> shutdown immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup mount;
    ORACLE instance started.
    
    Total System Global Area 8053062944 bytes
    Fixed Size                  9182496 bytes
    Variable Size            1291845632 bytes
    Database Buffers         6744440832 bytes
    Redo Buffers                7593984 bytes
    Database mounted.
    SQL> alter database recover managed standby database disconnect from session;
    
    Database altered.
  10. 대기 데이터베이스 복구 상태를 확인합니다. 를 확인합니다 recovery logmerger 인치 APPLYING_LOG 조치.

    SQL> SELECT ROLE, THREAD#, SEQUENCE#, ACTION FROM V$DATAGUARD_PROCESS;
    
    ROLE                        THREAD#  SEQUENCE# ACTION
    ------------------------ ---------- ---------- ------------
    recovery apply slave              0          0 IDLE
    recovery apply slave              0          0 IDLE
    recovery apply slave              0          0 IDLE
    recovery apply slave              0          0 IDLE
    recovery logmerger                1         30 APPLYING_LOG
    RFS ping                          1         30 IDLE
    RFS async                         1         30 IDLE
    archive redo                      0          0 IDLE
    archive redo                      0          0 IDLE
    archive redo                      0          0 IDLE
    gap manager                       0          0 IDLE
    
    ROLE                        THREAD#  SEQUENCE# ACTION
    ------------------------ ---------- ---------- ------------
    managed recovery                  0          0 IDLE
    redo transport monitor            0          0 IDLE
    log writer                        0          0 IDLE
    archive local                     0          0 IDLE
    redo transport timer              0          0 IDLE
    
    16 rows selected.
    
    SQL>

이렇게 하면 관리되는 대기 복구가 활성화된 상태에서 db1에 대한 Data Guard 보호 설정이 기본에서 스탠바이로 완료됩니다.

Data Guard Broker를 설정합니다

Details

Oracle Data Guard Broker는 Oracle Data Guard 구성의 생성, 유지 관리 및 모니터링을 자동화하고 중앙 집중화하는 분산 관리 프레임워크입니다. 다음 섹션에서는 Data Guard Broker를 설정하여 Data Guard 환경을 관리하는 방법을 보여 줍니다.

  1. sqlplus 를 통해 다음 명령을 사용하여 기본 데이터베이스와 대기 데이터베이스 모두에서 데이터 가드 브로커를 시작합니다.

    alter system set dg_broker_start=true scope=both;
  2. 기본 데이터베이스에서 Data Guard Borker에 SYSDBA로 연결합니다.

    [oracle@ip-172-30-15-45 db1]$ dgmgrl sys@db1_NY
    DGMGRL for Linux: Release 19.0.0.0.0 - Production on Wed Aug 30 19:34:14 2023
    Version 19.18.0.0.0
    
    Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
    
    Welcome to DGMGRL, type "help" for information.
    Password:
    Connected to "db1_NY"
    Connected as SYSDBA.
  3. Data Guard Broker 구성을 만들고 활성화합니다.

    DGMGRL> create configuration dg_config as primary database is db1_NY connect identifier is db1_NY;
    Configuration "dg_config" created with primary database "db1_ny"
    DGMGRL> add database db1_LA as connect identifier is db1_LA;
    Database "db1_la" added
    DGMGRL> enable configuration;
    Enabled.
    DGMGRL> show configuration;
    
    Configuration - dg_config
    
      Protection Mode: MaxPerformance
      Members:
      db1_ny - Primary database
        db1_la - Physical standby database
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    SUCCESS   (status updated 28 seconds ago)
  4. Data Guard Broker 관리 프레임워크 내에서 데이터베이스 상태를 검증합니다.

    DGMGRL> show database db1_ny;
    
    Database - db1_ny
    
      Role:               PRIMARY
      Intended State:     TRANSPORT-ON
      Instance(s):
        db1
    
    Database Status:
    SUCCESS
    
    DGMGRL> show database db1_la;
    
    Database - db1_la
    
      Role:               PHYSICAL STANDBY
      Intended State:     APPLY-ON
      Transport Lag:      0 seconds (computed 1 second ago)
      Apply Lag:          0 seconds (computed 1 second ago)
      Average Apply Rate: 2.00 KByte/s
      Real Time Query:    OFF
      Instance(s):
        db1
    
    Database Status:
    SUCCESS
    
    DGMGRL>

오류가 발생할 경우 Data Guard Broker를 사용하여 기본 데이터베이스를 즉시 스탠바이로 페일오버할 수 있습니다.

다른 활용 사례에 대한 복제 스탠바이 데이터베이스

Details

Data Guard의 AWS FSx ONTAP에서 대기 데이터베이스를 스테이징할 때의 주요 이점은 최소한의 추가 스토리지 투자로 다른 많은 사용 사례를 지원할 수 있도록 FlexCloned를 사용할 수 있다는 것입니다. 다음 섹션에서는 개발, 테스트, 보고서 등과 같은 다른 목적으로 FSx ONTAP에서 마운트된 복구 대기 데이터베이스 볼륨을 스냅샷하고 복제하는 방법을 보여 줍니다. NetApp SnapCenter 도구를 사용합니다.

다음은 SnapCenter를 사용하여 Data Guard의 관리되는 물리적 대기 데이터베이스에서 읽기/쓰기 데이터베이스를 복제하는 고급 절차입니다. SnapCenter 설정 및 구성 방법에 대한 자세한 내용은 을 참조하십시오 "SnapCenter을 사용한 하이브리드 클라우드 데이터베이스 솔루션" Oracle 섹션 재지정.

  1. 먼저 테스트 테이블을 만들고 기본 데이터베이스의 테스트 테이블에 행을 삽입합니다. 그런 다음 트랜잭션이 대기 상태로 전환되는지 확인하고 마지막으로 클론을 생성합니다.

    [oracle@ip-172-30-15-45 db1]$ sqlplus / as sysdba
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Thu Aug 31 16:35:53 2023
    Version 19.18.0.0.0
    
    Copyright (c) 1982, 2022, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.18.0.0.0
    
    SQL> alter session set container=db1_pdb1;
    
    Session altered.
    
    SQL> create table test(
      2  id integer,
      3  dt timestamp,
      4  event varchar(100));
    
    Table created.
    
    SQL> insert into test values(1, sysdate, 'a test transaction on primary database db1 and ec2 db host: ip-172-30-15-45.ec2.internal');
    
    1 row created.
    
    SQL> commit;
    
    Commit complete.
    
    SQL> select * from test;
    
            ID
    ----------
    DT
    ---------------------------------------------------------------------------
    EVENT
    --------------------------------------------------------------------------------
             1
    31-AUG-23 04.49.29.000000 PM
    a test transaction on primary database db1 and ec2 db host: ip-172-30-15-45.ec2.
    internal
    
    SQL> select instance_name, host_name from v$instance;
    
    INSTANCE_NAME
    ----------------
    HOST_NAME
    ----------------------------------------------------------------
    db1
    ip-172-30-15-45.ec2.internal
  2. FSx 스토리지 클러스터를 에 추가합니다 Storage Systems SnapCenter에서 FSx 클러스터 관리 IP 및 fsxadmin 자격 증명을 사용합니다.

    GUI에서 이 단계를 보여 주는 스크린샷
  3. AWS EC2 - 사용자를 에 추가합니다 Credential 인치 Settings.

    GUI에서 이 단계를 보여 주는 스크린샷
  4. 대기 EC2 DB 인스턴스를 추가하고 EC2 DB 인스턴스를 에 복제합니다 Hosts.

    GUI에서 이 단계를 보여 주는 스크린샷
    참고 클론 EC2 DB 인스턴스에는 유사한 Oracle 소프트웨어 스택이 설치 및 구성되어 있어야 합니다. 이 테스트 사례에서는 그리드 인프라스트럭처와 Oracle 19C가 설치 및 구성되었지만 데이터베이스가 생성되지 않았습니다.
  5. 오프라인/전체 데이터베이스 백업에 맞게 조정된 백업 정책을 생성합니다.

    GUI에서 이 단계를 보여 주는 스크린샷
  6. 에서 대기 데이터베이스를 보호하기 위한 백업 정책을 적용합니다 Resources 탭을 클릭합니다.

    GUI에서 이 단계를 보여 주는 스크린샷
  7. 데이터베이스 이름을 클릭하여 데이터베이스 백업 페이지를 엽니다. 데이터베이스 클론에 사용할 백업을 선택하고 을 클릭합니다 Clone 버튼을 클릭하여 클론 워크플로우를 시작합니다.

    GUI에서 이 단계를 보여 주는 스크린샷
  8. 를 선택합니다 Complete Database Clone 클론 인스턴스 SID의 이름을 지정합니다.

    GUI에서 이 단계를 보여 주는 스크린샷
  9. 클론 생성 데이터베이스를 대기 DB에서 호스팅하는 클론 호스트를 선택합니다. 데이터 파일, 제어 파일 및 재실행 로그에 대한 기본값을 적용합니다. 대기 데이터베이스의 디스크 그룹에 해당하는 클론 호스트에 ASM 디스크 그룹 두 개가 생성됩니다.

    GUI에서 이 단계를 보여 주는 스크린샷
  10. OS 기반 인증에 데이터베이스 자격 증명이 필요하지 않습니다. Oracle 홈 설정과 클론 EC2 데이터베이스 인스턴스에 구성된 설정을 일치시킵니다.

    GUI에서 이 단계를 보여 주는 스크린샷
  11. 필요한 경우 클론 데이터베이스 매개 변수를 변경하고 필요한 경우 은폐 전에 실행할 스크립트를 지정합니다.

    GUI에서 이 단계를 보여 주는 스크린샷
  12. SQL을 입력하여 클론 후에 실행합니다. 데모에서는 개발/테스트/보고서 데이터베이스에 대한 데이터베이스 아카이브 모드를 해제하는 명령을 실행했습니다.

    GUI에서 이 단계를 보여 주는 스크린샷
  13. 원하는 경우 이메일 알림을 구성합니다.

    GUI에서 이 단계를 보여 주는 스크린샷
  14. 요약을 검토하고 을 클릭합니다 Finish 를 눌러 클론을 시작합니다.

    GUI에서 이 단계를 보여 주는 스크린샷
  15. 에서 클론 작업을 모니터링합니다 Monitor 탭을 클릭합니다. 데이터베이스 볼륨 크기로 약 300GB의 데이터베이스를 복제하는 데 8분 정도 걸렸습니다.

    GUI에서 이 단계를 보여 주는 스크린샷
  16. 에 즉시 등록되는 SnapCenter에서 클론 데이터베이스를 검증합니다 Resources 탭을 클릭합니다.

    GUI에서 이 단계를 보여 주는 스크린샷
  17. 클론 EC2 인스턴스에서 클론 데이터베이스를 쿼리합니다. 운영 데이터베이스에서 발생한 테스트 트랜잭션이 복제 데이터베이스를 통과했음을 확인했습니다.

    [oracle@ip-172-30-15-126 ~]$ export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dev
    [oracle@ip-172-30-15-126 ~]$ export ORACLE_SID=db1dev
    [oracle@ip-172-30-15-126 ~]$ export PATH=$PATH:$ORACLE_HOME/bin
    [oracle@ip-172-30-15-126 ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Wed Sep 6 16:41:41 2023
    Version 19.18.0.0.0
    
    Copyright (c) 1982, 2022, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.18.0.0.0
    
    SQL> select name, open_mode, log_mode from v$database;
    
    NAME      OPEN_MODE            LOG_MODE
    --------- -------------------- ------------
    DB1DEV    READ WRITE           NOARCHIVELOG
    
    SQL> select instance_name, host_name from v$instance;
    
    INSTANCE_NAME
    ----------------
    HOST_NAME
    ----------------------------------------------------------------
    db1dev
    ip-172-30-15-126.ec2.internal
    
    SQL> alter session set container=db1_pdb1;
    
    Session altered.
    
    SQL> select * from test;
    
            ID
    ----------
    DT
    ---------------------------------------------------------------------------
    EVENT
    --------------------------------------------------------------------------------
             1
    31-AUG-23 04.49.29.000000 PM
    a test transaction on primary database db1 and ec2 db host: ip-172-30-15-45.ec2.
    internal
    
    
    SQL>

이렇게 하면 개발, 테스트, 보고 또는 기타 사용 사례를 위해 FSx 스토리지의 Data Guard에 있는 대기 데이터베이스에서 새 Oracle 데이터베이스의 클론 및 검증이 완료됩니다. 여러 Oracle 데이터베이스를 Data Guard의 동일한 대기 데이터베이스에서 복제할 수 있습니다.