버전 비교
키
- 이 줄이 추가되었습니다.
- 이 줄이 삭제되었습니다.
- 서식이 변경되었습니다.
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를 사용한다면 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; |
펼치기 | ||
---|---|---|
|
코드 블럭 |
---|
dgmgrl sys/oracle@orcl |
|
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; |
펼치기 | |||
---|---|---|---|
| |||
코드 블럭 | |||
CREATE CONFIGURATION orcl_config
|
코드 블럭 |
---|
ENABLE CONFIGURATION; |
|
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를 수행하면 됩니다.
코드 블럭 |
---|
SHOW CONFIGURATION;
SHOW DATABASE orcl;
SHOW DATABASE orcl_stb; |