개요
TAS 장애 시 RMGR 명령어를 이용한 복구에 대한 설명입니다.
참고
온라인 매뉴얼에는 tbrmgr 명령어 예시만 설명되어 있어 해당 시나리오 생성하였습니다.
방법
(TAS-TAC) TAS 장애 시 RMGR을 이용한 복구 테스트
참고
tbrmgr full 백업만 받은 상황에서 진행하는 복구 테스트 입니다.
•
TAS Diskspace 재구성
기존과 동일한 구성으로 Diskspace를 생성합니다.
주의
TAS DiskSpace 재구성 전에 .passwd 파일을 반드시 백업해두어야 합니다.
백업하지 않았다면, _MOUNT_MODE_WITHOUT_PASSWD_FILE=Y 파라미터를 이용하여 .passwd 파일 없이 부팅할 수 있으며, 정상 부팅 후에는 해당 파라미터를 삭제해야 합니다.
해당 구문은 별도의 백업 구문으로 생성되지 않습니다. 필요 시 sys.log 확인이 필요합니다.
•
TAS에서 수행
$ tbboot nomount
$ tbsql sys/tibero
SQL> CREATE DISKSPACE DS0 FORCE EXTERNAL REDUNDANCY DISK '/dev/tas/disk' NAME DS0 ATTRIBUTE 'AU_SIZE'='4M';
2번 노드의 thread를 추가해준다.
$ tbboot
$ tbsql sys/tibero
SQL> alter diskspace DS0 add thread 1;
SQL
복사
•
tbrmgr로 복구 진행
.passwd 파일이 유실된 경우, tac의 .tip 파일에 _MOUNT_MODE_WITHOUT_PASSWD_FILE=Y 파라미터를 추가한 후 복구를 진행합니다.
또는, rmgr를 이용해 .passwd 파일을 사전에 백업해두었다면 해당 백업본을 사용하여 복구할 수 있습니다.
- tbrmgr recover 수행
$ tbrmgr recover --with-archivelog -o /db/backup
.=============================================================================
.= Recovery Manager(RMGR) starts =
.= =
.= TmaxTibero Corporation Copyright (c) 2020-. All rights reserved. =
.==============================================================================
RMGR '-o' option used
: restoring from /db/backup
.==============================================================================
RMGR - recovery (WITH ARCHIVELOG)
.==============================================================================
-- 중략 --
Control file #0 (+DS0/tac/c1.ctl) is accessible
Control file #1 (+DS0/tac/c2.ctl) is accessible
-- 중략 --
TmaxTibero Corporation Copyright (c) 2020-. All rights reserved.
Tibero instance started up (MOUNT mode).
Initializing the restore progress, it may take few minutes...
RMGR begins restoring backup files.
Full backup set_id: 1
Last incremental backup set_id: 1
RESTORE (set_id: 1, ts_id: 0, df_id: 0) - FULL BACKUP
100.0% |===============================>| 38400/38400 blks 7.17s
Synchronizing...
RESTORE (set_id: 1, ts_id: 1, df_id: 1) - FULL BACKUP
100.0% |===============================>| 12800/12800 blks 2.06s
Synchronizing...
RESTORE (set_id: 1, ts_id: 3, df_id: 2) - FULL BACKUP
100.0% |===============================>| 12800/12800 blks 2.07s
Synchronizing...
RESTORE (set_id: 1, ts_id: 4, df_id: 3) - FULL BACKUP
100.0% |===============================>| 12800/12800 blks 2.08s
Synchronizing...
RESTORE (set_id: 1, ts_id: 5, df_id: 4) - FULL BACKUP
100.0% |===============================>| 38400/38400 blks 8.15s
Synchronizing...
Settling...
Restoring logfiles...
Archivelog log-tac1-t0-r60875-s3.arc (thread: 0, set_id: 1, low_tsn: 65535, next_tsn: 65594) restored
Archivelog log-tac1-t1-r60875-s3.arc (thread: 1, set_id: 1, low_tsn: 65535, next_tsn: 65594) restored
Archive logfiles restoration succeeded
Database restoration succeeded
Given recovery point: COMPLETE RECOVERY
Recoverable point using only backup archivelogs: change 65593
recoverSQL: ALTER DATABASE RECOVER AUTOMATIC
RMGR Error: recovery failed (automatic recovery failed)
SVR Error: Need log file (thread 0 seq -1) to recover from TSN 65594.
Recovery done until 2024/06/26 16:34:52 TSN 65589.
Recovery is incomplete and resetlogs is required.
RMGR Server Error: -1147
SQL
복사
•
resetlogs로 기동
$ tbdown
$ tbboot resetlogs
SQL
복사
•
정상 기동 및 데이터 확인
- tac node1, node2 모두 기동
$ tbboot
$ tbsql tibero/tmax
SQL> select count() from t1;
COUNT()
––––––––
20
SQL
복사