문서유형ㅣ기술정보
분야ㅣ유틸리티
적용제품버전ㅣTibero 7.2.3, Tibero 7.2.4
문서번호ㅣTUTTI032
개요
본 문서에서는 tbrmgr을 이용하여 TSC 동기화 작업을 시스템 중단 없이 진행 할 수 있는 방법을 기술하였습니다.
본 문서는 TAC - TSC 설치가 된 이후에 적용 가능한 문서이므로, TAC - TSC 설치는 별도 메뉴얼을 참고하여 설치가 필요합니다.
방법
구성 현황
구성 예제
구성 전 동기화 여부 확인
SQL> select STANDBY_ADDR, TYPE, FLAGS from v$standby_dest ; STANDBY_ADDR TYPE FLAGS -------------------- -------------------------------- -------------------------------- Not Assigned:0 LGWR DEAD NODE PROXY NOT CONNECTED Not Assigned:0 LGWR DEAD NODE PROXY NOT CONNECTED Not Assigned:0 LGWR DEAD NODE PROXY NOT CONNECTED Not Assigned:0 LGWR DEAD NODE PROXY NOT CONNECTED Not Assigned:0 LGWR DEAD NODE PROXY NOT CONNECTED Not Assigned:0 LGWR DEAD NODE PROXY NOT CONNECTED Not Assigned:0 LGWR DEAD NODE PROXY NOT CONNECTED Not Assigned:0 LGWR DEAD NODE PROXY NOT CONNECTED Not Assigned:0 LGWR DEAD NODE PROXY NOT CONNECTED 9 rows selected.tbrmgr 을 이용한 백업 수행 - [Primary 에서 수행]
- tbrmgr backup --for-standby -o [/백업/받을/경로] 로 백업을 수행합니다.
- TAC(Primary Node)에서는 양 노드가 LOG_ARCHIVE_DEST 가 같은 경로일 경우 TAC 모두 기동 되어 있는 상태에서tbrmgr 백업이 가능합니다. 단, 각 노드의 LOG_ARCHIVE_DEST 경로가 다를 경우 한쪽 노드를 Down 후 tbrmgr을 이용하여 백업이 가능합니다.
[tibero@node1 ~]$ tbrmgr backup --for-standby -o /tibero/tbrmgr/ ============================================================================== = Recovery Manager(RMGR) starts = = = = TmaxTibero Corporation Copyright (c) 2020-. All rights reserved. = ============================================================================== archive log check succeeded RMGR '-o' option used : backing up to /tibero/tbrmgr/ ============================================================================== RMGR - Backup (FOR STANDBY) ============================================================================== Initializing the backup progress, it may take few minutes... BACKUP (set_id: 2, ts_id: 0, df_id: 0) 100.0% |===============================>| 12992/12992 blks 1.01s Synchronizing... BACKUP (set_id: 2, ts_id: 1, df_id: 1) 100.0% |===============================>| 12800/12800 blks 0.00s Synchronizing... BACKUP (set_id: 2, ts_id: 3, df_id: 2) 100.0% |===============================>| 12800/12800 blks 0.00s Synchronizing... BACKUP (set_id: 2, ts_id: 4, df_id: 3) 100.0% |===============================>| 130560/130560 blks 1.02s Synchronizing... BACKUP (set_id: 2, ts_id: 5, df_id: 4) 100.0% |===============================>| 12800/12800 blks 0.00s Synchronizing... BACKUP (set_id: 2, ts_id: 6, df_id: 5) 100.0% |===============================>| 12800/12800 blks 0.00s Synchronizing... BACKUP (set_id: 2, ts_id: 7, df_id: 6) 100.0% |===============================>| 12800/12800 blks 0.00s Synchronizing... Switching an online logfile... Backing up archive logfiles... Archivelog log-t0-r0-s31.arc (thread: 0, set_id: 2, low_tsn: 2098374, next_tsn: 2116547) backed up Archive logfiles backup succeeded Backing up online logfiles... Backing up the control file... Control file backup succeeded Backing up the password file... Password file backup succeeded Database backup succeeded RMGR backup endstbrmgr로 백업 받은 파일을 standby 서버로 전송하여 tbrmgr을 이용하여 standby 구축
[tibero@node3 ~] sftp tsc@10.10.10.65 tsc@10.10.10.65's password: Connected to 10.10.10.65. sftp> get -r /tibero/tbrmgr /tibero/. Fetching /tibero/tbrmg/ to /tibero/./tbrmgr/. Retrieving /tibero/tbrmgr bkp_20260320_3_0_0_0 bkl_3_t0_redo011.redo bkl_3_t0_redo021.redo bkp_20260320_3_1_1_0 bkp_20260320_3_4_3_0 bkl_3_t0_redo001.redo bkl_3_t0_r0_s16.arc bkp_20260320_3_cf_0 bkp_20260320_3_3_2_0tbrmgr을 이용하여 standby 복구 구성
- tbrmgr recover --for-standby -o [/받아온/백업받은/경로]
- standby 서버에 기존에 있던 control file은 삭제가 필요합니다.
[root@node3 tbdata]$ tbrmgr recover --for-standby -o /tools/tbrmgr ============================================================================== = Recovery Manager(RMGR) starts = = = = TmaxTibero Corporation Copyright (c) 2020-. All rights reserved. = ============================================================================== RMGR '-o' option used : restoring from /tools/tbrmgr ============================================================================== RMGR - recovery (STANDBY) ============================================================================== CM information =========================================================== CM NAME : cm2 CM UI PORT : 28629 RESOURCE FILE PATH : /root/tibero_engine/config/cm0_res_file CM MODE : GUARD ON, FENCE OFF, ROOT ON LOG LEVEL : 2 CM BLOCK SIZE : 1024 =========================================================== Trying to shutdown other instances =============================== SUCCESS! =============================== Succeeded to request at the local node to stop the service. Please use "cmrctl show service" command to verify the result. ======================================================================= Shutdown succeeded Shutting down the instance... tbdown failed. proc info file is deleted. Hint: Please check if the tbsvr instance was already stopped. info file is deleted. unlink failed.: No such file or directory Control file #0 (/share/tac/tbctl1/c1.ctl) is NOT accessible Control file #1 (/share/tac/tbctl2/c2.ctl) is NOT accessible No existing control files are found. The backup control file must be restored. Recover control file #0 /share/tac/tbctl1/c1.ctl from /tools/tbrmgr/bkp_20260327_2_cf_0 Recover control file #1 /share/tac/tbctl2/c2.ctl from /tools/tbrmgr/bkp_20260327_2_cf_0 Control files are recovered from the backup control file. Restoring the password file... Password file restoration succeeded Booting up the instance... Change core dump dir to /root/tibero_engine/bin/prof. Listener port = 8629 Tibero 7 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: 2 Last incremental backup set_id: 2 RESTORE (set_id: 2, ts_id: 0, df_id: 0) - FULL BACKUP 100.0% |===============================>| 12992/12992 blks 0.00s Synchronizing... RESTORE (set_id: 2, ts_id: 1, df_id: 1) - FULL BACKUP 100.0% |===============================>| 12800/12800 blks 0.00s Synchronizing... RESTORE (set_id: 2, ts_id: 3, df_id: 2) - FULL BACKUP 100.0% |===============================>| 12800/12800 blks 0.00s Synchronizing... RESTORE (set_id: 2, ts_id: 4, df_id: 3) - FULL BACKUP 100.0% |===============================>| 130560/130560 blks 3.05s Synchronizing... RESTORE (set_id: 2, ts_id: 5, df_id: 4) - FULL BACKUP 100.0% |===============================>| 12800/12800 blks 0.00s Synchronizing... RESTORE (set_id: 2, ts_id: 6, df_id: 5) - FULL BACKUP 100.0% |===============================>| 12800/12800 blks 1.01s Synchronizing... RESTORE (set_id: 2, ts_id: 7, df_id: 6) - FULL BACKUP 100.0% |===============================>| 12800/12800 blks 0.00s Synchronizing... Settling... Restoring logfiles... Archivelog log-t0-r0-s31.arc (thread: 0, set_id: 2, low_tsn: 2098374, next_tsn: 2116547) restored Archive logfiles restoration succeeded Restoring online logfiles... Database restoration succeeded recoverSQL: ALTER DATABASE RECOVER AUTOMATIC FOR STANDBY Database automatic recovery succeeded Shutting down the instance... Tibero instance terminated (NORMAL mode). Booting up the instance... Change core dump dir to /root/tibero_engine/bin/prof. Listener port = 8629 Tibero 7 TmaxTibero Corporation Copyright (c) 2020-. All rights reserved. Tibero instance started up (RECOVERY mode). RMGR recovery ends$TB_SID.tip 파일에 TSC 동기화 파라미터 설정 (Primary에서 수행 - 설정 되어 있다면 무시)
LOG_REPLICATION_MODE=PERFORMANCE LOG_REPLICATION_DEST_1="10.10.10.67:8633 LGWR ASYNC" LOG_REPLICATION_1_ENABLE=Yprimary 서버에서 동기화 확인
SQL> select STANDBY_ADDR, TYPE, FLAGS from v$standby_dest ; STANDBY_ADDR TYPE FLAGS -------------------- -------------------------------- -------------------------------- 10.10.10.67:8633 LGWR ASYNC MAIN CONNECTED 10.10.10.67:8633 LGWR DEAD NODE PROXY NOT CONNECTED Not Assigned:0 LGWR DEAD NODE PROXY NOT CONNECTED Not Assigned:0 LGWR DEAD NODE PROXY NOT CONNECTED Not Assigned:0 LGWR DEAD NODE PROXY NOT CONNECTED Not Assigned:0 LGWR DEAD NODE PROXY NOT CONNECTED Not Assigned:0 LGWR DEAD NODE PROXY NOT CONNECTED Not Assigned:0 LGWR DEAD NODE PROXY NOT CONNECTED Not Assigned:0 LGWR DEAD NODE PROXY NOT CONNECTED 9 rows selected.
트러블 슈팅
sys 계정의 패스워드가 다를 경우 tbrmgr 수행 시 백업이 정상적으로 수행되지 않습니다.
SQL> alter user sys identified by 'Tibero123!@#'; User 'SYS' altered. tsc@localhost ~ ➤ tbrmgr backup --for-standby -o /data/rmgr_dir ============================================================================== = Recovery Manager(RMGR) starts = = = = TmaxTibero Corporation Copyright (c) 2020-. All rights reserved. = ============================================================================== RMGR Error: can't connect to Databases. RMGR Server Error: -17001<해결방법>
'--userid' property를 이용하여 수행할 수 있습니다.
'--userid sys/'[password]@[tbdsn.tbr 에 있는 자기 자신의 alias]' 로 수행합니다.
tsc@localhost ~ ➤ tbrmgr backup --for-standby -o /data/rmgr_dir --userid sys/'Tibero123!@#@tsc' ============================================================================== = Recovery Manager(RMGR) starts = = = = TmaxTibero Corporation Copyright (c) 2020-. All rights reserved. = ============================================================================== archive log check succeeded RMGR '-o' option used : backing up to /data/rmgr_dir ============================================================================== RMGR - Backup (FOR STANDBY) ============================================================================== Initializing the backup progress, it may take few minutes... BACKUP (set_id: 4, ts_id: 0, df_id: 0) 100.0% |===============================>| 12800/12800 blks 0.00s Synchronizing... BACKUP (set_id: 4, ts_id: 1, df_id: 1) 100.0% |===============================>| 12800/12800 blks 0.00s Synchronizing... BACKUP (set_id: 4, ts_id: 3, df_id: 2) 100.0% |===============================>| 16384/16384 blks 0.00s Synchronizing... BACKUP (set_id: 4, ts_id: 4, df_id: 3) 100.0% |===============================>| 39680/39680 blks 0.00s Synchronizing... Switching an online logfile... Backing up archive logfiles... Archivelog log-t0-r0-s17.arc (thread: 0, set_id: 4, low_tsn: 250392, next_tsn: 251553) backed up Archive logfiles backup succeeded Backing up online logfiles... Backing up the control file... Control file backup succeeded Backing up the password file... Password file backup succeeded Database backup succeeded RMGR backup endsstandby 서버에서 tbrmgr을 통해 recover 수행 중 기존 control file이 존재할 경우 아래와 같이 진행이 되지 않습니다.
※ standby 서버의 control file을 삭제 후 재 수행 시 정상적으로 수행 됩니다.
tsc@localhost /data ➤ tbrmgr recover --for-standby -o /data/rmgr_dir ============================================================================== = Recovery Manager(RMGR) starts = = = = TmaxTibero Corporation Copyright (c) 2020-. All rights reserved. = ============================================================================== RMGR '-o' option used : restoring from /data/rmgr_dir ============================================================================== RMGR - recovery (STANDBY) ============================================================================== Shutting down the instance... shmget failed. errno: 2 Tibero instance terminated (ABNORMAL mode). info file is deleted. unlink failed.: No such file or directory Control file #0 (/data/tbdata/c1.ctl) is accessible RMGR Error: Control files must not exist for the option '--for-standby.'TAC 양 노드가 모두 운영 중이고, 양 노드의 LOG_ARCHIVE_DEST의 경로가 다를 경우 tbrmgr 수행 시 백업이 진행되지 않습니다.
[tibero@node1 ~]$ tbrmgr backup --for-standby -o /root/tbrmgr/ ============================================================================== = Recovery Manager(RMGR) starts = = = = TmaxTibero Corporation Copyright (c) 2020-. All rights reserved. = ============================================================================== archive log check succeeded RMGR Error: All instances must have same LOG_ARCHIVE_DEST on the shared disk to backup archive logfiles.이런 상황에서는 'tbrmgr backup --for-standby' 명령어를 수행하지 않는 다른 노드를 Down 후 tbrmgr을 수행해야 합니다.