버전 비교
키
- 이 줄이 추가되었습니다.
- 이 줄이 삭제되었습니다.
- 서식이 변경되었습니다.
Data Guard Broker
네트워크 설정
Primary의 listener.ora 파일 수정
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ora_act)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = ORCL) (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1) (SID_NAME = orcl) ) (SID_DESC = (GLOBAL_DBNAME = ORCL_DGMGRL) (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1) (SID_NAME = orcl) ) ) ADR_BASE_LISTENER = /u01/app/oracle |
Data Guard Broker를 사용한다면 DGMGRL 서비스를 리스너에 static listener인 DGMGRL을 별도로 등록해줍니다.
서비스를 등록하지 않을 경우, DGMGRL에서 데이터베이스를 재기동하거나 switchover하는 과정에 서비스를 찾지 못해 실패하게 됩니다.
코드 블럭 | ||
---|---|---|
| ||
(SID_DESC = (GLOBAL_DBNAME = ORCL_DGMGRL) (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1) (SID_NAME = orcl) ) |
Standby의 listener.ora 파일 수정
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ora_stb)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = ORCL_STB) (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1) (SID_NAME = orcl) ) (SID_DESC = (GLOBAL_DBNAME = ORCL_STB_DGMGRL) (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1) (SID_NAME = orcl) ) ) ADR_BASE_LISTENER = /u01/app/oracle |
Standby 리스너도 마찬가지로 DGMGRL 서비스를 를 추가합니다.
코드 블럭 | ||
---|---|---|
| ||
(SID_DESC = (GLOBAL_DBNAME = ORCL_STB_DGMGRL) (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1) (SID_NAME = orcl) ) |
Data Guard Broker 환경 구성
Data Guard Broker 활성화
코드 블럭 | ||||
---|---|---|---|---|
| ||||
ALTER SYSTEM SET dg_broker_start=true; |
펼치기 | ||
---|---|---|
|
Primary와 Standby 양쪽에 dg_broker_start를 true로 변경하여, Data Guard Broker를 기동시킵니다.
DGMGRL 접속
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
dgmgrl sys/oracle@orcl |
펼치기 | ||
---|---|---|
|
원격 접속이 구성된 환경에서 오라클 클라이언트를 통해 DGMGRL에 접속할 수 있습니다.
원격 접속에서 password file 파일을 사용할 수 있도록 암호를 입력하는 방식으로 접속합니다.
데이터베이스 등록
코드 블럭 | ||||
---|---|---|---|---|
| ||||
CREATE CONFIGURATION orcl_dg AS PRIMARY DATABASE IS orcl CONNECT IDENTIFIER IS orcl; ADD DATABASE orcl_stb AS CONNECT IDENTIFIER IS orcl_stb MAINTAINED AS PHYSICAL; |
펼치기 | ||||
---|---|---|---|---|
|
Primary 데이터베이스와 standby 데이터베이스를 Broker에 등록합니다.
Data Guard Broker 설정 활성화
코드 블럭 | ||||
---|---|---|---|---|
| ||||
ENABLE CONFIGURATION; |
펼치기 | ||
---|---|---|
|
등록된 설정값을 갖고 Data Guard Broker를 활성화합니다.
Data Guard Broker 등록 정보 조회
코드 블럭 | ||||
---|---|---|---|---|
| ||||
SHOW CONFIGURATION; SHOW DATABASE orcl; SHOW DATABASE orcl_stb; |
펼치기 | ||||||
---|---|---|---|---|---|---|
|
Data Guard Broker에 등록된 내용을 SHOW 명령어로 조회할 수 있습니다.
Switchover
Standby로 switchover하기
코드 블럭 | ||||
---|---|---|---|---|
| ||||
SWITCHOVER TO orcl_stb; |
펼치기 | ||||
---|---|---|---|---|
|
Switchover 명령어를 이용하면 standby로 서비스를 switch over할 수 있습니다.
Primary로 원복을 하려면 다음의 명령어를 입력하면 됩니다.
코드 블럭 |
---|
SWITCHOVER TO orcl; |
Failover
Standby로 Failover하기
코드 블럭 | ||||
---|---|---|---|---|
| ||||
FAILOVER TO orcl_stb; |
펼치기 | ||
---|---|---|
|
Standby로 failover를 수행합니다.
가급적 standby로 접속하여 명령을 수행합니다.
코드 블럭 | ||||
---|---|---|---|---|
| ||||
SHOW DATABASE orcl_stb; SHOW CONFIGURATION; |
펼치기 | ||
---|---|---|
|
Failover가 정상적으로 완료되었는지 확인합니다.
기존의 Primary는 disabled로 복구가 필요한 상태입니다.
Disable된 primary를 reinstate하기
코드 블럭 | ||||
---|---|---|---|---|
| ||||
REINSTATE DATABASE orcl; |
펼치기 | ||
---|---|---|
|
Flashback Database가 활성화 되어 있었다면, reinstate 명령어로 간단하게 복구할 수 있습니다.
코드 블럭 | ||||
---|---|---|---|---|
| ||||
SHOW CONFIGURATION; SHOW DATABASE orcl; |
펼치기 | ||
---|---|---|
|
정상적으로 reinstate가 되었는지 확인합니다.
다시 primary로 전환하려면 switchover를 수행하면 됩니다.