이미 소장하고 있다면 판매해 보세요.
|
Chapter 01 No Archive log mode와 Archive log mode
실무 실습 : archive redo log mode로 변경하기 실무 실습 : Archive Hang 발생 시 해결 방법 Chapter 02 Oracle Backup 2.1 백업 대상(Oracle 10g R2 기준) 1. Data file 2. Control file 3. Redo log file 4. Parameter file / Password file 2.2 백업의 종류 1. 닫힌 백업(cold backup / closed backup) 실무 실습 : 닫힌 백업 수행하기 2. 열린 백업(hot backup / open backup / begin backup) 실무 실습 : hot backup 수행하기 실무 실습 : 일자별로 자동으로 백업 디렉토리를 생성해서 begin backup을 수행하는 백업 스크립트 Chapter 03 Recovery 원리 3.1 Recovery 원리(10g R2 기준) Chapter 04 Parameter File 장애 복구 4.1 Oracle Startup 과정 4.2 Parameter file 실무 실습 : Parameter file 생성 및 관리하기 실무 실습 : pfile, spfile 만들기 실무 실습 : startup / shutdown 하기 Chapter 05 Control File 장애 복구 5.1 Oracle Version별 control file 내용 심화학습 : Oracle 9i 버전 control file 내용 확인하기 심화학습 : Oracle 10g R2 버전 control file 내용 확인하기 5.2 Control file 분산 관리하기 실무 실습 : Control file 관리하기(pfile 이용할 경우) 실무 실습 : Control file 관리하기(spfile 사용할 경우) 5.3 Control file 관련 장애 해결하기 장애 유형 : Parameter file의 경로와 실제 파일 경로가 다른 경우 장애 유형 : Control file끼리 내용이 다른 경우 장애 유형 : old control file / control file 삭제됨 / incarnation 에러 Case : 현재 data file, redo log file에 이상이 없을 경우 - 재생성 - no resetlogs Case : 현재 data file, Control file에 이상이 있고 백업 파일 있을 경우 - using backup controlfile로 복구 수행 Case : 현재 data file, redo log file에 이상이 있고 백업 파일 없을 경우 - 재생성 - resetlogs 종합 복구 문제 : 백업 파일이 close backup일 경우 종합 복구 문제 : 백업 파일이 hot backup일 경우 심화학습 각 Case별 재생성된 Control file 내용 확인 Chapter 06 Data File 장애 및 사용자 장애 복구하기 6.1 Tablespace와 Data file 개념 살펴보기 1. Tablespace와 Data file 개념 2. Tablespace의 종류 및 특징 실무 실습 : 일반 Tablespace 생성 및 조회하기 실무 실습 : 각 Data file의 실제 사용량 확인하는 방법 실무 실습 : Tablespace 용량 관리하기 조치 방법 : 수동으로 Tablespace에 Data file 추가하는 방법 조치 방법 : Data file 크기 수동 증가시키기 조치 방법 : Data file 크기 자동 증가시키기 실무 실습 : Tablespace Offline 실무 실습 : Data file 이동시키는 작업 실무 실습 : Tablespace 삭제하기 심화학습 Data file 내용 dump로 직접 확인하기 6.2 Data 장애 복구하기 1. No Archive log Mode에서 복구하기 실무 실습 : no archive log mode에서 장애 해결 2. Archive log Mode일 경우 장애 복구하기 실무 실습 : Offline 되는 일반 Tablespace 장애 복구하기 실무 실습 : Offline 안 되는 Tablespace 장애 복구하기 실무 실습 : 백업 파일이 없는 경우 복구하기 심화학습 새로 생성된 Data file 분석하기 실무 실습 : 임시 경로를 이용한 긴급 복구(일부 Data file의 백업 파일이 없는 경우) 실무 실습 : drop table 명령으로 삭제된 Table 복구하기 (모든 데이터 파일 복원) 실무 실습 : drop table 복구하기 - 일부 파일만 복원 실무 실습 : drop table 복구하기(백업 없는 경우) 실무 실습 : 잘못된 update 장애 복구하기 실무 실습 : 잘못된 delete 장애 복구하기 실무 실습 : 잘못된 drop user 장애 복구하기 실무 실습 : drop tablespace로 잘못 삭제된 Tablespace 복구하기 - 백업 control file 있을 경우 실무 실습 : Drop tablespace 복구하기 - 백업된 Control file 없을 경우 실무 실습 : log miner를 이용하여 redo log file에서 특정 테이블의 삭제 시간 찾기 3. undo tablespace 장애 복구하기 실무 실습 : 운영 중인 undo tablespace 장애 복구하기 실무 실습 : No archive log mode에서 undo tablespace의 Data file이 삭제된 장애 상황 복구하기 Chapter 07 Redo log 장애와 Log Miner 7.1 Redo Log의 생성 및 기록 원리 7.2 Redo log file 구성 및 관리하기 1. Redo log file 개념 2. Redo log file 관리하기 실무 실습 : Redo log file 관리하기 7.3 Redo log file 내용 dump로 확인하기 1. DDL 수행 후 분석하기 2. Redo log file 분석 - DML 수행 후 분석하기 7.4 Oracle Log Miner - 8i 1. Log miner 설정해서 Redo log file 분석하는 예 7.5 Oracle Log Miner - 9i New Feature 7.6 Oracle Log Miner - 10g New Feature 실무 실습 : drop table 정보 찾기 실무 실습 : update table 정보 확인하기 7.7 Supplemental logging 1. 개요 2. supplemental logging의 종류 3. supplemental logging group 7.8 Case별 Redo log file 장애와 대처 방법 장애 유형 : 대기중인 그룹의 멤버 1개만 장애 발생할 경우 장애 유형 : 대기중인 그룹 중 archive 완료된 그룹이 지워진 경우 장애 유형 : 대기중인 그룹 중 archive 완료 안 된 그룹이 지워진 경우 - DB Open 상태 장애 유형 : 대기중인 그룹 중 archive 완료 안 된 그룹이 지워진 경우 - DB Close 장애 유형 : Current 그룹이 삭제된 경우 - DB Open 상태 장애 유형 : Current 그룹이 삭제된 경우 - DB Close - Shutdown immediate로 종료됨 장애 유형 : Current 그룹이 삭제된 경우 - DB Close - Shutdown abort로 종료 - data file backup과 archive log file 있음 장애 유형 : Current 그룹이 삭제된 경우 - DB close - Shutdown abort로 종료 - 백업 없음(archive log 없음 - DB를 no archive log mode로 변경) 장애 유형 : 전체 Redo log가 삭제된 경우 - DB Open(archive log mode에서 작업) 장애 유형 : 전체 Redo log가 삭제된 경우 - DB Close - 백업 있는 상태 장애 유형 : 전체 Redo log가 삭제된 경우 - DB Close - 백업 없는 상태 Chapter 08 export / import 8.1 개념 잡기 8.2 Conventional Path export와 Direct Path export 8.3 export 옵션 8.4 export 모드 및 export 수행하기 실무 실습 : conventional path로 Full export 받기(기본 모드) 실무 실습 : direct path로 Database Full export 받기 실무 실습 : export를 저장하는 백업 파일을 분할해서 받기 실무 실습 : 특정 테이블스페이스만 받기 실무 실습 : 여러 사용자를 동시에 백업 받기 실무 실습 : evaluation Buffer 값을 조정하면서 export 수행 실무 실습 : 일반 사용자(여기서는 scott 사용자)로 full export 수행 실무 실습 : parameter file을 이용한 export 수행하기 실무 실습 : 특정 조건만 export 받기 - query 옵션 사용하기(8i부터 사용 가능) 실무 실습 : schema별로 자동 export 백업 받는 스크립트 8.5 import 수행하기 1. import 옵션 2. import 수행하기 실무 실습 : DBA로 전체 데이터 import 수행하기 실무 실습 : 특정 사용자의 데이터만 import 수행하기 실무 실습 : SCOTT 사용자의 test02 테이블을 HR 사용자 소유로 변경하기 실무 실습 : 실제 데이터는 import 하지 않고 DDL 문장만 추출 하기 실무 실습 : import 할 때 테이블과 index 분리하기 8.6 export와 import에 대한 일반적인 궁금증 모음 심화학습 : tables 옵션으로 exp 받은 dmp 파일 분석하기 심화학습 : tablespaces 옵션으로 exp 받은 dmp 파일 분석하기 심화학습 : clob data export/import 수행하기 Chapter 09 Datapump 9.1 Datapump의 장점 1. 작업 관리의 편의성 2. 필요한 디스크 공간의 예측 3. 원격지 DB에 작업 수행 가능 4. remapping 기능 지원 9.2 사용 전 환경 설정하기 9.3 expdp 실행 모드 1. Full 모드 2. schema 모드 3. Tablespace 모드 4. table 모드 9.4 expdp 파라미터 정리 1. directory 2. dumpfile 3. filesize 4. parfile 5. logfile / nologfile 6. compression 7. transport_full_check 8. content 9. Exclude / Include 10. Query 11. sample 12. Network_link 13. encryption_password 14. Job_name 15. status 16. parallel 17. Attach 9.5 impdp 관련 파라미터 1. Content 2. Include 3. Exclude 4. Table_exists_action 5. Remap_schema 6. Remap_datafile 7. Remap_tablespace 8. Network_link 9.6 Datapump 작업 관리 및 모니터링 하기 실무 실습 : scott 계정의 emp, dept 테이블만 백업 받기 실무 실습 : scott schema 전부 백업 받기 실무 실습 : DB 전체를 백업 받기 실무 실습 : 일시 중단 후 다시 작업하기 실무 실습 : 비정상적으로 종료된 job 취소하기 실무 실습 : 여러 사용자의 테이블 한꺼번에 expdp 받기 실무 실습 : 병렬 expdp 작업하기 실무 실습 : 파일 위치 다르게 병렬로 expdp 작업하기 실무 실습 : 파라미터 파일 사용해서 expdp 수행 - 여러 개의 파일로 분할 expdp 실무 실습 : parameter 파일 이용해서 scott.test 테이블 impdp 작업하기 실무 실습 : impdp 병렬 작업하기 실무 실습 : import 수행하지 않고 DDL 문장만 추출하기 실무 실습 : 작업 예상 시간 추출하기 실무 실습 : 데이터 펌프 재설치하기 - 10.2 이상 버전 실무 실습 : 데이터 펌프 수행 시 암호화 작업 - 11g New Featrue 실무 실습 : 일자별 schema별로 자동 백업 받는 스크립트 Chapter 10 무정지 상태에서의 응급 복구 10.1 Clone DB와 exp/imp를 이용한 drop table 복구 1. 장애 상황 만들기 2. 복구 서버(testdb2)용 파라미터 파일 생성 3. Testdb2용 control file 생성 4. Drop 된 gogak 테이블 복구하기 5. 복구된 gogak 테이블을 운영 서버(testdb)로 이동하기 10.2 Clone DB를 이용한 drop tablespace 복구 1. 장애 상황 생성 2. 장애 발생 10.3 Clone DB로 복구 후 DB Link를 이용해서 이동하기 ■ 찾아보기ART 01 Oracle Administration |
|
이 책의 기획 의도
원인을 알고 장애를 해결하는 근원적인 처방 책 다음은 저자가 모 사이트 DB의 장애 신고를 받고 겪은 이야기이다. 어떤 장애가 났다는 연락을 받고 급하게 들어갔다. 마침 해당 사이트의 담당자가 먼저 도착해서 복구 작업을 하고 있었다. 나는 잠시 뒤에서 지켜보고 있었는데, 담당자가 열심히 에러 코드로 구글링해서 어떤 명령어를 찾은 후 바로 터미널 창에 붙여넣기한 후 과감하게 실행을 하고 있었다. 그런데 복구가 되어야 할 DB가 완전히 죽어버렸다. 갑자기 담당자는 해당 명령어를 적어놓은 어떤 블로그의 주인을 욕하기 시작했다. 틀린 명령어를 적어놨다고……. 잠시 후 자리를 바꿔서 내가 콘솔 앞에 앉았다. 우선은 Alert log부터 여러 가지 trace 파일을 확인한 후 적당한 백업 파일을 복원하고 몇 가지 작업을 추가하였다. 그리고 조금 전 담당자가 쳤던 명령어를 그대로 쳤다. 거짓말처럼 DB가 복구되었다. 이 과정을 보고 있던 담당자가 내게 물었다. “왜 아까 내가 했을 때는 안 되다가 똑같은 명령어를 친 지금은 될까요?” “모든 일은 원인이 있고 그 원인을 파악한 후 작업을 해야 합니다.” 대부분의 사람들은 DB에 장애가 나면 많이 당황한다. 그래서 원인이고 뭐고 당장 지금 이 순간 장애만을 해결하기에 급급하다. 마치 위가 아파 속이 쓰릴 때 그냥 약 하나 먹어서 지금 당장 급한 것만 해결하고 넘어가는 것과 같다. 그러나 정말 중요한 것은 왜 그런 장애가 났으며 그런 장애를 다시 발생하지 않게 하는 것이다. 그렇게 하기 위해서는 지금 당장의 치료도 중요하지만 근본적인 원인을 알아야 하며 그 원인에 따른 처방을 해야 한다. 독자가 찾고 원하는 실무와 원리를 담은 책 저자가 『오라클 백업과 복구: 원리부터 실무까지』를 출간한 이후 수많은 독자들이 성원을 보내왔다. - 데이터베이스를 살리는 백업 및 복구에 관심이 끌려 서점에 가 보았으나 백업 및 복구에 관련된 전문서적은 없었는데 너무 반가웠습니다. - 생 초보 수준의 오라클 구조나 프로세스 메커니즘 같은 것은 차라리 다루지 말고, Backup & Recovery 쪽을 보다 심화해서 기술하는 게 어떨까 싶다는 생각이 들었습니다. - 책을 보면 볼수록 예제가 정말로 생활 속에 녹아 있는 듯한 느낌이 듭니다. - 정말 철저히 실무적이고, 현장에서 자주 발생되는 문제에 대한 해답이 가득합니다. 초보 DBA시라면 필히 일독을 권합니다. - 보통 백업과 복구책들은 이론보다는 실습 위주여서 실습은 되지만 왜 그렇게 동작을 해야 하는지에 대한 내용은 담고 있지 않은데, 이 책은 동작 원리부터 실습까지 담고 있습니다. 독자들의 글에서 알 수 있듯이, 아직 우리나라에는 오라클 백업과 복구에 대한 전문 서적이 부족하다. 또한 기초적인 책은 많이 있는데, 좀 더 심화되고 바이블적인 책과 실무도 중요하지만 왜 그렇게 되었는지의 원리를 담은 책이 부족하다. 이 책은 이러한 독자들의 바람을 염두에 두고 썼으며, 당장의 위기를 넘기는 것도 중요하지만 근본적인 원인을 찾아 해결하는 것에 목표를 두고 썼다. 이 책이 오라클 백업과 복구의 정석으로 책장에 오래 남는 그야말로 바이블이 되었으면 하는 바람이다. 이 책의 특징 첫째, 이 책은 단순히 명령어만 나열해놓은 매뉴얼이 아니다. 장애를 복구할 수 있는 명령어만 잔뜩 나열해놓고 “알아서 쓰세요.”라고 말하는 단순한 매뉴얼이 아니라, 장애가 발생했을 때 장애의 이유와 그 장애의 이유에 적합한 복구 방법을 설명하고 더 나아가 앞으로 그런 장애가 발생하지 않도록 예방까지 하는 것에 초점을 맞추어 설명하고 있다. 그래서 이 책은 admin 관련 내용도 많이 들어 있고 중간에 OWI 관련 내용도 들어 있다. 또한 백업 복구 부분도 한 가지 장애를 여러 가지 다른 경우의 복구 방법으로 설명하고 있다. 둘째, 이 책의 독자 대상은 초·중급 엔지니어이다. 중급 정도 수준이 되는 독자가 보면 너무 쉽고 기초적인 내용으로 여겨지는 내용들도 들어 있을 것이다. 그러나 초급 독자는 그조차도 어려울 수 있다. 그래서 실습 과정이나 이론 설명 부분에서 아주 기초적인 내용부터 어려운 내용까지 언급하였다. 때로는 오라클이 없어서 직접 실습을 못할 경우도 있을 듯해서 실습 과정에서 발생하는 모든 내용을 책에 포함시켜서 책을 읽어 나가면 마치 직접 실습을 하는 것과 같은 효과를 볼 수 있도록 하였다. 셋째, 철저하게 현업의 장애를 예제로 담으려고 노력했다. 예제를 위한 예제가 아닌 이 책을 보고 익혀서 현업에서 바로 적용하고 응용까지 할 수 있기를 바라는 마음으로 작은 예제 하나까지 철저하게 현업을 담으려고 노력했다. 배워도 써 먹을 수 없는 지식은 죽은 지식이라는 것을 잘 알기에 최대한 살아 있는 지식을 가진 책을 만들려고 노력했다. 이 책의 내용 Oracle은 백업? 관련되어 DB를 운영하는 2가지 모드를 제공한다. no archive log mode와 archive log mode가 그것인데 1장에서는 이것들을 하나씩 살펴본다. 이 모드를 어떻게 설정하느냐에 따라 긴급 장애 시 데이터를 복구하느냐 못하느냐가 결정된다. 백업이란 만약의 경우 장애가 발생해서 DB가 사용할 수 없는 상태가 되었을 때 이를 고치기 위해 필요한 파일들을 미리 복사해 두는 것을 말한다. 2장에서는 백업에 대해서 배우는데, 이 책에서는 백업을 받는 경로를 디스크(20GB 정도)를 하나 추가해서 /data로 마운트해서 닫힌 백업은 /data/backup/close로, 열린 백업은 /data/backup/open으로, RMAN 백업은 /data/backup/rman으로 설정했다. 꼭 이 경로가 아니더라도 원하는 곳으로 경로만 변경해서 실습하면 된다. 가장 중요하면서도 궁금한 원리는 ‘오라클 서버가 어떻게 문제가 있는 데이터 파일을 알아내고 복구를 어떻게 시도하는가’라는 부분일 것이다. 3장에서는 이러한 복구의 원리에 대해서 자세하게 배운다. 4장에서는 Oracle을 시작하는 과정과 그 과정에서 반드시 필요한 Parameter file을 알아보고, 이 파일에 장애가 발생할 경우 어떻게 해야 하는지를 자세하게 살펴본다. Control file은 오라클 서버를 운영하는 데 필요한 굉장히 중요한 정보를 저장하고 있는 바이너리 파일이다. 사람으로 치면 두뇌에 해당되는 핵심 파일이다. 이 control file은 DB가 생성될 때 만들어지며 DBA가 별도의 작업을 통해 다시 생성할 수도 있다. 5장에서는 control file 안에 어떤 내용이 들어 있는지부터 알아보고 그것들을 어떻게 관리하는지 차례대로 살펴보도록 한다. 6장에서는 기초 지식이 되는 Data file과 Tablespace 개념과 관리 방법들을 먼저 알아본 후에 Data file 장애와 사용자 실수로 인한 Data 장애를 복구하는 방법을 살펴본다. Redo log를 잘못 관리하면 장애가 발생했을 때 복구가 아주 어려워지는 상황이 될 수 있다. 이처럼 데이터를 안전하게 지키기 위해 반드시 알아야 하는 Redo log에 대해서 7장에서 알아본다. 8장에서는 원래 데이터를 이동시키는 용도로 개발되었지만 그 사용법이 쉽고 기능 또한 막강하여 백업 및 복구 툴로 이용되고 있는 export와 import에 대해 배운다. Oracle datapump는 oracle 10g 버전부터 등장한 export/import의 향상된 유틸리티이다. export/import는 사용하기 편하고 성능도 뛰어나지만 속도가 느리고 작업 시간을 예측하기도 어려운 등의 단점을 가지고 있다. 이에 비해 datapump는 매우 뛰어난 속도 향상과 사용자의 편의성을 가지고 있다. 9장에서는 datapump를 자세히 살펴본다. 10장에서는 Clone DB와 exp/imp를 이용한 drop table 복구, Clone DB를 이용한 drop tablespace 복구, Clone DB로 복구 후 db link를 이용해서 이동하기 등을 배운다. |