트랜잭션 로깅

Domino ® 트랜잭션 로깅은 데이터베이스에 대한 변경 사항을 캡처하여 트랜잭션 로그에 기록합니다. 그러면 기록된 트랜잭션은 리소스가 사용 가능하거나 예약될 때 일괄적으로 디스크에 기록됩니다.

트랜잭션은 서버의 데이터베이스에 적용된 일련의 변경 사항입니다. 예를 들어, 새 문서 열기, 텍스트 추가 및 문서 저장은 하나의 트랜잭션입니다. 이 경우 트랜잭션은 NotesOpen, NoteUpdate 및 NoteClose라는 세 가지 별도의 암시적 API 호출로 구성됩니다.

트랜잭션 로그는 Notes ® 데이터베이스에 대한 변경 사항의 기록입니다. 트랜잭션 로그는 로그 범위와 로그 제어 파일( NLOGCTRL.LFH )로 구성됩니다. 로그 범위는 트랜잭션 로그가 기록되는 로그 파일 중 하나입니다. 형식은 S xxxxxxx .TXN 이며, 여기서 xxxxxxx 문자는 해당 서버에 고유한 7자리 숫자를 나타냅니다. Domino ®는 새 범위에 데이터를 쓰기 전에 각 범위를 순차적으로 채웁니다. 레코드는 독점 바이트 스트림 형식을 사용하여 보호됩니다. 각 서버에는 트랜잭션 로깅이 활성화된 데이터베이스에 대한 모든 변경 사항을 캡처하는 트랜잭션 로그가 하나만 있습니다.

트랜잭션 로깅을 사용하여 다음을 수행합니다.

  • 정기적인 백업을 예약하세요. 트랜잭션 로그를 기반으로 하는 백업은 트랜잭션 로깅을 사용하지 않는 전체 데이터베이스 백업보다 빠르고 쉽습니다.
  • 미디어 오류에서 복구합니다. 미디어 오류가 발생한 경우 테이프에서 가장 최근의 전체 백업을 복원한 다음 트랜잭션 로그를 사용하여 디스크에 기록되지 않은 데이터를 추가할 수 있습니다.
  • 시스템 충돌로부터 복구합니다. 서버가 다시 시작되면 트랜잭션 로그 끝까지 실행되며 충돌 시 디스크에 기록되지 않은 모든 쓰기가 복구됩니다. 로깅된 데이터베이스에는 일관성 검사가 필요하지 않습니다.
  • 데이터베이스 보기를 기록합니다. 대부분의 뷰 재구축을 피할 수 있습니다.

백업 및 백업 복구를 위해 트랜잭션 로깅의 모든 기능을 사용하려면 Domino ® C API Toolkit의 백업 및 복구 방법을 사용하는 타사 백업 유틸리티가 필요합니다. 예를 들어, 미디어 복구의 경우 타사 유틸리티를 사용하여 데이터베이스 백업이 수행되고 로깅은 데이터베이스 업데이트를 추적합니다. 데이터베이스가 손실되면 트랜잭션 로그를 검토하고 데이터베이스 백업이 수행된 이후 해당 데이터베이스에 발생한 모든 업데이트를 적용하여 백업이 현재 상태로 전환됩니다.

재시작 복구에는 타사 유틸리티가 필요하지 않습니다. 이 경우 업데이트가 진행되는 동안 로깅이 계속됩니다. 서버가 충돌한 후 다시 시작되면 손실되었을 업데이트가 데이터베이스에 기록됩니다. 이는 서버 충돌로 인한 데이터 손실 및 데이터베이스 손상을 크게 줄이고, 데이터베이스의 일관성 확인이 필요하지 않기 때문에 전반적인 재시작 시간을 단축합니다.

참고: 트랜잭션 로깅이 필요하며 Domino ® 8.5 이상에서 사용 가능한 Domino ® 첨부 파일 및 개체 서비스를 사용하여 서버 저장소에 첨부 파일을 통합하려는 경우 활성화된 상태로 유지해야 합니다.

데이터베이스 인스턴스 ID(DBIID) 이해

트랜잭션 로깅을 활성화하면 Domino ®는Domino ® 데이터베이스에 고유한 DBIID(데이터베이스 인스턴스 ID)를 할당합니다. Domino ® 는 로그에 트랜잭션을 기록할 때 이 DBIID를 포함합니다. 복구 중에 Domino ®는 DBIID를 사용하여 트랜잭션을 데이터베이스와 일치시킵니다.

옵션과 함께 Compact 명령을 사용하는 것과 같은 일부 데이터베이스 유지 관리 활동으로 인해 Domino ®는 이전 트랜잭션 로그 레코드가 더 이상 유효하지 않은 방식으로 데이터베이스를 재구성합니다. 이런 일이 발생하면 새 DBIID가 데이터베이스에 할당됩니다. 그 시점부터 해당 데이터베이스의 로그에 기록된 모든 새 트랜잭션은 새 DBIID를 사용합니다. 데이터베이스에 새 DBIID가 할당된 후 데이터베이스의 새로운 전체 백업을 수행합니다. 새 전체 백업은 새 DBIID를 사용하여 현재 상태의 데이터베이스를 캡처합니다. 그런 다음 데이터베이스를 복원해야 하는 경우 Domino ®에는 새 DBIID가 포함된 새 트랜잭션만 필요합니다.

Domino ®는 다음과 같은 경우에 새 DBIID를 할당합니다.

  • 처음으로 트랜잭션 로깅을 활성화합니다.
  • 파일 크기를 줄이는 옵션 등의 옵션을 사용하여 압축 작업을 실행합니다.
  • 손상된 데이터베이스에서 수정 작업을 실행합니다.
  • Domino ® 데이터베이스를 기록된 서버로 이동합니다.