서브메뉴

본문

프로젝트에서 강한 오라클 PL/SQL 프로그래밍
프로젝트에서 강한 오라클 PL/SQL 프로그래밍
저자 : 장정수|송현호
출판사 : 비팬북스
출판년 : 2015
정가 : 40000, ISBN : 9788994797205

책소개


오라클 PL/SQL 베스트 프랙티스. DBA, 개발자, 튜너들이 이 책을 읽으면 PL/SQL을 제대로 배울 수 있습니다. 1부에서는 각종 예제로 PL/SQL을 배울 수 있고, 2부에서는 성능 개선과 운영 안정성 사례를 배울 수 있습니다. 이 책에 있는 사례들을 여러분의 프로젝트에 적용하면 5-6시간 이상 수행되는 프로그램을 1-2시간 안에 끝낼 수 있습니다.

목차


1부 예제로 배우는 PL/SQL

1장 PL/SQL이란?
PL/SQL이란?
PL/SQL의 필요성
PL/SQL의 장점
PL/SQL 아키텍처(Architecture)

2장 테스트 환경 구성(1부)

3장 PL/SQL 블록 구조
익명 블록
주석

4장 DBMS_OUTPUT 패키지

5장 식별자와 변수
PL/SQL 문자 집합
식별자 규칙
변수 선언
변수 범위와 가시성
문자열 안에 작은 따옴표 사용하기

6장 데이터 타입
스칼라 타입
조합 타입
LOB 타입
% 타입
사용자 정의 서브타입
데이터 타입 간 형 변환

7장 테이터 조작
DML 조작
커밋
롤백
세이브포인트
ROLLBACK TO SAVEPOINT
SET TRANSACTION

8장 NULL 제어

9장 프로시저
프로시저 생성
입/출력 매개변수
프로시저 실행 방법
프로시저 제거
프로시저 Invalid 시 재컴파일(Re-Compile) 방법

10장 함수
함수 생성
Deterministic 함수 생성
함수 실행
함수 제거
프로시저와 함수의 차이

11장 패키지
패키지 생성
전역 변수 선언 시 유의사항
프로시저 및 패키지 변경 시 주의 사항
패키지 컴파일

12장 IN OUT 모드-NOCOPY: call by reference
NOCOPY란
NOCOPY 유의점

13장 권한 관리
권한 관리
권한 취소
권한 부여 시 주의사항
조회 스키마 관리

14장 제어 구문
IF 문
CASE 문
GOTO 및 레이블
Loop
중첩 Loop
While Loop
For Loop
커서(Cursor) For Loop

15장 내장 함수
타입 변환 함수
숫자 표기 형식
날짜 표기 형식
문자열 관련 함수
수치 함수
날짜 함수

16장 커서 관리
명시적 커서와 암시적 커서
암시적 커서
명시적 커서
For Loop와 커서를 활용한 Update 문 튜닝

17장 자율 트랜잭션
자율 트랜잭션의 특징
자율 트랜잭션 생성
자율 트랜잭션 활용 방안
자율 트랜잭션으로 인한 데드락
자율 트랜잭션 선언 위치

18장 예외 처리
예외 처리 개요
컴파일 경고(Compile-Time Warnings)
예외 처리 문법
예외 처리 종류
선행 정의 예외
내부 정의 예외-EXCEPTION_INIT Pragma
사용자 정의 예외(User-Defined Exceptions)-RAISE
사용자 정의 예외(User-Defined Exceptions)-RAISE_APPLICATION_ERROR
에러 발생한 부분 건너뛰어 계속 실행하기(9i 이하)
DML 에러 로깅 기능 활용 (10g R2 이상)

19장 REF 커서
REF 커서 타입
REF 커서 사용 예
REF 커서 제약
바인드 변수를 활용한 REF 커서 사용
REF 커서의 장점

20장 컬렉션
Nested Table 컬렉션
Varray 컬렉션
Index-by Table 컬렉션
컬렉션 함수
컬렉션 타입 정의 및 초기화
컬렉션 확장(EXTEND)
컬렉션 삭제 및 제거
컬렉션 예외 처리
Nested Table 컬렉션 사용 예
Varray 컬렉션 사용 예
Index by Table 컬렉션 사용 예

21장 Bulk 처리와 ForAll
Bulk Collect
Fetch 사이즈에 따른 PGA 변화량
ForAll이란?
ForAll을 이용한 Delete
ForAll을 이용한 Update
ForAll을 이용한 Insert
BULK COLLECT~LIMIT과 ForAll
For와 ForAll의 성능 차이
ForAll을 이용한 Merge
ForAll 예외 처리 - SAVE EXCEPTIONS
Returning 절
ForAll과 INDICES OF 절
ForAll과 VALUES OF

22장 Table 함수
Table 함수
Pipelined Table 함수
SQL 커서를 이용한 Table 함수
컬렉션을 이용한 Table 함수
Table 함수와 조인
멀티 칼럼을 반환하는 스칼라 서브쿼리

23장 호출자 권한
DML 비교
DDL 비교

24장 동적 SQL
NDS를 이용한 동적 SQL
DBMS_SQL을 이용한 동적 SQL
동적SQL을 위한 오라클 11g의 새로운 기능들

25장 성능 진단 패키지(DBMS_PROFILER)
DBMS_PROFILER 패키지
DBMS_TRACE 패키지
DBMS_HPROF 패키지

26장 세션 모니터링을 위한 DBMS_APPLICATION_INFO 패키지
DBMS_APPLICATION_INFO 패키지 함수
JDBC 내 DBMS_APPLICATION_INFO 패키지 사용

27장 트리거
트리거 생성
트리거 종류
DDL 트리거
Instead-Of 트리거

28장 병렬 처리
함수 병렬 처리
DBMS_JOB을 이용한 매뉴얼한 병렬 처리
DBMS_PARALLEL_EXECUTE 패키지

29장 새로운 기능들(11g New Features)
CONTINUE 문
Result Cache
네이티브 컴파일러
PL/SQL 안의 시퀀스 사용

2부 성능 개선과 운영 안정성 사례로 배우는 PL/SQL

30장 테스트 환경 구성(2부)
샘플 스키마 생성
테스트 테이블 생성
성능 분석을 위한 패키지 생성
성능 관련 중요한 세 가지 지표

31장 SQL VS PL/SQL(1)-PL/SQL 안에서의 SQL 성능

32장 SQL VS PL/SQL(2)-SQL 안에서의 SQL 성능

33장 함수를 최소한으로 호출하라

34장 OPEN CURSOR 대신 FOR LOOP를 사용하라

35장 LOOP 안의 SQL은 한번 더 생각하라(1)

36장 LOOP 안의 SQL은 한번 더 생각하라(2)

37장 불필요한 시퀀스 사용을 제거하라

38장 건바이건 Commit을 최소화하라

39장 Insert & Update를 Merge로 변경하라

40장 EXCEPTION 처리 시 WHEN OTHERS 사용에 주의하라

41장 반복 Insert를 BULK Insert로 변경하라(1)

42장 반복 Insert를 BULK Insert로 변경하라(2)

43장 반복 Delete를 BULK Delete로 변경하라

44장 반복 Insert 시 APPEND_VALUES를 고려하라

45장 하드 파싱(Hard Parsing)을 피하라(1)

46장 하드 파싱(Hard Parsing)을 피하라(2)

47장 동시성을 고려하라(1)

48장 동시성을 고려하라(2)

49장 동시성을 고려하라(3)

50장 자율 트랜잭션에 대해 이해하라(1)

51장 자율 트랜잭션에 대해 이해하라(2)

52장 Table 함수의 조인 순서를 주의하라

53장 멀티 칼럼, 멀티 행을 반환하는 스칼라 서브쿼리

54장 COUNT(*) 사용에 주의하라

55장 트리거 사용 시 에러를 피하라

56장 Client-Side 프로그래밍 대신 패키지를 사용하라(1)

57장 Client-Side 프로그래밍 대신 패키지를 사용하라(2)

58장 프로시저 대신 패키지를 사용하라

59장 패키지에 전역(GLOBAL) 변수 사용을 최소화하라

60장 DBMS_AQ(ADVANCED QUEUE)를 이용하면 데이터 전송이 편리해진다

61장 Database Link 호출을 최소화하라

부록

부록 A 자바 JDK 설치
가. 윈도우즈 설치
나. Linux 설치

부록 B 오라클 제공 패키지
DBMS_UTILITY
DBMS_LOCK
DBMS_PIPE
DBMS_RANDOM
DBMS_LOB
UTL_RAW
UTL_METADATA
UTL_FILE
DBMS_CRYPTO
DBMS_JOB
DBMS_XPLAN

찾아보기