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 40998 게시물 읽기
No. 40998
오라클 hotbackup 관련 질문
작성자
kjy(ulysses5d)
작성일
2015-11-07 07:33
조회수
8,681

오라클 hotbackup 관련 테스트 중 질문이 있어 이렇게 올립니다.

 

. alter database begin ~end backup 시

 

질문 1) 해당 hotbackup 시점의 정확한 scn 으로 복구를 하기 위해서는

백업 종료 후 archive 파일도 모두 copy 해 백업본에 같이 들고 있어야 하는지요 ?

 

- 백업 구간 중 발생하는 dml 경우에 data file 의 헤더는 고정되어 있어도 block 변경 내용은

datafile에 기록하는걸로 알고 있습니다. 따라서 나중에 백업본 가지고 DB를 open 하려면

각 Data File 에 이 변경된 Datablock을 rollback 하는 과정이 있지 싶은데.. 그러기 위해서는

그 시점 아카이브 로그 파일을 모두 들고 있어야 하나 싶어서 ..여쭤봅니다.

 

질문 2) hotbackup 은 resetlogs open 만 가능하다. redo 로그는 복사할 필요없다. ?

- 관련 내용에 대해 인터넷 검색 중 hotbackup 복제본은 resetlogs 로만 open 가능하기 때문에

redo 로그는 필요가 없어서 굳이 복사 하지 않아도 된다. 라고 하는것 같은데

왜 그런지요 ? noresertlogs로 살리지 못하는 이유 좀 ㅜㅜ;

 

질문 3) hotbackup 중 복사 관련

- 각 파일을 복사하는 순서가 따로 있는 지요 ? 예를 들어 dbf 먼저하고 ctl을 나중에 copy해야한다 라던지

- 그리고 ctl 파일은 unix 에서 cp로 복사 해도 되는지요 ? 일부 인터넷에서는

alter database backup cotrolfile ; 로 복사해야만 된다는 내용이 있어서 여쭤 봅니다.

 

 

많은 dB 고수 님들에 답변 좀 부탁 드립니다.

 

이 글에 대한 댓글이 총 1건 있습니다.

1. 말씀하신대로 백업과정에서 생성된 redo log (archive + online)파일은 restore/recovery시 반드시 필요합니다. 백업된 데이터 파일을 restore한후 오라클을 시작하면 mount 모드에서 멈추어서 recover를 요구합니다. 이때 백업중 발생한 redo log file을 이용해서 recovery를 해야 하고, 해당 파일들이 없으면 open이 불가능합니다.

2. online redo log파일은 DB가 open 모드인 경우는 복사가 불가능 합니다. online redo file파일자체가 계속 변경되고 있기 때문이지요. 계속 redo record를 기록하고 있는 online redo file을 백업하는것 자체가 사실 의미가 없는 행위입니다. 현재 시점까지의 redo record를 백업하고 싶다면 alter system archive log current 명령을 통해서 archive후 해당 archive log file을 백업할수 있습니다.  참고로 위의 (1)의 상황에서 end backup 후 alter system archive log current 명령을 통해 아직 archive되지 않은  redo record를 archive시켜서 백업본에 포함시키는게 중요합니다.


- noresetlogs로 DB를 다시 open할수 있는 경우.
restore/recovery시에 online redo파일이 유실되지 않은 상황이라면 마지막에 활성상태이던 redo log file을 다른 archive log file과 마찬가지로 DB file recovery에 사용할수 있고 그렇게 하면 complete recovery가 가능합니다. (여기서 recovery란 redo record를 db file에 적용시키는 절차입니다.) 이 상황에서 control file역시 온전하게 남아 있어서backup control file을 사용할 필요가 없었다면 noresetlogs로 open이 가능해집니다.

하지만 backup control file을 통해 recovery 프로세스로 들어 갔다면 complete recovery가 되었다고 해도 control file resyncronization을 위해서 noresetlogs를 통해서만 open이 가능합니다.(https://asktom.oracle.com/pls/asktom /f?p=100:11:0::::P11_QUESTION_ID:311016722068)

3. 복사하는 순서는 상관없는걸로 알고 있습니다. OS명령을 사용하면 복사 도중에 파일이 변경되는 경우 복사된 파일이 corrupt되어 버릴수 있습니다. OS 명령으로는 변경중인 파일을 consistent한 상태로 복사할수 없으므로, 오라클이 그 용도로 구현해 놓은 기능인 alter database backup control file 명령을 통해 copy 할수 밖에 없습니다.
 

저는 rman을 사용해서 백업을 하기때문에 hotbackup을 사용하지는 않지만, noresetlogs관련 질문이 흥미로워서 검색과 약간의 테스트를 통해 위의 답을 작성하였습니다. ^^;
 

고서진(longflat)님이 2015-11-09 17:54에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
41001테이블스페이스 관련 질문 드립니다. [1]
검콤이
2015-11-10
8315
41000이 xml 파싱하는 구분 해석좀 도와주세요 [1]
매수신호
2015-11-09
8778
40999컬럼이 증가하는 반복문에 대한 질문입니다. [1]
어푸어푸
2015-11-09
8372
40998오라클 hotbackup 관련 질문 [1]
kjy
2015-11-07
8681
40996공백 추가 해주는 쿼리 [3]
민식이
2015-11-06
8833
40995SQL질문입니다 [3]
장현섭
2015-11-06
8190
40993아리송한 SQL 급하게 질문합니다. [4]
개뚱이
2015-11-06
8062
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.047초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다