Avamar: Oracle 백업이 실패하고 "exceeded limit of 0 corrupt blocks for file"
Summary: 손상된 블록으로 인한 Oracle 백업 장애에 대한 해결책을 제공하는 KB(Knowledge Base) 문서입니다.
Symptoms
Activity 창에는 백업이 실패한 것으로 표시되지만 Avamar Administrator 콘솔 또는 AUI(Avamar User Interface)에서는 복구할 수 있습니다. 데이터 세트에서 "Backup up archive logs" 옵션이 활성화된 경우 특히 그렇습니다.
Oracle 백업이 실패하고 다음과 유사한 오류 메시지가 표시될 수 있습니다.
avoracle Error <7934>: Snapup of EBSP aborted due to rman terminated abnormally - check the logs
...
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup plus archivelog command at 11/19/2015 20:52:52
ORA-19566: exceeded limit of 0 corrupt blocks for file E:\ORACLE\EMC\DB\AVAMAR\DATABASE.DBF
Recovery Manager complete.
Cause
해당 데이터베이스 파일에 손상된 데이터 블록이 있습니다.
다음 명령을 실행하여 이를 확인할 수 있습니다.
SQL> select * from v$database_block_corruption;
Resolution
손상된 데이터베이스 파일을 다시 정상 상태로 되돌리려면 Oracle RMAN(Recovery Manager) 플러그인을 사용하여 손상된 블록 복구를 수행해야 합니다.
Dell Avamar for Oracle 사용자 가이드에 따라 먼저 손상된 블록 복구에 대한 데이터베이스를 구성해야 합니다. 이 작업은 Oracle 데이터베이스에 대해 DB_BLOCK_CHECKSUM 초기화 매개변수를 TYPICAL로 설정하여 수행됩니다. 이 매개변수 설정을 통해 RMAN은 물리적 손상과 논리적 손상을 모두 탐지할 수 있습니다.
그런 다음 DELL Avamar for Oracle 사용자 가이드 의 지침에 따라 데이터베이스를 원래 클라이언트로 복원합니다. Recovery Type 필드에서 "Corrupt blocks" 옵션을 선택합니다.
손상된 블록 복구가 실패하면 SET MAXCORRUPT 명령을 사용하여 파일에 허용되는 총 손상 수를 설정합니다. 기본값은 0입니다. 즉, RMAN은 모든 종류의 손상된 블록을 허용하지 않습니다.
RMAN이 백업 중에 손상된 블록을 발견할 때 MAXCORRUPT 제한을 초과하면 RMAN이 백업을 종료합니다. 그렇지 않으면 RMAN은 블록이 손상된 것으로 표시되었음을 나타내는 특수 헤더를 사용하여 손상된 블록을 백업에 기록합니다.
참고문헌: https://docs.oracle.com/cd/B28359_01/backup.111/b28273/rcmsynta043.htm#RCMRF153 (외부 링크)
하지만 Avamar Administrator 콘솔을 사용한 백업에서는 이 해결 방법을 활용할 수 없습니다. 따라서 Oracle RMAN(Recovery Manager) 스크립트를 사용하여 명령줄 백업을 수행해야 합니다. Avamar Oracle User Guide의 "Backup and Restore with Oracle RMAN" 섹션을 참조하십시오.
손상된 데이터 블록 관련 문제를 영구적으로 해결하려면(권장) 추가 문제 해결을 위해 Oracle 지원센터에 문의해야 합니다.