| Foreword |
|
xi | (2) |
| Preface |
|
xiii | |
| Conventions |
|
xv | (2) |
| How this Book was Created |
|
xvii | (2) |
| Acknowledgments |
|
xix | |
|
Chapter 1 -- Product Overview |
|
|
1 | (36) |
|
DB2 Universal Database -- The Scalable Database |
|
|
2 | (2) |
|
|
|
2 | (2) |
|
DB2 Universal Database (UDB) |
|
|
4 | (5) |
|
|
|
4 | (1) |
|
|
|
5 | (2) |
|
|
|
7 | (1) |
|
DB2 Universal Database Enterprise-Extended Edition |
|
|
8 | (1) |
|
|
|
9 | (3) |
|
DB2 Connect Personal Edition |
|
|
10 | (1) |
|
DB2 Connect Enterprise Edition |
|
|
11 | (1) |
|
|
|
12 | (3) |
|
|
|
15 | (5) |
|
DB2 Client/Server Environment |
|
|
20 | (1) |
|
Supported Communication Protocols |
|
|
20 | (1) |
|
|
|
21 | (1) |
|
|
|
21 | (12) |
|
DB2 Universal Database Administrator's Tools |
|
|
24 | (1) |
|
|
|
25 | (2) |
|
|
|
27 | (4) |
|
The Command Line Processor (CLP) |
|
|
31 | (2) |
|
|
|
33 | (1) |
|
|
|
34 | (2) |
|
|
|
36 | (1) |
|
Chapter 2 -- Getting Started and Connected |
|
|
37 | (48) |
|
|
|
38 | (23) |
|
|
|
38 | (9) |
|
|
|
47 | (9) |
|
|
|
56 | (5) |
|
|
|
61 | (5) |
|
|
|
61 | (2) |
|
|
|
63 | (1) |
|
Using the Command Line Processor |
|
|
64 | (2) |
|
|
|
66 | (11) |
|
DB2 Administration Server (DAS) Instance |
|
|
66 | (2) |
|
|
|
68 | (4) |
|
Creating the Sample Database |
|
|
72 | (5) |
|
|
|
77 | (1) |
|
|
|
78 | (1) |
|
|
|
79 | (1) |
|
|
|
80 | (5) |
|
Chapter 3 -- Controlling Data Access |
|
|
85 | (80) |
|
|
|
86 | (21) |
|
|
|
86 | (1) |
|
|
|
87 | (4) |
|
|
|
91 | (4) |
|
|
|
95 | (2) |
|
DB2 Privileges (Data Control Language) |
|
|
97 | (1) |
|
Database Object Privileges |
|
|
97 | (10) |
|
Establishing a DB2 Client/Server Connection |
|
|
107 | (17) |
|
Configuring a DB2 UDB Server |
|
|
108 | (8) |
|
|
|
116 | (4) |
|
|
|
120 | (4) |
|
Generating a Server Access Profile |
|
|
124 | (1) |
|
|
|
124 | (29) |
|
Using the Client Configuration Assistant |
|
|
126 | (7) |
|
Configuring a Connection to a DB2 Database |
|
|
133 | (15) |
|
|
|
148 | (5) |
|
|
|
153 | (1) |
|
|
|
154 | (3) |
|
|
|
157 | (1) |
|
|
|
158 | (7) |
|
|
|
165 | (130) |
|
Understanding Database Objects |
|
|
166 | (34) |
|
|
|
166 | (1) |
|
|
|
167 | (1) |
|
|
|
167 | (3) |
|
|
|
170 | (1) |
|
|
|
171 | (2) |
|
|
|
173 | (2) |
|
|
|
175 | (4) |
|
|
|
179 | (2) |
|
Selecting the Correct Data Type |
|
|
181 | (1) |
|
DB2 Certification Database Design and Implementation |
|
|
182 | (9) |
|
|
|
191 | (9) |
|
Using SQL Data Definition Language (DDL) |
|
|
200 | (12) |
|
|
|
202 | (1) |
|
|
|
203 | (5) |
|
|
|
208 | (4) |
|
Data Manipulation Language (DML) |
|
|
212 | (38) |
|
|
|
212 | (6) |
|
Selecting Columns from Multiple Tables |
|
|
218 | (8) |
|
|
|
226 | (20) |
|
Data Modification (INSERT/UPDATE/DELETE) |
|
|
246 | (4) |
|
|
|
250 | (8) |
|
|
|
254 | (4) |
|
|
|
258 | (7) |
|
|
|
258 | (1) |
|
|
|
259 | (2) |
|
|
|
261 | (4) |
|
|
|
265 | (15) |
|
|
|
265 | (3) |
|
|
|
268 | (4) |
|
|
|
272 | (5) |
|
Advanced Case Expressions |
|
|
277 | (3) |
|
|
|
280 | (1) |
|
|
|
281 | (2) |
|
|
|
283 | (1) |
|
|
|
284 | (11) |
|
Chapter 5 -- Database Concurrency |
|
|
295 | (26) |
|
|
|
296 | (8) |
|
Concurrency Considerations |
|
|
296 | (1) |
|
|
|
297 | (4) |
|
|
|
301 | (1) |
|
|
|
301 | (2) |
|
|
|
303 | (1) |
|
|
|
304 | (2) |
|
|
|
305 | (1) |
|
|
|
305 | (1) |
|
|
|
305 | (1) |
|
|
|
306 | (1) |
|
Choosing an Isolation Level |
|
|
306 | (1) |
|
|
|
306 | (7) |
|
|
|
307 | (2) |
|
|
|
309 | (1) |
|
|
|
310 | (1) |
|
|
|
311 | (2) |
|
|
|
313 | (1) |
|
|
|
314 | (1) |
|
|
|
314 | (1) |
|
|
|
315 | (6) |
|
Chapter 6 -- Data Placement |
|
|
321 | (58) |
|
|
|
322 | (1) |
|
|
|
322 | (23) |
|
|
|
324 | (1) |
|
System Managed Storage (SMS) Table Spaces |
|
|
325 | (2) |
|
Database Managed Storage (DMS) Table Spaces |
|
|
327 | (3) |
|
Planning a Table Space Environment |
|
|
330 | (6) |
|
|
|
336 | (9) |
|
Performance Considerations |
|
|
345 | (18) |
|
|
|
345 | (1) |
|
|
|
346 | (1) |
|
|
|
347 | (1) |
|
|
|
347 | (1) |
|
|
|
348 | (1) |
|
|
|
349 | (4) |
|
|
|
353 | (8) |
|
|
|
361 | (2) |
|
|
|
363 | (1) |
|
|
|
364 | (2) |
|
|
|
366 | (1) |
|
|
|
367 | (12) |
|
Chapter 7 -- Data Management |
|
|
379 | (124) |
|
|
|
380 | (22) |
|
|
|
380 | (3) |
|
|
|
383 | (3) |
|
Syntax of the LOAD Command |
|
|
386 | (16) |
|
The IMPORT/EXPORT Utility |
|
|
402 | (12) |
|
|
|
403 | (7) |
|
|
|
410 | (4) |
|
|
|
414 | (16) |
|
Analyzing Data's Physical Organization: REORGCHK |
|
|
415 | (5) |
|
Table Reorganization: REORG |
|
|
420 | (5) |
|
|
|
425 | (5) |
|
|
|
430 | (1) |
|
|
|
431 | (3) |
|
Modelling a Production Environment |
|
|
432 | (2) |
|
|
|
434 | (4) |
|
Fenced and Not Fenced Procedures and Functions |
|
|
434 | (4) |
|
|
|
438 | (41) |
|
|
|
439 | (4) |
|
|
|
443 | (4) |
|
|
|
447 | (15) |
|
Restore Database SmartGuide |
|
|
462 | (11) |
|
Summary of Backup/Restore Consideration |
|
|
473 | (2) |
|
|
|
475 | (1) |
|
The Recovery History File |
|
|
476 | (3) |
|
Administration Tools for Data Maintenance |
|
|
479 | (8) |
|
|
|
480 | (3) |
|
|
|
483 | (4) |
|
|
|
487 | (3) |
|
|
|
490 | (5) |
|
|
|
495 | (1) |
|
|
|
496 | (7) |
|
Chapter 8 -- Database Monitoring and Tuning |
|
|
503 | (94) |
|
|
|
504 | (1) |
|
Obtaining Database Access Information |
|
|
504 | (1) |
|
|
|
504 | (17) |
|
|
|
505 | (3) |
|
|
|
508 | (5) |
|
|
|
513 | (8) |
|
|
|
521 | (30) |
|
|
|
531 | (7) |
|
Visual Performance Monitors |
|
|
538 | (4) |
|
|
|
542 | (8) |
|
|
|
550 | (1) |
|
|
|
551 | (7) |
|
Configuring Database Resources |
|
|
553 | (5) |
|
|
|
558 | (13) |
|
|
|
561 | (1) |
|
|
|
562 | (6) |
|
Performance Tuning Scenario |
|
|
568 | (3) |
|
Diagnostics and Problem Determination |
|
|
571 | (14) |
|
Error Messages and SQL Codes |
|
|
571 | (6) |
|
Tracing Problems in DB2 Universal Database |
|
|
577 | (4) |
|
Database Analysis and Repair Tool |
|
|
581 | (4) |
|
|
|
585 | (1) |
|
|
|
586 | (5) |
|
|
|
591 | (2) |
|
|
|
593 | (4) |
|
Chapter 9 -- DB2 Application Programming |
|
|
597 | (76) |
|
DB2 Application Development Environment |
|
|
598 | (3) |
|
|
|
598 | (3) |
|
Choosing a DB2 Programming Method |
|
|
601 | (5) |
|
|
|
601 | (1) |
|
|
|
602 | (1) |
|
Call Level Interface (CLI) |
|
|
603 | (1) |
|
DB2 Application Programming Interfaces (APIs) |
|
|
604 | (2) |
|
Accessing Data from an Application |
|
|
606 | (11) |
|
|
|
606 | (1) |
|
|
|
607 | (1) |
|
|
|
608 | (3) |
|
|
|
611 | (4) |
|
|
|
615 | (2) |
|
Parts of a DB2 Embedded Static SQL Application |
|
|
617 | (21) |
|
|
|
617 | (9) |
|
|
|
626 | (5) |
|
|
|
631 | (7) |
|
Handling Application Termination |
|
|
638 | (2) |
|
|
|
638 | (2) |
|
|
|
640 | (6) |
|
|
|
640 | (1) |
|
References by LOB Locator |
|
|
641 | (3) |
|
LOB File Reference Variables |
|
|
644 | (2) |
|
Unique Keys and Referential Integrity |
|
|
646 | (2) |
|
Online Analytical Processing |
|
|
648 | (6) |
|
|
|
648 | (2) |
|
|
|
650 | (1) |
|
Dynamic Bitmap Index ANDing |
|
|
650 | (1) |
|
|
|
651 | (2) |
|
|
|
653 | (1) |
|
|
|
654 | (1) |
|
|
|
655 | (13) |
|
|
|
668 | (3) |
|
|
|
671 | (2) |
|
Chapter 10 -- DB2 Advanced Application Programming |
|
|
673 | (40) |
|
|
|
674 | (25) |
|
First Look at Dynamic SQL |
|
|
675 | (2) |
|
|
|
677 | (3) |
|
Types of Dynamic SQL Statements |
|
|
680 | (5) |
|
Dynamic SQL -- Callable SQL Interfaces |
|
|
685 | (1) |
|
|
|
686 | (1) |
|
Embedded Dynamic vs. Call Level Interface |
|
|
687 | (1) |
|
Setting Up a CLI Development Environment |
|
|
687 | (4) |
|
|
|
691 | (1) |
|
|
|
692 | (4) |
|
Support For Java Programming |
|
|
696 | (1) |
|
|
|
697 | (2) |
|
|
|
699 | (1) |
|
|
|
700 | (8) |
|
|
|
708 | (3) |
|
|
|
711 | (2) |
| Appendix A -- Test Objectives DB2 UDB V5 Fundamentals (503) |
|
713 | (4) |
| Appendix B -- Test Objectives DB2 UDB V5 Database Administration (504) |
|
717 | (4) |
| Appendix C -- Test Objectives DB2 UDB V5 Application Development (505) |
|
721 | (4) |
| Appendix D -- DB2 Tools and Utilities |
|
725 | (2) |
| Appendix E -- DB2 Example Source Code |
|
727 | (30) |
| Index |
|
757 | |
| CD-ROM Installation |
|