EC2 및 FSx Oracle 데이터베이스 관리
AWS EC2 및 FSx 관리 콘솔 외에도 Ansible 제어 노드 및 SnapCenter UI 툴이 이 Oracle 환경에서 데이터베이스 관리를 위해 구축되었습니다.
Ansible 제어 노드를 사용하면 커널 또는 패치 업데이트를 위해 운영 인스턴스와 대기 인스턴스를 동기화된 상태로 유지하는 병렬 업데이트를 통해 Oracle 환경 구성을 관리할 수 있습니다. NetApp 자동화 툴킷을 통해 페일오버, 재동기화 및 페일백을 자동화하여 Ansible을 통해 빠른 애플리케이션 복구 및 가용성을 아카이브할 수 있습니다. 플레이북을 사용하여 반복적인 데이터베이스 관리 작업을 실행하여 사람의 실수를 줄일 수 있습니다.
SnapCenter UI 툴은 Oracle 데이터베이스용 SnapCenter 플러그인을 사용하여 데이터베이스 스냅샷 백업, 시점 복구, 데이터베이스 클론 복제 등을 수행할 수 있습니다. Oracle 플러그인 기능에 대한 자세한 내용은 를 참조하십시오 "Oracle 데이터베이스용 SnapCenter 플러그인 개요".
다음 섹션에서는 SnapCenter UI를 통해 Oracle 데이터베이스 관리의 주요 기능을 수행하는 방법에 대해 자세히 설명합니다.
-
데이터베이스 스냅샷 백업
-
데이터베이스 시점 복원
-
데이터베이스 클론 생성
데이터베이스 클론 복제는 논리적 데이터 오류 또는 손상 시 데이터 복구를 위해 별도의 EC2 호스트에 운영 데이터베이스의 복제본을 생성하고 애플리케이션 테스트, 디버깅, 패치 검증 등에 클론을 사용할 수도 있습니다.
스냅샷 찍기
사용자가 구성한 간격으로 EC2/FSx Oracle 데이터베이스가 정기적으로 백업됩니다. 언제든지 한 번의 스냅샷 백업을 수행할 수도 있습니다. 이는 전체 데이터베이스 스냅샷 백업과 아카이브 로그 전용 스냅샷 백업에 모두 적용됩니다.
전체 데이터베이스 스냅샷 생성
전체 데이터베이스 스냅샷에는 데이터 파일, 제어 파일 및 아카이브 로그 파일을 포함한 모든 Oracle 파일이 포함됩니다.
-
SnapCenter UI에 로그인하고 왼쪽 메뉴에서 리소스 를 클릭합니다. 보기 드롭다운에서 자원 그룹 보기로 변경합니다.
-
전체 백업 리소스 이름을 클릭한 다음 지금 백업 아이콘을 클릭하여 임시 백업을 시작합니다.
-
백업을 클릭한 다음 백업을 확인하여 전체 데이터베이스 백업을 시작합니다.
데이터베이스의 리소스 보기에서 데이터베이스 관리 백업 복사본 페이지를 열어 일회성 백업이 성공적으로 완료되었는지 확인합니다. 전체 데이터베이스 백업에서는 데이터 볼륨용 스냅샷 하나와 로그 볼륨용 스냅샷 두 개를 생성합니다.
아카이브 로그 스냅샷 생성
아카이브 로그 스냅샷은 Oracle 아카이브 로그 볼륨에 대해서만 생성됩니다.
-
SnapCenter UI에 로그인하고 왼쪽 메뉴 모음에서 리소스 탭을 클릭합니다. 보기 드롭다운에서 자원 그룹 보기로 변경합니다.
-
로그 백업 리소스 이름을 클릭한 다음 지금 백업 아이콘을 클릭하여 아카이브 로그에 대한 임시 백업을 시작합니다.
-
백업 을 클릭한 다음 백업 확인 을 클릭하여 아카이브 로그 백업을 시작합니다.
데이터베이스의 리소스 보기에서 데이터베이스 관리 백업 복사본 페이지를 열어 일회성 아카이브 로그 백업이 성공적으로 완료되었는지 확인합니다. 아카이브 로그 백업에서는 로그 볼륨에 대해 하나의 스냅샷을 생성합니다.
특정 시점으로 복원 중
동일한 EC2 인스턴스 호스트에서 특정 시점으로 SnapCenter 기반 복원이 실행됩니다. 복구를 수행하려면 다음 단계를 수행하십시오.
-
SnapCenter 리소스 탭 > 데이터베이스 보기에서 데이터베이스 이름을 클릭하여 데이터베이스 백업을 엽니다.
-
데이터베이스 백업 사본과 복원할 원하는 시점을 선택합니다. 또한 해당 시점의 해당 SCN 번호를 표시합니다. 시점 복원은 시간 또는 SCN을 사용하여 수행할 수 있습니다.
-
로그 볼륨 스냅샷을 강조 표시하고 마운트 버튼을 클릭하여 볼륨을 마운트합니다.
-
로그 볼륨을 마운트할 운영 EC2 인스턴스를 선택합니다.
-
마운트 작업이 성공적으로 완료되었는지 확인합니다. 또한 EC2 인스턴스 호스트에서 해당 로그 볼륨과 마운트 지점 경로를 확인합니다.
-
마운트된 로그 볼륨에서 현재 아카이브 로그 디렉토리로 아카이브 로그를 복사합니다.
[ec2-user@ip-10-0-0-151 ~]$ cp /var/opt/snapcenter/sco/backup_mount/ip-10-0-0-151_03-25-2022_11.15.01.1503_1/ORCL/1/db/ORCL_A/arch/*.arc /ora_nfs_log/db/ORCL_A/arch/
-
SnapCenter 리소스 탭 > 데이터베이스 백업 페이지로 돌아가서 데이터 스냅샷 복사본을 강조 표시하고 복원 버튼을 클릭하여 데이터베이스 복원 워크플로우를 시작합니다.
-
"모든 데이터 파일" 및 "복원 및 복구에 필요한 경우 데이터베이스 상태 변경"을 선택하고 "다음"을 클릭합니다.
-
SCN 또는 시간을 사용하여 원하는 복구 범위를 선택합니다. 6단계에서 설명된 대로 마운트된 아카이브 로그를 현재 로그 디렉토리에 복사하는 대신, 마운트된 아카이브 로그 경로는 복구를 위해 "외부 아카이브 로그 파일 위치 지정"에 나열될 수 있습니다.
-
필요한 경우 실행할 옵션 처방을 지정합니다.
-
필요한 경우 실행할 선택적 애프터스크립트를 지정합니다. 복구 후 열려 있는 데이터베이스를 확인합니다.
-
작업 알림이 필요한 경우 SMTP 서버 및 이메일 주소를 제공합니다.
-
작업 요약을 복원합니다. 마침 을 클릭하여 복원 작업을 시작합니다.
-
SnapCenter에서 복원을 검증합니다.
-
EC2 인스턴스 호스트에서 복원을 확인합니다.
-
복구 로그 볼륨을 마운트 해제하려면 4단계의 단계를 역순으로 수행합니다.
데이터베이스 클론 생성
다음 섹션에서는 SnapCenter 클론 워크플로우를 사용하여 운영 데이터베이스에서 대기 EC2 인스턴스로 데이터베이스 클론을 생성하는 방법을 보여 줍니다.
-
SnapCenter에서 전체 백업 리소스 그룹을 사용하여 기본 데이터베이스의 전체 스냅샷 백업을 수행합니다.
-
SnapCenter 리소스 탭 > 데이터베이스 보기에서 복제본을 생성할 기본 데이터베이스에 대한 데이터베이스 백업 관리 페이지를 엽니다.
-
4단계에서 생성한 로그 볼륨 스냅샷을 스탠바이 EC2 인스턴스 호스트에 마운트합니다.
-
복제본에 대해 클론 복제할 스냅샷 복제본을 강조 표시하고 클론 버튼을 클릭하여 클론 절차를 시작합니다.
-
기본 데이터베이스 이름과 다르게 복제본 이름을 변경합니다. 다음 을 클릭합니다.
-
클론 호스트를 스탠바이 EC2 호스트로 변경하고 기본 이름을 그대로 사용하고 Next를 클릭합니다.
-
Oracle 홈 설정을 타겟 Oracle 서버 호스트에 대해 구성된 설정과 일치하도록 변경하고 Next를 클릭합니다.
-
시간 또는 SCN 및 마운트된 아카이브 로그 경로를 사용하여 복구 지점을 지정합니다.
-
필요한 경우 SMTP 이메일 설정을 전송합니다.
-
작업 요약을 클론하고 마침 을 클릭하여 클론 작업을 시작합니다.
-
클론 작업 로그를 검토하여 복제본 클론을 확인합니다.
복제된 데이터베이스는 즉시 SnapCenter에 등록됩니다.
-
Oracle 아카이브 로그 모드를 해제합니다. EC2 인스턴스에 Oracle 사용자로 로그인하여 다음 명령을 실행합니다.
sqlplus / as sysdba
shutdown immediate;
startup mount;
alter database noarchivelog;
alter database open;
대신 기본 Oracle 백업 복제본을 사용하여 동일한 절차를 통해 타겟 FSx 클러스터의 복제된 보조 백업 복제본에서 클론을 생성할 수도 있습니다. |
HA가 대기 및 재동기화로 페일오버됩니다
대기 Oracle HA 클러스터는 컴퓨팅 계층 또는 스토리지 계층에서 운영 사이트에 장애가 발생할 경우 고가용성을 제공합니다. 이 솔루션의 중요한 이점 중 하나는 사용자가 언제든지 빈도로 인프라를 테스트하고 검증할 수 있다는 것입니다. 페일오버는 실제 장애로 인해 사용자 시뮬레이션하거나 트리거될 수 있습니다. 페일오버 프로세스는 동일하며 빠른 애플리케이션 복구를 위해 자동화될 수 있습니다.
다음 페일오버 절차 목록을 참조하십시오.
-
시뮬레이트된 페일오버의 경우 로그 스냅샷 백업을 실행하여 섹션에 설명된 대로 최신 트랜잭션을 대기 사이트로 플러시합니다 아카이브 로그 스냅샷 생성. 실제 장애로 인해 트리거된 페일오버의 경우 마지막으로 성공한 예약 로그 볼륨 백업을 사용하여 복구 가능한 마지막 데이터가 대기 사이트에 복제됩니다.
-
기본 FSx 클러스터와 대기 FSx 클러스터 간의 SnapMirror를 중단하십시오.
-
스탠바이 EC2 인스턴스 호스트에 복제된 대기 데이터베이스 볼륨을 마운트합니다.
-
복제된 Oracle 바이너리가 Oracle 복구에 사용되는 경우 Oracle 바이너리를 다시 링크합니다.
-
대기 Oracle 데이터베이스를 사용 가능한 마지막 아카이브 로그로 복구합니다.
-
애플리케이션 및 사용자 액세스를 위해 대기 Oracle 데이터베이스를 엽니다.
-
실제 운영 사이트 장애의 경우 대기 Oracle 데이터베이스는 이제 새로운 운영 사이트의 역할을 수행하며, 데이터베이스 볼륨을 사용하여 역방향 SnapMirror 방법을 사용하여 장애가 발생한 운영 사이트를 새로운 대기 사이트로 재구축할 수 있습니다.
-
테스트 또는 검증을 위해 시뮬레이션된 운영 사이트 오류의 경우 테스트 연습을 완료한 후 대기 Oracle 데이터베이스를 종료합니다. 그런 다음 대기 EC2 인스턴스 호스트에서 대기 데이터베이스 볼륨을 마운트 해제하고 운영 사이트에서 대기 사이트로 복제를 다시 동기화합니다.
이러한 절차는 NetApp Automation Toolkit을 사용하여 퍼블릭 NetApp GitHub 사이트에서 다운로드할 수 있습니다.
git clone https://github.com/NetApp-Automation/na_ora_hadr_failover_resync.git
설정 및 페일오버 테스트를 시도하기 전에 README 지침을 주의 깊게 읽으십시오.