>  기사  >  데이터 베이스  >  데이터베이스 복구 기술이란 무엇입니까?

데이터베이스 복구 기술이란 무엇입니까?

青灯夜游
青灯夜游원래의
2021-07-27 11:17:2922231검색

데이터베이스 복구 기술에는 다음이 포함됩니다. 1. 데이터 덤프는 DBA가 정기적으로 전체 데이터베이스를 테이프나 다른 디스크에 복사하여 저장하는 프로세스입니다. 2. 로그 파일을 등록합니다. 로그 파일은 데이터베이스에 트랜잭션의 업데이트 작업을 기록하는 데 사용되는 파일입니다. 로그 파일을 설정하면 트랜잭션 오류 복구, 시스템 오류 복구 및 미디어 오류 복구 시 백업 복사본을 지원할 수 있습니다.

데이터베이스 복구 기술이란 무엇입니까?

이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.

데이터베이스 복구 개요

 데이터베이스 관리 시스템에는 오류 상태에서 알려진 올바른 상태로 데이터베이스를 복구하는 기능이 있어야 합니다. 복구 하위 시스템은 데이터베이스 관리 시스템의 중요한 부분이며 규모가 상당히 커서 전체 시스템 코드의 10% 이상을 차지하는 경우가 많습니다. 데이터베이스 시스템에 사용되는 복구 기술의 유효성 여부는 시스템의 신뢰성에 결정적인 역할을 할 뿐만 아니라, 시스템의 운영 효율성에도 큰 영향을 미친다. .

  시스템 오류를 소프트 오류, 미디어 오류를 하드 오류라고 합니다. 하드 결함은 디스크 손상, 헤드 충돌, 순간적인 강한 자기장 간섭 등과 같은 외부 저장소 결함을 나타냅니다. 이러한 유형의 실패는 데이터베이스 또는 데이터베이스의 일부를 파괴하고 데이터의 이 부분에 액세스하는 모든 트랜잭션에 영향을 미칩니다.

컴퓨터 바이러스

  다양한 유형의 오류를 요약하면 데이터베이스에 미치는 영향은 두 가지 가능성이 있습니다. 하나는 데이터베이스 자체가 손상되었다는 것입니다. 두 번째는 데이터베이스가 손상되지 않았으나 트랜잭션이 비정상적으로 종료되어 데이터가 부정확할 수 있다는 것입니다.

복구 구현 기술

복구 메커니즘에는 두 가지 주요 문제가 있습니다.

1. 중복 데이터를 설정하는 방법

2.

중복 데이터를 생성하는 가장 일반적인 기술은 데이터 덤프와 로그 파일입니다. 일반적으로 데이터베이스 시스템에서는 이 두 가지 방법을 함께 사용합니다.

데이터 덤프

데이터 덤핑은 데이터베이스 복구에 사용되는 기본 기술입니다. 소위 덤프는 DBA가 정기적으로 전체 데이터베이스를 테이프나 다른 디스크에 복사하여 저장하는 프로세스입니다. 이러한 예비 데이터는 대기 복사본 또는 백업 복사본이 됩니다.

덤프는 정적 덤프와 동적 덤프로 나눌 수 있습니다.

  • 정적 덤프는 시스템에 실행 중인 트랜잭션이 없을 때 수행되는 덤프 작업입니다. 즉, 덤프 작업이 시작되면 데이터베이스는 일관성 있는 상태에 있으며, 덤프 중에는 데이터베이스에 대한 액세스나 수정 활동이 허용되지 않습니다. 분명히 정적 덤프에서 얻는 것은 일관된 데이터 복사본이어야 합니다.

  • 동적 덤프는 덤프 중에 데이터베이스에 액세스하거나 수정할 수 있음을 의미합니다. 그러나 덤프가 끝난 후 백업 복사본에 있는 데이터는 정확하고 유효하다고 보장되지 않습니다. 이를 위해서는 덤프 기간 동안 각 트랜잭션의 수정 활동을 데이터베이스에 등록하고 로그 파일을 생성해야 합니다. 이렇게 하면 로그 파일과 함께 백업 복사본이 특정 시점에 데이터베이스를 올바른 상태로 복원할 수 있습니다. 순간.

덤프는 대량 덤프와 증분 덤프의 두 가지 방법으로 나눌 수 있습니다. 대량 덤프는 매번 전체 데이터베이스를 덤프하는 것을 의미합니다. 증분 덤프는 이전 덤프 이후 업데이트된 데이터만 덤프하는 것을 의미합니다. 복구 관점에서 보면 일반적으로 복구를 위해 대량 덤프에서 얻은 백업 복사본을 사용하는 것이 더 편리합니다.
데이터 덤프 방법은 동적 증분 덤프, 동적 대량 덤프, 정적 증분 덤프, 정적 대량 덤프의 네 가지 범주로 나눌 수 있습니다.

로그 파일 등록

로그 파일의 형식 및 내용

로그 파일은 데이터베이스에 트랜잭션 업데이트 작업을 기록하는 데 사용되는 파일입니다. 로그 파일에는 레코드의 로그 파일과 데이터 블록의 로그 파일이라는 두 가지 주요 형식이 있습니다.

기록 단위의 로그 파일, 등록해야 하는 내용은 다음과 같습니다.

1. 각 트랜잭션의 시작 표시
2. 각 트랜잭션의 끝 표시
3. 각 트랜잭션의 모든 업데이트 작업

내용 각 로그 레코드에는 다음이 포함됩니다.

1. 트랜잭션 식별(어떤 트랜잭션인지 표시)
2. 작업 유형(삽입, 삭제 또는 수정)
3. 작업 개체(기록 내부 식별)
4. 이전 데이터의 이전 값 update
5. Update 최종 데이터의 새로운 가치

로그 파일의 역할

로그 파일은 데이터 복구에 있어 매우 중요한 역할을 합니다. 트랜잭션 오류 복구 및 시스템 오류 복구에 사용할 수 있으며 미디어 오류 복구 시 백업 복사본을 지원합니다.

특정 기능은 다음과 같습니다.

1. 로그 파일은 트랜잭션 오류 복구 및 시스템 오류 복구에 사용해야 합니다.

2 로그 파일은 백업 복사본과 로그 파일을 효과적으로 결합할 수 있습니다. 데이터베이스를 복원합니다.

3. 정적 덤프 모드에서는 로그 파일도 생성할 수 있습니다.

로그 파일 등록

데이터베이스를 복구할 수 있으려면 로그 파일을 등록할 때 두 가지 원칙을 따라야 합니다.
1. 등록 순서는 동시 트랜잭션 실행 시간 순서를 엄격히 준수해야 합니다.
2. 로그 파일을 먼저 등록해야 하며, 그런 다음 데이터베이스에 기록됩니다.

복구 전략

거래 실패 복구

거래 실패 복구는 시스템에 의해 자동으로 완료되며 사용자에게 투명하게 진행됩니다. 시스템의 복구 단계는 다음과 같습니다.

1. 로그 파일을 반대 방향으로 스캔합니다(즉, 로그 파일을 끝부터 스캔). 트랜잭션의 업데이트 작업을 찾습니다.

2. 트랜잭션 업데이트 작업의 역작업을 수행합니다. 즉, 로그 레코드의 "업데이트 전 값"이 데이터베이스에 기록됩니다. 이런 방식으로 레코드가 삽입 작업이면 삭제 작업과 동일하고, 레코드가 삭제 작업이면 삽입 작업이 수행되고, 대신 이전 값을 수정하는 것과 같습니다. 수정된 값의

3. 계속해서 로그 파일을 역순으로 스캔하고 트랜잭션의 다른 업데이트 작업을 찾아 동일한 작업을 수행합니다.

4. 이 트랜잭션의 시작 표시를 읽고 트랜잭션 실패 복구가 완료될 때까지 이런 방식으로 계속 처리합니다.

시스템 오류 복구

거래 오류 복구는 시스템에 의해 자동으로 완료되며 사용자에게 투명하게 공개됩니다. 시스템의 복구 단계는 다음과 같습니다.

1. 로그 파일을 스캔하여 오류가 발생하기 전에 제출된 트랜잭션을 찾고 해당 트랜잭션 식별자를 다시 실행 대기열에 기록합니다. 동시에, 실패가 발생했을 때 완료되지 않은 트랜잭션을 찾아 해당 트랜잭션 표현을 실행 취소 대기열에 포함시킵니다.

2. 실행 취소(UNDO) 대기열의 각 트랜잭션을 실행 취소합니다.

UNDO 처리 방법은 로그 파일을 역으로 스캔하여 각 UNDO 트랜잭션의 업데이트 작업에 대해 역 작업을 수행하는 것입니다. 즉, 로그 레코드의 "업데이트 전 값"을 데이터베이스에 기록합니다.

3. Redo Queue의 트랜잭션마다 REDO REDO 처리

REDO 처리 방법은 로그 파일을 앞으로 스캔하여 REDO 트랜잭션마다 로그 파일 등록 작업을 다시 실행하는 것입니다. 즉, 로그 레코드의 "업데이트된 값"이 데이터베이스에 기록됩니다.

미디어 오류 복구

오류를 복구하는 방법은 데이터베이스를 다시 설치한 다음 완료된 트랜잭션을 다시 실행하는 것입니다.

1. 데이터베이스의 최신 백업 복사본을 로드하는 것은 데이터베이스를 최신 덤프의 일관성 상태로 복원하는 것입니다.

2. 해당 로그 파일의 복사본을 로드하고 완료된 트랜잭션을 다시 실행하세요. 즉, 먼저 로그 파일을 스캔하여 오류가 발생했을 때 커밋된 트랜잭션의 ID를 찾아 이를 다시 실행 대기열에 포함시킵니다. 그런 다음 로그 파일을 스캔하여 리두 큐의 모든 트랜잭션을 리두합니다. 즉, 로그 레코드의 "업데이트된 값"이 데이터베이스에 기록됩니다.

미디어 오류를 복구하려면 DBA 개입이 필요합니다. 그러나 DBA는 최근에 덤프된 데이터베이스 복사본과 관련 로그 파일 복사본을 다시 설치한 다음 시스템에서 제공하는 복구 명령을 주문하면 특정 복구 작업은 여전히 ​​DBMS에 의해 완료됩니다.

데이터베이스 미러링

디스크 용량이 점점 커질수록 가격은 점점 저렴해집니다. 디스크 미디어 오류가 데이터베이스 가용성에 영향을 미치는 것을 방지하기 위해 많은 데이터베이스 관리 시스템에서는 데이터베이스 복구를 위한 데이터 배포 기능을 제공합니다. DBA의 요청에 따라 전체 데이터베이스 또는 그 안의 주요 데이터가 자동으로 다른 디스크에 복사됩니다.

데이터베이스 미러링은 데이터 복사를 통해 이루어지기 때문에 데이터를 자주 복사하면 자연스럽게 시스템 운영 효율성이 저하됩니다. 따라서 시간 애플리케이션에서는 사용자가 전체 데이터베이스를 미러링하는 대신 주요 데이터와 로그 파일만 미러링하는 경우가 많습니다.

(추천 튜토리얼: mysql 비디오 튜토리얼)

위 내용은 데이터베이스 복구 기술이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.