Google Cloud NetApp Volumes에서 Data Guard용 대기 데이터베이스를 최종 구성합니다.
Google Cloud NetApp Volumes에서 Oracle Data Guard의 스탠바이 데이터베이스를 최종 구성하려면 스탠바이 리두 로그 파일을 생성하고, 플래시백 데이터베이스를 활성화하고, 리두 전송을 활성화하고, Data Guard 상태를 확인해야 합니다.
티어별 적용: 이 절차는 Prod HA (Data Guard + FSFO) 티어에만 필요합니다.
1단계: 대기 리두 로그 파일 생성
Fast-Start Failover를 지원하기 위해 두 데이터베이스 호스트 모두에 대기 리두 로그 파일을 생성합니다. 크기는 가장 큰 기본 온라인 리두 로그 파일보다 크거나 같아야 하며, 개수는 (스레드당 온라인 그룹 수) + 1이어야 합니다. GCNV 시딩 후, 복제된 경로를 수정하기 위해 대기 데이터베이스에서 대기 리두 로그 파일을 삭제하고 다시 생성합니다.
-
기본 데이터베이스에 대기 리두 로그 파일을 생성합니다(
orcl):ALTER SYSTEM SET db_create_file_dest='+DATA' SCOPE=BOTH; ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 ('+DATA') SIZE 1024M; -- repeat (online log groups + 1) times -
GCNV 시딩 후 대기 데이터베이스에서 대기 리두 로그 파일을 삭제하고 다시 생성합니다((
orcls).+DATA/ORCL/…아래의 복제된 경로는 재구축될 때까지ORA-19527/ `ORA-16086`을(를) 유발합니다.ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; ALTER SYSTEM SET standby_file_management=MANUAL SCOPE=BOTH; -- DROP STANDBY LOGFILE GROUP for each group# in v$standby_log; ALTER SYSTEM SET db_create_file_dest='+DATA' SCOPE=BOTH; ALTER SYSTEM SET standby_file_management=AUTO SCOPE=BOTH; ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 ('+DATA') SIZE 1024M; -- repeat (online groups + 1) times; one member per group ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
2단계: 플래시백 활성화 및 복구 시작
장애 조치 후 자동 복구를 지원하려면 대기 시스템에서 플래시백 데이터베이스를 활성화한 다음 실시간 적용을 사용하여 관리형 복구를 시작하십시오. MRP가 활성화된 동안에는 플래시백을 활성화할 수 없으므로 관리형 복구를 시작하기 전에 플래시백을 활성화해야 합니다.
-
대기 데이터베이스를 종료하고, MOUNT 모드로 다시 시작한 다음, 플래시백 데이터베이스를 활성화하십시오
oracdb2:# On oracdb2 sudo -u oracle bash -c ' . ~/.bash_profile export ORACLE_SID=orcls sqlplus / as sysdba <<SQL SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER SYSTEM SET db_flashback_retention_target=1440 SCOPE=BOTH; ALTER DATABASE FLASHBACK ON; EXIT SQL' -
실시간 적용을 통해 관리형 복구를 시작합니다.
sudo -u oracle bash -c ' . ~/.bash_profile export ORACLE_SID=orcls sqlplus / as sysdba <<SQL ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION; EXIT SQL'USING CURRENT LOGFILE실시간 적용이 가능합니다(SRL에 도착하는 즉시 redo가 적용됨).
3단계: 재실행 로그 전달 활성화
스탠바이 생성 중 ORA-12154 오류를 억제하기 위해 스탠바이 초기화 절차의 2단계에서 의도적으로 DEFER(으)로 설정했던 `LOG_ARCHIVE_DEST_STATE_2`을(를) 활성화하여 프라이머리에서 스탠바이로의 redo 전송을 활성화합니다.
-
Switch
LOG_ARCHIVE_DEST_STATE_2to `ENABLE`로 전환하고 강제로 로그 스위치를 실행하여 리두 전송을 시작하십시오.sudo -u oracle bash -c ' . ~/.bash_profile sqlplus / as sysdba <<SQL ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE SCOPE=BOTH; ALTER SYSTEM SWITCH LOGFILE; ALTER SYSTEM ARCHIVE LOG CURRENT; EXIT SQL' -
redo 전송이 올바르게 작동하는지 확인하십시오.
sudo -u oracle bash -c ' . ~/.bash_profile sqlplus / as sysdba <<SQL SELECT dest_id, status, error FROM v\$archive_dest_status WHERE dest_id IN (1,2); EXIT SQL' # Expected: dest_id=2, STATUS=VALID, ERROR null.`dest_2`에 `ORA-12154`가 표시되면 기본 서버를 재시작하십시오. xref:gcnv-oracle-data-guard.adoc#enable-broker-on-both-databases[1단계: 두 데이터베이스 모두에서 브로커를 활성화합니다] 후 DGMGRL을 통해 전송을 관리하십시오.
4단계: Data Guard 상태 확인
기본 데이터베이스가 READ WRITE 모드인지, 그리고 대기 데이터베이스가 리두 로그를 적용하는 관리형 복구로 마운트되었는지 확인하십시오.
-
기본 데이터베이스 역할 및 열기 모드를 확인하십시오
oracdb1:sudo -u oracle sqlplus -s / as sysdba \ <<<"SELECT database_role || ' | ' || open_mode FROM v\$database;" # Expected: PRIMARY | READ WRITE -
대기 데이터베이스 역할, 열림 모드 및 관리형 복구 상태를 다음 위치에서 확인하십시오.
oracdb2gcloud compute ssh oracdb2 --tunnel-through-iap --zone=us-west1-b sudo -u oracle bash <<'BASH' . ~/.bash_profile export ORACLE_SID=orcls sqlplus -s / as sysdba <<'SQL' SELECT database_role || ' | ' || open_mode FROM v$database; SELECT process, status, sequence# FROM v$managed_standby WHERE process IN ('MRP0','RFS'); EXIT SQL BASH대기 상태에서 예상되는 값:
PHYSICAL STANDBY | MOUNTED;MRP0포함APPLYING_LOG. -
대기 상태가 `MOUNTED`를 보고하지만 apply가 실행되지 않는 경우, `oracdb2`에서 관리형 복구를 다시 시작하십시오.
sudo -u oracle bash -c ' . ~/.bash_profile export ORACLE_SID=orcls sqlplus / as sysdba <<SQL ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION; EXIT SQL'
다음 단계
자동화된 역할 관리 및 장애 조치 보호를 활성화하려면 Oracle Data Guard Broker, Fast-Start Failover 및 Observer 구성을(를) 계속 진행하십시오.