TR-5002: Azure NetApp Files 통한 Oracle Active Data Guard 비용 절감
이 솔루션은 Microsoft Azure NetApp Files (ANF)를 기본 및 대기 데이터베이스 저장소로 사용하여 Oracle Data Guard를 구성하는 방법에 대한 개요와 세부 정보를 제공하여 Azure 클라우드에서 Oracle Data Guard HA/DR 솔루션의 라이선싱 및 운영 비용을 절감합니다.
목적
Oracle Data Guard는 기본 데이터베이스와 스탠바이 데이터베이스 복제 구성에서 엔터프라이즈 데이터의 고가용성, 데이터 보호 및 재해 복구를 보장합니다. Oracle Active Data Guard는 기본 데이터베이스에서 대기 데이터베이스로의 데이터 복제가 활성화되어 있는 동안 사용자가 대기 데이터베이스에 액세스할 수 있도록 지원합니다. Data Guard는 Oracle Database Enterprise Edition의 기능입니다. 별도의 라이센스가 필요하지 않습니다. 반면, Active Data Guard는 Oracle Database Enterprise Edition 옵션이므로 별도의 라이선스가 필요합니다. Active Data Guard 설정에서는 여러 개의 대기 데이터베이스가 기본 데이터베이스로부터 데이터 복제를 수신할 수 있습니다. 그러나 추가된 스탠바이 데이터베이스마다 Active Data Guard 라이선스와 기본 데이터베이스 크기에 맞는 추가 스토리지가 필요합니다. 운영 비용이 빠르게 늘어납니다.
Oracle 데이터베이스 운영 비용을 절감하고 Azure 클라우드에 Active Data Guard를 설정할 계획이라면 대안을 고려해야 합니다. Active Data Guard 대신 Data Guard를 사용하여 기본 데이터베이스에서 Azure NetApp Files 저장소의 단일 물리적 대기 데이터베이스로 복제합니다. 이후, 이 대기 데이터베이스의 여러 사본을 복제하여 보고, 개발, 테스트 등 여러 다른 사용 사례에 읽기/쓰기 액세스를 위해 열 수 있습니다. 결과적으로 Active Data Guard 라이선스를 없애면서 Active Data Guard의 기능을 효과적으로 제공할 수 있습니다. 이 문서에서는 ANF 스토리지에 있는 기존 기본 데이터베이스와 물리적 스탠바이 데이터베이스를 사용하여 Oracle Data Guard를 설정하는 방법을 설명합니다. 대기 데이터베이스는 NetApp SnapCenter 데이터베이스 관리 도구를 통해 원하는 사용 사례에 대한 읽기/쓰기 액세스를 위해 백업되고 복제됩니다. NetApp 솔루션 엔지니어링 팀은 또한 사용자 정의 일정에 따라 복제본을 새로 고치는 자동화 툴킷을 제공하여 사용자 개입이 필요 없이 완전하고 자동화된 데이터베이스 복제본 수명 주기를 관리합니다.
이 솔루션은 다음과 같은 사용 사례를 해결합니다.
-
Azure 지역 전반의 Microsoft Azure NetApp Files 저장소에서 기본 데이터베이스와 물리적 대기 데이터베이스 간에 Oracle Data Guard를 구현합니다.
-
보고, 개발, 테스트 등의 사용 사례에 맞게 물리적 스탠바이 데이터베이스를 백업하고 복제합니다.
-
자동화를 통해 Oracle 데이터베이스 복제본 새로 고침 수명 주기를 관리합니다.
대상
이 솔루션은 다음과 같은 사람들을 위해 만들어졌습니다.
-
고가용성, 데이터 보호 및 재해 복구를 위해 Azure 클라우드에 Oracle Active Data Guard를 설정하는 DBA입니다.
-
Azure 클라우드에서 Oracle Active Data Guard 구성에 관심이 있는 데이터베이스 솔루션 아키텍트입니다.
-
Oracle Data Guard를 지원하는 Azure NetApp Files 스토리지를 관리하는 스토리지 관리자입니다.
-
Azure 클라우드 환경에서 Oracle Data Guard를 구축하고 싶어하는 애플리케이션 소유자입니다.
솔루션 테스트 및 검증 환경
이 솔루션의 테스트와 검증은 실제 사용자 배포 환경과 일치하지 않을 수 있는 Azure 클라우드 랩 환경에서 수행되었습니다. 자세한 내용은 다음 섹션을 참조하세요. 배포 고려사항의 핵심 요소 .
아키텍처
하드웨어 및 소프트웨어 구성 요소
하드웨어 |
||
Azure NetApp Files |
Microsoft에서 제공하는 현재 버전 |
2개의 3TiB 용량 풀, 표준 서비스 수준, 자동 QoS |
DB 서버용 Azure VM |
표준 B4ms(4개 vcpus, 16GiB 메모리) |
3개의 DB VM(하나는 기본 DB 서버, 하나는 대기 DB 서버, 세 번째는 복제 DB 서버) |
소프트웨어 |
||
레드햇 리눅스 |
Red Hat Enterprise Linux 8.6(LVM) - x64 Gen2 |
테스트를 위해 RedHat 구독을 배포했습니다. |
오라클 데이터베이스 |
버전 19.18 |
RU 패치 p34765931_190000_Linux-x86-64.zip을 적용했습니다. |
오라클 OPatch |
버전 12.2.0.1.36 |
최신 패치 p6880880_190000_Linux-x86-64.zip |
SnapCenter |
버전 6.0.1 |
빌드 6.0.1.4487 |
NFS |
버전 3.0 |
Oracle에 대해 dNFS 활성화됨 |
가상 NY-LA DR 설정을 사용한 Oracle Data Guard 구성
데이터 베이스 |
DB_고유_이름 |
Oracle Net 서비스 이름 |
주요한 |
NTAP_NY |
NTAP_NY.internal.cloudapp.net |
대기 |
NTAP_LA |
NTAP_LA.internal.cloudapp.net |
배포 고려사항의 핵심 요소
-
대기 데이터베이스 복제. 기본 데이터베이스에서 트랜잭션 로그를 수신하고 적용하는 동안 물리적 스탠바이 데이터베이스를 복제하여 DB VM에 마운트하여 DEV, TEST 또는 Report와 같은 다른 작업 부하를 지원할 수 있습니다. 클론은 얇거나 두꺼운 클론이 될 수 있습니다. 현재 ANF는 스탠바이 데이터베이스의 전체 복사본인 두꺼운 복제본만 지원합니다. ANF 씬 클론 옵션이 곧 출시될 예정입니다. 데이터베이스 볼륨의 씬 복제본의 경우, 스탠바이 데이터베이스의 동일한 DB 볼륨을 공유하고 쓰기 시 복사 기술을 활용하여 쓰기 IO를 처리합니다. 따라서 복제본은 새로운 쓰기 IO에 대한 최소한의 증분적 새 스토리지 할당으로 다른 많은 사용 사례에 사용할 수 있을 만큼 스토리지 효율성이 매우 높습니다. 이를 통해 Active Data Guard 스토리지 공간을 대폭 줄여 스토리지 비용을 엄청나게 절감할 수 있습니다. NetApp Oracle 성능을 높은 수준으로 유지하기 위해 기본 스토리지에서 대기 ANF 스토리지로 데이터베이스를 전환하는 경우 FlexClone 활동을 최소화할 것을 권장합니다.
-
Oracle 소프트웨어 요구 사항. 일반적으로 물리적 대기 데이터베이스는 패치 세트 예외(PSE), 중요 패치 업데이트(CPU), 패치 세트 업데이트(PSU)를 포함하여 기본 데이터베이스와 동일한 데이터베이스 홈 버전을 가져야 합니다. 단, Oracle Data Guard 대기-첫 번째 패치 적용 프로세스가 진행 중일 때는 예외입니다(My Oracle Support 참고 1265700.1 참조)."support.oracle.com" .
-
대기 데이터베이스 디렉토리 구조 고려 사항. 가능하다면 기본 시스템과 대기 시스템의 데이터 파일, 로그 파일 및 제어 파일은 동일한 이름과 경로 이름을 가져야 하며 OFA(Optimal Flexible Architecture) 명명 규칙을 사용해야 합니다. 대기 데이터베이스의 보관 디렉토리도 크기와 구조를 포함하여 사이트 간에 동일해야 합니다. 이 전략을 사용하면 백업, 전환, 장애 조치와 같은 다른 작업에서 동일한 단계 집합을 실행하여 유지 관리 복잡성을 줄일 수 있습니다.
-
강제 로깅 모드. 스탠바이 데이터베이스로 전파될 수 없는 기본 데이터베이스의 기록되지 않은 직접 쓰기를 방지하려면 스탠바이 생성을 위한 데이터 파일 백업을 수행하기 전에 기본 데이터베이스에서 강제 로깅을 켜세요.
-
Azure VM 크기 조정. 이러한 테스트와 검증에서는 4개의 vCPU와 16GiB 메모리를 갖춘 Azure VM-Standard_B4ms를 사용했습니다. 실제 작업 부하 요구 사항에 따라 vCPU 수와 RAM 양에 맞게 Azure DB VM 크기를 적절히 조정해야 합니다.
-
* Azure NetApp Files 구성.* Azure NetApp Files Azure NetApp 저장소 계정에 다음과 같이 할당됩니다.
Capacity Pools
. 이러한 테스트와 검증에서 우리는 동부 지역에 Oracle 기본 데이터베이스를 호스팅하고 서부 2 지역에 대기 데이터베이스를 호스팅하는 3TiB 용량 풀을 배포했습니다. ANF 용량 풀에는 표준, 프리미엄, 울트라의 세 가지 서비스 수준이 있습니다. ANF 용량 풀의 IO 용량은 용량 풀의 크기와 서비스 수준에 따라 결정됩니다. 실제 운영에 배포하는 경우 NetApp Oracle 데이터베이스 처리량 요구 사항을 전체적으로 평가하고 이에 따라 데이터베이스 용량 풀의 크기를 조정할 것을 권장합니다. 용량 풀을 생성할 때 QoS를 자동 또는 수동으로 설정하고 저장 시 데이터 암호화를 단일 또는 이중으로 설정할 수 있습니다. -
dNFS 구성. dNFS를 사용하면 ANF 스토리지가 있는 Azure Virtual Machine에서 실행되는 Oracle 데이터베이스는 기본 NFS 클라이언트보다 훨씬 더 많은 I/O를 처리할 수 있습니다. NetApp 자동화 툴킷을 사용하여 Oracle을 자동으로 배포하면 NFSv3에서 dNFS가 자동으로 구성됩니다.
솔루션 구축
Oracle Data Guard를 설정하기 위한 시작점으로 VNet 내의 Azure 클라우드 환경에 기본 Oracle 데이터베이스가 이미 배포되어 있다고 가정합니다. 이상적으로 기본 데이터베이스는 NFS 마운트가 있는 ANF 스토리지에 배포됩니다. Oracle 데이터베이스 저장소에 대해 세 개의 NFS 마운트 지점이 생성됩니다. Oracle 바이너리 파일용 마운트 /u01, Oracle 데이터 파일과 제어 파일용 마운트 /u02, Oracle 현재 및 보관된 로그 파일과 중복 제어 파일용 마운트 /u03입니다.
기본 Oracle 데이터베이스는 NetApp ONTAP 스토리지나 Azure 에코시스템 또는 프라이빗 데이터 센터 내의 다른 스토리지에서 실행할 수도 있습니다. 다음 섹션에서는 ANF 스토리지가 있는 Azure의 기본 Oracle DB와 ANF 스토리지가 있는 Azure의 물리적 대기 Oracle DB 사이에 Oracle Data Guard를 설정하는 단계별 배포 절차를 제공합니다.
배포를 위한 전제 조건
Details
배포에는 다음과 같은 전제 조건이 필요합니다.
-
Azure 클라우드 계정이 설정되었고, Azure 계정 내에 필요한 VNet 및 네트워크 서브넷이 생성되었습니다.
-
Azure 클라우드 포털 콘솔에서 최소 3개의 Azure Linux VM을 배포해야 합니다. 하나는 기본 Oracle DB 서버, 다른 하나는 대기 Oracle DB 서버로, 나머지 하나는 보고, 개발, 테스트 등을 위한 복제 대상 DB 서버로 사용해야 합니다. 환경 설정에 대한 자세한 내용은 이전 섹션의 아키텍처 다이어그램을 참조하세요. 또한 Microsoft를 검토하세요"Azure 가상 머신" 자세한 내용은.
-
기본 Oracle 데이터베이스는 기본 Oracle DB 서버에 설치 및 구성되어야 합니다. 반면, 스탠바이 Oracle DB 서버나 복제 Oracle DB 서버에서는 Oracle 소프트웨어만 설치되고 Oracle 데이터베이스는 생성되지 않습니다. 이상적으로는 Oracle 파일 디렉토리 레이아웃이 모든 Oracle DB 서버에서 정확히 일치해야 합니다. Azure 클라우드와 ANF에서 자동화된 Oracle 배포에 대한 NetApp 권장 사항에 대한 자세한 내용은 다음 기술 보고서를 참조하세요.
-
"TR-4987: NFS를 사용한 Azure NetApp Files 에서의 간소화되고 자동화된 Oracle 배포"
Oracle 설치 파일을 준비할 충분한 공간을 확보하려면 Azure VM 루트 볼륨에 최소 128G를 할당했는지 확인하세요.
-
-
Azure 클라우드 포털 콘솔에서 두 개의 ANF 스토리지 용량 풀을 배포하여 Oracle 데이터베이스 볼륨을 호스팅합니다. ANF 스토리지 용량 풀은 실제 DataGuard 구성을 모방하기 위해 서로 다른 지역에 위치해야 합니다. ANF 스토리지 배포에 익숙하지 않은 경우 설명서를 참조하세요."빠른 시작: Azure NetApp Files 설정 및 NFS 볼륨 생성" 단계별 지침을 확인하세요.
-
기본 Oracle 데이터베이스와 대기 Oracle 데이터베이스가 서로 다른 두 지역에 있는 경우, 두 개의 별도 VNet 간에 데이터 트래픽 흐름을 허용하도록 VPN 게이트웨이를 구성해야 합니다. Azure의 자세한 네트워킹 구성은 이 문서의 범위를 벗어납니다. 다음 스크린샷은 VPN 게이트웨이가 어떻게 구성되고, 연결되고, 실험실에서 데이터 트래픽 흐름이 확인되는지에 대한 몇 가지 참고 자료를 제공합니다.
랩 VPN 게이트웨이:
기본 vnet 게이트웨이:
Vnet 게이트웨이 연결 상태:
트래픽 흐름이 설정되었는지 확인합니다(세 개의 점을 클릭하여 페이지를 엽니다).
Data Guard를 위한 기본 데이터베이스 준비
Details
이 데모에서는 세 개의 NFS 탑재 지점을 사용하여 기본 Azure DB 서버에 NTAP라는 기본 Oracle 데이터베이스를 설정했습니다. /u01은 Oracle 바이너리, /u02는 Oracle 데이터 파일 및 Oracle 제어 파일, /u03은 Oracle 활성 로그, 보관 로그 파일 및 중복 Oracle 제어 파일입니다. 다음은 Oracle Data Guard 보호를 위한 기본 데이터베이스를 설정하는 자세한 절차를 보여줍니다. 모든 단계는 Oracle 데이터베이스 소유자 또는 기본 사용자로 실행해야 합니다. oracle
사용자.
-
기본 Azure DB 서버 orap.internal.cloudapp.net의 기본 데이터베이스 NTAP는 처음에는 ANF를 데이터베이스 저장소로 사용하여 독립 실행형 데이터베이스로 배포됩니다.
orap.internal.cloudapp.net: resource group: ANFAVSRG Location: East US size: Standard B4ms (4 vcpus, 16 GiB memory) OS: Linux (redhat 8.6) pub_ip: 172.190.207.231 pri_ip: 10.0.0.4 [oracle@orap ~]$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 7.7G 4.0K 7.7G 1% /dev tmpfs 7.8G 0 7.8G 0% /dev/shm tmpfs 7.8G 209M 7.5G 3% /run tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup /dev/mapper/rootvg-rootlv 22G 413M 22G 2% / /dev/mapper/rootvg-usrlv 10G 2.1G 8.0G 21% /usr /dev/sda1 496M 181M 315M 37% /boot /dev/mapper/rootvg-homelv 2.0G 47M 2.0G 3% /home /dev/sda15 495M 5.8M 489M 2% /boot/efi /dev/mapper/rootvg-varlv 8.0G 1.1G 7.0G 13% /var /dev/mapper/rootvg-tmplv 12G 120M 12G 1% /tmp /dev/sdb1 32G 49M 30G 1% /mnt 10.0.2.36:/orap-u02 500G 7.7G 493G 2% /u02 10.0.2.36:/orap-u03 450G 6.1G 444G 2% /u03 10.0.2.36:/orap-u01 100G 9.9G 91G 10% /u01 [oracle@orap ~]$ 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. # # NTAP:/u01/app/oracle/product/19.0.0/NTAP:N
-
Oracle 사용자로 기본 DB 서버에 로그인합니다. sqlplus를 통해 데이터베이스에 로그인하고 기본 데이터베이스에서 강제 로깅을 활성화합니다.
alter database force logging;
[oracle@orap admin]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Tue Nov 26 20:12:02 2024 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 database force logging; Database altered.
-
sqlplus에서 기본 DB에 대한 플래시백을 활성화합니다. 플래시백을 사용하면 장애 조치 후 기본 데이터베이스를 스탠바이 데이터베이스로 쉽게 복구할 수 있습니다.
alter database flashback on;
SQL> alter database flashback on; Database altered.
-
Oracle 암호 파일을 사용하여 redo 전송 인증을 구성합니다. 암호 파일이 설정되어 있지 않으면 orapwd 유틸리티를 사용하여 기본 데이터베이스에 암호 파일을 만들고 대기 데이터베이스 $ORACLE_HOME/dbs 디렉토리로 복사합니다.
-
현재 온라인 로그 파일과 동일한 크기로 기본 DB에 대기 리두 로그를 생성합니다. 로그 그룹은 온라인 로그 파일 그룹보다 하나 더 많습니다. 그러면 장애 조치가 발생하고 REDO 데이터를 수신하기 시작하면 기본 데이터베이스가 신속하게 대기 역할로 전환될 수 있습니다. 다음 명령을 4번 반복하여 대기 로그 파일 4개를 만듭니다.
alter database add standby logfile thread 1 size 200M;
SQL> alter database add standby logfile thread 1 size 200M; Database altered. SQL> / Database altered. SQL> / Database altered. SQL> / Database altered. SQL> set lin 200 SQL> col member for a80 SQL> select group#, type, member from v$logfile; GROUP# TYPE MEMBER ---------- ------- -------------------------------------------------------------------------------- 3 ONLINE /u03/orareco/NTAP/onlinelog/redo03.log 2 ONLINE /u03/orareco/NTAP/onlinelog/redo02.log 1 ONLINE /u03/orareco/NTAP/onlinelog/redo01.log 4 STANDBY /u03/orareco/NTAP/onlinelog/o1_mf_4__2m115vkv_.log 5 STANDBY /u03/orareco/NTAP/onlinelog/o1_mf_5__2m3c5cyd_.log 6 STANDBY /u03/orareco/NTAP/onlinelog/o1_mf_6__2m4d7dhh_.log 7 STANDBY /u03/orareco/NTAP/onlinelog/o1_mf_7__2m5ct7g1_.log
-
sqlplus에서 spfile을 이용해 편집할 pfile을 만듭니다.
create pfile='/home/oracle/initNTAP.ora' from spfile;
-
pfile을 수정하고 다음 매개변수를 추가합니다.
vi /home/oracle/initNTAP.ora
Update the following parameters if not set: DB_NAME=NTAP DB_UNIQUE_NAME=NTAP_NY LOG_ARCHIVE_CONFIG='DG_CONFIG=(NTAP_NY,NTAP_LA)' LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=NTAP_NY' LOG_ARCHIVE_DEST_2='SERVICE=NTAP_LA ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=NTAP_LA' REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE FAL_SERVER=NTAP_LA STANDBY_FILE_MANAGEMENT=AUTO
-
sqlplus에서 수정된 pfile에서 spfile을 다시 만들어 $ORACLE_HOME/dbs 디렉토리에 있는 기존 spfile을 덮어씁니다.
create spfile='$ORACLE_HOME/dbs/spfileNTAP.ora' from pfile='/home/oracle/initNTAP.ora';
-
$ORACLE_HOME/network/admin 디렉토리에 있는 Oracle tnsnames.ora를 수정하여 이름 확인을 위해 db_unique_name을 추가합니다.
vi $ORACLE_HOME/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/19.0.0/NTAP/network/admin/tnsnames.ora # Generated by Oracle configuration tools. NTAP_NY = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = orap.internal.cloudapp.net)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SID = NTAP) ) ) NTAP_LA = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oras.internal.cloudapp.net)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SID = NTAP) ) ) LISTENER_NTAP = (ADDRESS = (PROTOCOL = TCP)(HOST = orap.internal.cloudapp.net)(PORT = 1521))
Azure DB 서버 이름을 기본값과 다르게 지정하려면 호스트 이름 확인을 위해 로컬 호스트 파일에 이름을 추가합니다. -
기본 데이터베이스에 대한 데이터 보호 서비스 이름 NTAP_NY_DGMGRL.internal.cloudapp.net을 listener.ora 파일에 추가합니다.
vi $ORACLE_HOME/network/admin/listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/19.0.0/NTAP/network/admin/listener.ora # Generated by Oracle configuration tools. LISTENER.NTAP = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = orap.internal.cloudapp.net)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) SID_LIST_LISTENER.NTAP = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = NTAP_NY_DGMGRL.internal.cloudapp.net) (ORACLE_HOME = /u01/app/oracle/product/19.0.0/NTAP) (SID_NAME = NTAP) ) )
-
SQLPlus를 통해 데이터베이스를 종료했다가 다시 시작하고 데이터 가드 매개변수가 활성화되었는지 확인합니다.
shutdown immediate;
startup;
SQL> show parameter name NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ cdb_cluster_name string cell_offloadgroup_name string db_file_name_convert string db_name string NTAP db_unique_name string NTAP_NY global_names boolean FALSE instance_name string NTAP lock_name_space string log_file_name_convert string pdb_file_name_convert string processor_group_name string NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ service_names string NTAP_NY.internal.cloudapp.net SQL> sho parameter log_archive_dest NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_dest string log_archive_dest_1 string LOCATION=USE_DB_RECOVERY_FILE_ DEST VALID_FOR=(ALL_LOGFILES,A LL_ROLES) DB_UNIQUE_NAME=NTAP_ NY log_archive_dest_10 string log_archive_dest_11 string log_archive_dest_12 string log_archive_dest_13 string log_archive_dest_14 string log_archive_dest_15 string NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_dest_16 string log_archive_dest_17 string log_archive_dest_18 string log_archive_dest_19 string log_archive_dest_2 string SERVICE=NTAP_LA ASYNC VALID_FO R=(ONLINE_LOGFILES,PRIMARY_ROL E) DB_UNIQUE_NAME=NTAP_LA log_archive_dest_20 string log_archive_dest_21 string . .
이것으로 Data Guard의 기본 데이터베이스 설정이 완료되었습니다.
대기 데이터베이스를 준비하고 Data Guard를 활성화합니다.
Details
Oracle Data Guard를 사용하려면 기본 DB 서버와 일치하도록 대기 DB 서버에 패치 세트를 포함한 Oracle 소프트웨어 스택과 OS 커널 구성이 필요합니다. 쉬운 관리와 단순성을 위해, 대기 DB 서버의 데이터베이스 스토리지 구성은 데이터베이스 디렉토리 레이아웃과 NFS 마운트 지점의 크기 등 기본 DB 서버와 일치해야 합니다. 다음은 대기 Oracle DB 서버를 설정하고 HA/DR 보호를 위해 Oracle DataGuard를 활성화하기 위한 자세한 절차입니다. 모든 명령은 기본 Oracle 소유자 사용자 ID로 실행되어야 합니다. oracle
.
-
먼저, 기본 Oracle DB 서버에서 기본 데이터베이스의 구성을 검토합니다. 이 데모에서는 ANF 스토리지에 세 개의 NFS 마운트를 사용하여 기본 DB 서버에 NTAP라는 기본 Oracle 데이터베이스를 설정했습니다.
-
NetApp 문서 TR-4987에 따라 Oracle 대기 DB 서버를 설정하는 경우"TR-4987: NFS를 사용한 Azure NetApp Files 에서의 간소화되고 자동화된 Oracle 배포" , 태그를 사용하세요
-t software_only_install
2단계에서Playbook execution
자동화된 Oracle 설치를 실행합니다. 개정된 명령 구문은 아래와 같습니다. 태그를 사용하면 Oracle 소프트웨어 스택을 설치하고 구성할 수 있지만 데이터베이스를 만드는 것은 불가능합니다.ansible-playbook -i hosts 4-oracle_config.yml -u azureuser -e @vars/vars.yml -t software_only_install
-
데모 랩의 대기 사이트에 있는 대기 Oracle DB 서버 구성입니다.
oras.internal.cloudapp.net: resource group: ANFAVSRG Location: West US 2 size: Standard B4ms (4 vcpus, 16 GiB memory) OS: Linux (redhat 8.6) pub_ip: 172.179.119.75 pri_ip: 10.0.1.4 [oracle@oras ~]$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 7.7G 0 7.7G 0% /dev tmpfs 7.8G 0 7.8G 0% /dev/shm tmpfs 7.8G 265M 7.5G 4% /run tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup /dev/mapper/rootvg-rootlv 22G 413M 22G 2% / /dev/mapper/rootvg-usrlv 10G 2.1G 8.0G 21% /usr /dev/sda1 496M 181M 315M 37% /boot /dev/mapper/rootvg-varlv 8.0G 985M 7.1G 13% /var /dev/mapper/rootvg-homelv 2.0G 52M 2.0G 3% /home /dev/mapper/rootvg-tmplv 12G 120M 12G 1% /tmp /dev/sda15 495M 5.8M 489M 2% /boot/efi /dev/sdb1 32G 49M 30G 1% /mnt 10.0.3.36:/oras-u01 100G 9.5G 91G 10% /u01 10.0.3.36:/oras-u02 500G 8.1G 492G 2% /u02 10.0.3.36:/oras-u03 450G 4.8G 446G 2% /u03
-
Oracle 소프트웨어를 설치하고 구성한 후 Oracle 홈과 경로를 설정합니다. 또한, 아직 수행하지 않았다면 대기 $ORACLE_HOME dbs 디렉토리에서 기본 데이터베이스의 Oracle 비밀번호를 복사합니다.
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/NTAP
export PATH=$PATH:$ORACLE_HOME/bin
scp oracle@10.0.0.4:$ORACLE_HOME/dbs/orapwNTAP .
-
다음 항목으로 tnsnames.ora 파일을 업데이트합니다.
vi $ORACLE_HOME/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/19.0.0/NTAP/network/admin/tnsnames.ora # Generated by Oracle configuration tools. NTAP_NY = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = orap.internal.cloudapp.net)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SID = NTAP) ) ) NTAP_LA = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oras.internal.cloudapp.net)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SID = NTAP) ) )
-
listener.ora 파일에 DB 데이터 보호 서비스 이름을 추가합니다.
vi $ORACLE_HOME/network/admin/listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/19.0.0/NTAP/network/admin/listener.ora # Generated by Oracle configuration tools. LISTENER.NTAP = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oras.internal.cloudapp.net)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = NTAP) ) ) SID_LIST_LISTENER.NTAP = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = NTAP_LA_DGMGRL.internal.cloudapp.net) (ORACLE_HOME = /u01/app/oracle/product/19.0.0/NTAP) (SID_NAME = NTAP) ) ) LISTENER = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = oras.internal.cloudapp.net)(PORT = 1521)) )
-
dbca를 실행하여 기본 데이터베이스 NTAP에서 스탠바이 데이터베이스를 인스턴스화합니다.
dbca -silent -createDuplicateDB -gdbName NTAP -primaryDBConnectionString orap.internal.cloudapp.net:1521/NTAP_NY.internal.cloudapp.net -sid NTAP -initParams fal_server=NTAP_NY -createAsStandby -dbUniqueName NTAP_LA
[oracle@oras admin]$ dbca -silent -createDuplicateDB -gdbName NTAP -primaryDBConnectionString orap.internal.cloudapp.net:1521/NTAP_NY.internal.cloudapp.net -sid NTAP -initParams fal_server=NTAP_NY -createAsStandby -dbUniqueName NTAP_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/NTAP_LA/NTAP_LA.log" for further details.
-
복제된 스탠바이 데이터베이스를 검증합니다. 새로 복제된 대기 데이터베이스는 처음에는 읽기 전용 모드로 열립니다.
[oracle@oras admin]$ 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. # # NTAP:/u01/app/oracle/product/19.0.0/NTAP:N [oracle@oras admin]$ export ORACLE_SID=NTAP [oracle@oras admin]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Tue Nov 26 23:04:07 2024 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 --------- -------------------- NTAP 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 NTAP db_unique_name string NTAP_LA global_names boolean FALSE instance_name string NTAP lock_name_space string log_file_name_convert string pdb_file_name_convert string processor_group_name string NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ service_names string NTAP_LA.internal.cloudapp.net SQL> show parameter log_archive_config NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_config string DG_CONFIG=(NTAP_NY,NTAP_LA) SQL> show parameter fal_server NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ fal_server string NTAP_NY SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- /u02/oradata/NTAP/system01.dbf /u02/oradata/NTAP/sysaux01.dbf /u02/oradata/NTAP/undotbs01.dbf /u02/oradata/NTAP/pdbseed/system01.dbf /u02/oradata/NTAP/pdbseed/sysaux01.dbf /u02/oradata/NTAP/users01.dbf /u02/oradata/NTAP/pdbseed/undotbs01.dbf /u02/oradata/NTAP/NTAP_pdb1/system01.dbf /u02/oradata/NTAP/NTAP_pdb1/sysaux01.dbf /u02/oradata/NTAP/NTAP_pdb1/undotbs01.dbf /u02/oradata/NTAP/NTAP_pdb1/users01.dbf NAME -------------------------------------------------------------------------------- /u02/oradata/NTAP/NTAP_pdb2/system01.dbf /u02/oradata/NTAP/NTAP_pdb2/sysaux01.dbf /u02/oradata/NTAP/NTAP_pdb2/undotbs01.dbf /u02/oradata/NTAP/NTAP_pdb2/users01.dbf /u02/oradata/NTAP/NTAP_pdb3/system01.dbf /u02/oradata/NTAP/NTAP_pdb3/sysaux01.dbf /u02/oradata/NTAP/NTAP_pdb3/undotbs01.dbf /u02/oradata/NTAP/NTAP_pdb3/users01.dbf 19 rows selected. SQL> select name from v$controlfile; NAME -------------------------------------------------------------------------------- /u02/oradata/NTAP/control01.ctl /u03/orareco/NTAP_LA/control02.ctl SQL> col member form a80 SQL> select group#, type, member from v$logfile order by 2, 1; GROUP# TYPE MEMBER ---------- ------- -------------------------------------------------------------------------------- 1 ONLINE /u03/orareco/NTAP_LA/onlinelog/o1_mf_1_mndl6mxh_.log 2 ONLINE /u03/orareco/NTAP_LA/onlinelog/o1_mf_2_mndl7jdb_.log 3 ONLINE /u03/orareco/NTAP_LA/onlinelog/o1_mf_3_mndl8f03_.log 4 STANDBY /u03/orareco/NTAP_LA/onlinelog/o1_mf_4_mndl99m7_.log 5 STANDBY /u03/orareco/NTAP_LA/onlinelog/o1_mf_5_mndlb67d_.log 6 STANDBY /u03/orareco/NTAP_LA/onlinelog/o1_mf_6_mndlc2tw_.log 7 STANDBY /u03/orareco/NTAP_LA/onlinelog/o1_mf_7_mndlczhb_.log 7 rows selected.
-
대기 데이터베이스를 다시 시작합니다.
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 6442449688 bytes Fixed Size 9177880 bytes Variable Size 1090519040 bytes Database Buffers 5335154688 bytes Redo Buffers 7598080 bytes Database mounted. SQL> alter database recover managed standby database disconnect from session; Database altered.
-
대기 데이터베이스 복구 상태를 검증합니다. 주목하세요
recovery logmerger
~에APPLYING_LOG
행동.SELECT ROLE, THREAD#, SEQUENCE#, ACTION FROM V$DATAGUARD_PROCESS;
SQL> SELECT ROLE, THREAD#, SEQUENCE#, ACTION FROM V$DATAGUARD_PROCESS; ROLE THREAD# SEQUENCE# ACTION ------------------------ ---------- ---------- ------------ post role transition 0 0 IDLE 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 18 APPLYING_LOG managed recovery 0 0 IDLE RFS async 1 18 IDLE RFS ping 1 18 IDLE archive redo 0 0 IDLE redo transport timer 0 0 IDLE ROLE THREAD# SEQUENCE# ACTION ------------------------ ---------- ---------- ------------ gap manager 0 0 IDLE archive redo 0 0 IDLE archive redo 0 0 IDLE redo transport monitor 0 0 IDLE log writer 0 0 IDLE archive local 0 0 IDLE 17 rows selected. SQL>
이것으로 관리형 대기 복구가 활성화된 상태에서 기본에서 대기로 NTAP에 대한 Data Guard 보호 설정이 완료됩니다.
Data Guard Broker 설정
Details
Oracle Data Guard 브로커는 Oracle Data Guard 구성의 생성, 유지 관리 및 모니터링을 자동화하고 중앙화하는 분산 관리 프레임워크입니다. 다음 섹션에서는 Data Guard 환경을 관리하기 위해 Data Guard Broker를 설정하는 방법을 보여줍니다.
-
sqlplus를 통해 다음 명령을 사용하여 기본 데이터베이스와 대기 데이터베이스 모두에서 데이터 가드 브로커를 시작합니다.
alter system set dg_broker_start=true scope=both;
-
기본 데이터베이스에서 SYSDBA로 Data Guard Borker에 연결합니다.
[oracle@orap ~]$ dgmgrl sys@NTAP_NY DGMGRL for Linux: Release 19.0.0.0.0 - Production on Wed Dec 11 20:53:20 2024 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 "NTAP_NY" Connected as SYSDBA. DGMGRL>
-
Data Guard Broker 구성을 만들고 활성화합니다.
DGMGRL> create configuration dg_config as primary database is NTAP_NY connect identifier is NTAP_NY; Configuration "dg_config" created with primary database "ntap_ny" DGMGRL> add database NTAP_LA as connect identifier is NTAP_LA; Database "ntap_la" added DGMGRL> enable configuration; Enabled. DGMGRL> show configuration; Configuration - dg_config Protection Mode: MaxPerformance Members: ntap_ny - Primary database ntap_la - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 3 seconds ago)
-
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를 사용하면 기본 데이터베이스를 즉시 대기 데이터베이스로 장애 조치할 수 있습니다. 만약에 Fast-Start Failover
이 기능이 활성화되면 Data Guard Broker는 사용자 개입 없이 장애가 감지되면 기본 데이터베이스를 대기 데이터베이스로 장애 조치할 수 있습니다.
다른 사용 사례를 위해 대기 데이터베이스를 복제합니다.
Details
Oracle Data Guard 설정에서 ANF에 Oracle 스탠바이 데이터베이스를 호스팅하는 주요 이점은 씬 복제가 활성화된 경우 추가 스토리지 투자를 최소화하여 다른 여러 사용 사례에 서비스를 제공하기 위해 빠르게 복제할 수 있다는 것입니다. NetApp Oracle DataGuard 데이터베이스를 관리하기 위해 SnapCenter UI 도구를 사용할 것을 권장합니다. 다음 섹션에서는 NetApp SnapCenter 도구를 사용하여 DEV, TEST, REPORT 등 다른 목적으로 ANF에 마운트되고 복구 중인 대기 데이터베이스 볼륨의 스냅샷을 찍고 복제하는 방법을 보여줍니다.
다음은 SnapCenter 사용하여 Oracle Data Guard의 관리되는 물리적 대기 데이터베이스에서 READ/WRITE 데이터베이스를 복제하는 고급 절차입니다. ANF에서 Oracle용 SnapCenter 설정하고 구성하는 방법에 대한 자세한 지침은 TR-4988을 참조하세요."SnapCenter 사용한 ANF에서의 Oracle 데이터베이스 백업, 복구 및 복제" 자세한 내용은.
-
테스트 테이블을 만들고 기본 데이터베이스의 테스트 테이블에 행을 삽입하여 사용 사례 검증을 시작합니다. 그런 다음 거래가 대기 노드로 이동한 후 마지막으로 복제본으로 이동하는지 검증합니다.
[oracle@orap ~]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Wed Dec 11 16:33:17 2024 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=ntap_pdb1; Session altered. SQL> create table test(id integer, dt timestamp, event varchar(100)); Table created. SQL> insert into test values(1, sysdate, 'a test transaction at primary database NTAP on DB server orap.internal.cloudapp.net'); 1 row created. SQL> commit; Commit complete. SQL> select * from test; ID ---------- DT --------------------------------------------------------------------------- EVENT -------------------------------------------------------------------------------- 1 11-DEC-24 04.38.44.000000 PM a test transaction at primary database NTAP on DB server orap.internal.cloudapp. net SQL> select instance_name, host_name from v$instance; INSTANCE_NAME ---------------- HOST_NAME ---------------------------------------------------------------- NTAP orap SQL>
-
SnapCenter 구성에서 unix 사용자(데모의 경우 azureuser)와 Azure 자격 증명(데모의 경우 azure_anf)이 추가되었습니다.
Credential
~에Settings
. -
azure_anf 자격 증명을 사용하여 ANF 저장소를 추가합니다.
Storage Systems
. Azure 구독에 ANF 스토리지 계정이 여러 개 있는 경우 드롭다운 목록을 클릭하여 올바른 스토리지 계정을 선택하세요. 이 데모를 위해 두 개의 전용 Oracle 스토리지 계정을 생성했습니다. -
모든 Oracle DB 서버가 SnapCenter 에 추가되었습니다.
Hosts
.복제 DB 서버에는 동일한 Oracle 소프트웨어 스택이 설치 및 구성되어 있어야 합니다. 테스트 사례에서는 Oracle 19C 소프트웨어가 설치되고 구성되었지만 데이터베이스는 생성되지 않았습니다. -
오프라인/마운트 전체 데이터베이스 백업에 맞게 맞춤화된 백업 정책을 만듭니다.
-
대기 데이터베이스를 보호하기 위해 백업 정책을 적용합니다.
Resources
꼬리표. 처음 발견되었을 때 데이터베이스 상태는 다음과 같이 표시됩니다.Not protected
. -
백업 정책이 적용된 후, 수동으로 백업을 시작하거나 일정에 따라 백업을 진행할 수 있습니다.
-
백업 후 데이터베이스 이름을 클릭하면 데이터베이스 백업 페이지가 열립니다. 데이터베이스 복제에 사용할 백업을 선택하고 클릭하십시오.
Clone
복제 워크플로를 시작하는 버튼입니다. -
선택하세요
Complete Database Clone
복제 인스턴스의 이름을 SID로 지정합니다. -
대기 DB에서 복제된 데이터베이스를 호스팅하는 복제 DB 서버를 선택합니다. 데이터 파일과 리두 로그에 대한 기본값을 적용합니다. /u03 마운트 지점에 제어 파일을 넣습니다.
-
OS 기반 인증에는 데이터베이스 자격 증명이 필요하지 않습니다. Oracle 홈 설정을 복제 DB 서버에 구성된 설정과 일치시킵니다.
-
필요한 경우 복제 DB의 PGA 또는 SGA 크기를 낮추는 등 복제 데이터베이스 매개변수를 변경합니다. 복제하기 전에 실행할 스크립트가 있는 경우 이를 지정합니다.
-
복제 후 실행할 SQL을 입력합니다. 데모에서는 개발/테스트/보고서 데이터베이스의 데이터베이스 보관 모드를 끄는 명령을 실행했습니다.
-
원하는 경우 이메일 알림을 구성하세요.
-
요약을 검토하고 클릭하세요
Finish
복제를 시작하려면. -
복제 작업을 모니터링합니다.
Monitor
꼬리표. 데이터베이스 볼륨 크기가 약 950GB인 데이터베이스를 복제하는 데 약 14분이 걸리는 것으로 나타났습니다. -
SnapCenter 에서 복제 데이터베이스를 검증합니다. 이는 즉시 등록됩니다.
Resources
복제 작업 바로 뒤에 탭이 있습니다. -
복제 DB 서버에서 복제 데이터베이스를 쿼리합니다. 기본 데이터베이스에서 발생한 테스트 트랜잭션이 복제 데이터베이스로 전송되었는지 검증했습니다.
[oracle@orac ~]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Wed Dec 11 20:16:09 2024 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 --------- -------------------- ------------ NTAPDEV READ WRITE NOARCHIVELOG SQL> select instance_name, host_name from v$instance; INSTANCE_NAME ---------------- HOST_NAME ---------------------------------------------------------------- NTAPDEV orac SQL> alter pluggable database all open; Pluggable database altered. SQL> alter pluggable database all save state; Pluggable database altered. SQL> alter session set container=ntap_pdb1; Session altered. SQL> select * from test; ID ---------- DT --------------------------------------------------------------------------- EVENT -------------------------------------------------------------------------------- 1 11-DEC-24 04.38.44.000000 PM a test transaction at primary database NTAP on DB server orap.internal.cloudapp. net
이로써 DEV, TEST, REPORT 또는 기타 사용 사례를 위한 Azure ANF 스토리지의 Oracle Data Guard에서 Oracle 대기 데이터베이스 복제본 데모가 완료되었습니다. 여러 개의 Oracle 데이터베이스는 ANF의 Oracle Data Guard에서 동일한 스탠바이 데이터베이스에서 복제될 수 있습니다.
추가 정보를 찾을 수 있는 곳
이 문서에 설명된 정보에 대해 자세히 알아보려면 다음 문서 및/또는 웹사이트를 검토하세요.
-
Azure NetApp Files
-
TR-4988: SnapCenter 사용한 ANF에서의 Oracle 데이터베이스 백업, 복구 및 복제
-
TR-4987: NFS를 사용한 Azure NetApp Files 에서의 간소화되고 자동화된 Oracle 배포
-
Oracle Data Guard 개념 및 관리