Oracle Database TIP
COLD BACKUP(오프라인 백업) 20 2 23,959

by 김정식 COLD BACKUP 오프라인백업 [2004.08.17]


  Oracle 9i 이후 버전에서의 Cold 백업은 오라클클럽 백업&복구 강좌의 Cold 백업 강좌를 참고해 주세요

COLD BACKUP(오프라인 백업)

  - COLD BACKUP이란 오라클 SHUTDOWNDATAFILE, REDO LOG FILE, CONTROL FILE, PARAMETER FILE등을 OS의 복사명령으로 백업을 수행하는 방법을 말한다.

  - 백업받을 파일들의 목록은 V$DATAFILE, V$LOGFILE, V$CONTROLFILE에서 찾을 수 있다.

  - COLD BACKUP을 위해서 데이타베이스를 SHUTDOWN 할 때에는 NORMAL, IMMEDIATE 옵션을 사용해야 하며 ABORT 를 사용해서는 안 된다. ABORT 를 사용한 경우에는 SHUTDOWN 후에 다시 STARTUP 하고 NORMAL 로 SHUTDOWN 하도록 한다.

  - SHUTDOWN ABORT 옵션을 쓸 경우 Checkpoint 정보가 일치하지 않아 복구가 수행되지 않을 수 있으므로 이 옵션을 사용하지 말아야 한다.

  - SHUTDOWN 하지 않고 OPEN 된 상태에서 백업을 받으면 백업받은 내용을 나중에 사용할 수가 없으므로 유의해야 한다.

  - 콘트롤 화일과 데이타 화일 및 로그 화일의 위치를 확인하여 이들을 tar, cpio 등의 명령을 이용하여 백업 받도록 한다.

  - NT 에서는 COPY 명령이나 탐색기를 이용해서 백업을 받으면 된다.

  - 장점 : 읽기 일관성이 보장됨, 가장 간편하다.

  - 단점 : 데이터베이스 SHUTDOWN이 필요하므로 백업받는 동안 데이터베이스를 사용할 수 없으며, 백업이 수행된 시점까지만 복구가 가능하다

파일확인 방법

  오라클은 반드시 SHUTDOWN된 상태이어야 하며, 아래에서 확인한 세 종류의 파일들을 OS명령어(ex cp)로 백업받으면 된다. 필요에 따라서 파라미터(init.ora) 파일까지 받아두는 것이 좋다.

 
-- Oracle 8.1.7 sqlplus에서 system/manager로 접속

-- 콘트롤 파일 확인 
SQL> SELECT name FROM V$CONTROLFILE;

NAME
------------------------------------------
C:\ORACLE\ORADATA\ORACLE\CONTROL01.CTL
C:\ORACLE\ORADATA\ORACLE\CONTROL02.CTL
C:\ORACLE\ORADATA\ORACLE\CONTROL03.CTL


-- 데이타 파일 확인 
SQL> SELECT name FROM V$DATAFILE;

NAME
--------------------------------------------------
C:\ORACLE\ORADATA\ORACLE\SYSTEM01.DBF
C:\ORACLE\ORADATA\ORACLE\INDX01.DBF
C:\ORACLE\ORADATA\ORACLE\TOOLS01.DBF
C:\ORACLE\ORADATA\ORACLE\USERS01.DBF
C:\ORACLE\ORADATA\ORACLE\STORM.DBF
C:\ORACLE\ORADATA\ORACLE\STORMIDX.DBF
C:\ORACLE\ORADATA\ORACLE\TEST.DBF


-- 로그 파일 확인
SQL>SELECT member FROM V$LOGFILE; 

MEMBER
------------------------------------
C:\ORACLE\ORADATA\ORACLE\REDO03.LOG
C:\ORACLE\ORADATA\ORACLE\REDO02.LOG
C:\ORACLE\ORADATA\ORACLE\REDO01.LOG 
    

오프라인 복구 예제

  COLD BACKUP 백업에 대한 복구는 장애가 발생한 시점까지가 아니라, 가장 최근의 백업시점 까지만 복구가 가능 하며, 백업 시점에서 현 시점까지의 데이터는 모두 잃어 버리게 된다.

동일한 디스크에 위치한 데이터파일 복구

  1. DB를 SHUTDOWN ABORT로 닫는다.

  2. 백업해두었던 DATAFILE, REDO LOG FILE, CONTROL FILE, PARAMETER FILE(init.ora) 들을 현재의 DB 데이터파일들이 위치한 곳으로 이동 시킨다(copy 작업).

  3. STARTUP MOUNT를 수행 한다.

  4. ALTER DATABASE OPEN RESETLOS 수행

상이한 디스크에 위치한 데이터파일 복구

  만일 디스크가 교체될 수 없는 경우, 파일들을 다른 디스크로 이동시켜 복구한다.

  1. DB를 SHUTDOWN ABORT로 닫는다.

  2. 백업해두었던 DATAFILE, REDO LOG FILE, CONTROL FILE, PARAMETER FILE(init.ora), PASSWORD FILD(orapwSID) 들을 다른 디스크로 이동

  3. PARAMETER FILE에서 CONTROL_FILES 파라미터를 수정한다.

  4. STARTUP MOUNT EXCLUSIVE 수행

  5. 새로운 디스크에 위치한 데이터파일들의 위치를 control파일에 갱신

 
ALTER DATABASE RENAME 
FILE '/u01/oracle/data/data01.dbf' 
TO '/u02/oracle/data/data01.dbf'
    

  6. DB백업(형식적인 절차)

  7. ALTER DATABASE OPEN RESETLOGS 수행

- 강좌 URL : http://www.gurubee.net/lecture/1847

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

by 배은희 [2006.01.10 14:21:31]
인터넷 주소 클릭하지 마삼! 클~~~

by 김정식 [2006.01.10 22:48:41]
dbakorea.pe.kr 링크를 삭제 했습니다.
커뮤니티가 폐쇄되고, 이상한 광고 사이트가 뜨네요.. ㅜ.ㅜ
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입