1. 모든 리두로그 파일이 유실된 경우
마지막 아카이브 파일의 번호 확인하기
1) Alert 로그 분석
[C:\] cd c:\oracle\product\10.2.0\admin\orcl\bdump
[C:\] dir
[C:\] edit ALERT_<ORCL>.LOG
2) 아카이브 파일 생성 경로로 이동 후 직접 확인
[C:\] cd c:\oracle\product\10.2.0\db_1\database\archive
[C:\] dir
설명) 이전에 마지막으로 오프라인 백업된 파일들 중에 모든 데이터 파일들만 재설치한다. 컨트롤 파일과 리두로그 파일들은 재설치할 필요 없다. 모든 파일들을 재설치하게 되면 완전 복구방법이 되며 데이터 파일들만 설치하면 불완전 복구가 된다.
[C:\] cd c:\backup
[C:\] copy *.dbf c:\oracle\product\10.2.0\oradata\orcl
[C:\] sqlplus /nolog
SQL> conn sys/oralce as sysdba;
SQL> startup mount
SQL> recover database until cancel
<Archive 적용, 적용 후 더 이상 복구 작업을 수행할 파일이 없다면 CANCEL 입력>
SQL> alter database open resetlogs;
설명) 불완전 복구는 데이터베이스의 모든 상태가 불일치하기 때문에 복구작업을 완료한 후 반드시 resetlog 옵션을 사용하여 open해야 한다. 이 명령어를 실행하면 유실된 모든 리두로그 파일들이 자동생성된다.
SQL> archive log list;
SQL> shutdown immediate
SQL> exit
설명) 데이터베이스의 모든 상태정보가 초기회되는 불완전복 복구방법이 수행되고 나면 마지막으로 백업되었던 백업 파일은 더 이상 사용할 수 없으므로 반드시 오프라인 백업을 수행해야 한다. 또한 오프라인 백업이 수행되고 나면 이전의 모든 트레이스 파일과 로그 파일, 아카이브 파일들을 삭제해야 한다.
[c:\] cd c:\oracle\product\10.2.0\oradata\orcl
[c:\oracle\product\10.2.0\oradata\orcl] copy *.* c:\backup
[c:\oracle\product\10.2.0\oradata\orcl] copy c:\oracle\product\10.2.0\db_1\database\INITorcl.ora c:\backup
[c:\] del c:\oracle\product\10.2.0\admin\orcl\udump\*.trc
[c:\] del c:\oracle\product\10.2.0\admin\orcl\bdump\alert_ORCL.log
[c:\] del c:\oracle\product\10.2.0\db_1\database\archive
[c:\] del *.arc
2. 모든 컨트롤 파일이 유실된 경우
모든 컨트롤 파일에 장애가 발생하면 더 이상 오라클 데이터베이스를 사용할 수 없게된다. 이러한 현상이 발생하는 경우에는 불완전 복구방법을 사용한다.
[C:\] copy c:\backup\*.ctl c:\oracle\product\10.2.0\oradata\orcl\*.ctl
[C:\] sqlplus /nolog
SQL> startup mount
SQL> recover database using BACKUP controlfile
설명) 현재 환경은 컨트롤 파일만 이전의 백업 파일이고 다른 파일들은 현재시점의 파일들이기 때문에 컨트롤 파일만의 복구작업을 수행하기 위해 USING BACKUP CONTROLFILE 절을 사용하여 복구작업을 수행해야 한다.
설명) 여러 개의 아카이브 파일을 적용하다 마지막 아카이브 파일을 적용하려고 했을 때 에러가 발생할 수도 있다. 그러한 경우는 적용해야 할 마지막 백업 데이타가 아카이브 파일로 저장되어 있는 것이 아니라 CURRENT 리두로그 파일에 저장되어 있기 때문이다. 이러한 경우에는 마지막 CURRENT 리두로그 파일의 경로와 이름을 지정해 주면된다.
SQL> recover database using BACKUP controlfile
c:\oracle\product\10.2.0\oradata\orcl\redo03.log
SQL> alter database open resetlogs;
설명) 절차와 방법은 완전 복구방법과 같지만 결론적으로 이 방법은 불완전 복구다. 왜냐하면, 데이터베이스의 모든 상태정보가 저장되어 있는 컨트롤 파일이 삭제되었기 때문에 컨트롤 파일은 복구되었지만 상태정보는 복구되지 않았기 때문이다.
SQL> shutdown
SQL> exit
설명) 불완전 복구를 수행하고 나면 반드시 이전의 마지막 백업 파일은 재사용될 수 없기 때문에 다시 오프라인 백업을 수행해야 한다. 또한, 이전의 아카이브 파일, 트레이스 파일들도 제거 해야 한다.
[C:\] cd c:\oracle\product\10.2.0\oradata\orcl
[c:\oracle\product\10.2.0\oradata\orcl] copy *.* c:\backup
[C:\] copy c:\oracle\product\10.2.0\db_1\database\INITorcl.ora c:\backup
[C:\] del c:\oracle\product\10.2.0\db_1\database\archive\*.arc
3. 모든 컨트롤 파일과 특정 데이터 파일이 유실된 경우
설명) 모든 컨트롤 파일에 장애가 발생하면 더 이상 오라클 데이터베이스를 사용할 수 없다. 이러한 현상은 불완전 복구방법을 사용한다. 마지막 오프라인 백업된 파일로부터 모든 컨트롤 파일과 장애가 발생한 데이터 파읾나을 현재 경로로 재설치한다.
[C:\] copy c:\backup\*.ctl c:\oracle\product\10.2.0\oradata\orcl\*.ctl
[C:\] copy c:\backup\users01.dbf c:\oracle\product\10.2.0\oradata\orcl
[C:\] sqlplus /nolog
SQL> startup mount
SQL> recover database using BACKUP controlfile
설명) 여러 개의 아카이브 파일을 적용하다 마지막 아카이브 파일을 적용하려고 했을 때 에러가 발생할 수도 있다. 이러한 경우는 적용해야 할 마지막 백업 데이터가 아카이브 파일로 저장되어 있는 것이 아니라, CURRENT 리두로그 파일에 저장되어 있기 때문이다. 이러한 경우에는 마지막 CURRENT 리두로그 파일의 경로와 이름을 지정해 준다.
SQL> recover database using BACKUP controlfile
c:\oracle\product\10.2.0\oradata\orcl\redo03.log
SQL> alter database open resetlogs;
설명) 절차와 방법은 완전 복구방법과 같지만 결론적으로 이 방법은 불완전 복구이다.
왜냐하면, 데이터베이스의 모든 상태정보가 저장되어 있는 컨트롤 파일이 삭제되었기 때문에
컨트롤 파일은 복구되었지만 상태정보가 복구되지 않았기 때문이다.
SQL> shutdown
SQL> exit
설명) 불완전 복구를 수행하고 나면 반드시 이전의 마지막 백업 파일은 재사용될 수 없기 때문에 다시 오프라인 백업을 수행해야 한다. 또한, 이전의 아카이브 파일, 트레이스 파일들도 제거 해야 한다.
[C:\] cd c:\oracle\product\10.2.0\oradata\orcl
[c:\oracle\product\10.2.0\oradata\orcl] copy *.* c:\backup\.
[C:\] copy c:\oracle\product\10.2.0\db_1\database\INITorcl.ora c:\backup\.
[C:\] del c:\oracle\product\10.2.0\db_1\database\archive\*.arc
참조) '오라클 ACE가 해설하는 ORACLE Backup&Recovery' (저: 주종면)
'개발 및 관리 > Oracle 9i, 10g, 11g, 12c, 19c' 카테고리의 다른 글
테이블 정보 검색 - DBA_OBJECTS, DBA_SEGMENTS, DBA_TABLES, DBA_EXTENTS (0) | 2011.03.23 |
---|---|
인덱스 생성, Oracle Table에 Assign되어 있는 Index 조회, 인덱스 생성 지침, 인덱스 재구축(Rebuild), 인덱스 유효성 검사, 인덱스 삭제 (0) | 2011.03.23 |
OFF-Line 백업을 이용한 불완전 복구 - 1 (0) | 2011.03.06 |
OFF-Line 백업을 이용한 완전 복구 (0) | 2011.03.06 |
Windows 7, 엑세스가 거부되었습니다~! (0) | 2011.03.06 |