문서유형ㅣ장애해결
분야ㅣ관리/환경설정
적용제품버전ㅣ6FS06, 6FS07
문서번호ㅣPADTS004
현상
아카이브 경로에 물리 파일은 존재하지만 프로싱크 추출 로그에서 archived log not found 발생 및 동기화가 중단되면서 아카이브 찾지 못하는 현상이 발생할 수 있습니다.
원인
v$archived_log 뷰에 디폴트 500개까지의 아카이브 시퀀스만 저장되어 동기화에 필요한 시퀀스가 롤링 되어 사라지면 동기화 불가합니다.
해결
1. 참조 우회 방법
소스 prosync 유저에서 v$archive_dest_files 참조하는 임시 뷰 생성하여 prosync 유저의 v$archived_log를 강제적으로 참조하여 우회합니다.
CREATE OR REPLACE FORCE VIEW PROSYNC_XX_TO_US.V$ARCHIVED_LOG (NAME, THREAD#, SEQUENCE#, FIRST_CHANGE#, FIRST_TIME, NEXT_CHANGE#, RESETLOGS_CHANGE#, RESETLOGS_TIME) AS SELECT "NAME", "THREAD#", "SEQUENCE#", "FIRST_CHANGE#", "FIRST_TIME", "NEXT_CHANGE#", "RESETLOGS_CHANGE#", "RESETLOGS_TIME" FROM SYS.V$ARCHIVE_DEST_FILES;
2. 반영 후 재기동
아카이브 모두 반영 이후, 임시 뷰 drop 및 프로싱크 재기동이 필요합니다.
DROP VIEW PROSYNC_XX_TO_US.V$ARCHIVED_LOG;
참고임시 뷰를 drop하지 않고 사용할 시에 V$ARCHIVE_DEST_FILES와 V$ARCHIVED_LOG 뷰 구조가 달라 sys.log에 아래 에러 로그 발생할 수 있습니다.[06-30T13:27:42.026731] [FRM-128] [I] THROW. ec=ERROR_CACHE_FILE_OPEN_FAILED(-1003) [ Unable to open file /DBMS/PCMLAS/LOG/ARCH/log-t0-r0-s70617.arc. ] (csr_id:5055)