※ 사전 준비 - 네트워크 구성, SSH 툴, Key Pair
2022.05.14 - [7. 실습 Hands-on Lab] - 나도한다 시리즈 - OCI 기본 실습 IaaS (가상 네트워크)
2022.05.14 - [7. 실습 Hands-on Lab] - 나도한다 시리즈 - OCI 기본 실습 IaaS (컴퓨트 인스턴스)
2022.07.20 - [7. 실습 Hands-on Lab] - 나도한다 시리즈N - OCI 기본 실습 DBCS (생성, 연결)
2022.07.20 - [7. 실습 Hands-on Lab] - 나도한다 시리즈N - OCI 기본 실습 DBCS (백업, 복구, 패치)
Database Cloud Service DBCS (데이터가드 구성)
1. 메뉴에서 오라클 데이터베이스 >> 오라클 기본 위치 데이터베이스 >> DB 시스템 >> DB 시스템 상세 >> 데이터베이스 상세 >> 데이터가드 연관으로 이동합니다.
데이터가드 구성 상태를 보면 Not Enabled로 구성이 안 되어 있는 상태로 조회
2. Enable Data Guard 데이터가드 사용 버튼을 클릭합니다.
고가용성 이중화 (High Availability)와는 다르게 재해복구 이중화는 다른 리전으로 피어 데이터베이스 (Peer Database as Standby)를 구성할 수 있고 생성 정보를 입력한 후 데이터가드 사용을 활성화합니다.
데이터가드 구성 종류 | 설명 |
Data Guard | Edition : 최소 Enterprise Edition 또는 그 이상 오라클 Data Guard는 엔터프라이즈 데이터의 고가용성, 데이터 보호 및 재해 복구를 보장합니다. Data Guard는 하나 이상의 Standby 데이터베이스를 생성, 유지, 관리 및 모니터링하여 운영 오라클 데이터베이스가 재해 및 데이터 손상으로부터 보존할 수 있도록 지원하는 포괄적인 서비스 세트를 제공합니다. Data Guard는 이러한 Standby 데이터베이스를 운영 데이터베이스의 트랜잭션에 일관된 복사본으로 유지합니다. |
Active Data Guard | Edition : Enterprise Edition Extreme Performance 오라클 데이터베이스 Enterprise Edition의 라이센스 옵션이며 기본 Data Guard 기능을 확장하는 고급 기능을 지원합니다. 이러한 기능에는 실시간 쿼리 및 DML 오프로드, 자동 블록 복구, 대기 블록 변경 추적, Far Sync, 글로벌 데이터 서비스 및 애플리케이션 연속성이 포함됩니다. |
3. 생성된 Standby 데이터베이스를 확인합니다.
데이터가드 사용 버튼은 비활성화되어있고 연관된 피어 데이터베이스 정보가 조회됩니다.
4. 인스턴스에 접속하여 데이터 가드 구성 상태를 확인합니다.
DB 시스템 >> 노드로 이동하여 IP 정보를 확인합니다. 편의 상 Public IP를 사용하여 접근하지만 운영 환경일 경우는 Private IP만 사용할 것을 권장합니다.
Primary, Standby 양쪽 인스턴스에 접속하여 tnsnames.ora 파일에서 접속 이름 alias를 확인하고 데이터가드 구성 상태를 확인합니다.
sudo su -
su - oracle
cat $ORACLE_HOME/network/admin/tnsnames.ora
--PRMY
dgmgrl sys@OCIDBDGA_ICN1FD
--STBY
dgmgrl sys@OCIDBDGA_ICN1BX
SHOW CONFIGURATION;
SHOW DATABASE OCIDBDGA_ICN1FD;
SHOW DATABASE OCIDBDGA_ICN1BX;
5. 장애 또는 재해복구 상황 재연 테스트를 수행합니다.
DB 시스템 >> 노드로 이동하여 IP 정보를 확인합니다. 편의 상 Public IP를 사용하여 접근하지만 운영 환경일 경우는 Private IP만 사용할 것을 권장합니다.
1) sysdba 관리자로 DB에 접속해서 상태 확인
hostname
sqlplus "/as sysdba"
set linesize 200
col DB_UNIQUE_NAME for a20
select name, db_unique_name, open_mode, protection_mode, database_role from v$database;
2) 두 개의 테이블을 생성하고 임의의 데이터를 입력합니다. 양쪽에 모두 시도하지만 Standby 데이터베이스는 마운트(Mount) 상태라 데이터베이스를 읽고 쓸 수가 없음
drop table system.tempx_dg1;
drop table system.tempx_dg2;
create table system.tempx_dg1
as
SELECT LEVEL a1
FROM dual
CONNECT BY LEVEL <= 1000000;
create table system.tempx_dg2
as
SELECT LEVEL a1
FROM dual
CONNECT BY LEVEL <= 2000000;
select count(*) from system.tempx_dg1;
select count(*) from system.tempx_dg2;
alter system switch logfile;
3) OCI 콘솔에서 Primary 데이터베이스에서 Switch Over하여 역할을 Standby 데이터베이스와 바꾸고 상태를 확인
sudo su -
su - grid
crsctl stat res -t
sudo su -
su - oracle
hostname
sqlplus "/as sysdba"
set linesize 200
col DB_UNIQUE_NAME for a20
select name, db_unique_name, open_mode, protection_mode, database_role from v$database;
select count(*) from system.tempx_dg1;
select count(*) from system.tempx_dg2;
4) 다시 원복을 할 때도 OCI 콘솔을 통해서 Primary 데이터베이스에서(이전 Standby) Switch Over하여 역할을 Standby 데이터베이스와 바꿀 수 있고 Standby 데이터베이스(이전 Primary)에서 Fail Over하여 역할을 변경하는 것이 가능
※ alert log 위치 참고(인스턴스 이름에 따라서 다름)
--PRMY
tail -f /u01/app/oracle/diag/rdbms/ocidbdga_icn1fd/OCIDBDGA/trace/alert*.log
--STBY
tail -f /u01/app/oracle/diag/rdbms/ocidbdga_icn1bx/OCIDBDGA/trace/alert*.log
참고
'9. 실습 Hands-on Lab' 카테고리의 다른 글
Object Storage 활용 1. Cloud Berry Explorer를 OCI에 연결하기 (0) | 2022.09.14 |
---|---|
나도한다 시리즈N - OCI 기본 실습 DBCS (고가용성 이중화 - RAC) (0) | 2022.07.21 |
나도한다 시리즈N - OCI 기본 실습 DBCS (백업, 복구, 패치) (0) | 2022.07.21 |
나도한다 시리즈N - OCI 기본 실습 DBCS (생성, 연결) (0) | 2022.07.21 |
DBCS 2노드 RAC 구성 (0) | 2022.07.08 |
댓글