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.
댓글 없음:
댓글 쓰기