| Contents |
|
iii | (6) |
|
|
|
ix | (4) |
|
|
|
xiii | (2) |
| Preface |
|
xv | (3) |
| How This Book was Created |
|
xviii | |
|
|
|
1 | (26) |
|
1.0.1 DB2 Family of Products |
|
|
2 | (1) |
|
1.1 DB2 Universal Database V5 |
|
|
2 | (2) |
|
1.1.1 DB2 Universal Database -- The Scalable Database |
|
|
3 | (1) |
|
1.2 DB2 UDB Family of Products |
|
|
4 | (6) |
|
1.2.1 DB2 Universal Database |
|
|
6 | (1) |
|
1.2.2 DB2 UDB Enterprise-Extended Edition |
|
|
6 | (4) |
|
1.3 Terminology Used in DB2 UDB EEE |
|
|
10 | (11) |
|
1.3.1 DB2 Commands and SQL Statements |
|
|
13 | (1) |
|
1.3.2 Parallel Architecture and Processing |
|
|
14 | (7) |
|
|
|
21 | (6) |
|
|
|
21 | (2) |
|
1.4.2 Client Configuration Assistant |
|
|
23 | (1) |
|
|
|
24 | (1) |
|
1.4.4 The Command Line Processor (CLP) |
|
|
25 | (2) |
|
Chapter 2. Installation and Configuration |
|
|
27 | (100) |
|
2.1 Pre-Installation Tasks and Planning |
|
|
27 | (19) |
|
2.1.1 Hardware Requirements |
|
|
28 | (1) |
|
2.1.2 Software Prerequisites |
|
|
29 | (1) |
|
2.1.3 Choice of User Management Systems |
|
|
30 | (2) |
|
2.1.4 Creating Users for DB2 UDB EEE |
|
|
32 | (14) |
|
2.2 Installing DB2 UDB EEE |
|
|
46 | (22) |
|
2.2.1 Choice of Code Installation |
|
|
46 | (1) |
|
2.2.2 Using DB2 Installer |
|
|
47 | (7) |
|
|
|
54 | (7) |
|
2.2.4 Using the installp Command |
|
|
61 | (4) |
|
2.2.5 Verifying the Installation |
|
|
65 | (1) |
|
2.2.6 How to Choose an Installation Method |
|
|
66 | (2) |
|
2.3 Post-Installation Tasks |
|
|
68 | (59) |
|
2.3.1 Configuring DB2 Communication between Nodes |
|
|
69 | (14) |
|
2.3.2 Creating a DB2 Instance |
|
|
83 | (11) |
|
2.3.3 Modifying the Environment |
|
|
94 | (3) |
|
2.3.4 Starting the DB2 Instance |
|
|
97 | (3) |
|
2.3.5 Configuring the DAS Instance to Enable The Graphical Tools |
|
|
100 | (11) |
|
2.3.6 Using the Graphical Tools to Configure DB2 Clients |
|
|
111 | (8) |
|
2.3.7 Manually Configuring DB2 Client/Server Communications |
|
|
119 | (8) |
|
Chapter 3. Designing and Implementing a Database |
|
|
127 | (72) |
|
|
|
127 | (2) |
|
3.1.1 Instances, Databases Partitions and Databases |
|
|
129 | (1) |
|
|
|
129 | (4) |
|
3.2.1 Database Partitions |
|
|
131 | (2) |
|
3.3 Partitioned Databases |
|
|
133 | (15) |
|
3.3.1 Considerations for Creating DB2 UDB EEE Database |
|
|
134 | (1) |
|
3.3.2 Creating Databases in an SDP Configuration |
|
|
135 | (6) |
|
3.3.3 Database Physical Directories and Files |
|
|
141 | (3) |
|
|
|
144 | (3) |
|
3.3.5 Instance and Database Configuration |
|
|
147 | (1) |
|
|
|
148 | (13) |
|
3.4.1 Nodegroup Classifications |
|
|
149 | (2) |
|
3.4.2 Creating Nodegroups |
|
|
151 | (1) |
|
3.4.3 Dropping Nodegroups |
|
|
152 | (1) |
|
3.4.4 Displaying Nodegroup Information |
|
|
153 | (1) |
|
|
|
154 | (4) |
|
3.4.6 System Catalog Views Relating to Nodegroups |
|
|
158 | (2) |
|
|
|
160 | (1) |
|
|
|
161 | (24) |
|
|
|
162 | (1) |
|
3.5.2 The Relationship between Table Spaces and Containers |
|
|
163 | (1) |
|
3.5.3 Types of Tables Spaces |
|
|
164 | (3) |
|
3.5.4 Table Spaces Created by Default |
|
|
167 | (2) |
|
3.5.5 Creating Table Spaces |
|
|
169 | (6) |
|
3.5.6 Querying Tables Space and Container Definitions |
|
|
175 | (3) |
|
|
|
178 | (7) |
|
|
|
185 | (14) |
|
|
|
186 | (3) |
|
|
|
189 | (3) |
|
|
|
192 | (2) |
|
|
|
194 | (5) |
|
|
|
199 | (52) |
|
4.1 Overview of Loading Data |
|
|
199 | (2) |
|
4.1.1 Loading in Parallel |
|
|
200 | (1) |
|
|
|
201 | (21) |
|
|
|
201 | (1) |
|
|
|
202 | (2) |
|
4.2.3 Round-Robin Partitioning |
|
|
204 | (1) |
|
4.2.4 Customized Partition Maps |
|
|
204 | (3) |
|
4.2.5 How a Partitioning Map Gets Changed and Data Rebalanced |
|
|
207 | (1) |
|
4.2.6 Examples of Splitting Data |
|
|
208 | (14) |
|
|
|
222 | (9) |
|
4.3.1 LOAD Considerations |
|
|
223 | (1) |
|
4.3.2 The Three Phases of the LOAD Utility |
|
|
224 | (1) |
|
4.3.3 The Exception Table |
|
|
225 | (1) |
|
|
|
226 | (1) |
|
4.3.5 LOAD Performance Considerations |
|
|
227 | (3) |
|
4.3.6 LOAD and Table Space States |
|
|
230 | (1) |
|
4.4 The AutoLoader Utility |
|
|
231 | (4) |
|
|
|
231 | (2) |
|
|
|
233 | (1) |
|
4.4.3 Running the Autoloader Utility |
|
|
234 | (1) |
|
|
|
235 | (8) |
|
4.5.1 Create the Input Data |
|
|
237 | (1) |
|
4.5.2 Autoloader Configuration File |
|
|
237 | (2) |
|
|
|
239 | (1) |
|
|
|
239 | (1) |
|
4.5.5 The Phases of AutoLoader Processing |
|
|
239 | (1) |
|
|
|
240 | (1) |
|
4.5.7 In Case of Problems |
|
|
241 | (1) |
|
|
|
241 | (1) |
|
4.5.9 Considerations and Usage Notes |
|
|
242 | (1) |
|
4.5.10 Autoloader Considerations |
|
|
242 | (1) |
|
|
|
243 | (8) |
|
|
|
246 | (5) |
|
|
|
251 | (84) |
|
|
|
251 | (23) |
|
5.1.1 Scenarios for Scaling |
|
|
252 | (2) |
|
5.1.2 Adding Database Partitions |
|
|
254 | (16) |
|
5.1.3 Dropping A Database Partition |
|
|
270 | (4) |
|
5.2 Redistributing Data Across Database Partitions |
|
|
274 | (22) |
|
5.2.1 Update Nodegroup Definition After Adding DB Partition |
|
|
275 | (18) |
|
5.2.2 Summary of Alter Nodegroup |
|
|
293 | (1) |
|
5.2.3 Update Nodegroup Definition Before Dropping DB Partition |
|
|
294 | (2) |
|
5.3 Redistribute Nodegroup Utility |
|
|
296 | (28) |
|
5.3.1 Using the DISTFILE Option |
|
|
300 | (7) |
|
5.3.2 Using the TARGETMAP Option |
|
|
307 | (2) |
|
5.3.3 Which Option of Redistribute Nodegroup to Use |
|
|
309 | (1) |
|
5.3.4 How Data is Redistributed Across Database Partitions |
|
|
310 | (1) |
|
5.3.5 Recovering from Redistribution Errors |
|
|
311 | (3) |
|
5.3.6 Estimating the Amount of Log Space for Redistribution |
|
|
314 | (6) |
|
5.3.7 Solutions for Redistribution |
|
|
320 | (3) |
|
5.3.8 Other Methods to Move Data into New DB Partitions |
|
|
323 | (1) |
|
5.3.9 Non-Homogeneous Hardware Environment |
|
|
323 | (1) |
|
5.4 DB2 UDB EEE Backup and Recovery |
|
|
324 | (11) |
|
5.4.1 Overview of DB2 UDB EEE Backup and Recovery |
|
|
324 | (1) |
|
|
|
325 | (1) |
|
|
|
326 | (3) |
|
5.4.4 Recovery History File |
|
|
329 | (1) |
|
5.4.5 Choosing A Backup Strategy |
|
|
330 | (5) |
|
Chapter 6. Performance and Tuning |
|
|
335 | (144) |
|
6.1 DB2 UDB EEE Join Strategies |
|
|
335 | (44) |
|
|
|
337 | (10) |
|
|
|
347 | (8) |
|
6.1.3 Join Strategies in a Partitioned Database |
|
|
355 | (24) |
|
6.2 DB2 UDB EEE OLAP Features |
|
|
379 | (34) |
|
|
|
379 | (3) |
|
|
|
382 | (9) |
|
|
|
391 | (9) |
|
6.2.4 Grouping Column Function |
|
|
400 | (2) |
|
|
|
402 | (11) |
|
|
|
413 | (47) |
|
|
|
413 | (5) |
|
6.3.2 Understanding EXPLAIN Output |
|
|
418 | (42) |
|
|
|
460 | (11) |
|
6.4.1 Snapshot Monitoring |
|
|
461 | (3) |
|
|
|
464 | (5) |
|
6.4.3 Visual Performance Monitors |
|
|
469 | (1) |
|
|
|
470 | (1) |
|
|
|
471 | (8) |
|
6.5.1 Configuring Database Resources |
|
|
474 | (5) |
|
Chapter 7. Problem Determination |
|
|
479 | (16) |
|
|
|
479 | (5) |
|
7.1.1 Problem Description |
|
|
479 | (1) |
|
7.1.2 Error Messages and SQL Codes |
|
|
480 | (2) |
|
7.1.3 Diagnostic and Service Logs |
|
|
482 | (2) |
|
7.2 DB2 Error Log DB2DIAG.LOG |
|
|
484 | (5) |
|
7.2.1 Setting the DIAGLEVEL Configuration Parameter |
|
|
485 | (1) |
|
7.2.2 DB2DIAG.LOG File Entry Format |
|
|
486 | (1) |
|
|
|
487 | (1) |
|
7.2.4 DB2DIAG.LOG in DB2 UDB EEE |
|
|
488 | (1) |
|
|
|
489 | (3) |
|
7.3.1 Setting up the Syslog |
|
|
489 | (3) |
|
7.4 Interpreting syslog Entries |
|
|
492 | (1) |
|
|
|
492 | (1) |
|
|
|
493 | (2) |
|
Appendix A. Test Objectives and Sample Questions |
|
|
495 | (12) |
|
|
|
495 | (1) |
|
A.1.1 DB2 Cluster Concepts |
|
|
495 | (1) |
|
A.1.2 DB2 Cluster Installation and Configuration |
|
|
495 | (1) |
|
A.1.3 DB2 Cluster Administration Tasks |
|
|
495 | (1) |
|
A.1.4 DB2 Cluster Performance Tuning Tasks |
|
|
496 | (1) |
|
A.1.5 DB2 Cluster Application Considerations |
|
|
496 | (1) |
|
|
|
496 | (9) |
|
|
|
505 | (2) |
|
Appendix B. Related Publications |
|
|
507 | (2) |
|
B.1 International Technical Support Organization Publications |
|
|
507 | (1) |
|
|
|
507 | (2) |
| Index |
|
509 | |