1. DB 내에 여러 개의 데이터 파일들이 유실되어 장애가 발생한 경우
[C:\] dir c:\oracle\product\10.2.0\oradata\orcl\*.dbf
[C:\] del c:\oracle\product\10.2.0\oradata\orcl\users01.dbf
[C:\] dir c:\oracle\product\10.2.0\oradata\orcl\*.dbf
[C:\] cd c:\bacup
[C:\] copy users01.dbf c:\oracle\product\10.2.0\oradata\orcl\users01.dbf
[C:\] sqlplus /nolog
SQL> conn sys/oracle as sysdba;
SQL> startup
<Error 발생할 것으로 예상, 만약 Error 안나면 Pass>
SQL> select * from v$recover_file;
SQL> recover database
< Archive 적용하기>
SQL>alter database open;
2. 특정 테이블스페이스의 데이터 파일들이 유실된 경우
[C:\] cd c:\backup
[C:\backup] copy users01.dbf c:\oracle\product\10.2.0\oradata\orcl\users01.dbf
[C:\] sqlplus /nolog
SQL> conn sys/oralce as sysdba;
SQL> startup
<Error 발생할 것으로 예상, 만약 Error 안나면 Pass>
SQL> select * from v$recover_file;
<user01.dbf의 상태가 online인 것을 확인 요망>
SQL> select file#, status, name from v$datafile;
SQL> alter database 'c:\oracle\product\10.2.0\oradata\orcl\users01.dbf' offline;
SQL> select file#, status, name from v$datafile;
<user01.dbf의 상태가 off line일 것임>
SQL> alter database open;
SQL> select tablespace_name, status from dba_tablespaces;
<users 테이블 스페이스의 상태는 online일 것임>
SQL> alter tablespace users offline immediate;
SQL> select tablespace_name, status from dba_tablespaces;
<users 테이블 스페이스의 상태는 offline일 것임>
SQL> recover tablespace users
< Archive 적용하기>
SQL> alter tablespace users online;
SQL> shutdown immediate
SQL> exit
3. 특정 데이터 파일이 유실된 경우
[C:\] cd c:\backup
[C:\backup] copy users01.dbf c:\oracle\product\10.2.0\oradata\orcl\users01.dbf
[C:\] sqlplus /nolog
SQL> conn sys/oralce as sysdba;
SQL> startup
<Error 발생할 것으로 예상>
SQL> select * from v$recover_file;
SQL> select file#, status, name from v$datafile;
설명) USERS01.DBF 파일은 삭제되었지만 데이터 딕셔너리에는 해당 파일이 아직 사용 가능한 상태로 나타난다. ONLINE으로 나타난다. 데이터 파일이 완전 복구작업을 수행하기 위해서는 OFFLINE 상태이어야 한다.
SQL> alter database datafile 'c:\oracle\product\10.2.0\oradata\orcl\users01.dbf' offline;
SQL> alter database open;
설명) user01.dbf가 online 상태에서는 항상 파일의 존재 유무를 확인하게 되지만 offline 상태에서는 확인하지 않기 때문에 오라클 서버를 오픈할 수 있다.
SQL> recover datafile 'c:\oracle\product\10.2.0\oradata\orcl\users01.dbf'
< Archive 적용하기>
SQL> alter database datafile 'c:\oracle\product\10.2.0\oradata\orcl\users01.dbf' online;
SQL> shutdown immediate
SQL> exit
참조) '오라클 ACE가 해설하는 ORACLE Backup&Recovery' (저: 주종면)
'개발 및 관리 > Oracle 9i, 10g, 11g, 12c, 19c' 카테고리의 다른 글
OFF-Line 백업을 이용한 불완전 복구 - 2 (0) | 2011.03.06 |
---|---|
OFF-Line 백업을 이용한 불완전 복구 - 1 (0) | 2011.03.06 |
Windows 7, 엑세스가 거부되었습니다~! (0) | 2011.03.06 |
아카이브 모드 설정 및 확인하기 (0) | 2011.03.01 |
데이터베이스의 구조분석 (0) | 2011.02.22 |