목차 일부
추천사 ... xiv
옮긴이 머리말 ... xxii
옮긴이 소개 ... xxiv
저자 소개 ... xxv
기술 검토자 소개 ... xxvi
감사의 글 ... xxvi
이책에 대하여 ... xxvi
환경 설정 ... xxxv
CHAPTER 01 성공적인 오라클 애플리케이션 개발 ... 1
필자의 접근법 ... 3
블랙박스 접근법 ... 4
데...
더보기
목차 전체
추천사 ... xiv
옮긴이 머리말 ... xxii
옮긴이 소개 ... xxiv
저자 소개 ... xxv
기술 검토자 소개 ... xxvi
감사의 글 ... xxvi
이책에 대하여 ... xxvi
환경 설정 ... xxxv
CHAPTER 01 성공적인 오라클 애플리케이션 개발 ... 1
필자의 접근법 ... 3
블랙박스 접근법 ... 4
데이터베이스 애플리케이션 개발 방법 ... 15
오라클 아키텍처의 이해 ... 16
동시성 제어의 이해 ... 28
멀티버저닝 ... 33
데이터베이스 독립성(비의존성) ... 42
애플리케이션 실행 속도를 빠르게 하는 방법 ... 63
DBA와 개발자와의 관계 ... 65
정리 ... 66
CHAPTER 02 아키텍처 개요 ... 69
데이터베이스와 인스턴스 ... 70
SGA와 백그라운드 프로세스 ... 78
오라클에 접속하기 ... 81
Dedicated Server ... 81
Sharde Server ... 83
TCP/IP를 이용하여 접속하는 기법 ... 85
정리 ... 88
CHAPTER 03 파일 ... 91
파라미터 파일 ... 92
피라미터란? ... 93
레거시 init.ora 피라미터 파일 ... 98
서버 파라미터 파일(Spfile) ... 101
SPFILE로 변환하기 ... 101
트레이스 파일 ... 110
트레이스 파일 요청 ... 112
내부 오류를 담기 위해 생성된 트레이스 파일들 ... 118
트레이스 파일 요약 ... 124
Alert File ... 125
데이터 파일 ... 129
파일 시스템 메커니즘 ... 130
오라클 데이터베이스 소토리지 계층 ... 131
Dictionary-Managed 테이블스페이스와 Locally-Managed 테이블스페이스 ... 136
템프 파일 ... 139
컨트롤 파일 ... 141
리두 로그 파일 ... 142
온라인 리두 로그 ... 143
아카이브 리두 로그 ... 146
패스워드 파일 ... 148
변경 추적 파일 ... 153
플래시백 로그 ... 154
플래시백 데이터베이스 ... 155
플래시 복구 영역 ... 156
덤프 파일(EXP/IMP 파일) ... 157
데이터 펌프 파일 ... 159
플랫 파일 ... 162
정리 ... 163
CHAPTER 04 메모리 구조 ... 165
프로세스 글로벌 영역과 사용자 글로벌 영역 ... 166
수동 PGA 메모리 관리 ... 167
자동 PGA 메모리 관리 ... 175
수동/자동 메모리 관리기법의 선택 ... 190
PGA와 UGA 요약 ... 192
시스템 글로벌 영역 ... 192
Fixed SGA ... 199
리두 버퍼 ... 199
블록 버퍼 캐시 ... 201
Sharde Pool ... 210
Large Pool ... 213
Java Pool ... 214
Stream Pool ... 215
자동 SGA 메모리 관리 ... 216
자동 메모리 관리 ... 217
정리 ... 219
CHAPTER 05 오라클 프로세스 ... 221
서버 프로세스 ... 222
Dedicated Server 커넥션 ... 222
Shared Server 커넥션 ... 225
데이터베이스 상주 커넥션 풀링(DRCP) ... 226
커넥션 대 세션 ... 226
Dedicated Server 대 Shared Server 대 DRCP ... 233
Dedicated/Shared Server 요약 ... 238
백그라운드 프로세스 ... 239
특화된 백그라운드 프로세스 ... 240
유틸리티 백그라운드 프로세스 ... 252
슬레이브 프로세스 ... 255
I/O 슬레이브 ... 255
Pnnn: 병렬 쿼리 실행 서버 ... 256
정리 ... 257
CHAPTER 06 락킹과 래칭 ... 259
락은 무엇인가? ... 259
락킹 이슈 ... 263
Lost Update ... 263
비관적 락칭 ... 264
낙관적 락킹 ... 267
낙관적 락킹인가, 비관적 락킹인가? ... 275
블로킹 ... 276
데드락 ... 279
락 상승 ... 285
락 타입 ... 286
DML 락 ... 287
DDL 락 ... 298
래치 ... 304
뮤텍스 ... 316
수동 락킹과 사용자 정의 락 ... 317
정리 ... 318
CHAPTER 07 동시성과 멀티버저닝 ... 319
동시성 제어란 무엇인가? ... 319
트랜잭션 고립 수준 ... 321
READ UNCOMMITTED ... 322
READ COMMITTED ... 324
REPEATAVLE READ ... 327
SERIALIZABLE ... 329
READ ONLY ... 332
멀티버전 읽기 일관성의 문제점 ... 333
데이터 웨어하우징에서 흔히 하는 실수 ... 334
변경이 잦은 테이블에 예상보다 많은 I/O가 발생하는 이유 ... 335
쓰기 일관성 ... 339
Consistent 읽기와 Current 읽기 ... 339
재시작 메커니즘의 구현 ... 343
재시작 메커니즘의 중요성 ... 346
정리 ... 347
CHAPTER 08 트랜잭션 ... 351
트랜잭션 제어문장 ... 352
원자성 ... 354
문장 수준의 원자성 ... 354
프로시저 수준의 원자성 ... 356
트랜잭션 수준의 원자성 ... 361
DDL과 원자성 ... 361
영속성 ... 361
COMMIT의 WRITE 확장 기능 ... 362
비분산 환경의 PL/SQL 블록에서 COMMIT ... 364
무결성 제약과 트랜잭션 ... 366
IMMEDIATE 제약 ... 366
DEFERRABLE 제약과 캐스트케이드 수정 ... 367
나쁜 트랜잭션 습관 ... 372
루프에서 커밋하기 ... 372
자동커밋 사용하기 ... 381
분산 트랜잭션 ... 382
자율 트랜잭션 ... 384
자율 트랜잭션 동작 원리 ... 385
자율 트랜잭션, 언제 유용한가? ... 387
정리 ... 390
CHAPTER 09 리두와 언두 ... 393
리두란 무엇인가? ... 394
언두란 무엇인가? ... 395
리두와 언두 작동 원리 ... 399
INSERT-UPDATE-DELETE 시나리오 예제 ... 399
커밋과 롤백 처리 ... 404
커밋의 역할 ... 404
롤백의 역할 ... 412
리두 조사하기 ... 414
리두 측정하기 ... 414
리두 로그를 생성하지 못하도록 막을 수 있을까? ... 416
왜 새로운 로그를 할당할 수 없는가? ... 421
블록 클린아웃 ... 422
로그 경합 ... 427
임시 테이블과 리두/언두 ... 430
언두 조사하기 ... 434
무엇이 가장 많거나 적은 언두를 생성하는가? ... 434
ORA-01555: snapshot too old Error ... 437
정리 ... 450
CHAPTER 10 데이터베이스 테이블 ... 451
테이블 유형 ... 451
용어 ... 453
세그먼트 ... 454
세그먼트 공간 관리 ... 457
HWM(하이-워터 마크) ... 458
FREELISTS ... 460
PCTEREE와 PCTUSED ... 464
LOGGING과 NOLOGGING ... 468
INTRANS와 MAXTRANS ... 468
힙 구조 테이블 ... 469
인덱스 구조 테이블 ... 473
인덱스 구조 테이블 요약 ... 491
인덱스 클러스터 테이블 ... 492
인덱스 클러스터 테이블 요약 ... 501
해시 클러스터 테이블 ... 502
해시 클러스터 테이블 요약 ... 512
정렬 해시 클러스터 테이블 ... 513
중첩 테이블 ... 516
중첩 테이블 문법 ... 517
중첩 테이블 저장 ... 526
중첩 테이블 요약 ... 530
임시 테이블 ... 531
임시 테이블 요약 ... 540
객체 테이블 ... 540
객체 테이블 요약 ... 549
정리 ... 549
CHAPTER 11 인덱스 ... 551
오라클 인덱스 개요 ... 552
B*Tree 인덱스 ... 554
인덱스 키 압축 ... 557
리버스 키 인덱스 ... 560
내림차순 인덱스 ... 567
언제 B*Tree 인덱스를 사용해야 하는가? ... 570
B*Tree 요약 ... 583
비트맵 인덱스 ... 583
언제 비트맵 인덱스를 사용해야 하는가? ... 585
비트맵 조인 인덱스 ... 589
비트맵 인덱스 요약 ... 593
함수 기반 인덱스 ... 593
주요한 세부 구현내용 ... 594
간단한 함수 기반 인덱스 예제 ... 595
몇 개 로우에만 인덱스하기 ... 606
선택적 유일성 구현 ... 608
ORA-01743 주의하기 ... 609
함수 기반 인덱스 요약 ... 610
애플리케이션 도메인 인덱스 ... 611
인덱스에 관한 FAQ와 오해 ... 612
뷰에서도 인덱스가 사용되는가? ... 613
NULL과 인덱스는 함께 사용되는가? ... 613
참조 키에는 인덱스가 생성되여야 하는가? ... 616
해당 인덱스를 왜 사용하지 않을까? ... 618
오해: 인덱스 공간은 절대 재사용되지 않는다 ... 625
오해: 가장 변별력이 있는 요소가 선두에 와야 한다 ... 629
정리 ... 633
CHAPTER 12 데이터타입 ... 635
오라클 데이터타입 개요 ... 635
문자 및 이진 문자열 타입 ... 638
NLS 개요 ... 638
문자열 ... 642
이진 문자열: RAW 타입 ... 650
숫자 타입 ... 653
NUMBER 타입 문법과 사용법 ... 655
BINARY_FLOAT/BINARY_DOUBLE 타입 문법과 사용법 ... 659
Non-native 숫자 타입 ... 660
성능 고려사항 ... 661
LONG 타입 ... 663
LONG과 LONG RAW 타입의 제한사항 ... 663
LONG 타입 데이터 복사 ... 664
Date, Timestamp, 그리고 Interval 타입 ... 671
날짜 형식 ... 672
DATE 타입 ... 673
TIMESTAMP 타입 ... 680
INTERVAL 타입 ... 689
LOB 타입 ... 693
내부 LOB ... 693
BFILE ... 708
ROWID/UROWID 타입 ... 710
정리 ... 711
CHAPTER 13 파티셔닝 ... 713
파티셔닝 개요 ... 714
가용성 증가 ... 714
관리비용 감소 ... 717
문장 성능 향상 ... 722
테이블 파티셔닝 ... 724
범위 파티셔닝 ... 725
해시 파티셔닝 ... 728
리스트 파티셔닝 ... 733
인터벌 파티셔닝 ... 735
참조 파티셔닝 ... 742
복합 파티셔닝 ... 748
로우 이동 ... 751
테이블 파티셔닝 요약 ... 754
파티셔닝 인덱스 ... 755
로컬 인덱스와 글로벌 인덱스 ... 756
로컬 인덱스 ... 756
글로벌 인덱스 ... 764
파티셔닝과 성능, Revisited ... 781
감사와 세그먼트 공간 압축 ... 788
정리 ... 789
CHAPTER 14 병렬처리 ... 791
병렬 처리 사용 시기 ... 792
병렬 처리 비유 ... 793
오라클 Exadata ... 795
병렬 쿼리 ... 795
병렬 DML ... 802
병렬 DDL ... 807
병렬 DDL과 External 테이블을 사용한 데이터 로딩 ... 807
병렬 DDL과 익스텐트 트리밍 ... 809
병렬 복구 ... 820
절차적 병렬 ... 821
병렬 파이프라인 함수 ... 822
Do-It-Yourself 병렬 ... 826
전통적인 Do-It-Yourself 병렬 처리 ... 830
정리 ... 835
CHAPTER 15 데이터 로딩과 언로딩 ... 837
SQL*Loader ... 837
데이터 로딩과 관련한 SQLLDR FAQ ... 842
SQLLDR 사용 시 주의사항 ... 873
SQLLDR 정리 ... 874
External 테이블 ... 874
External 테이블 설정 ... 876
오류 처리 ... 882
External 테이블을 사용해서 다른 파일을 로드 ... 886
다중 사용자 문제 ... 886
External 테이블 정리 ... 888
플랫 파일 언로드 ... 888
데이터 펌프 언로드 ... 898
정리 ... 900
CHAPTER 16 데이터 암호화 ... 903
암호화의 유형 ... 903
동적 데이터 ... 904
정적 데이터 ... 905
수작업 애플리케이션 암호화 ... 908
오라클 Wallet ... 910
Transparent 컬럼 레벨 암호화 ... 913
Transparent 테이블스페이스 암호화 ... 916
암호화와 관련 없는 것 ... 920
수작업 애플리케이션 암호화 구현 ... 921
수작업 방법을 피해야 하는 이유 ... 922
수작업 방법의 성능 영향 ... 923
수작업 방법 사용 시점 ... 928
컬럼 레벨 암호화 구현 ... 928
컬럼 암호화 사용법 ... 928
컬럼 암호화가 적용된 데이터 저장공간 ... 930
컬럼 암호화 성능 영향 측정법 ... 935
영향을 미치는 정도 ... 935
컬럼 암호화 제약 ... 942
테이블스페이스 암호화 구현 ... 943
테이블스페이스 암호화 사용법 ... 943
테이블스페이스 암호화가 적용된 데이터 저장 ... 944
테이블스페이스 암호화의 성능 영향도 측정 ... 946
암호화 기술 결정 ... 952
정리 ... 954
찾아보기 ... 955
더보기 닫기