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− 확장 된 재시작 기능과 함께 사용되는 고급 검사 점 형식입니다. 심볼릭 체크 포인트와 확장 된 재시작을 함께 사용하면 애플리케이션 프로그래머가 프로그램을 코딩하여 체크 포인트 직후 지점에서 처리를 재개 할 수 있습니다.