완전 매체 복구 수행

닫힌 데이터베이스 복구 수행
열린 데이터베이스, 오프라인 테이블스페이스 복구 수행
열린 데이터베이스, 오프라인 테이블스페이스 개별 복구 수행
매체 장애를 복구하는데 필요한 모든 작업을 이해하는데 있어 기본적인 복구 개념과 절차를 잘알아야 한다.
매체 장애가 일으킬 수 있는 다른 문제점의 상세한 목록과 각 문제점에 대한 적합한 복구 방법은 24-47페이지 참조. 


닫힌 데이터베이스 복구 수행

1. 열린 데이터베이스를 SHUTDOWN ABORT하여 데이터베이스 종료.

2. 매체 오류를 복구하는 경우 가능하면 문제점 해결한다.
* 주의 사항: 매체 장애를 일으킨 하드웨어 문제가 일시적인 것이고 데이터가 손상되지 않은 경우(예를 들어 디스크나 제어장치의 전원고장 등) 이 시점에서 중지해야 한다.

3. 파일이 영구적으로 손상되면 매체 장애로 인해 손상된 데이터 파일만을 최근의 백업(전체 백업이나 부분백업)으로 복원한다. 손상되지 않은 데이터 파일이나 온라인 리두 로그는 복원하지 말라. 하드웨어 문제가 해결되면 손상된 데이터 파일을 원래위치로 복원한 후 이 절차의 6단계로 건너 뛴다. 하드웨어 문제가 계속되면 데이터 파일을 데이터베이스 서버의 대체 저장 영역 장치로 복원한 후 이 절차를 계속 진행
주: 데이터 파일 백업이 없다면 복원될 수 있는 빈 대체 파일을 생성할 수 없다.

4. Server Manager를 시작한 후 Oracle의 관리자 권한으로 접속한다.

5. Server Managerjgd [Startup Database] 대화 상자에서 [Startup Mount]라디오 단추를 선택하거나 START MOUNT 옵션을 사용하여 데이터베이스를 열지 않은 채 새인서턴스를 시작.

6. 3단계에서 하나이상의 손상된 데이터 파일이 대체 위치로 복원된 경우 이 파일의 새 위치는 연관된 데이터베이스의 제어 파일에 나타나므로 필요하다면
"데이터파일 이름 및 변경 및 위치 재지정" 에 설명된 작업을 사용한다.

7. 완전 매체 복구 중에 복구되어야 하는 모든 데이터파일은 온라인 상태여야 한다. 데이터 파일 이름을 얻어려면 보통 현재 제어파일에 따르는 데이터 파일 목록을 확인하거나 V$DATAFILE뷰를 질의한다. 데이터베이스의 모든 데이터파일이 온라인 상태인 가를 확인하려면 ALTER DATABASE 명령어에 DATAFILE ONLINE 옵션을 사용한다.

예) USER1이란 데이터 파일이 온라인 상태인 가를 확인할려면 다음 명령문 입력
ALTER DATABASE DATAFILE 'users1' ONLINE;
지정된 데이터 파일이 이미 온라인 상태라면 Oracle은 이 명령문을 무시한다.

8. 한 단계로 모든 손상된 데이터 파일의 닫힌 데이터베이스를 복구하려면 Server Manager의 [Apply Recovery Archive] 대화 상자나 동일한 기능을 수행하는 RECOVER DATABASE 명령문을 사용한다.
8-1. 손상된 개별 데이터 파일의 닫힌 데이터베이스를 복구하려면 Server Manager에서 RECOVER DATAFILE 명령문을 사용 
주: 데이터 파일을 복구하는데 대한 성능을 최대화 하려면 병렬 복구를 사용

9. Oracle은 복원된 데이터 파일을 재구축하는데 필요한 아카이브된 온라인 리두 로그 파일을 적용하여 매체 복구의 매체 복구의 롤 포워드 단계를 시작한다. 파일 적용이 자동화되지 않았다면 Oracle은 리두 로그 파일이 필요할 때마다 사용자에게 입력을 요구한다.

Oracle은 모든 필요한 아카이브된 리두 로그 파일이 복원된 데이터 파일에 적용될 때까지 계속 실행한다. 온라인 리두 로그 파일은 복원된 데이터파일에 자동으로 저장되고 매체 복구가 완료된 후에 사용자에게 알린다. 매체 복구를 완료하는데 아카이브된 리두 로그 파일이 필요하지 않다면 Oracle은 입력을 요구하지 않는다. 대신 필요한 온라인 리두로그 파일을 적용한 후 매체 복구를 완료한다.
닫힌 데이터베이스를 복구한 후 데이터베이스는 매체장애가 발생한 시점으로 복구한다. 이후 SQL 명령어 ALTER DATABASE에 OPEN옵션을 사용하여 데이터베이스를 열 수 있다.

참조 : 데이터 파일 생성에 대한 자세한 내용은
"손상된 데이터 파일 복원"을 참조
데이터 파일 목록에 대한 자세한 내용은 "백업전에 데이터베이스 파일 목록 보기"를 참조
리두 로그 파일 적용에 대한 자세한 내용은
"리두 로그 파일 적용"을 참조 

열린 데이터베이스 오프라인 테이블스페이스 복구 수행

열린 데이터베이스에 매체장애가 발생했어도 손상되지 않은 데이터 파일이 온라인 상태로 사용 가능한 동안은 데이터베이스가 열린 상태로 남아 있다. 손상된 데이터 파일은 Oracle에 의해 자동으로 오프라인 상태가 된다.
이 절차는 SYSTEM 테이블스페이스의 데이터 파일에 대한 완전 매체 복구를 수행하는데 사용될 수 없다. SYSTEM 테이블스페이스의 데이터파일이 매체 장애로 손상되면 Oracle은 데이터베이스를 자동으로 종료한다.


참조 : 완전 매체 복구 방법으로 진행하려면 "닫힌 데이터베이스 복구 수행"에 있는 절차를 따름

1. 이 복구 작업이 시작 시기는 매체 장애가 발생한 후 데이터베이스를 열린 상태로 두었는 지에 따라 다름

    1.1 데이터베이스를 종료했다면 새 인스턴스를 시작하고 데이터베이스를 OPEN한다. 데이터베이스가 열린 후에 손상된 데이터 파일을 포함하는 테이블 스페이스를 모두 오프라인으로 설정한다.

    1.2 데이터베이스가 열린 상태이고 데이터베이스의 손상된 데이터 파일만이 오프라인으로 설정된 경우 손상된 데이터 파일을 포함하는 모든 테이블스페이스를 오프라인으로 설정한다. Oracle은 오류메시지를 사용하여 손상된 데이터 파일을 식별한다. "테이블스페이스를 오프라인으로 설정"에 설명된 대로 Server Manager의 [Take offline]메뉴 항목이나 SQL명령어 ALTER TABLESPACE에 OFFLINE 옵션을 사용하여 테이블스페이스를 오프라인으로 설정 할 수 있다. 기능하다면 손상된 테이블스페이스를 임시 우선 순위에 따라 오프라인으로 설정하여 복구량을 최소화한다. 


2. 매체 장애를 일으킨 하드웨어 문제를 수정한다. 하드웨어 문제가 빨리 해결되지 않았다면 손상된 파일을 대체 저장 영역 장치에 복원하여 데이터베이스 복구를 진행 할 수 있다.

3. 파일이 영구적으로 손상되었다면 매체 장애에 의해 손상된 파일만을 최근의 부분 백업이나 전체 백업 파일로 복원한다. 손상되지 않은 데이터파일이나 온라인 리두로그 파일, 제어파일은 복원하지 말아라.하드웨어 문제가 해결되고 데이터파일이 원래 위치로 복원될 수 있다면 파일을 원래 위치로 복원한다. 하드웨어 문제가 계속되면 데이터 파일을 데이터베이스 서버의 대체 저장 영역 장치로 복원한다.
주 : 특정 데이터 파일 백업이 없으면 복구될 수 있는 비어 있는 대체 파일을 생성할 수 있다.

4. 3단계에서 하나 이상의 데이터 파일이 대체 위치로 복원되었다면 필요에 따라 "데이터 파일 이름 변경 및 위치 재지정"의 절차를 사용하여 이 파일의 새 위치를 연관된 데이터베이스의 제어 파일에 나타내야 한다. 

5. 한 단계로 하나 이상의 오프라인 테이블스페이스에 있는 모든 손상된 데이터 파일의 오프라인 테이블스페이스를 복구하려면 관리자 권한으로 접속한 후 Server Manager에서 RECOVER TABLESPACE 명령어를 사용한다.
주 : 성능을 최대로 하려면 병렬 복구를 사용하여 데이터 파일을 복구한다.

6. 복원된 데이터 파일을 재구축하는데 필요한 아카이브된 온라인 리두 로그 파일을 적용하여 Oracle은 매체 복구의 롤 포워드 단계를 사작한다. 파일 적용이 자동화되지 않는다면 Oracle은 필요할 때마다 각 리두 로그 파일의 입력을 요구한다. Oracle은 필요한 아카이브된 리두 로그 파일이 모두 복원된 데이터 파일에 적용될 때까지 계속 수행한다. 그 후에 온라인 리두 로그 파일은 매체 복구를 완료하기 위해 자동으로 복원된 데이터 파일에 적용된다. 완전 매체 복구에 아카이브된 리두 로그 파일이 필요하지 않다면 Oracle은 입력을 원하지 않는다. 대신 필요한 온라인 리두 로그 파일을 모두 적용하고 매체 복구를 완료한다.

7. 열린 데이터베이스의 손상된 테이블스페이스가 매체 장애가 발생한 시점으로 복구. Server Manager의 [Place Online]메뉴 항목이나 SQL 명령어 ALTER TABLESPACE에 ONLINE 옵션을 사용하여 오프라인 테이블스페이스를 온라인으로 설정할 수 있다. 

열린 데이터베이스, 오프라인 테이블스페이스 개별 복구 수행

앞선 설명한 작업과 같이 매체장애가 발생한 열린 데이터베이스는 손상되지 않은 데이터 파일이 온라인 상태로 남아 사용될 수 있다면 열린 상태로 남아 있다.
오라클은 손상된 데이터 파일을 자동으로 오프라인으로 설정한다.

열린 데이터베이스, 오프라인 테이블스페이스 개별 복구를 수행하려면 다음과 같이한다.
1. 이 복구 작업이 시작 시기는 매체 장애 발생 후 데이터베이스 상태에 따라 다르다.

    1.1 데이터베이스를 종료했다면 새 인스턴스를 시작한 후 데이터베이스를 마운트하여 연다. STARTUP명령어에 OPEN옵션을 사용하여 이 작업을 수행한다.
    데이터베이스를 연후 손상된 데이터파일을 포함하는 모든 테이블 스페이스를 오프라인으로 설정

    1.2 데이터베이스가 열린 상태이고 손상된 데이터베이스 파일만이 오프라인으로 설정되어 있으면 손상된 데이터 파일을 포함하는 모든 테이블스페이스를 오프라인으로 설정. 오라클은 오류메시지를 사용하여 손상된 데이터 파일을 식별한다. Sever Manager의 [Take Offline]메뉴 항목이나 ALTER TABLESPACE에 OFFLINE옵션을 사용하여 테이블스페이스를 오프라인으로 설정할 수 있다. 가능하다면 손상된 테이블 스페이스를 임시 우선 순위에 따라 오프라인으로 설정하여 복구량을 최소화한다.


2. 매체 장애를 일으킨 하드웨어 문제를 수정한다. 하드웨어 문제가 빨리 해결되지 않는 경우 손상된 파일을 대체 저장 영역 장치에 복원하여 데이터베이스 복구를 진행할 수 있다.

3. 파일이 영구적으로 손상되었다면 매체 장치로 손상된 파일만을 최근의 부분 백업이나 전체 백업 파일로 복원한다. 손상되지 않은 데이터파일, 온라인 리두로그 파일 또는 제어 파일은 복원하지 말라. 하드웨어 문제가 해결되고 데이터 파일이 원래 위치로 복원될 수 있다면 복원한다. 하드웨어 문제가 해결되지 않으면 데이터 파일을 데이터베이스 서버의 대체 저장 영역 장치로 복원한다.
주 : 특정 데이터 파일 백업이 없다면 복구될 수 있는 빈 대체 파일을 생성한다.

4. 3단계에서 하나 이상의 손상된 데이터 파일이 대체 위치로 복원되었을 경우 "데이터 파일 이름 변경 및 위치 재지정"
에 나온 절차를 사용하여 이 파일의 새 위치를 연관된 데이터베이스 제어 파일에 나타내야 한다.

5. 오프라인 테이블스페이스의 각각의 손상된 데이터 파일을 복구하려면 관리자 권한으로 접속한 후 Server Manager에서 RECOVER DATAFILE명령문을 사용한다.

6. Oracle은 복원된 데이터파일을 재구축하는데 필요한 아카이브된 온라인 리두 로그 파일을 적용하여 매체 복구의 롤 포워드 단계를 시작한다. 파일 적용이 자동화되지 않았다면 오라클은 사용자에게 리두로그 파일이 필요할 때마다 입력을 요구한다.
오라클은 필요한 아카이브된 리두 로그 파일이 복원된 데이터 파일에 모두 적용될 때까지 계속 수행한다. 그러면 온라인 리두 로그 파일은 매체 복구 완료를 위해 자동으로 복원된 데이터 파일에 적용된다.
아카이브된 리두 로그 파일이 완전 매체 복구에 필요하지 않다면 오라클은 사용자에게 입력을 요구하지 않는다. 대신 필요한 온라인 리두 로그 파일을 모두 적용한 후 매체 복구를 완료한다.

7. 열린 데이터베이스의 손상된 테이블 스페이스가 매체 장애가 발생한 시점으로 복구돈다. Server Manager의 [Place Online] 메뉴 항목을 사용하거나 SQL 명령어 ALTER TABLESPACE에 ONLINE 옵션을 사용하여 오프라인 테이블 스페이스를 온라인으로 설정할 수 있다.