개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

Flashback 사용 예시

 

 


 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

Flashback 사용 예시

 

 


 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

Flashback이란?

 

​사용자 실수에 의한 손상된 데이터를 Database의 크기와 상관없이 복구를 할수 있는기능이다.

이 Flashback 기능은 일반적인 복구에서 우려되는 데이터베이스의크기를 걱정하지 않아도 된다.
보통의 사용자 실수는 커다란시스템 장애가수반되며, 이를 복구하기 위해서는많은 자원과 시간이

 필요하다. 하지만 9i에서 지원되는 flashback query와 10g에서 지원하는 다양한 flashback을통하여 손쉽게 사용자실수를 손쉽게 복구한다.

Oracle 9i 부터는 AUM 환경하에서 Flashback 기능을 이용하여 잘못된 DML operation 으로 인한

 복구를 쉽게 할 수 있다. 물론 이전까지 했던 방법인 Point in Time Recovery 또한 유효하다.

 

 △ 9i : Flashback query
△ 10g : Flashback Database
Flashback Drop
Flashback Version Query
Flashback Transaction Query
Flashback Table
※ Oracle Flashback Feature는 10g Standard Edition에서는 지원하지 않는다.

 


 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

Flashback이란?

 

​* Flashback 기술은 recovery 기술의 혁신적 발전을 가져왔습니다.

* 기존 recovery 기술은 느립니다. 

  - 9i 때부터 Flashback 쿼리가 존재 했었습니다.

  - 잘못된 데이터만이 아니라 전체 데이터베이스나 파일을 복원해야 합니다.

  - 데이터베이스 로그의 모든 변경 사항을 검토해야 합니다.

  ※ 기존 백업이 느린 이유는 백업받아 놓은걸 올려놓고 로그(온라인로그, 아카이브로그)를

    적용해야되기 때문에 느립니다.

    백업 받아놓은것이 용량이 클경우 속도가 상당히 느립니다.

 

* Flashback은 빠릅니다.

  - 변경 사항은 행 및 트랜잭션으로 나타낼 수 있습니다.

  - 변경된 데이터만 복원됩니다.
    * Flashback 명령은 쉽습니다.

  - 복잡한 다단계 절차가 포함되지 않습니다.
※ Flashback 기술은 데이터를 보면서 시점을 앞뒤로 되돌릴 수 있는 새로운 기능을 제공합니다.

 Flashback 기술은 간단히 변경된 데이터에만 작용하므로 recovery 과정이 매우 향상됩니다.

 

 

 

 

 


 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

백업 및 복구

 

 *Incomplete Recovery 절차
 -데이터베이스를 종료하고 Cold Backup 수행한다.
 -모든 데이터 파일을 Restore한다.
 -컨트롤파일, 리두로그 파일은 Restore 하지 않는다.
 -데이터베이스를 mount 모드로 open하고 Time/Cancel/Change Based Recovery 수행한다.
 -“resetlogs” 옵션을 사용하여 데이터베이스를 오픈한다.
 -데이터베이스 문제가 해결  되었는지 확인한다.
 -데이터베이스를 정상종료하고 Cold Backup 수행한다.

 

 

 

 

 

 


 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

백업 및 복구

 

 *Incomplete Recovery
- 정상적으로  delete, update, insert, drop 에 의해 수행된 데이터를 복구 하는 방법은 오라클에서

 제공하지 않는다. 또 특정 테이블만 복구하는 방법도 제공하지 않는다. 다만 Export / Import 를 사용하여 

 특정 테이블을 복구할 수 있다.
- 최근의 콜드 백업 이후부터 모든 아카이브 로그 파일이 손상 없이 모두 있는 경우 Incomplete Recovery를 수행할 수 있다.
 -Time Based Recovery
 -Cancel Based Recovery
 -Change Based Recovery

 

 

 

 

 


 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

백업 및 복구

 

 *Temporary Tablespace 데이터파일의 복구절차
-Temporary Tablespace Data file의 손실시에는 Online 복구가 가능하므로 업무중단이 발생되지는

 않는다. 
- 손상된 Temporary Tablespace를 Temp영역으로 사용하는 사용자를 조회하여 변경한다.
- 현재의 Temporary Tablespace를 offline drop한다.
 - SVRMGR> alter tablespace TEMP offline;
 - SVRMGR> drop tablespace TEMP including contents; 
- 새로운 Temporary Tablespace를 생성한다.
 - SVRMGR> create tablespace TEMP datafile ‘/disk1/oradata/temp_01.dbf’ size 2000M temporary;
 -alter user를 이용하여 해당 유저의 Temporary Tablespace를 재할당한다.
 - SVRMGR> alter user scott temporary tablespace TEMP;

 

*Index 데이터파일의 복구절차
 -Index 데이터 파일이 손실된 경우에는 온라인 상에서 해당 Index Tablespace를 offline drop한후

 Tablespace 및 데이터 파일을 재생성하고 관련 인덱스를 재생성하도록 한다.

 

 

 

 

 


 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

백업 및 복구

 

 *Online Redo Log File(Mirroring된 경우) 복구절차
- 오라클이 온라인 로그 파일을 미러링했을 경우에는 복구가 쉬워지고, 로그 파일이 하나 손상되더라도 alert.log 파일에 메세지만 출력되고 기동을 정지하지  않는다.
- 먼저 콜드 백업을 수행하고, 손상된 로그 파일이 어떤 상태인지 체크한다.
- 손상된 Log file이 CURRENT 상태의 Log Group의 멤버라면 강제로 Log Switch를 발생시켜 INACTIVE

상태로 변경한다.
-  SVRMGR> alter system switch logfile;  < 강제로 Log Switching을 발생시킨다. >
- 손상된 Log file의 상태가 INACTIVE로 바뀌면 정상적으로 Log File을 삭제한다.
 - SVRMGR> alter database drop logfile member ‘/disk1/oradata/redo01_01.dbf’;
- 삭제한 로그 파일의 멤버를 같은 그룹으로 재 생성한다. (Group 1 이라고 가정)
 - SVRMGR> alter database add logfile member ‘/disk1/oradata/redo01_01.dbf’ to group 1;
- 데이터베이스를 정상 open 한다.
 -  SVRMGR> alter database open;

 

 

 

 


 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

백업 및 복구

 

*컨트롤파일 복구절차
- 온라인 복구는 불가능하므로 반드시 데이터베이스를 정지시킨 후 복구작업을 수행하도록 한다.
- 컨트롤파일 일부 손상 시에는 DB를 비정상 종료 시킨 후  미러링되어 있는 컨트롤파일을 이용하여

 손상된 파일명으로 복사한 후 DB를 기동시키면 된다.
- 컨트롤파일 전부 손상 시에는 다음과 같이 같은 절차에 따른다.
- Oracle이 기동중이라면 컨트롤파일을 재생성하는 스크립트파일을 만들 수 있다.
 -  SVRMGR> alter database backup controlfile to trace; < USER_DUMP_DEST 에 스크립트 생성됨 >
 -Oracle이 Shutdown된 상태라면 컨트롤파일 작성을 위한 스크립트를 직접 작성한다.
  - CREATE CONTROLFILE REUSE DATABASE “TESTDB” NORESETLOGS NOARCHIVELOG
   LOGFILE  …………
   DATAFILE …………
- startup nomount 상태에서 위에서 생성/작성한 스크립트를 수행하여 컨트롤파일을 생성한다.
- 스크립트 수행후에는 mount 상태가 되므로 데이터베이스를 정상 open 한다.
-  SVRMGR> alter database open;

 

 

 


 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

백업 및 복구

 

*테이블스페이스 복구절차
- 테이블스페이스 리스트에 등록된 모든 데이터파일의 media recovery를 위해 사용되며, 반드시 테이블스페이스는 offline되어 있어야 한다. 
-장애가 발생한 테이블스페이스를 offline한다. 
- SVRMGR> alter tablespace USERS offline;
- 해당 복구가 필요한 테이블스페이스의 데이터파일 및 archive log를 restore한다.
- 테이블스페이스를 복구한다.
-SVRMGR> set autorecovery on   <자동으로 아카이브 로그 파일이 적용되도록 셋팅한다>
-SVRMGR> alter database recover tablespace USERS;
- 해당 테이블스페이스를 online한다.
 - SVRMGR> alter tablespace USERS online;

 

 

 


 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr
 

+ Recent posts