현상
RMGR 백업 중, ERROR_TCCF_RMGR_GET_FREE_BACKUP_SET_RECNO_FAILED(-24066) 발생하면서 백업 실패하였습니다.
SVR Error: -24066 Failed to get free backup set record number in the control file.
# sys,log
[2023-06-07T07:15:29.379967] [FRM-188] [I] THROW. ec=ERROR_TCCF_RMGR_GET_FREE_BACKUP_SET_RECNO_FAILED(-24066) [ Failed to get free backup set record number in the control file. ] (csr_id:4294967295) [cf_backup_set.c:594:cf_backup_set_add_for_archive_only]
[2023-06-07T07:15:29.404513] [RVP-108] [I] RV master received SLAVE 1(188) DONE
[2023-06-07T07:15:52.795398] [PE-807] [I] pe slave allocation failed, force serial execution: csr_id=472, slave_cnt=10, total_pes_cnt=22
SQL
복사
원인
rmgr 수행 시, 컨트롤 파일에 저장 가능한 백업 셋 개수 500이 되어 오류가 발생합니다.
SQL> select NAME, RECORD_MAX from _VT_CONTROLFILE_RECORD_SECTION where name in ('backup set','archive log');
---------------------------------------------------------
| NAME | RECORD_MAX |
---------------------------------------------------------
| backup set | 500 |
| archive log | 500 |
---------------------------------------------------------
2 rows selected.
SQL
복사
해결
1. backup_set 개수 확인
현재 backup_set 개수를 확인합니다.
select count(*) from v$backup_set;
SQL
복사
2. 백업 셋 삭제
백업 디렉토리에 백업 파일이 존재하지 않는다면, control file 에서 가장 오래된 백업 셋들을 삭제합니다.
tbrmgr delete --backup-set <SET_ID> --cf-only
ex) tbrmgr delete --backup-set 3 --cf-only --userid sys/[패스워드]
--cf-only : 컨트롤 파일 내에서 아카이브 파일 또는 백업 셋을 삭제하기 위한 옵션
SQL
복사