개발(Web)/DB

[Oracle] Recovery

shinyelee 2020. 10. 20. 16:45

Recovery에 대해 알아보자.

Ⅰ. 복구(Recovery) 용어

1. Restore(복원)

* 백업 파일로부터 손실된 파일을 되살리는 작업.

* 데이터 손실 발생함.

* 작업 방법 : $] cp

2. Recover(복구)

* Datafile만 해당되는 작업으로 복원된 Datafile에 Redologfile, Archived logfile의 Redo data를 재적용.

* 데이터 손실을 줄일 수 있음.

* 작업 방법 : SQL> recover


Ⅱ. Controlfile 손실 시 복구

1. 상황

* Controlfile이 3개로 다중화되어 있음.

* DB 운영 중 특정 Controlfile 하나가 손실됨.

2. 복구 방법

* Controlfile은 다중화된 Member 중 하나라도 이상이 있으면 DB 작동을 멈춤.

* 반드시 DB를 종료한 상태에서 남아있는 Member를 사용(백업 파일 사용하지 않음)해서 복원해야 함.

* 백업 파일은 Controlfile이 모두 손실된 경우 사용함.

3. 복구 절차

SQL> Shut immediate
SQL? !
$] cd /u01/app/oracle/oradata/ORCL/controlfile
$] cp *ctl /u01/app/oracle/flash_recovery_area/ORCL/controlfile/o1_어쩌구_저쩌구_.ctl
$] cd /u01/app/oracle/flash_recovery_area/ORCL/controlfile
$] ls
$] exit
SQL> startup

Ⅲ. Redologfile 손실 시 복구

1. 상황

* Redolog Group 3개에 Member 2개씩 구성되어 있음.

* DB 운영 중 Group에 있는 특정 Member 하나가 손실됨.

2. 복구 방법

* Redologfile은 Group 내 Member가 하나라도 정상이면 DB 작동에 영향을 미치지 않음.

* 남아 있는 Member를 사용해서 복원할 수 없음(reuse 불가).

* 손실된 Member를 삭제하고 새로 다중화함.

3. 복구 절차

SQL> alter database
        drop logfile member '/u01/app/oracle/flash_recovery_area/ORCL/onlinelog/redo2b.log';
SQL> alter database
        add logfile member '/u01/app/oracle/flash_recovery_area/ORCL/onlinelog/redo2b.log'
        to group 2;

Ⅳ. Datafile 손실 시 복구

1. Non-critical Datafile

* 필수 Datafile(system, undo)이 아닌 일반 Datafile.

* 손실시 Datafile에 저장된 Object 사용 안 됨.

* DB 작동에는 문제 없음.

* 복구 시 DB Open 유지한 상태에서 Recovery해야 함.

SQL> alter database datafile 5 offline immediate;
SQL> !
$] cp /home/oracle/backup/example01.dbf /u01/app/oracle/oradata/ORCL/datafile/example01.dbf
$] exit
SQL> recover datafile 5;
SQL> alter database datafile 5 online;

2. Critical Datafile 손실

* 필수 Datafile(system, undo).

* 손실시 DB 작동이 멈춤.

* 복구 시 DB Mount 상태에서 Recovery함.

SQL> shut abort
SQL> startup mount
SQL> !
$] cp /home/oracle/backup/system01.dbf /u01/app/oracle/oradata/ORCL/datafile/system01.dbf
$] exit
SQL> recover database;
SQL> alter database open;

출처 : 아이티윌 부산교육센터 Oracle Database 12c : 실습가이드북

반응형

'개발(Web) > DB' 카테고리의 다른 글

MySQL Workbench] mysqldump Version Mismatch  (0) 2020.11.07
[Oracle] Recovery 예시  (0) 2020.10.23
[Oracle] Backup  (0) 2020.10.20
[Oracle] Controlfile, Redologfile 관리 및 다중화  (0) 2020.09.28
[MySQL Workbench] Data Import error  (0) 2020.09.27