2009년 9월 8일 화요일

ORACLE_016. Complete Recovery Using Archive Log Mode

Complete Recovery Using Archive Log Mode                                      

OPEN RECOVERY TO SAME DIRECTORY

 STEP 01_장애가 발생한 테이블(혹은 데이터 파일)을 OFFLINE 시킵니다.

 

                  ALTER TABLESPACE tsname OFFLINE IMMEDIATE;       OR

                  ALTER DATABASE DATAFILE 'datafilepath/datafile.dbf' OFFLINE

           

                   * OFFLINE IMMEDIATE 는 CKPT 를 발생하지 않습니다.  따라서 DBWr이

                   호출되지 않기 때문에 장애가 일어난 테이블(혹은 파일)에 기록하는 것을

                   방지할 수 있습니다.

                   * 테이블 스페이스가 들어있는 데이터 파일의 조회는 다음 쿼리를 이용합니다.

                SELECT A.FILE#, A.NAME "Datafile Name", B.NAME "Tablespace Name", status

                      FROM V$DATAFILE A, V$TABLESPACE B

                      WHERE A.TS#=B.TS#

                      ORDER BY B.NAME;

 

 STEP 02_마지막으로 풀 백업한 해당 데이터 파일을 복사합니다.

 

                 UNIX ) cp -f /Backuped_file_path/filename.dbf /target_path/target_name.dbf

                      NT ) copy /Backuped_file_path/filename.dbf /target_path/target_name.dbf

 STEP 03_복원된 파일에 ARCHIVE LOG 파일 및 REDO LOG 파일을 적용시킵니다.

 

                  RECOVER DATAFILE n  // n은 데이터파일 번호

                  * 데이터 파일의 번호는 STEP01의 예제 쿼리를 통해 확인할 수 있습니다.

 

 STEP 04_복구된 테이블 스페이스(혹은 데이터 파일)를 ONLINE 시킵니다.
      
                  ALTER TABLESPACE tsname ONLINE;           OR

                  ALTER DATABASE DATAFILE n ONLINE;

 

OPEN RECOVERY TO DIFFERENT DIRECTORY
 다른 디렉토리에 데이터 파일을 복원하는 방법은 위 방법과 동일합니다. STEP 02에서 원래 데이터 파일의 위치가 있던곳이 아닌 다른곳에 마지막으로 풀 백업된 데이터 파일을 복사합니다. 그리고 콘트롤 파일에 데이터 파일의 위치가 바뀌었음을 알려주면 됩니다.

                  ALTER DATABASE RENAME FILE '원래위치' TO '나중위치'

 콘트롤 파일에 데이터파일의 위치가 바뀌었음을 알려주었으면 그 후는 STEP 03, STEP 04를 다시 수행하시면 됩니다.

CLOSE RECOVERY (SYSTEM TABLE RECOVERY)
 SYSTEM TABLE이 들어있는 데이터 파일을 확인합니다. 위 SELECT 질의를 통해 시스템 테이블 스페이스가 들어있는 데이터 파일을 확인할 수 있습니다. 복구작업을 수행하기 전에, 데이터베이스를 다운시킵니다.

                 SHUTDOWN ABORT

 데이터베이스를 다시 MOUNT 상태로 돌립니다.
 
                 STARTUP MOUNT

 마지막으로 했던 풀 백업에서 해당 파일을 복사해 오고 LOG 파일을 적용합니다.
 
                 RECOVER DATABASE

 마지막으로 데이터베이스를 열어줍니다.

                 ALTER DATABASE OPEN;


FIN.

 

          

댓글 없음:

댓글 쓰기