안녕하세요..
예를 들어 하루에 아래처럼 백업을 진행 했다고 하면
03시 : 전체백업
12시 : 차등백업
18시 : 로그백업
24시 : 로그백업
18시 로그 백업시에는 몇시 데이타 부터 기록이 되는 건가요? 아래 세가지 경우중.
- 전날 24시가 마지막 로그 백업이었으므로 그 이후
- 당일 03시 전체백업 이후
- 당일 12시 차등 백업 이후
만약 01시에 데이타 깨져서 복원 한다고 하면 아래 순서대로 하면 되는건가요?
- 03시 전체백업
- 12시 차등백업
- 18시 로그백업
- 24시 로그백업
제가 알기로 로그 백업은 직전 로그 백업 받은 이후부터(로그 비운후) 백업 된다고 알고 있는데,
위 처럼 작업 한다고 하면 제가 알고 있는게 틀린건가요?
(그런데 풀 백업을 받아도 로그를 비우지 않으면 계속 싸이고 있어서 정말 헷갈리네요.ㅠㅠ)
로그백업은
전체백업,차등백업,로그백업 셋중 어떤걸 실행해도 그 이후 데이타 변경분부터 백업이 되는 건가요?
Comment 4
-
catchv
2013.03.26 11:07
-
히말라야5
2013.03.28 10:01
답변 진심으로 감사 드립니다.^^
아래 처럼 답변 주셔서 한가지만 더 질문 드리겠습니다.
==============================================================================================
보통은 전체백업 -> 로그백업(n개) -> 차등백업 -> 로그백업(n) -> .... -> 전체백업 과 같은 구조를 가지고 가능 경우가 많습니다.
==============================================================================================
01시: 전체백업
02시: 로그백업
03시: 로그백업
04시: 로그백업
05시: 차등백업
06시: 로그백업
07시: 로그백업
했다고 하면 06시 로그백업은 아래 두가지 경우중 어떤 내용이 백업 되게 되나요?
경우1) 04시 ~ 06시 : 직전 로그 백업 이후부터 (말씀하신건 이게 맞는거 같습니다)
경우2) 05시~ 06시 : 차등백업 이후부터
복원시 중간 차등백업을 해도 되고 안해도 된다고 하셔서 아래 질문 하나 더 드립니다.
.
- 만약 경우1이라면 차등 백업본 복원시 이미 05시 까지 복원 된 상태고, 06시 로그 백업은 04시 부터 기록된 상태지만 (04~05시 까지는 중복) 알아서 05시 이후분부터 복원 되는 개념. (그래서 차등 백업이 필요 없다고 말씀 하신거 같습니다.)
- 만약 경우2라면 반드시 차등백업도 해줘야 될거 같구요.
그런데 아래처럼 보통 작업한다는 얘기는 (차등백업과 로그백업은 서로 상관 관계가 없다고 하면)
마찬가지로 차등백업은 필요 없어 보이는데 로그백업에 뭔가 오류 발생시 차등백업본으로 거기 까지라도 복원 하려고 하는 경우때문에 생성 하는 건가요?
보통은 전체백업 -> 로그백업(n개) -> 차등백업 -> 로그백업(n) ->
-
유스
2013.03.26 18:03
위에서 이해 하신 내용 그대로 맞습니다.
DB 백업과 로그 백업은 별개로 움직입니다.
단 DB 백업을 가지고 복원시에 그 이후 로그백업을 복원하려고 할 경우 해당 로그 백업은 DB 백업시의 LSN 바로 이후의 LSN부터 백업이 되었거나, DB 백업시의 LSN을 포함 한 로그 백업일 경우만 복원이 됩니다.
- 24시 로그백업 -> LSN ~90
- 03시 전체백업 -> LSN 100
- 12시 차등백업 -> LSN 110
- 18시 로그백업 -> LSN 91~120
- 24시 로그백업 -> LSN 121~130
이렇기 때문에 03시 이후 12시 차등까지 복원하면 복원시의 마지막 LSN은 110이 되고
18시의 로그백업으로 복원이 가능하며 이후 24시의 로그백업으로 복원하면 마지막 LSN130까지 작업이 복원이 되죠.
다른 방법으로는 03시 풀백업 복원 후 12시 차등 복원 안하고 바로 18시 로그백업과 24시 로그백업으로도 복원이 됩니다.
다만 시간이 더 걸리겠죠.
DB와 로그 백업이 서로 다른 작업이라는 것만 기억하고 LSN만 기억하면 될 듯 합니다..
그래서 로그 백업 안 하면 계속 쌓이는 겁니다. DB 백업한다고 로그에 영향을 안 주니까요..
-
히말라야5
2013.03.28 10:22
답변 진심으로 감사 드립니다.^^
내용 잘 이해 안되서 윗분 답변에 다시 질문 드렸는데(^^) 몇번 읽어 보니 좀 이해가 되네요.
혹 제가 이해한 내용이 맞는지 확인 부탁 드립니다.
- 로그백업은 전체백업,차등백업과 상관없이 이뤄진다. (LSN 개념으로 계속 이어짐)
- 전 이렇게 되면 뭔가 백업 내용이 중복되서 복원시 문제가 되는걸로 생각 했는데.
- 전체복원 이후에 차등,로그 복원시 DB가 알아서 내용 중복 안되는 지점부터 처리해 준다.
- 그래서 차등 복원을 하면 그 이후 로그 내용부터 처리 되고, 혹 차등 복원을 안하면 그 직전 로그 내용부터 복원 하기 때문에
차등복원을 해도 안해도 상관없다.
- 결국 풀 백업 이후 작업한 차등,로그 백업은 파일만 이상 없으면 차등을 복원 해도 되고 안해도 된다.
이건 좀 틀린 질문이지만
- 혹 로그백업은 연속성이 있어야 하므로 파일 잘못될 경우 때문에 차등백업을 중간에 한번쯤 해주는게 좋은 건가요?
제가 이해한 내용이 맞으면 정말 감사합니다.^^
전체백업을 기준으로 보시면 됩니다.
무조건 전체백업이 있어야 복원이 됩니다.
차등은 전체백업 이후에 변경된 모든 데이터를 저장 합니다.(중간에 로그 백업을 한다해도 전체백업 이후의 모든 데이터가 백업 됩니다.)
로그는 전체백업 이후에 변경된 데이터를 백업하고 다음에 백업은 로그 백업 이후에 변경된 로그가 백업 된다고 보시면 됩니다.
(전체백업 이전으로 로그백업을 가지고 돌릴 수는 없습니다.)
01시에 데이터가 문제 생겼다면 전체백업 -> 차등백업 -> 로그백업 -> 로그백업 혹은 전체백업->로그백업->로그백업 중 어느것을 하셔도 됩니다.(지금 백업 스케줄로는 차등백업의 의미가 없어 보입니다.)
보통은 전체백업 -> 로그백업(n개) -> 차등백업 -> 로그백업(n) -> .... -> 전체백업 과 같은 구조를 가지고 가능 경우가 많습니다.
-- catchv