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 실시
사용자가 실수로 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%환급,개발자전문]빅데이터/SQL/자바/스프링/안드로이드/닷… | 12-27 | 2604 | ||
[채용확정무료교육]오라클자바개발잘하는신입뽑기2개월과정,교육… | 12-11 | 1883 | ||
53 | [평일100%환급7건]Spring,자바&JSP,안드로이드,웹퍼블리싱,C#닷… | 03-15 | 1698 | |
52 | [주말]C#,ASP.NET마스터 | 01-31 | 1801 | |
51 | [기업100%환급,평일주간]SQL기초에서스키마오브젝트,PLSQL,힌트… | 01-31 | 2652 | |
50 | [평일주간야간,주말]C기본&자료구조,알고리즘 | 01-31 | 1420 | |
49 | [평일주간,평일야간,주말]Spring,MyBatis,Hibernate개발자과정-… | 01-19 | 1732 | |
48 | [평일야간,주말]안드로이드개발자과정(Android기초실무) | 01-11 | 1623 | |
47 | [평일야간,주말주간야간]JAVA,Network&JSP&Spring,MyBatis,Hiber… | 01-03 | 2145 | |
46 | [100%환급,개발자전문]빅데이터/SQL/자바/스프링/안드로이드/닷… | 12-27 | 2604 | |
45 | [평일주간]NoSQL,MongoDB,빅데이터기초과정 | 12-19 | 1845 | |
44 | [평일주간야간, 주말]웹퍼블리싱 마스터(HTML5,CSS3,jQUERY,AJAX… | 12-14 | 1821 | |
43 | [채용확정무료교육]오라클자바개발잘하는신입뽑기2개월과정,교육… | 12-11 | 1883 | |
42 | [평일주간]빅데이터하둡기초과정(BigData Hadoop) | 12-09 | 1478 | |
41 | [평일야간]닷넷(C#,Network,ADO.NET,ASP.NET)마스터 | 12-01 | 1709 | |
40 | [기업100%환급]오라클&자바웹스프링신입과정3주(SQL,JAVA,JSP,Se… | 12-01 | 1882 | |
39 | [평일야간,주말]SQL기초에서실무까지(SQL기초,PLSQL,힌트,튜닝) | 12-01 | 1355 |
댓글 없음:
댓글 쓰기