IMS DB-복구
데이터베이스 관리자는 시스템 장애시 데이터베이스 복구를 계획해야합니다. 오류는 응용 프로그램 충돌, 하드웨어 오류, 정전 등과 같은 다양한 유형이 될 수 있습니다.
간단한 접근
데이터베이스 복구에 대한 몇 가지 간단한 접근 방식은 다음과 같습니다.
데이터 세트에 대해 게시 된 모든 트랜잭션이 유지되도록 중요한 데이터 세트의주기적인 백업 사본을 만드십시오.
시스템 장애로 인해 데이터 세트가 손상된 경우 백업 사본을 복원하여 문제를 해결합니다. 그런 다음 누적 된 트랜잭션이 백업 복사본에 다시 게시되어 최신 상태로 유지됩니다.
간단한 접근 방식의 단점
데이터베이스 복구에 대한 간단한 접근 방식의 단점은 다음과 같습니다.
누적 된 거래를 다시 게시하는 데 많은 시간이 소요됩니다.
다른 모든 응용 프로그램은 복구가 완료 될 때까지 실행을 기다려야합니다.
논리적 및 보조 인덱스 관계가 관련된 경우 데이터베이스 복구는 파일 복구보다 더 오래 걸립니다.
비정상적인 종료 루틴
DL / I 프로그램은 표준 프로그램이 운영 체제에 의해 직접 실행되는 반면 DL / I 프로그램은 그렇지 않기 때문에 표준 프로그램이 충돌하는 방식과 다른 방식으로 충돌합니다. 비정상 종료 루틴을 사용하여 시스템이 간섭하여 ABEND (ABnormal END) 후에 복구를 수행 할 수 있습니다. 비정상 종료 루틴은 다음 작업을 수행합니다.
- 모든 데이터 세트를 닫습니다.
- 대기열에서 보류중인 모든 작업을 취소합니다.
- ABEND의 근본 원인을 찾기 위해 스토리지 덤프를 생성합니다.
이 루틴의 한계는 사용중인 데이터가 정확한지 여부를 보장하지 않는다는 것입니다.
DL / I 로그
응용 프로그램이 이상 종료되면 응용 프로그램에 의해 수행 된 변경 사항을 되돌리고 오류를 수정 한 다음 응용 프로그램을 다시 실행해야합니다. 이를 위해서는 DL / I 로그가 있어야합니다. 다음은 DL / I 로깅에 대한 핵심 사항입니다.
DL / I는 응용 프로그램이 수행 한 모든 변경 사항을 로그 파일로 알려진 파일에 기록합니다.
응용 프로그램이 세그먼트를 변경하면 DL / I에 의해 이전 이미지와 이후 이미지가 생성됩니다.
이러한 세그먼트 이미지는 애플리케이션 프로그램이 충돌하는 경우 세그먼트를 복원하는 데 사용할 수 있습니다.
DL / I는 미리 쓰기 로깅이라는 기술을 사용하여 데이터베이스 변경 사항을 기록합니다. 미리 쓰기 로깅을 사용하면 데이터베이스 변경 사항이 실제 데이터 세트에 기록되기 전에 로그 데이터 세트에 기록됩니다.
로그는 항상 데이터베이스보다 앞서 있으므로 복구 유틸리티는 모든 데이터베이스 변경 상태를 확인할 수 있습니다.
프로그램이 데이터베이스 세그먼트를 변경하기 위해 호출을 실행할 때 DL / I는 로깅 부분을 처리합니다.
복구 – 앞으로 및 뒤로
데이터베이스 복구의 두 가지 접근 방식은 다음과 같습니다.
Forward Recovery − DL / I는 로그 파일을 사용하여 변경 데이터를 저장합니다. 누적 된 트랜잭션은이 로그 파일을 사용하여 다시 게시됩니다.
Backward Recovery− 역방향 복구는 백 아웃 복구라고도합니다. 프로그램에 대한 로그 레코드는 역방향으로 읽히고 그 결과는 데이터베이스에서 반전됩니다. 백 아웃이 완료되면 데이터베이스는 그 동안 다른 응용 프로그램이 데이터베이스를 변경하지 않았다고 가정하고 실패 전과 동일한 상태에 있습니다.
검문소
체크 포인트는 애플리케이션 프로그램에 의해 수행 된 데이터베이스 변경이 완전하고 정확한 것으로 간주되는 단계입니다. 다음은 체크 포인트에 대해주의해야 할 사항입니다.
최근 체크 포인트 이전에 변경된 데이터베이스는 역방향 복구로 되 돌리지 않습니다.
가장 최근 체크 포인트 이후에 기록 된 데이터베이스 변경 사항은 정방향 복구 중에 데이터베이스의 이미지 복사본에 적용되지 않습니다.
체크 포인트 방식을 사용하면 복구 프로세스가 완료되면 가장 최근의 체크 포인트 상태로 데이터베이스가 복원됩니다.
배치 프로그램의 기본값은 체크 포인트가 프로그램의 시작입니다.
체크 포인트 호출 (CHKP)을 사용하여 체크 포인트를 설정할 수 있습니다.
체크 포인트 호출은 체크 포인트 레코드가 DL / I 로그에 기록되도록합니다.
다음은 CHKP 호출의 구문입니다.
CALL 'CBLTDLI' USING DLI-CHKP
PCB-NAME
CHECKPOINT-ID
두 가지 체크 포인트 방법이 있습니다.
Basic Checkpointing − 프로그래머는 DL / I 복구 유틸리티가 복구 처리 중에 사용하는 체크 포인트 호출을 발행 할 수 있습니다.
Symbolic Checkpointing− 확장 된 재시작 기능과 함께 사용되는 고급 검사 점 형식입니다. 심볼릭 체크 포인트와 확장 된 재시작을 함께 사용하면 애플리케이션 프로그래머가 프로그램을 코딩하여 체크 포인트 직후 지점에서 처리를 재개 할 수 있습니다.