Tip
2010.05.19 15:13

RECOVERY

조회 수 19916 추천 수 0 댓글 2

  
No. 10326

RECOVERY 의 모든 것 (DATABASE, TABLESPACE, DATAFILE)
======================================================


PURPOSE
---------
ORACLE DATABASE의 RECOVERY에 대한 전반적인 부분을 살펴본다.


Explanation
------------

(1) DATABASE RECOVERY

. Complete, Incomplete recovery가 가능

. Offline recovery만 가능하다.
  (즉 database가 recovery 시 open 되어 있지 않아야 함.)

. SYSTEM tablesapce 의 recovery 도 가능하다.

. recovery 시 database access가 불가능하고 복구시간은
  적용되어야 하는 redo 의 양에 dependent하다.


+++ Complete recovery
control file과 redo log file은 current 것이 존재
datafile만 backup 본을 restore한다.

1 % cp backup_file oracle_file_directory

2 SVRMGR> startup mount

3 SVRMGR> alter database rename  file 'old' to 'new';
단 이 명령은 datafile을 기존의 directory에 restore하지
않고 다른 directory에 놓았을 경우에만 사용.

4 Recovery를 위한 모든 datafile이 online인지 check한다.

  SVRMGR> select file#,status,name from V$DATAFILE;

  만약 offline인 것이 있으면 다음과 같이 online시킨다.

  SVRMGR> alter database datafile 'filename' online;

(대부분 위의 3,4번은 불필요하다.)

5 SVRMGR> RECOVER DATABASE ;
  
6 SVRMGR> alter database open;
   

+++ Incomplete recovery

(Incomplete recovery 시 datafile 이 offline 되어 있으면
 복구가 불가능하다)

(1 ~ 4번은 complete recovery와 동일)

5 SVRMGR> RECOVER DATABASE UNTIL CANCEL;

 * backup받은 controlfile을 restore했거나 script로
   재생성했다면
 
 SVRMGR> RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL;
 
 * 지정된 시간까지만 복구하려면
 

alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';

RECOVER DATABASE UNTIL TIME '2008-05-06 08:00:00' USING BACKUP CONTROLFILE;


df_swrmt02_01.dbf

alter database rename file '/data3/data/DSVENUSP/rm/df_swrmt02_01.dbf' to '/archive/dbrestore/df_swrmt02_01.dbf';

alter database datafile '/data3/data/DSVENUSP/rm/df_swrmt02_01.dbf' online;


  SVRMGR> RECOVER DATABASE UNTIL TIME '2001-05-10:10:37:00'USING BACKUP CONTROLFILE;

6 SVRMGR> ALTER DATABASE OPEN RESETLOGS;


(2) TABLESPACE RECOVERY

    RECOVER TABLESPACE tablespace_name [,tablespace_name..]

* 이 방법은 tablespace의 list에 등록된 모든 data file 의
  media recovery를 위한 command 이다.
* Oracle은 tablespace가 갖는 datafile이 어떤 것인가를 아는 것은 
  반드시 database가 open 되어 있을 경우이므로 이 tablespace
  recovery command는 database가 open되었을 때 비로소 가능하다.

* command를 실행하기 위해 반드시 tablespace는 offline되어
  있어야 한다.

* offline 되어지지 않는 (예를 들면 SYSTEM ) tablespace는
  recovery가 불가능하다.

* incomplete recovery는 불가능하다 .


복구 순서

1 SVRMGR> alter tablespace ts_name offline;

2 recovery 가 필요한 tablesapce의 datafile을 restore 한다.

3 lost 되었거나  손상된 datafile 이 invalid 일경우는
  control file 에 datafile 의 위치가 변경되어야 한다.
 
 SVRMGR> alter database rename file 'old' to 'new';

4 SVRMGR> RECOVER TABLESPACE ts_name;

5 SVRMGR> alter tablespace ts_name online;


(3) DATAFILE RECOVERY
  
  RECOVER DATAFILE 'filename' ['filename]

* media recovery lock만 datafile에 얻을 수 있다면 online,
  offline  recovery가 모두 가능하다.

* On line recovery시 (database 가 임의의 instance 에 의해
  open 되어 있다면) datafile recovery는 offline  되어있는
  datafile 만 recovery 가 가능하다.

* Incomplete recovery는 불가능하다.


복구순서

+++Online Recovery

1 SVRMGR> startup mount

2 SVRMGR> alter database datafile 'filename' offline;

3 SVRMGR> alter database open

4 SVRMGR> alter database rename 'old' to 'new'

5 SVRMGR> RECOVER DATAFILE  'datafile'

6 SVRMGR> alter database datafile 'filename' online

+++Offline Recovery

1 SVRMGR> alter databse rename 'old_filename' to 'new'

2 SVRMGR> startup mount

3 SVRMGR> alter database datafile 'filename' online
  SVRMGR> alter database datafile 'filename' offline
  양쪽 모두 가능하다.

4 SVRMGR> RECOVER DATAFILE 'datafile'

5 SVRMGR> alter databse datafile 'filename' online;

6 SVRMGR> alter database open

  • 유주환 2010.05.19 23:46

    백업만 잘 돼있으면 복구는 정말 쉬운데 그놈의 백업이 문제죠

    요즘엔 백업 솔루션이 잘 돼있어서 그럴 걱정은 없지만 아직까지도 공간 부족으로 백업을 못받고 있는 곳이

    많탑니다...

  • 김준호 2010.05.19 23:50

    이시간에 안주무시고... 설마 야근?


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 Q&A Oracle관련 게시물만 Sean 2014.04.09 84839
60 Tip Complete Checklist for Manual Upgrades to 11gR2 [ID 837570.1] 담벼락 2011.03.23 17403
59 Tip NL JOIN에 대하여... 1 고구마 2011.03.21 13154
58 Tip Outer Join의 정확한 이해 file 고구마 2011.03.21 13028
57 Tip 쿼리 튜닝 사례 고구마 2011.03.21 14449
56 Tip windows os 에서 운영중 listener.log 삭제하기 2 file dbkill 2011.02.21 22037
55 Tip partition table에 index 생성시 perfstat 2011.01.28 18158
54 Tip DB계정에 profile설정 perfstat 2011.01.05 14519
53 Tip em 실행시 에러 발생 조치 1 dbkill 2010.12.15 27289
52 Tip NetCA 실행시 VM 관련 에러 대처법 2 송기성 2010.12.09 18084
51 Tip Lock Check 승현짱 2010.05.30 11792
50 Tip 11g Newfeature 승현짱 2010.05.30 11477
49 Tip EXPORT/IMPORT 이용한 TABLE과 INDEX 분리하는 방법 고구마 2010.05.24 25428
48 Tip TABLE(INDEX) 다른 TABLESPACE로 옮기기(8i) 고구마 2010.05.24 23007
47 Tip reoder column order 1 유주환 2010.05.19 11394
» Tip RECOVERY 2 고구마 2010.05.19 19916
45 Tip TEMP TABLESPACE 사용현황 조회하기 1 고구마 2010.05.19 41828
44 Tip 통계복원하기 고구마 2013.05.13 8032
43 Tip 유저별 Segment 개수 및 사이즈 조회 쿼리, n2bfree 2013.03.12 10925
42 Tip online reorg script 담벼락 2013.01.10 10630
41 Tip 오라클11g에서 SE1,SE,EE제품의 옵션비교입니다. file perfstat 2012.03.07 27004
Board Pagination Prev 1 2 3 4 5 6 7 8 Next
/ 8