토폴로지 배치
RMAN "from service" 절을 사용하면 네트워크를 통해 기본 데이터베이스 파일을 대기 데이터베이스로 복원 및 복구할 수 있습니다. 이 기능을 사용하면 RMAN DUPLICATE DATABASE
명령 대신 대기 데이터베이스를 인스턴스화할 수 있으며, 보다 직관적이고 오류 발생 가능성이 적으므로 시간을 절약할 수 있습니다.
주:
명령줄에 붙여 넣기 위해 명령 예제를 클립보드에 저장하려면 복사를 누릅니다.variables
를 사용자의 구현과 관련된 값으로 바꿔야 합니다.
RMAN를 사용하여 Standby Database 생성
Oracle Recovery Manager(RMAN)를 사용하여 활성 primary database에서 standby database를 생성합니다. 또는 primary database의 백업에서 복원할 수 있습니다.
- 데이터베이스에 연결하고
NOMOUNT
모드로 데이터베이스를 시작합니다.$ rman target /
startup nomount;
- 기본 서비스에서 대기 제어 파일을 복원합니다. 이 예에서 DBUKS_898_LHR은 기본 데이터베이스입니다.
다음과 비슷한 출력이 나타나야 합니다.restore standby controlfile from service 'DBUKS_898_LHR';
Starting restore at 04-JUL-23 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=28 device type=DISK channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: using network backup set from service DBUKS_898_LHR channel ORA_DISK_1: restoring control file channel ORA_DISK_1: restore complete, elapsed time: 00:00:04 output file name=+RECO/DBUKS_R2J_AMS/CONTROLFILE/current.256.1139953721 Finished restore at 04-JUL-23
- 데이터베이스를 마운트합니다.
다음과 비슷한 출력이 나타나야 합니다.alter database mount;
released channel: ORA_DISK_1 Statement processed
- OCI 인스턴스의 루트로 Oracle 디렉토리의 권한을 열도록 변경합니다(
chmod 777
).cd /opt/
ls -ltra
다음이 표시됩니다.drwxr-xr-x 10 root root 4096 Jun 20 03:52 oracle
입력:[root@ldbuksdr]# chmod 777 oracle/
ls -ltra
다음이 표시됩니다.drwxrwxrwx 10 root root 4096 Jun 20 03:52 oracle
- 기본 데이터베이스에서 복원합니다(DBUKS_898_LHR).
다음과 비슷한 출력이 나타나야 합니다.restore database from service ' DBUKS_898_LHR ';
Starting restore at 04-JUL-23 using target database control file instead of recovery catalog allocated channel: ORA_SBT_TAPE_1 channel ORA_SBT_TAPE_1: SID=162 device type=SBT_TAPE channel ORA_SBT_TAPE_1: Oracle Database Backup Service Library VER=19.0.0.1 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=28 device type=DISK channel ORA_SBT_TAPE_1: starting datafile backup set restore channel ORA_SBT_TAPE_1: using network backup set from service DBUKS_898_LHR channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set channel ORA_SBT_TAPE_1: restoring datafile 00001 to +DATA/DBUKS_898_LHR/DATAFILE/system.261.1139943103 channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: using network backup set from service DBUKS_898_LHR channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00003 to +DATA/DBUKS_898_LHR/DATAFILE/sysaux.268.1139943085 channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:38 channel ORA_SBT_TAPE_1: starting datafile backup set restore channel ORA_SBT_TAPE_1: using network backup set from service DBUKS_898_LHR channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set channel ORA_SBT_TAPE_1: restoring datafile 00004 to +DATA/DBUKS_898_LHR/DATAFILE/undotbs1.260.1139943133 channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:04 channel ORA_SBT_TAPE_1: starting datafile backup set restore channel ORA_SBT_TAPE_1: using network backup set from service DBUKS_898_LHR channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set channel ORA_SBT_TAPE_1: restoring datafile 00005 to +DATA/DBUKS_898_LHR/F9D6EA8CCAA09630E0530905F40A5107/DATAFILE/system.264.1139942759 channel ORA_DISK_1: restore complete, elapsed time: 00:00:49 channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: using network backup set from service DBUKS_898_LHR channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00006 to +DATA/DBUKS_898_LHR/F9D6EA8CCAA09630E0530905F40A5107/DATAFILE/sysaux.265.1139942759 channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:25 channel ORA_SBT_TAPE_1: starting datafile backup set restore channel ORA_SBT_TAPE_1: using network backup set from service DBUKS_898_LHR channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set channel ORA_SBT_TAPE_1: restoring datafile 00007 to +DATA/DBUKS_898_LHR/F9D6EA8CCAA09630E0530905F40A5107/DATAFILE/undotbs1.266.1139942759 channel ORA_DISK_1: restore complete, elapsed time: 00:00:18 channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: using network backup set from service DBUKS_898_LHR channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00008 to +DATA/DBUKS_898_LHR/FE812140C0716067E053F6005A0AEB32/DATAFILE/system.273.1139943583 channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:04 channel ORA_SBT_TAPE_1: starting datafile backup set restore channel ORA_SBT_TAPE_1: using network backup set from service DBUKS_898_LHR channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set channel ORA_SBT_TAPE_1: restoring datafile 00009 to +DATA/DBUKS_898_LHR/FE812140C0716067E053F6005A0AEB32/DATAFILE/sysaux.271.1139943599 channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:16 channel ORA_SBT_TAPE_1: starting datafile backup set restore channel ORA_SBT_TAPE_1: using network backup set from service DBUKS_898_LHR channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set channel ORA_SBT_TAPE_1: restoring datafile 00010 to +DATA/DBUKS_898_LHR/FE812140C0716067E053F6005A0AEB32/DATAFILE/undotbs1.270.1139943611 channel ORA_DISK_1: restore complete, elapsed time: 00:00:20 channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: using network backup set from service DBUKS_898_LHR channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00011 to +DATA/DBUKS_898_LHR/DATAFILE/users.269.1139943873 channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:02 channel ORA_SBT_TAPE_1: starting datafile backup set restore channel ORA_SBT_TAPE_1: using network backup set from service DBUKS_898_LHR channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set channel ORA_SBT_TAPE_1: restoring datafile 00012 to +DATA/DBUKS_898_LHR/FE812140C0716067E053F6005A0AEB32/DATAFILE/users.274.1139943875 channel ORA_DISK_1: restore complete, elapsed time: 00:00:02 channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:02 Finished restore at 04-JUL-23
exit ;
Standby Database 검증
그런 다음 standby database를 검증해야 합니다.
- 데이터베이스 이름 및 롤을 확인합니다.
SQL>
프롬프트에서 을 입력합니다.select FORCE_LOGGING, FLASHBACK_ON, OPEN_MODE, DATABASE_ROLE, DATAGUARD_BROKER, PROTECTION_MODE from v$database ;
다음과 유사한 응답이 표시됩니다.
FORCE_LOGGING FLASHBACK_ON OPEN_MODE DATABASE_ROLE DATAGUARD_BROKER PROTECTION_MODE -------------------- ------------------ --------------- ------------------- ------------------------ ---------------------------- YES NO MOUNTED PHYSICAL STANDBY DISABLED MAXIMUM PERFORMANCE
- 데이터베이스의 아카이브 프로세스, 상태 스레드 번호 및 시퀀스 번호를 확인합니다.
select sysdate,process,status,thread#,sequence#,block# from v$managed_standby where status!='IDLE';
다음과 유사한 응답이 표시됩니다.
04-JUL-23 ARCH CONNECTED 0 0 0 04-JUL-23 DGRD ALLOCATED 0 0 0 04-JUL-23 DGRD ALLOCATED 0 0 0 04-JUL-23 ARCH CONNECTED 0 0 0 04-JUL-23 ARCH CONNECTED 0 0 0 04-JUL-23 ARCH CONNECTED 0 0 0
그리고 다음을 입력합니다.
select distinct process from gv$managed_standby;
다음과 유사한 응답이 표시됩니다.
PROCESS --------- ARCH DGRD
기본 및 대기 데이터베이스에 대기 로그 파일 추가
대기 로그 파일은 대기 데이터베이스에서 기본 데이터베이스로부터 리두 데이터를 수신하는 데 사용됩니다. 기본 데이터베이스의 온라인 리두 로그에 기록된 레코드는 대기 데이터베이스로 전송되고 대기 리두 로그에 동시에 기록되므로 대기 데이터베이스에서 데이터가 손실될 확률이 최소화됩니다. 실시간 적용을 위해서는 대기 리두 로그가 필수입니다.
다음 단계에 대해
SQL>
명령 프롬프트를 사용합니다.
- 먼저 대기 로그 파일을 기본 데이터베이스에 추가합니다.
- 다음을 입력합니다.
select group#, type, member from v$logfile;
다음과 유사한 응답이 표시됩니다.
GROUP# TYPE MEMBER ---------- ------- --------------------------------------------------------- 3 ONLINE +RECO/DBUKS_898_LHR/ONLINELOG/group_3.259.1139942665 2 ONLINE +RECO/DBUKS_898_LHR/ONLINELOG/group_2.258.1139942665 1 ONLINE +RECO/DBUKS_898_LHR/ONLINELOG/group_1.257.1139942665
- 다음을 입력합니다.
select bytes, group# from v$log;
다음과 유사한 응답이 표시됩니다.1073741824 1 1073741824 3 1073741824 2
- 다음 일련의 명령을 입력합니다.
SQL> alter database add standby logfile thread 1 group 5 ('+RECO') size 1073741824;
alter database add standby logfile thread 1 group 6 ('+RECO') size 1073741824;
alter database add standby logfile thread 1 group 7 ('+RECO') size 1073741824;
각각에 대한 응답은 다음과 같아야 합니다.Database altered
- 다음을 입력합니다.
select group#, type, member from v$logfile;
다음과 유사한 응답이 표시됩니다.GROUP# TYPE MEMBER ---------- ------- ------------------------------------------------------- 3 ONLINE +RECO/DBUKS_898_LHR/ONLINELOG/group_3.259.1139942665 2 ONLINE +RECO/DBUKS_898_LHR/ONLINELOG/group_2.258.1139942665 1 ONLINE +RECO/DBUKS_898_LHR/ONLINELOG/group_1.257.1139942665 4 STANDBY +RECO/DBUKS_898_LHR/ONLINELOG/group_4.432.1141789993 5 STANDBY +RECO/DBUKS_898_LHR/ONLINELOG/group_5.431.1141790001 6 STANDBY +RECO/DBUKS_898_LHR/ONLINELOG/group_6.430.1141790011 7 STANDBY +RECO/DBUKS_898_LHR/ONLINELOG/group_7.430.1141790017
- 로그 목록을 아카이브합니다.
archive log list
- 다음을 입력합니다.
- 이제 대기 데이터베이스에 대기 로그 파일을 추가하십시오.
- 다음을 입력합니다.
select group#, type, member from v$logfile;
다음과 유사한 응답이 표시됩니다.GROUP# TYPE MEMBER ---------- ------- ------------------------------------------------------ 3 ONLINE +RECO/DBUKS_R2J_AMS/ONLINELOG/group_3.489.1141280529 2 ONLINE +RECO/DBUKS_R2J_AMS/ONLINELOG/group_2.488.1141280519 1 ONLINE +RECO/DBUKS_R2J_AMS/ONLINELOG/group_1.487.1141280511
- 다음을 입력합니다.
select bytes, group# from v$log;
다음과 유사한 응답이 표시됩니다.1073741824 1 1073741824 3 1073741824 2
- 다음 일련의 명령을 입력합니다.
alter database add standby logfile thread 1 group 4 ('+RECO') size 1073741824;
alter database add standby logfile thread 1 group 5 ('+RECO') size 1073741824;
alter database add standby logfile thread 1 group 6 ('+RECO') size 1073741824;
alter database add standby logfile thread 1 group 7 ('+RECO') size 1073741824;
각 명령에 대한 응답은 다음과 같아야 합니다.Database altered
- 다음을 입력합니다.
select group#, type, member from v$logfile;
다음과 유사한 응답이 표시됩니다.GROUP# TYPE MEMBER ---------- ------- ------------------------------------------------------ 3 ONLINE +RECO/DBUKS_898_LHR/ONLINELOG/group_3.489.1141280529 2 ONLINE +RECO/DBUKS_898_LHR/ONLINELOG/group_2.488.1141280519 1 ONLINE +RECO/DBUKS_898_LHR/ONLINELOG/group_1.487.1141280511 4 STANDBY +DATA/DBUKS_R2J_AMS/ONLINELOG/group_4.294.1141283919 5 STANDBY +DATA/DBUKS_R2J_AMS/ONLINELOG/group_5.295.1141283929 6 STANDBY +DATA/DBUKS_R2J_AMS/ONLINELOG/group_6.296.1141283937 7 STANDBY +DATA/DBUKS_R2J_AMS/ONLINELOG/group_7.296.1141283938
- 다음을 입력합니다.
- 기본 데이터베이스 고유 이름을 사용하여 로그 파일을 삭제합니다. 세 개의 로그 파일 중 하나는 현재 로그가 되므로 지금은 삭제할 수 없습니다. 이 파일은 나중에 삭제되고 재생성됩니다.
- 다음을 입력합니다.
alter database drop logfile group 1;
다음과 유사한 응답이 표시됩니다.alter database drop logfile group 1 * ERROR at line 1: ORA-01623: log 1 is current log for instance dbuks (thread 1) - cannot drop ORA-00312: online log 1 thread 1: '+RECO/DBUKS_898_LHR/ONLINELOG/group_1.257.1139942665'
- 다음을 입력합니다.
alter database drop logfile group 2;
alter database drop logfile group 3;
각각에 대한 응답은 다음과 같아야 합니다.Database altered
- 다음을 입력합니다.
- 다음 명령을 입력하여 로그 파일을 재생성합니다.
alter database add logfile thread 1 group 2 ('+RECO') size 1073741824;
alter database add logfile thread 1 group 3 ('+RECO') size 1073741824;
각각에 대한 응답은 다음과 같아야 합니다.Database altered.
Oracle Data Guard Broker 구성
Oracle Data Guard Broker를 구성하고, standby database를 등록하고, primary database와 standby database를 동기화합니다. 기본 및 대기 데이터베이스에서 dg_broker_config_file 매개변수를 사용으로 설정하여 Oracle Data Guard Broker를 구성합니다. Oracle ASM(Oracle Automatic Storage Management)의 경우 중계자 구성 파일을 개별 디스크 그룹에 배치합니다. Oracle RAC(Oracle Real Application Clusters)의 경우 브로커 구성 파일이 공유 저장소에 있어야 합니다.
- 기본 데이터베이스 및 대기 데이터베이스에 대한 dg_broker_start 값을 확인하십시오. SQL 명령행에서 True로 설정되었는지 확인하고 다음을 입력합니다.
show parameter dg_broker_start;
다음과 비슷한 출력이 나타나야 합니다.NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ dg_broker_start boolean TRUE
dg_broker_start가FALSE
로 설정된 경우 다음 단계로 진행하기 전에 매개변수를TRUE
로 설정하고 다음을 입력합니다.alter system set dg_broker_start=true;
다음과 비슷한 출력이 나타나야 합니다.select pname from v$process where pname like 'DMON%';
PNAME ----- DMON
- Oracle Data Guard 파일에서 primary database를 확인합니다.
show parameter dg_broker_config_file1;
Oracle RAC 또는 Oracle ASM을 사용하는 경우 다음과 같이 구성 파일 위치를 변경할 수 있습니다.show parameter dg_broker_config_file2;
alter system set dg_broker_config_file1=broker_config_file_location;
alter system set dg_broker_config_file2=broker_config_file_location;
- primary 및 standby database 등록:Oracle Data Guard DGMGRL(명령행 인터페이스)을 사용하여 primary database를 등록하고 standby database 프로파일을 broker 구성에 추가합니다.
- 기본 호스트에 sys로 로그인합니다.
dgmgrl sys/password@net_service_name_for_primary
- primary database 이름을 사용하는 구성을 생성합니다.
CREATE CONFIGURATION configuration_name AS PRIMARY DATABASE IS primary_database_name CONNECT IDENTIFIER IS primary_database_name;
다음과 비슷한 출력이 나타나야 합니다.CREATE CONFIGURATION dbuks_898_lhr_dbuks_r2j_ams AS PRIMARY DATABASE IS dbuks_898_lhr CONNECT IDENTIFIER IS dbuks_898_lhr;
- standby database를 추가합니다.
예:ADD DATABASE standby unique database name AS CONNECT IDENTIFIER IS standby unique database name MAINTAINED AS PHYSICAL;
ADD DATABASE dbuks_r2j_ams AS CONNECT IDENTIFIER IS dbuks_r2j_ams MAINTAINED AS PHYSICAL;
다음과 비슷한 출력이 나타나야 합니다.Database "dbuks_r2j_ams" added
- 기본 호스트에 sys로 로그인합니다.
- 구성을 사용으로 설정합니다.
enable configuration;
- 구성을 표시합니다.
- 다음을 입력합니다.
show configuration;
주:
적용 지연을 확인할 수 없다는 WARNING이 나타나면 sqlplus를 통해 primary database에 로그인하고 몇 가지 로그 전환을 수행합니다.Configuration - dbuks_898_lhr_dbuks_r2j_ams Protection Mode: MaxPerformance Members: dbuks_898_lhr - Primary database dbuks_r2j_ams - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 36 seconds ago)
- primary database의 구성을 표시합니다(이 예제에서는 dbuks_898_lhr).
다음과 유사한 응답이 표시됩니다.show database dbuks_898_lhr
Database - dbuks_898_lhr Role: PRIMARY Intended State: TRANSPORT-ON Instance(s): dbuks Database Status: SUCCESS
- 대기 데이터베이스에 대한 구성을 표시합니다(이 예의 경우 dbuks_r2j_ams).
다음과 유사한 응답이 표시됩니다.show database dbuks_r2j_ams
Database - dbuks_r2j_ams Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: 0 seconds (computed 1 second ago) Apply Lag: 0 seconds (computed 0 seconds ago) Average Apply Rate: 59.00 KByte/s Real Time Query: ON Instance(s): dbuks Database Status: SUCCESS
- 다음을 입력합니다.
복제 확인
이제 standby database가 primary database에서 수신한 리두를 적용하기 시작합니다.
다음 단계에 대해
SQL>
명령 프롬프트를 사용합니다.
- MRP 프로세스를 확인합니다.
- 다음을 입력합니다.
select sysdate, process, status, thread#, sequence#, block# from v$managed_standby where status!='IDLE';
다음과 비슷한 출력이 나타나야 합니다.SYSDATE PROCESS STATUS THREAD# SEQUENCE# BLOCK# --------- --------- ------------ ---------- ---------- ---------- 10-JUL-23 DGRD ALLOCATED 0 0 0 10-JUL-23 ARCH CONNECTED 0 0 0 10-JUL-23 DGRD ALLOCATED 0 0 0 10-JUL-23 ARCH CONNECTED 0 0 0 10-JUL-23 ARCH CONNECTED 0 0 0 10-JUL-23 ARCH CONNECTED 0 0 0 10-JUL-23 RFS RECEIVING 1 417 2413 10-JUL-23 MRP0 APPLYING_LOG 1 417 2412
- Data Guard 프로세스를 확인합니다.
다음과 비슷한 출력이 나타나야 합니다.select distinct process from gv$managed_standby;
PROCESS --------- DGRD RFS MRP0 ARCH
- 이제 standby database가 리두 로그를 적용하기 시작했습니다. primary database에서 일부 로그 전환을 수행하고 standby database에서 다시 확인합니다.
다음과 비슷한 출력이 나타나야 합니다.select sysdate, process, status, thread#, sequence#, block#from v$managed_standbywhere status!='IDLE';
SYSDATE PROCESS STATUS THREAD# SEQUENCE# BLOCK# --------- --------- ------------ ---------- ---------- ---------- 04-JUL-23 DGRD ALLOCATED 0 0 0 04-JUL-23 ARCH CONNECTED 0 0 0 04-JUL-23 DGRD ALLOCATED 0 0 0 04-JUL-23 ARCH CLOSING 1 253 1 04-JUL-23 ARCH CONNECTED 0 0 0 04-JUL-23 ARCH CLOSING 1 252 1 04-JUL-23 MRP0 APPLYING_LOG 1 254 17 04-JUL-23 RFS RECEIVING 1 254 18
- primary database에 로그 리스트를 아카이브합니다.
다음과 비슷한 출력이 나타나야 합니다.archive log list
그리고 다음을 입력합니다.Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 415 Next log sequence to archive 417 Current log sequence 417
alter system switch logfile;
다음 응답이 수신됩니다.System altered.
다음을 입력합니다./
다음이 표시됩니다.System altered.
이제 로그 목록을 아카이브합니다.
다음 응답이 수신됩니다.archive log list
Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 417 Next log sequence to archive 419 Current log sequence 419
- standby database에 로그 리스트를 아카이브하고 다음을 입력합니다.
select sysdate, process, status, thread#, sequence#, block# from v$managed_standby where status!='IDLE';
다음 응답이 수신됩니다.
SYSDATE PROCESS STATUS THREAD# SEQUENCE# BLOCK# --------- --------- ------------ ---------- ---------- ---------- 10-JUL-23 DGRD ALLOCATED 0 0 0 10-JUL-23 ARCH CONNECTED 0 0 0 10-JUL-23 DGRD ALLOCATED 0 0 0 10-JUL-23 ARCH CLOSING 1 418 1 10-JUL-23 ARCH CONNECTED 0 0 0 10-JUL-23 ARCH CLOSING 1 417 2048 10-JUL-23 RFS RECEIVING 1 419 59 10-JUL-23 MRP0 APPLYING_LOG 1 419 58
- 다음을 입력합니다.
- 대기 데이터베이스에서 플래시백을 사용으로 설정:
- 다음을 입력합니다.
각 명령 뒤에 다음이 표시됩니다.ALTER DATABASE RECOVER MANAGED STANDBY DATABASE cancel; SQL> alter database flashback on;
Database altered
- 데이터베이스 Flashback이 활성화(설정)되었는지 확인합니다.
다음과 비슷한 출력이 나타나야 합니다.select flashback_on from v$database;
FLASHBACK_ON ------------------ YES
- 그리고 다음을 입력합니다.
다음이 표시됩니다.recover managed standby database using current logfile disconnect from session;
Media recovery complete.
- 다음을 입력합니다.
- 데이터베이스 세부 정보 보기:
다음과 비슷한 출력이 나타나야 합니다.select FORCE_LOGGING, FLASHBACK_ON, OPEN_MODE, DATABASE_ROLE, DATAGUARD_BROKER, PROTECTION_MODE from v$database ;
FORCE_LOGGING FLASHBACK_ON OPEN_MODE DATABASE_ROLE DATAGUARD_BROKER PROTECTION_MODE ---------------------------------------------------------- --------------- ----- ----------------------- ----------------------------- YES YES MOUNTED PHYSICAL STANDBY ENABLED MAXIMUM PERFORMANCE
- Server Control 유틸리티(srvctl)를 사용하여 standby database를 정지합니다.
출력은 다음과 유사해야 합니다.srvctl stop database -d db_unique_name
srvctl stop database -d dbuks_r2j_ams
- Server Control 유틸리티를 사용하여 standby database를 시작합니다.
출력은 다음과 유사해야 합니다.srvctl start database -d db_unique_name
srvctl start database -d dbuks_r2j_ams
- 데이터베이스 세부 정보 보기:
출력은 다음과 유사해야 합니다.select FORCE_LOGGING, FLASHBACK_ON, OPEN_MODE, DATABASE_ROLE, DATAGUARD_BROKER, PROTECTION_MODE from v$database ;
FORCE_LOGGING FLASHBACK_ON OPEN_MODE DATABASE_ROLE DATAGUARD_BROKER PROTECTION_MODE ----------------------------------------------------------------------- -------------------- ----------------------- YES YES READ ONLY WITH APPLY PHYSICAL STANDBY ENABLED MAXIMUM PERFORMANCE
- 이제 primary에서 일부 로그 파일 전환을 더 제공하고 리두가 standby에 적용되고 있는지 확인할 수 있습니다.
- 고유 기본 이름으로 존재하는 보류 중인 로그 파일을 재생성합니다. 다음 명령을 입력합니다.
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE cancel;
alter database drop logfile group 1;
각 명령 뒤에 다음이 표시됩니다.alter database add standby logfile thread 1 group 1 ('+RECO') size 1073741824;
마지막으로 다음을 입력합니다.Database altered.
다음이 표시됩니다.recover managed standby database using current logfile disconnect from session;
Media recovery complete.