Time Base Recovery(2)
사용자가 실수로 EMP 테이블을 삭제 하였다고 가정을 하고 복구를 해보도록 하겠습니다. 윈도우 환경이나 유닉스 환경 모두 비슷한 방법이므로 접하기 쉬운 윈도우 환경에서 실습을 하도록 하겠습니다.
복구를 위해 필요한 파일은 cold backup 파일, 백업 이후 생성된 아카이브 로그 파일
------------------------------------------------------------
환경 : Oracle 9.2 윈도우
데이터파일 위치 : c:\oracle oradata\wink
아카이브 로그 폴더 : C:\oracle\ora92\database\archive
백업 파일의 위치 : C:\backup\oradata\wink
-------------------------------------------------------------
(사고를 치기 전에 cold backup 본이 있다는 가정을 합니다.)
1. emp 테이블을 삭제 하여 사고를 칩니다.
SQL> conn scott/tiger
Connected.
SQL> select count(*) from emp;
COUNT(*)
----------
10
SQL> drop table emp; 여기에서 그만 실수를 하군요 -…- (11시 11분경)
Table dropped.
2. 데이터 베이스를 종료 하고 cold backup을 실시(cold backup은 이전 강좌를 참고하여 하세요…)
SQL>shutdown immediate;
3. 마운트 단계까지 데이터베이스를 시작하고 백업해둔 데이터 파일을 이용하여 복원
(데이터 파일만 복구를 하며 컨트롤 파일, 리두 로그 파일은 복원 하지 않습니다.)
SQL> startup mount
ORACLE instance started.
Total System Global Area 361831504 bytes
Fixed Size 453712 bytes
Variable Size 343932928 bytes
Database Buffers 16777216 bytes
Redo Buffers 667648 bytes
Database mounted.
SQL>
SQL>
SQL> host copy C:\backup\oradata\wink\*.dbf c:\oracle\oradata\wink\
C:\backup\oradata\wink\AUTO01.DBF
C:\backup\oradata\wink\CWMLITE01.DBF
C:\backup\oradata\wink\DRSYS01.DBF
C:\backup\oradata\wink\EXAMPLE01.DBF
C:\backup\oradata\wink\INDX01.DBF
C:\backup\oradata\wink\LOB_DATA1.DBF
C:\backup\oradata\wink\ODM01.DBF
C:\backup\oradata\wink\REDO01.DBF
C:\backup\oradata\wink\REDO02.DBF
C:\backup\oradata\wink\REDO03.DBF
C:\backup\oradata\wink\SYSTEM01.DBF
C:\backup\oradata\wink\TEMP01.DBF
C:\backup\oradata\wink\TEST01.DBF
C:\backup\oradata\wink\TOOLS01.DBF
C:\backup\oradata\wink\UNDOTBS01.DBF
C:\backup\oradata\wink\users01.dbf
C:\backup\oradata\wink\XDB01.DBF
C:\backup\oradata\wink\XDB02.DBF
18개 파일이 복사되었습니다.
4. recover database until time 명령으로 불완전 복구를 합니다. (11시의 상태로 되돌립니다.)
SQL> set autorecovery on
SQL> recover database until time '2005-04-03 11:00:00';
ORA-00279: change 17475178 generated at 03/27/2005 00:50:52 needed for thread 1
ORA-00289: suggestion : C:\ORACLE\ORA92\DATABASE\ARCHIVE\001_00307.ARC
ORA-00280: change 17475178 for thread 1 is in sequence #307
ORA-00278: log file 'C:\ORACLE\ORA92\DATABASE\ARCHIVE\001_00306.ARC' no longer
needed for this recovery
ORA-00279: change 17490764 generated at 03/27/2005 02:35:12 needed for thread 1
ORA-00289: suggestion : C:\ORACLE\ORA92\DATABASE\ARCHIVE\001_00308.ARC
ORA-00280: change 17490764 for thread 1 is in sequence #308
ORA-00278: log file 'C:\ORACLE\ORA92\DATABASE\ARCHIVE\001_00307.ARC' no longer
needed for this recovery
……….
……….
……….
5. resetlogs 옵션을 이용하여 DB를 open
SQL>alter database open resetlogs;
6. 정상적으로 복구 되었는지 확인(emp Table이 있는지 확인)
SQL> select count(*) from emp;
COUNT(*)
----------
10
7. DB를 종료 후 cold backup 실시
기업100%환급/오라클/자바/스프링/안드로이드/닷넷C#/웹퍼블리싱… | 12-27 | 1894 | ||
[채용예정교육]오라클자바개발잘하는신입뽑기2개월과정,교육전취… | 12-11 | 1382 | ||
53 | [평일주간]100%환급6건,안드로이드,자바,C#,스프링3.2,SQL,힌트/… | 03-15 | 1126 | |
52 | [주말주간]C#, ASP.NET마스터 | 01-31 | 1294 | |
51 | [평일,기업100%환급]SQL기초에서 Schema Object까지 | 01-31 | 1084 | |
50 | [평일야간]HTML5, CSS3,Ajax, jQuery마스터과정 | 01-31 | 986 | |
49 | [평일주간,평일야간,주말]Spring,MyBatis,Hibernate개발자과정 | 01-19 | 1294 | |
48 | [평일주간,평일야간,주말]안드로이드개발자과정 | 01-11 | 1137 | |
47 | [평일야간,주말주간]JAVA,Network&WEB&Framework | 01-03 | 1634 | |
46 | 기업100%환급/오라클/자바/스프링/안드로이드/닷넷C#/웹퍼블리싱… | 12-27 | 1894 | |
45 | [평일야간,주말]자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis… | 12-19 | 1401 | |
44 | 웹퍼블리싱 마스터(HTML5,CSS3,jQUERY,AJAX,JavaScript) | 12-14 | 1378 | |
43 | [채용예정교육]오라클자바개발잘하는신입뽑기2개월과정,교육전취… | 12-11 | 1382 | |
42 | [평일,기업100%환급]자바기초에서 JDBC, Servlet/JSP까지 | 12-09 | 1112 | |
41 | [평일야간]닷넷(C#,Network,ADO.NET,ASP.NET)마스터 | 12-01 | 1302 | |
40 | [기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍(평일주간(단기)… | 12-01 | 1485 | |
39 | [평일야간,주말]SQL기초에서실무까지(SQL기초,PLSQL,힌트,튜닝) | 12-01 | 984 |
댓글 없음:
댓글 쓰기