개요
Tibero Standby Cluster (TSC) 환경에서 Primary와 Standby 간 데이터 역동기화 구성을 위한 절차와 실행 방법을 안내드립니다.
특히, 예외 상황 발생 시 강제 역동기화 기능(Reverse Sync)을 활용하여 Standby DB를 복구하는 과정도 함께 포함하고 있습니다.
제약조건
1. 컨트롤 파일 역동기화는 지원되지 않습니다.
•
Tablespace/Datafile 추가/삭제/리사이즈 작업 시 역동기화가 불가능합니다.
2. Archive Log 기반 역동기화는 지원되지 않습니다.
3. Standby DB Failover 이후 컨트롤 파일 재생성하는 경우 failover RBA 정보가 손실되어 역동기화를 수행할 수 없습니다.
4. 역동기화가 완료되기 전까지 Read-Only 모드 전환을 권장하지 않습니다.
5. 역동기화 도중 실패할 경우, Standby DB의 재구축이 필요합니다.
6. LOG 전송 모드는 아래와 같이 설정하시는 것을 권장합니다.
•
PERFORMANCE, LGWR ASYNC
7. 해당 기능을 사용하기 위해서는 235482g 패치가 필요합니다.
주의
•
티맥스티베로에서 제공하는 기술지원을 통해 패치를 적용합니다.
•
Tibero6 FS07 PS 버전부터 TSC 강제 역동기화 기능이 반영되었습니다.
방법
1. TSC 구성 (Primary DB <-> Standby DB 연동)
기본 TSC 구성 완료 후, Primary-Standby 연동 상태에서 아래 절차를 수행합니다.
2. Standby DB 종료 및 Primary DB 비정상 종료
Standby DB가 종료된 상태에서 Primary DB에 부하를 주고, 이후 비정상 종료되는 시나리오를 테스트합니다.
Standby DB를 종료
$ tbdown immediate
Tibero instance terminated (IMMEDIATE mode).
SQL
복사
Primary DB에 데이터 추가
$ tbsql tibero/tmax
SQL> create table b(b) as select level from dual connect by level <10000;
SQL> create table c(c) as select level from dual connect by level <10000;
SQL> create table d(d) as select level from dual connect by level <10000;
SQL> create table e(e) as select level from dual connect by level <10000;
SQL
복사
Primary DB 비정상 종료
$ tbdown abnormal
Tibero instance terminated (ABNORMAL mode).
SQL
복사
3. Standby DB : Failover로 기동 → Primary DB로 변경
$TB_SID.tip 파일 수정 (Standby DB)
•
경로 : $TB_HOME/config/$TB_SID.tip
LOG_REPLICATION_MODE=PERFORMANCE
LOG_REPLICATION_DEST_1="192.168.179.65:8862 LGWR ASYNC"
#_STANDBY_CONN_PORT=8862
#_STANDBY_NETWORK_TIMEOUT=60
SQL
복사
•
Standby DB[1]의 IP 주소를 정확히 입력합니다.
•
Standby DB의 Port 및 Timeout 파라미터는 주석 처리된 상태로 관리됩니다.
Failover로 기동 (Standby DB → Primary DB)
$ tbboot failover
SQL
복사
전환 확인
SQL> select DATABASE_ROLE from v$database;
DATABASE_ROLE
-----------------
PRIMARY
1 row selected.
SQL
복사
참고
Standby DB가 아직 연결되지 않은 상태에서는 sys.log에 다음과 같은 오류 로그가 발생할 수 있습니다.
[2024-12-23T13:48:30.814110] [FRM-28] [I] THROW. ec=ERROR_CACHE_LOGNET_WRITE_FAILED(-1029) [ Log network write failed.]
(csr_id:4294967295) [tcr_lnw.c:1648:lnw_connect]
[2024-12-23T13:48:30.814173] [LNW-28] [I] log network writer for 192.168.179.65 was down : rc(0)
SQL
복사
4. 이전 Primary DB를 recovery mode로 부팅
$TB_SID.tip 수정 (Primary DB)
_STANDBY_CONN_PORT=8862
_STANDBY_NETWORK_TIMEOUT=60
SQL
복사
Mount 모드에서 Primary DB → Standby DB로 컨트롤 파일 변경
$ tbboot mount
Listener port = 8857
Tibero 7
TmaxTibero Corporation Copyright (c) 2020-. All rights reserved.
Tibero instance started up (MOUNT mode).
$ tbsql sys/tibero
SQL> alter database standby controlfile;
Database altered.
$ tbdown immediate
Tibero instance terminated (IMMEDIATE mode).
$ tbboot recovery
Listener port = 8857
Tibero 7
TmaxTibero Corporation Copyright (c) 2020-. All rights reserved.
Tibero instance started up (RECOVERY mode).
SQL
복사
5. Primary DB에 역동기화 설정 적용
Primary DB에 역동기화 파라미터를 적용하여 Standby DB와의 데이터 동기화를 수행합니다.
$ tbsql sys/tibero
SQL> alter system set _LNW_REVERSE_SYNC=Y;
System altered.
SQL
복사
주의
역동기화 적용 시 Standby DB는 자동 종료되며 재기동이 필요합니다.
.********************************************************
.* Standby reverse sync is successfully finished.
.* Media recovery is required.
.* Shutting down.
.********************************************************
[2024-12-23T14:44:49.050063] [FRM-00] [I] MTHR received SHUTDOWN message! SHUTTING DOWN...(issuer:70, mode[4]:ABORT)
[2024-12-23T14:44:49.050113] [MT-00] [I] MTHR starts to shutdown mode=4, CUR_SVRMODE=6
SQL
복사
6. Standby DB 기동
Standby DB를 recovery mode로 기동하면 해당 인스턴스는 Standby 서버로 동작하게 됩니다.
$ tbboot recovery
Listener port = 8857
Tibero 7
TmaxTibero Corporation Copyright (c) 2020-. All rights reserved.
Tibero instance started up (RECOVERY mode).
SQL
복사
7. Primary DB <-> Standby DB 연결 확인
Primary DB 에서 Standby DB 연결을 확인합니다.
$ tbsql sys/tibero
tbSQL 7
TmaxTibero Corporation Copyright (c) 2020-. All rights reserved.
Connected to Tibero.
SQL> select * from v$standby_dest;
STANDBY_ADDR
--------------------------------------------------------------------------------
TYPE THREAD# FLAGS
-------------------------------- ---------- --------------------------------
SENT_SEQ SENT_BLKNO ACKED_SEQ ACKED_BLKNO DELAY
---------- ---------- ---------- ----------- ----------
192.168.179.65:8862
LGWR ASYNC MAIN 0 CONNECTED
8 3017 8 3017 0
1 row selected.
SQL
복사