Oracle/백업&복구 32

2012.02.08 백업&복구 6번째( Instance Recovery원리, redo log원리, change vector, latch, 2가지 SCN, checkpoint종류, FAST_START_MTTR_TARGET, Shared redo Strand)

내용출처 : http://jigi.net/4239 ** 위 포스팅을 그대로 긁어올 수 있게 해주신 해당 사이트 운영자 지기님 감사드립니다. 1. Instance Recovery 데이터베이스가 비정상적으로 종료되어 STARTUP 할 때 SMON이 redolog file과 Undo Segment 정보를 가지고 데이터 복구 하는 과정을 말한다. 이 때 복구해야할 데이터는 모두 Redolog 파일에 기록되어 있어야 하며, 복구할 데이터가 Archive 파일에도 있을 경우 자동복구(SMON이 자동실행)는 실패하고 수동복구(DBA가 수행)가 필요하게 된다. 2. RedoLog의 생성 및 기록원리 가. DML 작업 발생 나. 필요블럭 DB Buffer Cache에 로드 -> Block Lock(page fix) 다...

2012.02.08 백업&복구 5번째(undo tablespace 장애 복구하기) ; undo 장애처리의 핵심설명, 예제2개

http://gyh214.tistory.com/77 undo segment 관련 참고글 undo segment 운영방법에는 2가지 모드가 있습니다. 1. AUM(Automatic Undo Management) 2. MUM(Manual) undo tablespace장애 복구의 핵심 1) DB셋팅을 Manual로 바꾸고 복구하기 ; AUM 모드로 운영하게 되면, undo tbs가 장애가 생기는 즉시, DB가 뻗어버리고, open조차 되지 않는 현상이 발생하는데 반해, MUM 모드로 운영하게 되면, oracle에서 undo 쪽에 문제가 발생해도, DBA가 해결하겠지~ 하면서 별 신경을 쓰지 않습니다. ( 물론 장애가 발생한 상태로 DB를 운영하게 되면 DB가 뻗겠죠, MUM으로 설정하면 OPEN까지는 갈 수 ..

복구시나리오 종합(drop tablespace장애(백업 전 생성, 백업 후 생성), 사용자 실수로 지운 drop table 복구 (logmnr error 포함)

--------------------------------------------------------------------------------------------장애 ▼ ▼ ▼ ▼ ▼ ▼(장애) A tbs 생성 백업 받았음 B tbs 생성 A,B tbs에 test_a,b table생성 (생성후 자료insert) test_a,b 실수로 drop 모든 Datafile, Ctlfile 삭제됨 위 시나리오 요약 및 복구목적 1. A tbs 생성 이후 switch logfile 2. 백업 3. B tbs 생성 이후 switch logfile 4. A,B tbs에 test_a,b table생성 후 자료 insert (commit 후 switch logfile) 5. datafile, contorl file 모두..

불완전복구 시나리오 : 잘못된 tbs삭제를 복구하기(백업, 현재 어느 control file에도 삭제해버린 tbs의 정보가 없을때)

즉, 백업 후에 생성한 tablespace가 삭제된 경우에 복구하는 방법입니다. (drop tablespace 명령어를 실행하면, 바로 controlfile에서 해당 tbs정보를 삭제하기때문에, 현재 control file도 사용할 수 없습니다.) 불완전복구 데모시나리오 2 : 잘못된 tbs삭제를 복구하기 시나리오 순서 1. 백업 2. tbs생성(TEST, test01.dbf) 후 자료 입력 한 후 commit 후 시간확인 3. 현재 DB의 파일 경로들을 살펴보기 4. log switch 몇번 후 datafile삭제 문제 : 백업된 control file에 생성된 tbs정보가 없음 5. shutdown 한 후 필요한 자료들을 임시경로에 restore하기 (백업된 데이터파일, 현재 redolog, 백업된 ..

recover database using backup controlfile until cancel; 명령어관련

보통 recover database;로 복구시에는 control파일이 최신이므로, controlfile의 checkpoint SCN이 마지막이 되게끔, datafile에 자료들을 복구해 넣는데 반해서, backup된 controlfile로 복구시에는 마지막 checkpoint SCN이 언제가 되는지 모릅니다. 그래서 datafile의 SCN을 보고 그 이후의 복구자료들(archive file, logfile)을 모두 복구하게 되는데, (using backup controlfile 옵션) 언제까지 복구할 줄 알 수가 없으므로, 사용자가 CANCEL을 입력할 때의 시점의 파일전까지 복구를 한다는 의미입니다.(until cancel 옵션) CANCEL입력에 관해서는 media recovery하실때 다들 aut..

복구시 Clone DB만드는법, 만드는 이유, export, import 하는법

DB가 운영중에 datafile이 손상되는 경우가 있습니다. 하지만 DB는 계속 운영이 되어야 하므로, CloneDB를 만들어서 그 clone을 이용해서 복구하고 export한 후 복구된 자료를 원래 DB로 import하게되면, 운영중인 DB를 끄지않고, 자료만 싹 복구 할 수 있습니다. ( ↑ clone DB 만드는 이유 중 하나 ) clone DB생성방법 (운영중인 DB와 clone DB는 같은 하드안에 있다고 가정합니다.) (clone DB의 SID를 CLONE으로 하겠습니다. clone DB의 모든 파일들은 /data/clone안에 넣겠습니다.) 1. 파일복사단계 백업된 datafile들을 /data/clone안에 복사합니다. 운영중인 redolog file을 /data/clone안에 복사합니다...

복구 후 Temp Tablespace 사용하도록 지정하는 법

복구 후 database를 open 할때 alert log에 다음과 같은 log가 보입니다. ********************************************************************* WARNING: The following temporary tablespaces contain no files. This condition can occur when a backup controlfile has been restored. It may be necessary to add files to these tablespaces. That can be done using the SQL statement: ALTER TABLESPACE ADD TEMPFILE Alternatively, i..

2012.02.02 백업복구 4일차 (불완전복구) ; 주의사항, RESETLOGS하는 이유, RESETLOGS시 일어나는 일들, 불완전복구 데모시나리오(delete복구, tbs삭제 복구)

불완전복구 (Incomplete Revocery) : 1. 장애가 난 시점까지가 아닌, 과거의 원하는 시점까지 데이터를 복구하는 것 2. 데이터 복구 후 DB Open 시에는 resetlogs 옵션을 반드시 사용하여야 한다. 3. 장애가 발생한 데이터파일만 과거시점으로 되돌리는 것이 아니라, 전체 데이터베이스를 과거 시점으로 되돌리는 작업이다. 4. resetlogs 옵션 사용 시 redolog file은 재생성 되거나 초기화 된다. 주의사항 1. 불완전복구 후 DB를 open하기 위해서는 resetlogs를 사용해야하므로, 한번 open하게 되면, 이전의 Archive log file들을 이용할 수 없습니다. ---> 복구 시 한번에 자기가 딱 원하는 시점으로 되돌리려면, 신내림을 받아야 합니다. 자기..

Noarchivelog로 운영하던 DB를 Archivelog로 운영하다가, Noarchivelog시절 datafile을 날려먹었을때 상황(백업파일없음)

요약하자면 시작(Noarchivelog)--------------------------->Archivelog-------------------->TEST datafile손상(백업파일없음) ↑ (TEST tablespace생성) (다른건 다 남아있고, TEST만 손상) 결론부터 말하자면, 복구하지 못합니다. 원리를 생각하시면 당연한 이치입니다. Archivelog이전에 tablespace가 생성되었으므로, Archivelog mode 전환이전의 자료들은 어떤 자료가 있었는지 알수가 없으므로 복구못합니다. * 1 alter database create datafile 2* '/home/oracle/oradata/testdb/test_b01.dbf' as '/home/oracle/temp/test_b01.db..

2012.02.01 백업복구 3일차(복구의 원리, 복구시 사용하는 명령어들, 완전복구, 불완전복구)

장애의 종류 1. 물리적 장애 : File 자체의 장애 2. 논리적 장애 : 사용자 실수로 발생되는 장애( ex; 지워서 안되는 table삭제, DDL, DML ) * 자료복구의 중요한 점은 No archivelog냐 Archivelog냐가 아니라, 복구하려는 데이터가 저장되어있느냐(logfile이든, archive file이든)가 중요 복구 원리 (상황가정 : SCN# 100일때 백업을 받았음, 쭉 운영하다가 SCN# 108때 ts_a01.dbf 파일장애, log file group 3개 존재--> logfile 에 106,107,108에 해당되는 작업이 저장되어있겠죠!) 1. SCN# 100일때 받아놓은 백업본을 DB에 복사해옴(RESTORE 작업) 2. 복구시도 (사용한 명령어 : recover d..