database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 34981 게시물 읽기
No. 34981
백업 정책을 만들고 있는데 궁금한 점이 생겼습니다!!
작성자
작성일
2008-12-17 11:56
조회수
2,295

이번에 웹 서비스를 준비하고 있습니다.

DB는 오라클을 사용하고 있구요.

돈에 관련된 부분이 있어서 DB관리를 확실하게 해야 하는 필요성이 생겼습니다.

그래서 요즘 오라클의 백업 정책을 구상하고 있습니다.

예전에 즐겨찾기에 추가해 두었던 이 곳에 들어왔는데 좋은 정보들이 많더군요.

그동안 맨날 눈팅만 하면서 나름대로 내용을 만들어 보게되던 중에 궁금한점이 생겨시 이렇게 글을 남기게 되었습니다.


본론으로 들어가자면

테스트 중이라 Oracle 9i + window XP + 제 컴퓨터를 서버로 쓰고 있구요.

서비스의 특징은 자주 트랜잭션이 발생하고 항상 DB를 켜놓아야하고 손실되는 데이터가 없어야 하는 경우입니다.

이런경우는 모 게임들 처럼 정기점검일을 만들어서 DB를 내리고 백업을 하는게 좋겠죠?


백업은 기본적인 정책처럼


0. Archive Mode 로 운행을 하고 Redo log file, Controlfile, Archive log file 은 D와 E 드라이버에 저장되게 설정해놨구요.

1. 매달 Cold Backup을 하고

 -> datafile, controlfile, redo log file 정도

2. 매주 Hot Backup을 하고

 -> datafile, controlfile(trace) 정도

3. 매일 Archive log, 자주 사용되는 Tablespace를 Backup 하기

 -> archive log file, 사용자 기록이 남는 tablespace 정도

로 구상을 해보았습니다.

4. 폴더 구조


# archive log file의 백업을 저장할 폴더 생성.

MKDIR e:\ora\backup\daily\archive 


# 오프라인, 온라인, 날짜 별로 백업을 저장할 폴더 생성.

MKDIR e:\ora\backup\offline\20081215 오프라인 백업

MKDIR e:\ora\backup\offline\20081215\a_tablespace 오프라인 백업

MKDIR e:\ora\backup\offline\20081215\b_tablespace 오프라인 백업


MKDIR e:\ora\backup\online\20081215 온라인 백업

MKDIR e:\ora\backup\online\20081215\a_tablespace 온라인 백업

MKDIR e:\ora\backup\online\20081215\b_tablespace 온라인 백업 


# controlfileredo log file의 멀티 사용을 위한 폴더 생성. (D드라이버에 오류발생시 사용할 파일)

MKDIR e:\ora\biz


# 아카이브 로그의 멀티 사용을 위한 폴더 생성

MKDIR d:\oracle\oradata\biz\archive

MKDIR e:\ora\biz\archive

# 멀티 사용을 위한 Parameter 설정하기(Controlfile, Archive Log)

# Parameter 파일 위치 - d:\oracle\admin\biz\pfile\init.ora.113200814935

###########################################

# File Configuration Controlfile 설정 부분 수정(해당 위치에 control 파일들을 위치시킨다.)

###########################################

control_files=("D:\oracle\oradata\biz\CONTROL01.CTL", "D:\oracle\oradata\biz\CONTROL02.CTL", "D:\ora\biz\CONTROL03.CTL")

###########################################

# Archive Log 설정 부분 추가

###########################################

log_archive_start=true;

log_archive_dest_1="loaction=d:\oracle\oradata\biz mandatory"

log_archive_dest_2="loaction=e:\ora\biz\archive

log_archive_formet=arch_%T_%S.arc


# redo log file 도 그룹 3개를 만들어 그룹당 맴버 2개씩해서 D와 E에 하나씩 생성하였습니다.


백업까지는 이렇게 만들어 보았는데 문제는 

1. archive log backup 한 내용을 유지하는 것

2. 폴더구조

3. 복구

이렇게 3가지입니다. 


- 문제점1번

archive log는 datafile에 발생하는 트랜잭션을 redo log file에 기록되는데 용량이 넘어서 다음 그룹으로 넘어갈때 redo log를 아카이빙해서 남기는거잔요.

주기적으로 하는 Cold와 Hot Backup을 하게되는데

첨에 생각했던건 1일에 cold백업을하고 아카이브를 보관하고 있다가

5일에 hot 백업을 한다음에 이전 archive log는 지우고 다시 다음 백업이 있을 때까지 보관하고 그런식으로 생각을 했는데요

문제는 7일에 장애가 발생했는데

5일에 hot 백업한 내용을 사용하지 못할 경우에는 5일부터의 archive log와 1일에 cold backup한 내용을 가지고 7일의 장애시점 전까지 복구를 해야하자나요

여기서 제가 첨에 생각했던대로 한다면 cold 이후부터 archive log를 가지고 있는게 아니고 사용할 수 없는 hot 백업 부터 가지고있으니깐 

1일부터 5일사이의 데이터는 복구할 수가 없게 되는건데

이럴 경우에는 archive log를 어떤식으로 백업 받아놔야 하는건지 궁금합니다!!!!

폴더구분방법이나 유지기간이나 방법등...


- 문제점 2번

cold 백업과 hot 백업의 폴더 구조인데요

cold는 2~3회 전 기록을 유지하고 hot 백업은 7회 전 기록을 유지하려고 구상했습니다.

문제이런식으로 할 경우에 위에 적은 경로처럼 백업 작업을 한 날짜로 폴더명을 구분해서 사용하면 될까요?



- 문제점 3번

복구에는 완전 복구와 불완전 복구가 있다고 알고 있습니다.

그것을 구분 하는 기준은 

장애발생시점 전까지 모두다 조건이 만족해서 복구 작업을 완료햇을 경우를 완료 복구라하고

꼭 장애발생시점 전까지가 아니고 중간의 기록이 없다거나 DBA의 설정대로 어느시점까지만 복구하는게 불완전 복구 인건가요?


복구에 대해서 찾아보던중 아래의 불완전 복구시 사용하는

SQL> alter database open resetlogs;

를 하고나면 archive log sequence가 초기화 되어 이전 archive log를 복구에 사용할 수 없다는 내용이 있었습니다.

그렇다면 7일날 장애가 발생해서 5일날 hot 백업을 한 파일을 가지고 불완전 복구를 했는데 5일날 백업한 내용보다 더 이전인 3일날 백업한 내용으로 복구를 다시 해야한다고 하면

문제는 5일날 복구할때 arvhice log sequence가 초기화 되었으면 3일날 복수할때 arvhice log sequenc가 틀려서 복구가 안되지 않을까요?

백업과 복구사이에서 일어나는 arvhice log sequence의 변화에 대해서 궁금증합니다.



마지막으로 복구에 대해서 확실하게 알수 있는 방법은 어떤것들이 있을까요??





쓰다보니 길이 무지 길어졌네요 ;;;;

이제 백업과 복구에 대해서 공부한지 일주일이 지나고 있는 시점이라 궁금한점이 무지 많네요 ㅋ

내일 오후까지 정책 구상을 완료해야하는데 걱정입니다....

Oracle 고수님들의 많은 지적과 답변을 기다리겠습니다.

귀찮으시더라도 도와주세요~~~~~~~~~~~~


 

[Top]
No.
제목
작성자
작성일
조회
34985쿼리 도움좀 주세요~ [2]
초보
2008-12-17
2877
34984update select 에 대한 질문 [2]
장현철
2008-12-17
3476
34983백업과 복구시 archive 관련 질문드립니다., [4]
윤철민
2008-12-17
13020
34981백업 정책을 만들고 있는데 궁금한 점이 생겼습니다!!
2008-12-17
2295
34980LONG 타입 데이타 등록시 에러
오라클
2008-12-16
2586
34978특정 컬럼의 중복을 제거하고 싶습니다. [6]
신성욱
2008-12-16
3317
34977view테이블에 컬럼 추가 [1]
박성숙
2008-12-16
7103
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.026초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다