저자

장정수

지은이:송현호
SKC&C의인프라조직에서회사생활을시작해지금까지8년째DBA업무를수행하고있습니다.SK그룹사내및외부에서다양한분야의데이터베이스에대한운영,구축,튜닝업무를수행했으며,현재는SKT주과금시스템및관련시스템의운영리더를맡고있습니다.월간마이크로소프트웨어에기고한이력이있으며,번역서로는<가장쉬운데이터베이스설계(2014)>가있습니다.  

지은이:장정수
컴퓨터공학을전공하였으며,2001년SKC&C에입사하여셀파소프트를거쳐현재엑시엄에서활동중입니다.메인프레임시스템엔지니어로부터시작하였으나DBA로전향하여SK텔레콤의주요데이터베이스운영및성능개선업무를수행하였으며,이후LG이노텍,SK하이닉스,AK몰,철도공사등다양한고객사에서DB성능개선및SQL,PL/SQL튜닝컨설팅을담당하였습니다.오라클10gOCP및SQLP,DAP,리눅스마스터등다양한자격증도보유하고있습니다.

  

목차

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조작
커밋
롤백
세이브포인트
ROLLBACKTOSAVEPOINT
SETTRANSACTION

8장NULL제어

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

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

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

12장INOUT모드-NOCOPY:callbyreference
NOCOPY란
NOCOPY유의점

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

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

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

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

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

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

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

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

21장Bulk처리와ForAll
BulkCollect
Fetch사이즈에따른PGA변화량
ForAll이란?
ForAll을이용한Delete
ForAll을이용한Update
ForAll을이용한Insert
BULKCOLLECT~LIMIT과ForAll
For와ForAll의성능차이
ForAll을이용한Merge
ForAll예외처리-SAVEEXCEPTIONS
Returning절
ForAll과INDICESOF절
ForAll과VALUESOF

22장Table함수
Table함수
PipelinedTable함수
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장새로운기능들(11gNewFeatures)
CONTINUE문
ResultCache
네이티브컴파일러
PL/SQL안의시퀀스사용

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

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

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

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

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

34장OPENCURSOR대신FORLOOP를사용하라

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

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

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

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

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

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

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

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

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

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

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

46장하드파싱(HardParsing)을피하라(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(ADVANCEDQUEUE)를이용하면데이터전송이편리해진다

61장DatabaseLink호출을최소화하라

부록

부록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

찾아보기

출판사 서평

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




오라클DBMS와의연동에최적화된PL/SQL전문서



최근들어새로운데이터베이스의등장과견제로어느때보다오라클의위상이위협을받고있습니다.요즘IT의트렌드인빅데이터관련한Hadoop,NoSQL뿐아니라국산DBMS인티베로,알티베이스,큐브리드와더불어SAP의HANADBMS까지새로운기술과데이터베이스가오라클이잠식하고있던자리를꿰차고있습니다.



그러나성능과안정성이요구되는주요업무에서는여전히오라클을대체하기엔역부족인것같습니다.향후10년후에는어떤변화가있을지예측하기어렵지만현재로서는오라클의RAC라는강력한기능으로인해당분간확고한지위를유지하리라생각됩니다.



이러한오라클DBMS와연동하여데이터를처리하기위해PL/SQL만큼빠르고데이터조작이쉬운언어는없어보입니다.




1부에서는핵심예제,2부에서는실제적용사례



1부,예제로배우는PL/SQL에서는간단한예제를중심으로PL/SQL의기본기능을살펴봅니다.기존에출간되었던PL/SQL전문서들은너무많은장수에걸쳐기능설명을해두어서책을펼쳐볼엄두가나지않았을수있습니다.그러나이책은짧은시간안에예제실습을통해주요핵심내용을배울수있도록했습니다.



2부,성능개선과운영안정성사례로배우는PL/SQL에서는성능개선을위해필요한부분은무엇인지,어떻게해야프로그램을안정적으로작성할수있는지에관련된사례들을하나씩실습합니다.이를통해얼마안되는코딩으로성능이얼마나빨라질수있는지,이전에간과하여장애나데이터정합성유지에어려움을겪었던원인이무엇이었는지를알수있습니다.