RAC 복구 (Redo log file 전체 손상)

 

Case :

- Redo log file 전체 손상

- Archive log mode

- Begin Backup 존재

 

작업 순서

  1. 모든 노드에서 DB 정상 종료 후 Begin Backup 수행
  2. DB Open 후 Test 용 데이터 생성
  3. 장애 발생 후 Shutdown immediate 로 정상 종료
  4. Backup File 복원
  5. Archive file 복사
  6. 복구 수 resetlogs 로 DB open

 

Step 1. Begin Backup 수행

SQL> alter tablespace system begin backup;

SQL> !dd if=/dev/raw/raw6 of=/data/backup/open/raw6_system bs=8k

SQL> alter tablespace system end backup;

 

Step 2. DB Open 후 Test용 데이터 생성

- 데이터 삽입 후 commit 그리고 Switch 발생

 

-다시 데어터 삽입 후 commit 하지만 Switch 를 발생 안시킵니다.

 

 

Step 3 이제 redo log file 에 장애를 발생 시키겠습니다.

그리곤 정상 종료

SQL>shutdown immediate;

- 강제 종료 됩니다.

Stet 4. 백업 Data 파일 복원(open/close 상관 없음)

 

Step 5. Archive File 복사

- Archive 파일이 대단히 많아야 정상이지만 Backup 을 받은 후 Archive 파일을 정리 해준 것 같다.

 

Step 6. 복구 후 resetlogs 로 Open

 

- 3 을 제외한 나머지는 복구 완료 되었습니다.

- 당연한 얘기지만 log switch 가 발생되지 못했고 shutdown immediate 를 하여 정상 종료를 시도 했지만 terminated 되었기 때문에 archive log 파일이 생성되지 못했던 데이터에 대해서는 복구가 되질 않았습니다.

 

RAC (Archive mode 에서 장애 복구)

 

Case :

- Offline 안되는 테이블 스페이스 장애 발생 (Archive 파일이 필요한 경우) – system tablespace

- Backup 파일 존재

 

- 장애 발생 상황

- tt03 테이블을 system 테이블스페이스에 생성 후 Data를 입력 합니다.

- 데이터를 insert 한 후 log switch 를 발생 시킵니다.

- /dev/zero 파일로 덮어 씌웁니다.

- 잠시 후 인스턴스가 강제 종료되는 것을 alert log 를 통해 확인 할 수 있습니다.

- 복구

1. 클러스터를 확인하면 오류로 인해 강제 종룔 된 것을 확인 할 수 있습니다.

$crs_stat -t.

2. 노드 2 에서 아카이브 파일을 복사해 옵니다.

3. 복구를 수행합니다.

SQL>recover database;

- auto

SQL>alter database open;

- 양 쪽 노드 모두 Open 시킨 후 확인 합니다.

'Oracle > Backup&Recover' 카테고리의 다른 글

DBVerify 실행하기  (0) 2011.10.19
RAC 복구 (Redo log file 전체 손상)  (0) 2011.10.19
RAC (Archive mode 에서 장애 복구 2)  (0) 2011.10.18
RAC (Archive mode 에서 장애 복구 1)  (0) 2011.10.18
Raw Device 백업(Cold backup)  (0) 2011.10.18

RAC (Archive mode 에서 장애 복구 2)

 

Case :

- Offline 되는 테이블 스페이스 장애 발생 (Archive 파일이 필요한 경우)

- Backup 파일 존재

 

- 장애 발생 상황

- tt02 테이블을 ts_new 테이블스페이스에 생성 후 Data를 입력 합니다.

- 데이터를 insert 한 후 log switch 를 발생 시킵니다.

- /dev/zero 파일로 덮어 씌웁니다.

- alter tablespace ts_new offline immediate; 시킨 후 복구를 수행 합니다.

 

- 복구

1. 파일을 백업 파일로부터 복원 합니다.

2. 복구를 시도 하지만 실패 하는 것을 확인 할 수 있습니다.

3. 복구를 수행합니다.

SQL>recover tablespace ts_new;

- auto

SQL>alter tablespace ts_new online;

 

4. 만약 3번 과정에서 archive log 파일이 필요하다는 Message 가 나올 수 있다.

ORA-00308: cannot open archived log '/경로/xx.dbf' ß 이 Message 는 현재 노드에 Archive log 파일이 존재 하지 않기 때문에 발생하는 것으로 해당 노드에서 Archive log 파일을 현재 복구작업을 하는 노드의 log_archive_dest_x 경로로 복사해 와야 한다.

RAC (Archive mode 에서 장애 복구 1)

 

Case :

- Offline 되는 테이블 스페이스 장애 발생 (Archive 파일이 필요 없는 경우)

- Backup 파일 존재

 

- 장애 발생 상황

- tt01 테이블을 ts_new 테이블스페이스에 생성 후 Data를 입력 합니다.

- ts_new tablespace offline 시킨 후 /dev/zero 파일로 덮어 씌웁니다.

- online 이 되지 않고 장애가 발생 한 것을 확인 할 수 있습니다.

- 복구

1. 복구를 시도 하지만 실패 하는 것을 확인 할 수 있습니다.

2. backup file 을 /dev/raw/raw28 로 복사합니다.

SQL>dd if=/data/backup/close/raw28_ts_new of=/dev/raw/raw28 bs=8k

3. 복구를 수행합니다.

SQL>recover tablespace ts_new;

SQL>alter tablespace ts_new online;

+ Recent posts