이미 소장하고 있다면 판매해 보세요.
|
SECTION I 오라클 아키텍처 개요
CHAPTER 01 데이터베이스와 인스턴스 3 오라클 소프트웨어 4 ORACLE_HOME과 ORACLE_BASE 5 DBCA와 SID 6 데이터베이스와 인스턴스 8 데이터베이스 9 인스턴스 11 SID와 ORACLE_SID 환경 변수 12 데이터베이스 확인 13 인스턴스 기동과 정지 14 인스턴스 기동 14 인스턴스 정지 19 멀티테넌트 아키텍처 21 CHAPTER 02 클라이언트 애플리케이션과 서버 프로세스 24 클라이언트 애플리케이션 25 서버 프로세스와 세션 26 전용 서버 접속에서의 세션 26 리스너 27 세션과 서버 프로세스 확인 28 세션과 프로세스의 관계 30 CHAPTER 03 데이터 파일과 그에 관련된 구성 요소 33 데이터 파일과 테이블 스페이스 관계 34 테이블 스페이스의 종류 36 영구 테이블 스페이스 36 UNDO 테이블 스페이스 37 임시 테이블 스페이스 39 데이터 파일과 테이블 스페이스 확인 42 테이블 스페이스 확인 42 데이터 파일 확인 43 데이터 파일과 블록 45 데이터베이스 버퍼 캐시 46 캐시로서의 역할 47 버퍼로서의 역할 48 데이터베이스 버퍼 캐시 확인 48 CHAPTER 04 REDO 로그 파일과 REDO 데이터 52 REDO 로그 파일 53 REDO 로그 파일에 기록되는 시점 54 REDO 로그 버퍼와 LGWR 55 LGWR이 REDO 데이터를 기록하는 시점 56 REDO 로그 버퍼와 변경 처리의 정지 56 REDO 로그 파일의 순환 기록 56 순환 기록의 동작 56 아카이브 로그 모드와 아카이브 REDO 로그 파일 58 아카이브 REDO 로그 파일의 생성 58 로그 시퀀스 번호 59 REDO 로그 파일 다중화 60 REDO 로그 그룹 확인 61 REDO 로그 파일 확인 63 로그 스위치 실행 64 아카이브 로그 모드 확인 65 아카이브 로그 모드로 전환 66 아카이브 REDO 로그 파일 확인 68 CHAPTER 05 서버 파라미터 파일과 컨트롤 파일 72 서버 파라미터 파일과 초기화 파라미터 73 초기화 파라미터의 기본값 74 초기화 파라미터 변경 75 인스턴스 레벨에서의 변경 75 세션 레벨에서의 변경 76 초기화 파라미터 확인 76 SQL*Plus의 SHOW PARAMETERS 명령어 76 V$PARAMETER 뷰 및 V$SYSTEM_PARAMETER 뷰 77 텍스트 형식의 초기화 파라미터 파일 79 컨트롤 파일 80 컨트롤 파일 다중화 81 컨트롤 파일 확인 82 CHAPTER 06 오라클의 메모리 관리 86 PGA 87 PGA의 구성 요소 88 프로세스와 PGA 확인 89 SGA 90 공유 풀 91 라이브러리 캐시 91 딕셔너리 캐시 92 리절트 캐시 93 공유 풀의 캐시 정보가 삭제되는 시점 93 공유 풀과 데이터베이스 버퍼 캐시의 차이점 94 라지 풀 94 자바 풀과 스트림 풀 96 오라클의 메모리 관리 방식 96 AMM 96 ASMM 97 APMM(자동 PGA 메모리 관리) 98 수동 공유 메모리 관리 99 수동 PGA 메모리 관리 99 CHAPTER 07 그 밖의 구성 요소 102 그 밖의 백그라운드 프로세스 103 SMON 103 PMON 104 CKPT 104 백그라운드 프로세스 확인 105 패스워드 파일 106 로그 파일 107 ALERT 로그 108 트레이스 파일 109 Net Services 관련 로그 111 데이터 딕셔너리 뷰와 동적 성능 뷰 113 데이터 딕셔너리 뷰와 데이터 딕셔너리 113 동적 성능 뷰 115 SECTION II 스키마 오브젝트와 데이터 저장 방식 CHAPTER 08 계정과 권한 123 계정과 스키마 123 스키마 124 계정 정보의 백업 125 계정의 속성 125 계정 확인 128 QUOTA 확인 129 계정 프로파일 확인 130 권한 132 오브젝트 권한 132 시스템 권한 134 특수한 시스템 권한 136 롤 137 롤 확인 138 오라클 기본 계정 140 SYS 계정 141 SYS 계정과 SYSDBA 권한 141 데이터 딕셔너리와 동적 성능 뷰 143 SYSTEM 계정 143 CHAPTER 09 테이블과 데이터 타입 145 테이블 146 로우(행)와 칼럼(열) 146 로우 저장 방식 147 PCTFREE 148 세그먼트 공간 관리 방식과 PCTUSED 149 로우 마이그레이션 150 로우 체이닝 151 로우 마이그레이션과 로우 체이닝 확인 152 로우 저장 블록과 ROWID 154 데이터 타입 156 오라클에서 사용할 수 있는 데이터 타입 156 문자 데이터 타입 156 저장 데이터와 칼럼 길이 157 데이터베이스 문자 세트와 NATIONAL 문자 세트 158 숫자 데이터 타입 159 날짜 데이터 타입 160 LOB 데이터 타입 161 ROWID 데이터 타입 162 데이터 타입과 크기 163 테이블 확인 164 테이블의 칼럼 정의 확인 165 제약(무결성 제약 조건) 168 제약 확인 169 키 170 릴레이션십과 FOREIGN KEY 제약 171 CHAPTER 10 인덱스 구조 175 인덱스 필요성 176 인덱스 종류 177 B 트리 인덱스 177 이진 검색의 원리 177 B 트리 인덱스의 구조 179 B 트리 인덱스가 적절한 케이스 179 B 트리 인덱스를 이용한 데이터로의 접근 180 B 트리 인덱스를 이용한 범위 검색의 수행 182 B 트리 인덱스의 메인터넌스 183 B 트리 인덱스의 계층 185 비트맵 인덱스 186 비트맵 인덱스의 구조 186 비트맵 인덱스를 이용한 결합 조건 검색 187 비트맵 인덱스가 적절한 케이스 188 함수 기반 인덱스 189 함수 기반 인덱스의 구조 189 함수 기반 인덱스가 적절한 케이스 189 인덱스 확인 190 인덱스 칼럼 확인 193 CHAPTER 11 그 밖의 오브젝트 198 뷰 198 뷰의 데이터와 원본 테이블 200 뷰 확인 201 머티리얼라이즈드 뷰 202 머티리얼라이즈드 뷰의 장점과 주의점 203 리프레시 모드 204 머티리얼라이즈드 뷰 확인 205 시퀀스 206 시퀀스의 장점과 주의점 206 시퀀스 확인 207 시노님 208 시노님의 장점 208 시노님 확인 209 CHAPTER 12 오브젝트 저장 방식과 저장 공간 211 오브젝트 데이터 저장 공간 211 데이터 저장용 저장 공간이 할당되는 오브젝트 212 데이터 저장용 저장 공간이 할당되지 않는 오브젝트 212 세그먼트/익스텐트/블록 213 테이블 스페이스와 세그먼트 214 세그먼트와 익스텐트 216 블록 218 로컬 관리 테이블 스페이스의 익스텐트 관리 220 UNIFORM 220 AUTOALLOCATE 221 저장 공간 파라미터 지정 221 익스텐트 추가 할당 224 익스텐트 할당 해제 225 세그먼트의 HWM 225 TRUNCATE TABLE문 226 ALTER TABLE DEALLOCATE UNUSED문 226 ALTER TABLE SHRINK SPACE문 227 SECTION III SQL 처리 원리 CHAPTER 13 쿼리 처리 원리 233 오라클에서의 SQL 처리 흐름 234 SQL 분석 235 공유 풀 확인 236 SQL 검증 236 실행 계획 생성 237 분석이 끝난 SQL 정보의 저장 240 SQL 실행 241 로우 검색 242 실행 계획 확인 243 실행 전 준비 작업 243 확인 작업 수행하기 244 표시된 실행 계획 이해하기 246 분석된 SQL 정보의 보관과 공유 246 공유 풀 초기화하고 분석된 SQL 정보 제거하기 246 SQL문 실행하여 하드 파싱 발생시키기 247 분석된 SQL 정보가 공유 풀에 존재하는지 확인하기 248 데이터베이스 버퍼 캐시의 역할과 효과 249 블록 읽기와 데이터베이스 버퍼 캐시 250 캐시 기능 확인 253 준비 작업 253 쿼리 실행 254 동일 쿼리 재수행 255 인덱스 효과 257 조건이 있는 검색과 실행 계획 257 인덱스 생성하고 실행 계획 확인하기 259 정렬 수행과 PGA, 임시 테이블 스페이스 262 PGA와 임시 테이블 스페이스 262 SQL Work Areas와 임시 테이블 스페이스의 차이점 263 CHAPTER 14 변경 처리 원리 269 오라클 변경 처리 270 트랜잭션 실행 시 동작 271 트랜잭션의 개념 272 트랜잭션 실행 시 오라클 내부 처리 272 체크 포인트 274 체크 포인트와 데이터베이스 버퍼 캐시 275 커밋과 데이터 무결성 277 트랜잭션 실행 시 동작 확인 278 SECTION IV 트랜잭션 처리 CHAPTER 15 트랜잭션의 개요와 ACID 속성 285 트랜잭션과 원자성 285 원자성 개념 285 원자성 구현 방법 286 트랜잭션의 원자성과 애플리케이션의 에러 처리 287 트랜잭션의 ACID 속성 288 일관성 289 고립성 291 지속성 292 트랜잭션 시작과 종료 293 커밋과 롤백 293 세이브 포인트 294 CHAPTER 16 오라클의 트랜잭션과 고립성 298 표준 SQL의 격리 수준과 오라클의 격리 수준 298 READ UNCOMMITED 격리 수준 299 READ COMMITED 격리 수준 300 로우 레벨 lock 302 LOST UPDATE 현상 303 다중 버전 동시성 제어 304 READ COMMITED 격리 수준과 문장 수준의 읽기 일관성 305 MVCC의 구조 306 MVCC와 ORA-1555 에러 306 Non-Repeatable Read 현상 307 Repeatable Read 격리 수준 309 Serializable 격리 수준 310 ‘직렬화 가능’의 개념 312 트랜잭션 수준의 읽기 일관성 동작 313 SERIALIZABLE 격리 수준의 주의점 314 읽기 전용 트랜잭션 316 격리 수준에 따라 발생하는 현상의 정리 318 CHAPTER 17 오라클의 lock 기능 321 lock의 필요성 321 자동 lock의 동작 322 자동 lock의 확인 323 lock의 취득 상황 확인 323 lock 대기 확인 324 lock 대기 해제 확인 326 트랜잭션 종료 326 수동 lock과 SELECT FOR UPDATE문 327 deadlock 330 deadlock의 발생 원인 333 SECTION V 기동과 정지 그리고 복구 원리 CHAPTER 18 인스턴스 기동과 정지 337 인스턴스 기동 337 인스턴스의 기동 흐름 337 CLOSE(미기동) 상태에서 NOMOUNT 상태로 전환 338 NOMOUNT 상태에서 MOUNT 상태로 전환 339 MOUNT 상태에서 OPEN 상태로 전환 340 인스턴스 기동 시 ALERT 로그 출력 341 인스턴스 기동 시 상태 전환과 명령어 345 NOMOUNT 상태나 MOUNT 상태로 두고 싶을 때 345 인스턴스 기동 중 에러가 발생했을 때 346 기동 상태 전환과 명령어 346 인스턴스 정지 348 SHUTDOWN 명령어 사용 348 CHAPTER 19 복구 처리 원리 352 트랜잭션 복구 원리 353 트랜잭션 복구의 수행과 롤백 353 인스턴스 복구 원리 355 내부적으로 일관성을 확보하지 못한 데이터베이스 상태 356 롤포워드와 롤백에 의한 일관성 회복 357 롤포워드의 필요성과 원리 358 롤백의 필요성과 원리 359 인스턴스 복구 실행 예 361 미디어 복구와 아카이브 REDO 로그 366 미디어 복구란? 366 롤포워드에 필요한 REDO 로그 파일 367 미디어 복구와 인스턴스 복구 368 SECTION VI Oracle Net Services와 클라이언트/서버 CHAPTER 20 기본적인 접속 형태와 Net Services의 구성 373 Oracle Net Services 373 인스턴스에 접속하는 방법 374 로컬 접속 374 원격 접속 375 클라이언트/서버 아키텍처 376 오라클의 클라이언트/서버 아키텍처 376 오라클 클라이언트 378 프로그래밍 인터페이스 378 프로그래밍 인터페이스 제품과 Oracle Net 378 Oracle Net Services의 구성 380 Oracle Net Services 설정 파일 380 설정 파일을 읽어 오는 순서 381 리스너와 listener.ora 382 리스너의 구성 정보 383 리스너 로그 383 넷 서비스명과 tnsnames.ora 385 접속 기술자 및 원격 접속 385 Local Naming Method와 tnsnames.ora 386 tnsnames.ora의 설정 예 388 sqlnet.ora 389 CHAPTER 21 동적 서비스 등록/공유 서버 구성/데이터베이스 링크 391 리스너의 동적 서비스 등록 391 정적 서비스 등록 391 동적 서비스 등록 393 동적 서비스 등록과 PMON, LREG 393 동적 서비스 등록을 수행하는 리스너 지정 394 정적 서비스 등록 확인 395 동적 서비스 등록 확인 396 전용 서버 구성과 공유 서버 구성 397 전용 서버 구성 397 공유 서버 구성 397 공유 서버 구성과 관련된 초기화 파라미터 399 서버 구성과 PGA 400 데이터베이스 링크와 Oracle Net Services 400 데이터베이스 링크를 사용하지 않은 접속 401 데이터베이스 링크를 사용한 접속 401 데이터베이스 링크 확인 403 데이터베이스 링크 생성 403 데이터베이스 링크를 사용한 SQL 실행 404 데이터베이스 링크 확인 405 찾아보기 410 |
|
1장 데이터베이스와 인스턴스에서는 오라클 아키텍처의 전체 모습을 설명하기에 앞서 큰 구성 요소인 ‘오라클 소프트웨어’, ‘데이터베이스’, ‘인스턴스’를 설명합니다. 각 구성 요소에 관련된 내용은 뒤에서 차례대로 설명할 것이므로 여기서는 전체 모습을 익힌다는 느낌으로 읽어 주세요. 특히, 인스턴스의 개념을 이해하는 것은 매우 중요합니다. 오라클을 사용하기 위해서는 인스턴스를 기동한 후에 인스턴스에 접속할 필요가 있다는 점을 이해하고 있어야 합니다.
--- p.3 서버 프로세스는 SQL*Plus 등의 클라이언트 애플리케이션에서 실행된 SQL을 받아 검색?변경 등과 같은 각종 처리를 수행하는 프로세스입니다. 클라이언트 애플리케이션이 접속돼 있을 때만 기동하며 백그라운드 프로세스와 달리 인스턴스가 기동된 상태라고 해도 항상 실행 중인 것은 아닙니다. 클라이언트 애플리케이션이 오라클에 접속했을 때 기동되며, 접속을 끊으면 종료됩니다. 이렇게 ‘오라클에 접속한 상태’를 ‘세션이 수립(established)됐다’라고 이야기합니다. --- p.26 동일한 조합의 권한들을 여러 사용자에 부여해야 할 때 부여할 권한들을 롤로 미리 한 세트 만들어 두면 해당 롤을 부여하는 것만으로도 모든 권한을 일괄적으로 부여할 수 있습니다. 또한 권한을 추가하거나 삭제할 때도 롤에서 대상의 권한을 추가하거나 제거하는 것으로 롤이 부여된 모든 계정의 권한을 제어할 수 있기 때문에 수고를 크게 덜 수 있습니다. --- p.137 SQL은 컴파일이 필요한 자바나 C# 등의 프로그래밍 언어와 달리 실행하기 전에 문법적인 에러를 검출할 방법이 없으며, 사용해야 하는 테이블이나 칼럼이 있는지의 여부도 확인할 수 없습니다. 또한 SQL에 지정할 수 있는 것은 가져올 데이터가 충족해야 할 조건(WHERE 절)뿐이며, 구체적으로 데이터를 어떻게 가져올지 지정할 수도 없습니다. 따라서 서버 프로세스는 SQL을 실행하기 전에 SQL문을 분석해 SQL에 문법적인 에러가 없는지, 어떤 방식으로 SQL을 실행하는지, 사용하는 테이블이나 칼럼이 존재하고 있는지 등을 확인해야 합니다. --- p.235 RDBMS의 트랜잭션 기능은 데이터 처리를 중심으로 하는 기업용 IT 시스템에서 필수적인 요소입니다. 현재 사용되고 있는 대부분의 RDBMS는 트랜잭션 기능을 제공하고 있지만, 제품마다 동작이 미세하게 다르기 때문에 사용하는 RDBMS의 트랜잭션 기능을 제대로 이해할 필요가 있습니다. 4부의 내용을 이해하면 오라클의 트랜잭션 기능을 사용하는 애플리케이션을 제대로 설계할 수 있습니다. --- p.284 |
|
완벽한 튜닝과 트러블슈팅을 위한 오라클 아키텍처의 모든 것!
이 책은 오라클 아키텍처를 제대로 설명함으로써 오라클의 작동 원리에 대한 이해를 한층 높여줍니다. 아키텍처에 대한 이해가 높아지면 오라클의 구체적인 처리 내용과 실질적인 활용 방법을 터득할 수 있습니다. 또한, 단순히 이슈를 모면하기 위한 튜닝과 트러블슈팅이 아니라 아키텍처 수준에서 최적의 해결 방법을 찾아낼 수 있습니다. 이 책은 오라클을 처음 사용하는 초보자는 물론, 실제 시스템을 개발하고 운영 관리하는 DB 엔지니어와 시스템 엔지니어에게도 꼭 필요한 책입니다. 이 책의 주요 내용 ● 아키텍처의 구성 요소(프로세스, 파일, 메모리) ● 스키마 오브젝트와 데이터의 저장 방식 ● SQL 처리 원리 ● 트랜잭션 처리 ● 기동과 정지 그리고 복구 ● Oracle Net Services와 클라이언트/서버 |