Glossary

752 terms from Ibm Db2

# A B C D E F G H I J K L M N O P Q R S T U V W Y Z

#

"DB2 for z/OS: Diagnosis Guide and Reference"
Includes detailed information on catalog and directory structures as they relate to problem diagnosis. Useful when you need to understand error conditions that reference catalog or directory objects. → Chapter 21: Further Reading and Resources
"db2pd — A Practical Guide"
IBM Developer. Comprehensive walkthrough of db2pd options with real-world examples and output interpretation. - **"Understanding MON_GET Table Functions"** — IBM Developer. Tutorial on transitioning from snapshot monitors to MON_GET functions with side-by-side comparisons. - **"First Failure Data Ca → Chapter 20 Further Reading
"On Writing Well" by William Zinsser
The classic guide to clear, concise nonfiction writing. Applicable to blog posts, technical articles, documentation, and reports. → Chapter 37 Further Reading
"Optimizing DB2 Queries with IBM Data Studio"
Relevant for post-migration query performance validation and optimization hint management. → Chapter 16: Further Reading and Resources
"Oracle to DB2 Conversion Guide"
IBM has published multiple Redbooks on Oracle-to-DB2 migration. Search for the most current edition. These guides provide detailed data type mappings, SQL translation rules, and stored procedure conversion guidance. → Chapter 16: Further Reading and Resources
"Presenting to Win" by Jerry Weissman
Techniques for presenting technical information to non-technical audiences. Directly applicable to the executive summary skills discussed in Section 36.11. → Chapter 36 Further Reading
"Sargable Predicates and Index Design"
IBM developerWorks (archived) Classic article explaining the relationship between predicate form and index usage. → Chapter 24 Further Reading: SQL Tuning
"Self-Tuning Memory Manager: Under the Hood"
IBM Data Magazine An insider's view of how STMM makes redistribution decisions, including the benefit functions for each memory consumer type. → Chapter 25 Further Reading: Buffer Pool and Memory Tuning
"SQL PL Best Practices for DB2"
IBM developerWorks article covering coding standards, error handling patterns, and performance considerations for SQL PL development. → Chapter 34: Further Reading
"The Art of Indexing" by Craig Mullins
A series of articles on index design strategies for DB2, covering B-tree internals, clustering, partitioned indexes, and index-only access paths. Available through the IDUG (International DB2 Users Group) website. → Chapter 11: Further Reading
"The Art of SQL Tuning in DB2 for z/OS"
IDUG Technical Conference proceedings Annual conference presentations from IBM and customer DBAs sharing real-world tuning case studies. → Chapter 24 Further Reading: SQL Tuning
"The Case Against Hiperpool on Modern z/OS"
IBM Support Technical Exchange IBM's own analysis of why hiperpool should be disabled on modern z/OS systems, with performance data comparing hiperpool configurations vs. enlarged virtual pools on z14 and z15 hardware. → Chapter 25 Further Reading: Buffer Pool and Memory Tuning
"The Future of the DBA"
Various articles and conference presentations on this topic are available through IDUG, IBM Developer, and industry publications. Search for recent presentations (within the last 2 years) for the most current perspectives. → Chapter 37 Further Reading
"The Pyramid Principle" by Barbara Minto
A framework for structuring business communication that starts with the conclusion and supports it with evidence. The executive summary format in this chapter follows this principle. → Chapter 36 Further Reading
"Understanding DB2 Memory Allocation on Linux"
IBM developerWorks (archived) Detailed article on how DB2 LUW interacts with Linux memory management, including the impact of large pages, memory overcommit settings, and transparent huge pages. → Chapter 25 Further Reading: Buffer Pool and Memory Tuning
"Understanding DB2 Optimizer Behavior"
IBM developerWorks article series covering filter factors, join methods, and access path selection with worked examples. - **"DB2 for z/OS: Best Practices for RUNSTATS"** — IBM technical paper on when and how to collect statistics, including real-time statistics and profile-based RUNSTATS. - **"Opti → Chapter 22: Further Reading
"User-Defined Functions: A Performance Guide"
Analysis of UDF overhead, when to use DETERMINISTIC vs. NOT DETERMINISTIC, and the performance impact of UDFs in WHERE clauses. → Chapter 34: Further Reading
14:48
Marcus verifies the scope of the damage: → Case Study 2: Point-in-Time Recovery — Undoing a Bad DELETE
14:49
Marcus checks whether the DELETE has been committed: → Case Study 2: Point-in-Time Recovery — Undoing a Bad DELETE
14:50
Marcus declares a P1 incident and contacts the operations center. The online banking application is configured to show a maintenance message when the backend is unavailable. The ops team enables the maintenance page. → Case Study 2: Point-in-Time Recovery — Undoing a Bad DELETE
14:51
Marcus begins the recovery procedure. He pulls up the recovery runbook (Section 3: Point-in-Time Recovery) and identifies the steps. → Case Study 2: Point-in-Time Recovery — Undoing a Bad DELETE
15 employees
managers, loan officers, tellers, and relationship managers - **8 account types** covering checking, savings, money market, certificates, and loans - **20 customers** -- a mix of individuals and businesses with varied profiles - **35 accounts** -- each customer has 1-3 accounts - **~95 transactions* → Chapter 4: Setting Up Your DB2 Environment -- Installation, Configuration, and Your First Database
150 million tax filings per year
a number that includes individual income tax returns, corporate tax filings, value-added tax (VAT) submissions, and quarterly estimated payments. Processing occurs year-round, but 65% of individual filings arrive during a six-week peak season from March 15 to April 30. → Case Study 2: Government Tax Processing — The Federal Tax Authority of Valdoria
15:29
Rollforward complete. The MERIDIAN_RECOVERY database is at its state as of 14:47:00, with all 6,047,293 rows in the TRANSACTION table intact. → Case Study 2: Point-in-Time Recovery — Undoing a Bad DELETE
15:43
Import complete. Production TRANSACTION table row count: 6,047,293 — exactly the pre-DELETE count. → Case Study 2: Point-in-Time Recovery — Undoing a Bad DELETE
23 indexes were redundant
their leading columns were a subset of another index on the same table. For example, the POLICY table had indexes on both `(AGENT_ID)` and `(AGENT_ID, EFFECTIVE_DATE)`. The single-column index served no purpose that the composite index could not. - **8 indexes were on low-cardinality columns** (STAT → Case Study 1: Index Strategy Overhaul — From 47 Indexes to 12
24/7 availability
no planned or unplanned outages - **High throughput** — 15,000 CICS transactions per second at peak - **Batch window** — nightly batch processes including end-of-day settlement, interest calculation, and regulatory reporting - **Disaster recovery** — site-level redundancy (covered in Chapter 30) - * → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
3. Account governance:
RPTUSER account was replaced with individual named accounts for each analyst - Each account was mapped to the WL_REPORTING workload - Connection from non-approved IP addresses was blocked via CONNECT restrictions → Case Study 2: Midnight Crisis — Diagnosing a Sudden Slowdown
37a. Role Structure:
**TELLER:** SELECT, INSERT, UPDATE on accounts and transactions (restricted to own branch via RCAC). No access to loans or audit_log. - **BRANCH_MANAGER:** SELECT, INSERT, UPDATE on accounts, transactions, and loans (restricted to own branch via RCAC). SELECT on summary views for all branches. No DE → Comprehensive Final Exam --- All Parts (Chapters 1--40)
4. Query governance:
The analytics team was provided a read replica for heavy queries instead of the production database - Queries exceeding 10 million rows read were automatically stopped on production - The data analyst team received training on query impact awareness → Case Study 2: Midnight Crisis — Diagnosing a Sudden Slowdown
5. Enhanced monitoring:
A new alert was added for any single application reading more than 5 million rows in a 5-minute window - Buffer pool hit ratio monitoring was enhanced with a rate-of-change alert: if the hit ratio dropped more than 5 percentage points in 5 minutes, an immediate alert was triggered regardless of abso → Case Study 2: Midnight Crisis — Diagnosing a Sudden Slowdown
[z/OS]
This section covers DB2 for z/OS (the mainframe platform). It will reference JCL, TSO/ISPF, DSNZPARM, RACF, and other z/OS-specific technologies. - **[LUW]** -- This section covers DB2 for LUW (Linux, UNIX, Windows). It will reference the command line processor, db2pd, database manager configuration → How to Use This Book
`WLM ENVIRONMENT`
specifies the WLM application environment where the procedure runs. This determines the address space characteristics (region size, language environment options). - **`COLLID`** — the package collection ID for static SQL within the COBOL program. - **`PROGRAM TYPE SUB`** — indicates a subroutine (as → Chapter 34: Stored Procedures, UDFs, and Application Logic in the Database

A

A running Db2 environment
whether via Docker (the recommended approach), native Linux installation, or Windows installation on the LUW side, or a connection to a z/OS subsystem via SPUFI, DSNTEP2, or Zowe CLI. → Chapter 4: Setting Up Your DB2 Environment -- Installation, Configuration, and Your First Database
A) Individual INSERT with autocommit ON
Most log volume. Each of the 1 million INSERTs generates a log record AND a commit record. The commit records alone are significant overhead. Total: approximately 1 million insert log records + 1 million commit log records. → Chapter 9 Quiz: Data Modification
access path
a specific method of retrieving data from a table. DB2 supports numerous access path types, and each is optimal under different conditions. We will cover the most important ones for both platforms. → Chapter 22: How the DB2 Optimizer Works — Cost-Based Optimization, Access Path Selection, and Why Your Query Plan Changed
Accidental Cartesian product
Missing or incorrect ON clause produces m x n rows 2. **Wrong outer join direction** — Preserving the wrong table (check which side is LEFT vs. RIGHT) 3. **WHERE clause on outer table** — Nullifies the outer join, silently converting it to inner 4. **Row multiplication in aggregates** — Joining one- → Chapter 6: Key Takeaways
ACCOUNT
Supertype for all financial accounts. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
ACCOUNT (supertype)
ACCOUNT_ID (PK) - ACCOUNT_NUMBER - CUSTOMER_ID (FK) - BRANCH_ID (FK) - CURRENT_BALANCE - OPEN_DATE - STATUS → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Account inquiry
read-only, high frequency (simulates online banking). 2. **Fund transfer** — read-write, medium frequency (simulates teller and wire operations). 3. **Statement generation** — batch read, sequential scan of large tables. 4. **Payroll posting** — bulk INSERT/UPDATE, high contention on account balance → Chapter 36: Capstone — The Meridian National Bank: Complete System Review, Stress Test, and Disaster Recovery Drill
ACCOUNT_HOLDER
Junction: M:N between CUSTOMER and ACCOUNT. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
ACCOUNT_TYPE
Lookup: product types for accounts. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Actions:
`GO TO label` — Branch to the specified paragraph - `CONTINUE` — Take no automatic action; let the program continue → Chapter 32: Embedded SQL for COBOL and C — Static SQL, Cursors, and the Bind Process
active log data sets
VSAM linear data sets (LDS) that DB2 writes to sequentially. → Chapter 18: Backup, Recovery, and Logging — Protecting Data Against Every Failure Mode
Active-active configurations
both sites serve read/write traffic - **Geographic distribution** — users connect to the nearest site - **Load distribution** — write traffic is split across sites → Chapter 29: HADR and Replication — High Availability for DB2 LUW
Advantages of this approach:
Every query has an optimized static access path - No runtime SQL parsing overhead - Authorization is managed at bind time - Predictable performance — each query's plan is known and tested → Case Study 32.2: Static vs Dynamic SQL — A Performance Decision
Advantages:
Supports all 32 possible combinations with one code path - Easy to add new filter criteria - Cleaner, more maintainable code → Case Study 32.2: Static vs Dynamic SQL — A Performance Decision
Affinity routing
route transactions that access the same data to the same member, keeping the data in that member's local buffer pool and the pageset GBP-independent 2. **Large local buffer pools** — a page read from the local buffer pool (if valid) avoids a GBP read 3. **Minimize cross-member interest in hot pagese → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
Affinity-based routing
route related work to the same member to minimize cross-member data sharing overhead 2. **Even distribution** — spread work evenly across members to balance CPU and memory utilization → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
Aggregate functions
COUNT, SUM, AVG, MIN, MAX, STDDEV, and VARIANCE — collapse multiple rows into single summary values. COUNT(*) counts rows; COUNT(column) counts non-NULL values; COUNT(DISTINCT column) counts unique non-NULL values. → Chapter 7: Aggregation and Grouping — COUNT, SUM, AVG, GROUP BY, HAVING, and Analytical Patterns
aggregation
the process of taking many rows and collapsing them into summary values. And every one of them requires **grouping** — the process of defining *which rows belong together* before that collapsing happens. → Chapter 7: Aggregation and Grouping — COUNT, SUM, AVG, GROUP BY, HAVING, and Analytical Patterns
ALERT
Suspicious activity alerts for BSA/AML compliance. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Alert delivery channels:
**Email**: For warnings and non-urgent items - **SMS/Pager**: For critical alerts requiring immediate response - **Dashboard color change**: For real-time visual monitoring - **Ticketing system integration**: For automated incident creation → Chapter 20: Monitoring and Problem Determination — Knowing What's Wrong Before the Phone Rings
Alert Metrics (checked every 1 minute):
Lock escalation count (delta > 0 triggers investigation) - Deadlock count (delta > 5/hour triggers alert) - Lock timeout count (delta > 10/hour triggers alert) - Any transaction running longer than 30 minutes with locks held - Buffer pool hit ratio below 90% on OLTP pools → Chapter 27: Performance Diagnosis Methodology — A Systematic Approach to Finding and Fixing the Bottleneck
ALLOW READ ACCESS
Permits concurrent read access during the load. ALLOW NO ACCESS is more restrictive but marginally faster. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
ALLOW WRITE ACCESS
Permits concurrent write access during statistics collection. The alternative ALLOW READ ACCESS blocks writes but is rarely necessary. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
An understanding of instances and databases
the instance is the engine; the database is the data store. Configuration parameters at both levels control how DB2 behaves, and the defaults are starting points, not final answers. → Chapter 4: Setting Up Your DB2 Environment -- Installation, Configuration, and Your First Database
Analysis:
CPU increased 4.7x (450 to 2,100 sec) - Getpages increased 4.8x (120M to 580M) - Sync I/O increased 5.2x (25M to 130M) - Rows processed increased 4.25x (2M to 8.5M) - Prefetch barely changed (500K to 600K) - **COMMIT count: still 1** — the job commits only at the end → Case Study 02: Batch Window Crisis — 8 Hours to 12 Hours
AND SAMPLED DETAILED INDEXES ALL
Collects detailed index statistics using sampling. DETAILED provides extended statistics including cluster ratio and page fetch estimates. SAMPLED uses sampling for efficiency on large indexes. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
Answer.
**SYNC:** The primary waits for the standby to write the log to disk before returning COMMIT to the application. Zero data loss guaranteed. Highest latency impact. - **NEARSYNC:** The primary waits for the standby to receive the log in memory (but not write to disk). Near-zero data loss (only data i → Answers to Selected Exercises
Anti-patterns
EAV abuse, mega-tables, OTLT, over-normalization, and comma-separated lists. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Anti-patterns to avoid:
Partitioning by a high-cardinality artificial key (TRANS_ID). This distributes data evenly but provides no query benefit — nobody queries by "TRANS_ID between 100000 and 200000." - Partitioning by a low-cardinality column (STATUS). You end up with a few massive partitions and many empty ones. - Part → Chapter 14: Physical Database Design — Tablespaces, Partitioning, Compression, and Storage Optimization
API Requester
the client (mobile app, web service, partner system) that makes REST calls. → Chapter 35: RESTful APIs and Modern Access Patterns: z/OS Connect, GraphQL, and Event Streaming
Archival process monitoring
The data archival jobs now have health checks that alert if they fail to run for more than 48 hours. → Case Study 2: Emergency REORG — When Fragmentation Hits 90%
Archive and protect audit logs
audit logs must be immutable and retained per regulatory requirements (typically 7 years for financial data, 6 years for HIPAA). → Chapter 19: Security and Authorization — Authentication, Privileges, Roles, Row-Level Security, and Audit
archive logging
a decision that determines your entire recovery capability. → Chapter 18: Backup, Recovery, and Logging — Protecting Data Against Every Failure Mode
Arguments against:
If a customer changes their name (marriage, legal change), every historical transaction must be updated — or the system will show inconsistent names across different views. - Storage is wasted: with 500 million transactions per year, even 50 bytes per name adds ~25 GB of redundant data annually. → Chapter 13 Quiz: Logical Database Design
Arguments for natural keys:
They carry meaning. When you see SSN `123-45-6789` in a foreign key column, you know what it refers to without a JOIN. - They can prevent the need for some JOINs (if the natural key is already in the referencing table, you may not need to look up the referenced table). - They enforce real-world uniq → Chapter 2: The Relational Model — How DB2 Thinks About Data
Arguments for storing it:
Statement generation queries avoid the JOIN chain TRANSACTION -> ACCOUNT -> ACCOUNT_HOLDER -> CUSTOMER, improving performance for a high-frequency operation. → Chapter 13 Quiz: Logical Database Design
Arguments for surrogate keys:
They never change. An SSN can be corrected (data entry error), an email address can change, a product SKU can be reassigned. A surrogate key is immutable. - They are compact. A 4-byte INTEGER is smaller and faster to index and join than an 11-byte CHAR SSN or a 254-byte VARCHAR email. - They are mea → Chapter 2: The Relational Model — How DB2 Thinks About Data
attributes
the individual data elements. Attributes fall into several categories: → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Audit sensitive table access with EXECUTE
for tables containing PII, PHI, or financial data, record who accessed what. → Chapter 19: Security and Authorization — Authentication, Privileges, Roles, Row-Level Security, and Audit
Audit trail
Used when the business or regulators require tracking of who changed what data and when. Appropriate for any entity with financial, medical, or personally identifiable information. Implemented via a centralized AUDIT_LOG, shadow tables, or both. → Chapter 13 Quiz: Logical Database Design
AUDIT_LOG
Centralized change tracking. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
auto-commit mode
every statement is its own transaction. For any operation involving multiple related statements, you must disable auto-commit and manage transactions explicitly: → Chapter 33: JDBC, ODBC, and Python Access — Connecting Modern Applications to DB2
Availability
Is the database up? Can applications connect? Are subsystem components active? 2. **Performance** — Are response times within acceptable bounds? Are buffer pools effective? Are sorts spilling to disk? 3. **Capacity** — How much disk space remains? How full are the logs? Are table spaces approaching → Chapter 20: Monitoring and Problem Determination — Knowing What's Wrong Before the Phone Rings

B

B)
`db2fmp` is the Fenced Mode Process. It runs user-written code (stored procedures, UDFs) in a separate process so that a crash in user code does not bring down the DB2 engine. → Chapter 3 Quiz: DB2 Architecture
B) DBM1
The Database Services address space (DBM1) handles SQL compilation, optimization, buffer pool management, and all data access operations. MSTR handles logging and system services. DIST handles remote connections. IRLM handles locking. → Chapter 3 Quiz: DB2 Architecture
B) Multi-row INSERT with batched commits
Same row-level logging as C, but with 100 commit records (1,000 rows * 10 statements = 10,000 rows per commit, 100 commits for 1 million rows). Logging is essentially the same as C but with slightly more commit overhead. In practice, very similar to C. → Chapter 9 Quiz: Data Modification
B, C, and D
The EDM pool caches compiled plans/packages, database descriptors, and the dynamic statement cache. Data pages (A) and index pages (E) are cached in buffer pools, not the EDM pool. → Chapter 3 Quiz: DB2 Architecture
Backup recency:
z/OS: SYSIBM.SYSCOPY (latest ICTYPE='F' and ICTYPE='I' timestamps) - LUW: db2adutl query (list backup images and timestamps) → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
Backward recovery
the surviving member undoes all uncommitted transactions by reading the failed member's log 4. **Retained locks are released** — as each transaction is rolled back, its retained locks are freed 5. **Normal access resumes** — other members can now access the previously locked resources → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
Baseline Metrics (collected every 5 minutes):
Database-level: commits, CPU time, wait time, lock wait time, deadlocks, timeouts, escalations - Buffer pool: hit ratios per pool, physical reads, prefetch activity - Top 20 SQL by elapsed time (snapshot of package cache) → Chapter 27: Performance Diagnosis Methodology — A Systematic Approach to Finding and Fixing the Bottleneck
benefit function
an estimate of how much performance would improve if the consumer received more memory. For buffer pools, this is based on the predicted reduction in physical I/O. For sort heap, it is based on the predicted reduction in sort overflows. 3. It transfers memory from low-benefit consumers to high-benef → Chapter 25: Buffer Pool and Memory Tuning — Giving DB2 the Right Resources
Best Practices: DB2 for z/OS REORG
IBM Support technote covering SHRLEVEL selection, FASTSWITCH configuration, mapping table sizing, and common REORG problems. - **Best Practices: DB2 for z/OS RUNSTATS** — Guidance on when to collect KEYCARD, FREQVAL, HISTOGRAM, and column group statistics, with decision trees for choosing the right → Chapter 17: Further Reading
bidirectional replication
two databases that both accept writes and replicate to each other. This enables: → Chapter 29: HADR and Replication — High Availability for DB2 LUW
BigDecimal for monetary values
Never use `double` or `float` for money. DB2 `DECIMAL` maps to Java `BigDecimal`. → Chapter 33: JDBC, ODBC, and Python Access — Connecting Modern Applications to DB2
BLU Acceleration Technical Overview
IBM white paper explaining columnar storage, actionable compression, and SIMD processing in Db2 BLU. https://www.ibm.com/docs/en/db2/11.5?topic=features-blu-acceleration → Chapter 31 Further Reading
BRANCH
Physical bank locations. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
BRANCH_PRODUCT
Junction: which products are offered at which branches. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
BRANCHES is the outer driver
this is correct, as there are relatively few branches (perhaps 50-200). Each branch drives three lateral subquery evaluations. → Chapter 23: Reading and Interpreting EXPLAIN — The Single Most Important DBA Skill
Budget is limited
HADR is much simpler and cheaper - **The workload is modest** — a single server with HADR standby may suffice - **Geographic DR is the primary requirement** — pureScale requires low-latency interconnects (same data center) → Chapter 29: HADR and Replication — High Availability for DB2 LUW
Buffer pool right-sizing
Priya reviewed all buffer pool allocations and increased the DAILYBAL_TS pool from 50,000 to 100,000 pages permanently (not the emergency 200,000, but a sustainable increase based on the table's access patterns). → Case Study 2: Emergency REORG — When Fragmentation Hits 90%
Buffer pool was resized smaller
someone reduced the BP_CUST pool size (accidentally or intentionally). 2. **New workload or query pattern** — a new report or batch job is performing scans on the CUSTOMER table, cycling through pages faster than the LRU can protect the working set. 3. **Operating system memory pressure** — another → Chapter 3 Exercises: DB2 Architecture
Buffer pools for critical OLTP tables and indexes
biggest impact on response time 2. **Package cache / EDM pool** — reduces CPU overhead for dynamic SQL 3. **Sort memory** — eliminates sort overflows 4. **Separate batch from OLTP** — prevents cross-workload interference 5. **Lock list** — prevents lock escalation (which causes deadlocks and timeout → Chapter 25: Buffer Pool and Memory Tuning — Giving DB2 the Right Resources
BUILD
Rebuilds all indexes on the tablespace from the reloaded data. Index keys are sorted and leaf pages are constructed sequentially. This is typically faster than the UNLOAD and RELOAD phases because indexes are smaller than the table data. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
BUSINESS_CUSTOMER
Subtype for commercial/business customers. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models

C

C)
The primary reason is workload isolation. A batch scan on one table can push out frequently accessed pages for another workload (buffer pool pollution). Separate pools prevent this. While different page sizes also require separate pools (D), that is a technical requirement, not the primary design mo → Chapter 3 Quiz: DB2 Architecture
C) 12 KB
DB2 supports 4K, 8K, 16K, and 32K page sizes only. There is no 12K option. → Chapter 3 Quiz: DB2 Architecture
C) 98.5%
BPHR = (1 - 150,000 / 10,000,000) * 100 = (1 - 0.015) * 100 = 98.5%. This means 98.5% of page requests were satisfied from the buffer pool without disk I/O. → Chapter 3 Quiz: DB2 Architecture
C) Access path selection
The optimizer evaluates different access strategies, estimates their costs using catalog statistics, and chooses the least expensive plan. This happens after parsing (A) and validation (B), and before execution (D). → Chapter 3 Quiz: DB2 Architecture
C) DB2PDIST
The DDF (Distributed Data Facility) address space handles all remote connections, including JDBC over TCP/IP. The naming convention is the four-character subsystem ID followed by the address space type. → Chapter 3 Quiz: DB2 Architecture
C) INSERT...SELECT
Full logging of all 1 million rows, but only one commit record. Still logs every row's after-image. Total: approximately 1 million insert log records + 1 commit record. → Chapter 9 Quiz: Data Modification
C) MSTR
The System Services address space is the first started and the last stopped. It must be running before the other DB2 address spaces can initialize. → Chapter 3 Quiz: DB2 Architecture
C) SYSCAT.TABLES
The `CARD` column in SYSCAT.TABLES contains the cardinality (row count) as recorded by the last RUNSTATS execution. On z/OS, the equivalent is the `CARDF` column in SYSIBM.SYSTABLES. → Chapter 3 Quiz: DB2 Architecture
C) Universal Table Space (UTS)
UTS is the modern standard, available in partition-by-range (PBR) and partition-by-growth (PBG) variants. Simple tablespaces are deprecated. Segmented tablespaces are legacy. Classic partitioned tablespaces are superseded by PBR UTS. → Chapter 3 Quiz: DB2 Architecture
C2090-600: DB2 11.1 Fundamentals
Basic optimizer concepts, access path types. - **C2090-621: DB2 11.1 DBA for LUW** — RUNSTATS, EXPLAIN, optimization levels, optimizer configuration. - **C2090-312: DB2 12 for z/OS DBA** — Access path selection, Stage 1/Stage 2, PLANMGMT, REOPT, RUNSTATS strategies. → Chapter 22: Further Reading
Cannot be performed online
unlike adding a nullable column (instant) or widening a VARCHAR (instant), changing the physical width of a column requires rewriting every row. 4. **Has the highest risk** — if the REORG fails partway through, recovery may require restoring from backup. → Chapter 16 Quiz: Schema Evolution and Data Migration
cardinality
the number of rows produced by an operation: → Chapter 22: How the DB2 Optimizer Works — Cost-Based Optimization, Access Path Selection, and Why Your Query Plan Changed
Cartesian product
every customer matched with every account — which is almost never what you want. (A Cartesian product of 2 million customers and 5 million accounts is 10 trillion rows. Your query will not finish.) → Chapter 2: The Relational Model — How DB2 Thinks About Data
CAST
The universal type converter: → Chapter 5: SQL Fundamentals — SELECT, WHERE, ORDER BY, and the Art of Asking Questions
CD_DETAIL
Subtype: certificate of deposit. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Centralized lock management
all lock requests go through the CF - **Page coherency** — the CF ensures that all members see consistent data - **Fast inter-member communication** — using high-speed interconnects (InfiniBand or RDMA over Converged Ethernet) → Chapter 29: HADR and Replication — High Availability for DB2 LUW
CERTIFICATE_OF_DEPOSIT (subtype)
ACCOUNT_ID (PK, FK to ACCOUNT) - MATURITY_DATE - TERM_MONTHS - EARLY_WITHDRAWAL_PENALTY_PCT - AUTO_RENEW → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Change Data Capture (CDC)
now part of **IBM InfoSphere Data Replication** — is a log-based replication technology that captures row-level changes from DB2 and delivers them to diverse targets in real-time. While Q Replication is specifically designed for DB2-to-DB2 replication via MQ, CDC is broader: → Chapter 29: HADR and Replication — High Availability for DB2 LUW
Change impact assessment checklist
All schema changes now require a DBA review of potential impacts on fragmentation, space utilization, and maintenance schedules. → Case Study 2: Emergency REORG — When Fragmentation Hits 90%
Chapter 10: Advanced SQL
You learned window functions, recursive CTEs, CASE expressions, and temporal queries, handling sophisticated analytical requirements. → Chapter 12: Views, Triggers, and Stored Procedures — Encapsulating Logic in the Database
Chapter 11: DDL
You learned CREATE TABLE, ALTER TABLE, constraints, indexes, and tablespace management, taking control of database structure. → Chapter 12: Views, Triggers, and Stored Procedures — Encapsulating Logic in the Database
Chapter 12: Transactions and Concurrency
Understanding transaction isolation, locking, and deadlock prevention is essential for writing correct stored procedures. The deadlock prevention pattern used in PROC_TRANSFER_FUNDS originates here. → Chapter 34: Further Reading
Chapter 12: Views, Triggers, and Stored Procedures
You learned to encapsulate logic in the database itself, creating security boundaries, audit trails, and reusable business operations. → Chapter 12: Views, Triggers, and Stored Procedures — Encapsulating Logic in the Database
Chapter 14 (Physical Storage)
Tablespace design directly affects utility behavior and performance. Revisit extent sizing, free space percentages, and buffer pool allocation in the context of REORG efficiency. - **Chapter 15 (Indexing Strategies)** — Index design and clustering choices determine how quickly data fragments and how → Chapter 17: Further Reading
Chapter 14: Indexing Strategies
Clustering indexes and their interaction with partitioned tables. - **Chapter 17: Query Optimization** — EXPLAIN output interpretation, including partition elimination indicators. - **Chapter 22: Concurrency and Locking** — Lock escalation in partitioned table spaces. - **Chapter 28: Backup and Reco → Chapter 30 Further Reading
Chapter 15 (Query Optimization)
Understanding access paths is essential for interpreting monitoring data. A buffer pool hit ratio decline often traces back to an optimizer decision. - **Chapter 17 (Utilities)** — Monitoring tells you when utilities are needed. RUNSTATS, REORG, and COPY operations are driven by monitoring data. - * → Chapter 20 Further Reading
Chapter 15: Buffer Pool Tuning
Detailed guidance on sizing and configuring buffer pools, directly applicable to I/O-bound diagnosis. - **Chapter 17: Indexing Strategies** — Index design techniques that address CPU-bound problems caused by table scans and inefficient access paths. - **Chapter 22: EXPLAIN and Access Paths** — How t → Chapter 27: Further Reading — Performance Diagnosis Methodology
Chapter 17: RUNSTATS and Catalog Statistics
The quality of EXPLAIN output depends directly on the quality of your statistics. Stale statistics produce misleading access plans. → Chapter 23: Further Reading
Chapter 18: Concurrency and Locking
Foundation for understanding L-locks in data sharing - **Chapter 26: DB2 on z/OS — The Mainframe Environment** — Prerequisites for understanding the z/OS platform - **Chapter 27: z/OS Performance and Optimization** — Performance tuning that complements data sharing tuning - **Chapter 30: Backup, Rec → Chapter 28 Further Reading
Chapter 19: Security and Authorization
DB2's authorization model underpins API security. RACF integration with z/OS Connect, EXECUTE privileges for stored procedures, and role-based access control all originate from Chapter 19's security framework. → Chapter 35: Further Reading
Chapter 22: Index Design and Management
Index design is the primary tool for influencing access plans. Understanding EXPLAIN output tells you which indexes are needed and how they are being used. → Chapter 23: Further Reading
Chapter 22: Query Optimization
UDFs interact with the DB2 optimizer in important ways. Understanding access paths helps you write UDFs that do not defeat index access. → Chapter 34: Further Reading
Chapter 23: EXPLAIN Tools
Learn to read the optimizer's decisions using EXPLAIN output, Visual Explain, and the PLAN_TABLE. - **Chapter 24: SQL Tuning** — Apply your understanding of the optimizer to systematically improve query performance. - **Chapter 25: Buffer Pool Tuning** — Understand how buffer pool configuration affe → Chapter 22: Further Reading
Chapter 24: Advanced Query Optimization
Builds on EXPLAIN skills with query rewriting techniques, optimization profiles, and workload-level performance management. → Chapter 23: Further Reading
Chapter 25: Monitoring and Diagnosing Performance
Covers runtime performance monitoring that complements EXPLAIN's compile-time analysis. → Chapter 23: Further Reading
Chapter 2: The Relational Model
Formal definitions of selection, projection, and the relational algebra operations that underlie SELECT queries. - **Chapter 4: Setting Up Your DB2 Environment** — Instructions for creating and loading the Meridian National Bank database used in all Chapter 5 examples. - **Chapter 6: Joining Tables* → Chapter 5 Further Reading
Chapter 3: DB2 Architecture
Buffer pools, memory management, and storage manager internals that underpin physical design decisions. - **Chapter 11: Data Types and Domains** — Data type selection affects row size, which drives page size and storage calculations. - **Chapter 13: Logical Database Design** — The logical model that → Chapter 14: Further Reading
Chapter 4: Data Types and Table Design
Schema design considerations for cross-platform portability (z/OS to cloud). - **Chapter 18: Security and Authorization** — GRANT/REVOKE, roles, and RCAC policies that apply in both on-premises and cloud environments. - **Chapter 29: HADR and High Availability** — The foundation for understanding ma → Chapter 31 Further Reading
Chapter 5: SELECT and WHERE
Foundation for all subquery placement. - **Chapter 6: Joins** — Semi-joins and anti-joins are the execution model for EXISTS and NOT EXISTS. - **Chapter 7: Aggregation and GROUP BY** — CTEs frequently contain aggregations; understanding GROUP BY is prerequisite. - **Chapter 9: INSERT, UPDATE, DELETE → Chapter 8: Further Reading
Chapter 5: SQL Fundamentals
You learned SELECT, WHERE, ORDER BY, and the basic shape of every query you will ever write. → Chapter 12: Views, Triggers, and Stored Procedures — Encapsulating Logic in the Database
Chapter 6: Joining Tables
You learned INNER JOIN, LEFT/RIGHT/FULL OUTER JOIN, and cross joins, enabling queries that span multiple tables. → Chapter 12: Views, Triggers, and Stored Procedures — Encapsulating Logic in the Database
Chapter 7: Aggregation and Grouping
You learned GROUP BY, HAVING, and aggregate functions (COUNT, SUM, AVG, MIN, MAX), transforming detail rows into summary information. → Chapter 12: Views, Triggers, and Stored Procedures — Encapsulating Logic in the Database
Chapter 8: Subqueries and CTEs
You learned scalar subqueries, correlated subqueries, EXISTS, and Common Table Expressions, giving you the ability to compose complex queries from simpler building blocks. → Chapter 12: Views, Triggers, and Stored Procedures — Encapsulating Logic in the Database
Chapter 9: Data Modification
You learned INSERT, UPDATE, DELETE, and MERGE, transitioning from reading data to changing it. → Chapter 12: Views, Triggers, and Stored Procedures — Encapsulating Logic in the Database
Chapter 9: Transaction Management
Foundation for understanding COMMIT, ROLLBACK, and transaction boundaries. - **Chapter 15: Buffer Pool Tuning** — Lock memory (LOCKLIST) competes with buffer pool memory for system resources. - **Chapter 17: Indexing Strategies** — Good indexes reduce the number of rows examined, directly reducing l → Chapter 26: Further Reading — Locking, Concurrency, and Isolation Levels
Chapter title and learning objectives
what you will be able to do after completing this chapter - **Prerequisites** -- which earlier chapters you should have read - **Meridian Bank context** -- how this chapter's topic connects to the progressive project → How to Use This Book
CHAR
Convert to fixed-length character string: → Chapter 5: SQL Fundamentals — SELECT, WHERE, ORDER BY, and the Art of Asking Questions
CHECKING_ACCOUNT (subtype)
ACCOUNT_ID (PK, FK to ACCOUNT) - OVERDRAFT_LIMIT - CHECK_REORDER_THRESHOLD - DEBIT_CARD_NUMBER → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
CHECKING_DETAIL
Subtype: checking-specific attributes. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
checkpoints
markers in the log that say "at this point, all committed changes up to this LSN/RBA have been written to disk." → Chapter 18: Backup, Recovery, and Logging — Protecting Data Against Every Failure Mode
Choose DB2 for LUW when:
You are building new applications on distributed infrastructure - You need to run on commodity hardware or cloud infrastructure - Your team's skills are primarily in Linux/UNIX/Windows administration - You want to use containerized or cloud-native deployment models - Cost constraints favor distribut → Chapter 1: What Is IBM DB2? History, Architecture, and Why It Still Runs the World's Most Critical Systems
Choose DB2 for z/OS when:
You are operating in a mainframe environment with existing z/OS infrastructure - You need the absolute highest levels of transaction throughput and availability - Regulatory or compliance requirements mandate mainframe-level security and auditability - Your workload involves integration with CICS, I → Chapter 1: What Is IBM DB2? History, Architecture, and Why It Still Runs the World's Most Critical Systems
CLAIM
A formal request for payment filed against a specific policy. | Attribute | Type | Notes | |-----------|------|-------| | CLAIM_ID | Integer (PK) | | | CLAIM_NUMBER | Varchar(20) (unique) | Customer-facing | | POLICY_ID | FK to POLICY | References the policy system | | LOSS_EVENT_ID | FK to LOSS_EVE → Case Study 2: Insurance Claims Schema Design
CLAIM_COVERAGE
The intersection between a claim and a policy coverage. This was the most consequential design decision. | Attribute | Type | Notes | |-----------|------|-------| | CLAIM_COVERAGE_ID | Integer (PK) | | | CLAIM_ID | FK to CLAIM | | | COVERAGE_CODE | FK to COVERAGE_TYPE | | | RESERVE_AMOUNT | Decimal( → Case Study 2: Insurance Claims Schema Design
CLAIM_DOCUMENT
Metadata for photos, reports, estimates. | Attribute | Type | Notes | |-----------|------|-------| | DOCUMENT_ID | Integer (PK) | | | CLAIM_ID | FK to CLAIM | | | DOCUMENT_TYPE | Code | PHOTO, POLICE_REPORT, MEDICAL_RECORD, ESTIMATE, INVOICE | | FILE_NAME | Varchar(200) | | | STORAGE_REFERENCE_ID | → Case Study 2: Insurance Claims Schema Design
CLAIM_PARTY
Junction table: parties play roles on claims. | Attribute | Type | Notes | |-----------|------|-------| | CLAIM_PARTY_ID | Integer (PK) | | | CLAIM_ID | FK to CLAIM | | | PARTY_ID | FK to PARTY | | | ROLE_CODE | Code | INSURED, CLAIMANT, WITNESS, ATTORNEY, VENDOR, MEDICAL_PROVIDER | | IS_PRIMARY | B → Case Study 2: Insurance Claims Schema Design
CLAIM_PAYMENT
Every payment issued or recovery received. | Attribute | Type | Notes | |-----------|------|-------| | PAYMENT_ID | Integer (PK) | | | CLAIM_COVERAGE_ID | FK to CLAIM_COVERAGE | Payments are coverage-level | | PAYEE_PARTY_ID | FK to PARTY | | | PAYMENT_TYPE | Code | INDEMNITY, EXPENSE, SUBROGATION_R → Case Study 2: Insurance Claims Schema Design
CLAIM_RESERVE_HISTORY
Temporal record of every reserve change. | Attribute | Type | Notes | |-----------|------|-------| | RESERVE_HISTORY_ID | Integer (PK) | | | CLAIM_COVERAGE_ID | FK to CLAIM_COVERAGE | | | PREVIOUS_AMOUNT | Decimal(15,2) | | | NEW_AMOUNT | Decimal(15,2) | | | CHANGE_DATE | Timestamp | | | CHANGED_BY → Case Study 2: Insurance Claims Schema Design
CLAIM_STATUS_HISTORY
Every status transition with accountability. | Attribute | Type | Notes | |-----------|------|-------| | STATUS_HISTORY_ID | Integer (PK) | | | CLAIM_ID | FK to CLAIM | | | PREVIOUS_STATUS | Code | | | NEW_STATUS | Code | | | TRANSITION_DATE | Timestamp | | | CHANGED_BY | FK to EMPLOYEE | | | REASON → Case Study 2: Insurance Claims Schema Design
Class castout threshold
when the percentage of dirty pages in the GBP for a given class reaches a threshold (default 10%) - **Group castout threshold** — when the overall GBP dirty page percentage reaches a threshold (default 35%) - **Castout engine trigger** — DB2 proactively schedules castout to avoid threshold breaches → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
Client tool proficiency
you can interact with DB2 through the command line (CLP), a graphical tool (DBeaver), and know how JDBC connections work for application development. → Chapter 4: Setting Up Your DB2 Environment -- Installation, Configuration, and Your First Database
CLMHDR
Claim header: claim number, policy number, date of loss, status, adjuster code 2. **CLMPTY** — Parties: up to 8 parties per claim stored as repeating groups (PARTY1_NAME, PARTY1_ROLE, PARTY2_NAME, PARTY2_ROLE, ...) 3. **CLMPAY** — Payments: up to 30 payment slots per claim 4. **CLMNOT** — Notes: fre → Case Study 2: Insurance Claims Schema Design
Column interpretation:
**ST (Status)**: TR = active thread, QW = queued waiting, QD = queued disabled - **A (Active)**: * = currently executing in DB2, N = not currently executing - **REQ-CT**: Number of DB2 requests made — a very high count on an active thread suggests a long-running operation - **PLAN**: Bound plan name → Chapter 20: Monitoring and Problem Determination — Knowing What's Wrong Before the Phone Rings
commit frequency
committing periodically within a long-running batch operation: → Chapter 9: Data Modification: INSERT, UPDATE, DELETE, MERGE, and Transaction Control
Common design patterns
audit trails, effective dating, address polymorphism, configurable attributes, and tree structures. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Common questions and misconceptions:
"Is DB2 the same as Db2?" Yes. IBM rebranded to "Db2" in 2017, but documentation, error messages, and real-world usage mix both capitalizations freely. - "Why learn DB2 when everyone uses PostgreSQL/MySQL?" Emphasize DB2's dominance in enterprise environments, especially banking, insurance, and gove → Teaching Notes for All Chapters
Common Table Expressions (CTEs)
DB2's mechanism for naming and reusing subqueries within a single statement. By the end, you will be writing multi-step analytical queries that would have required procedural code or temporary tables in earlier chapters. → Chapter 8: Subqueries and Common Table Expressions — Queries Within Queries
compatibility mode
it coexists with DB2 12 members 4. Migrate remaining members one at a time 5. Once all members are at DB2 13, activate **new-function mode (NFM)** → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
COMPRESS
Compresses the backup image. Typically achieves 50-70% compression, dramatically reducing storage requirements and backup time (CPU trades for I/O). → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
conditional restart
a restart that overrides the normal recovery behavior. → Chapter 18: Backup, Recovery, and Logging — Protecting Data Against Every Failure Mode
Conditions:
`SQLERROR` — SQLCODE < 0 - `NOT FOUND` — SQLCODE = +100 - `SQLWARNING` — SQLWARN0 = 'W' → Chapter 32: Embedded SQL for COBOL and C — Static SQL, Cursors, and the Bind Process
connection leak
connections being borrowed but never returned. This is an emergency that will eventually exhaust the pool and bring the application to a halt. → Chapter 33: JDBC, ODBC, and Python Access — Connecting Modern Applications to DB2
Connection pools are right-sized
20 connections per application instance, not 200. DB2 thread resources are finite and expensive. → Chapter 33 Key Takeaways
Consumer-side deduplication
consumers should be designed to handle duplicate events gracefully (idempotent processing). → Chapter 35: RESTful APIs and Modern Access Patterns: z/OS Connect, GraphQL, and Event Streaming
Content blocks activated:
From A: code blocks (SQL, JCL, COBOL, Java, Python), mathematical formulations (cost estimation, cardinality, I/O calculations), algorithm analysis (B+ tree search, sort merge join), performance benchmarks, debugging walkthroughs, unit tests - From C: action checklists (DBA daily/weekly/monthly runb → IBM DB2: From First Query to Enterprise Architecture
CONTINUE
after the handler executes, control returns to the statement after the one that caused the condition. - **EXIT** — after the handler executes, control exits the compound statement where the handler was declared. - **UNDO** — like EXIT, but also rolls back all changes made in the compound statement ( → Chapter 34: Stored Procedures, UDFs, and Application Logic in the Database
continuous availability
there is no failover because multiple members are active simultaneously, sharing the same data. It is the LUW equivalent of z/OS data sharing (Chapter 28), though the implementation differs significantly. → Chapter 29: HADR and Replication — High Availability for DB2 LUW
Continuous availability is required
the additional overhead is the cost of zero downtime - **Workloads can be partitioned** — different members handle different workload types, minimizing cross-member data sharing - **Horizontal scalability is needed** — adding a member adds capacity - **Planned maintenance must be non-disruptive** — → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
controlled denormalization
they introduce data redundancy (the aggregated data exists both in the base tables and the MQT), but DB2 can maintain them automatically and the optimizer can route queries to them transparently. This provides the performance benefit of denormalization with less risk of data inconsistency than manua → Chapter 2 Quiz: The Relational Model
COPYDDN(COPY1, COPY2)
Specifies up to four output datasets. COPY1 is the primary copy; COPY2 is the backup copy. Both are recorded in the SYSIBM.SYSCOPY catalog table. Best practice: write COPY1 to DASD for fast local recovery and COPY2 to tape for offsite disaster recovery. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
correct
BRANCH is on the left, and we are preserving it. The mistake version would be: → Chapter 6: Joining Tables — INNER, OUTER, CROSS, and LATERAL
Coupling facility hardware
dedicated processors and memory, typically 10-20% of the total system capacity - **CF links** — high-speed connections between every CPC and every CF - **Operational complexity** — managing multiple DB2 members, monitoring CF health, tuning GBPs and lock structures - **Specialized skills** — data sh → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
CPU cost calculation:
The server has 32 cores at approximately $150,000/year total compute cost. - 5% additional CPU = $7,500/year. - With headroom: the system peaks at 65% CPU, well below the 80% threshold where additional CPU might be needed. → Case Study 2: Compression ROI Analysis — Saving $200K in Storage
CPU cost of compression:
Row decompression adds 2-5% CPU overhead per SQL statement that reads compressed data. - Row compression (during INSERT/UPDATE) adds 5-10% CPU overhead. - Adaptive compression adds another 1-3% on top of row compression. → Chapter 14: Physical Database Design — Tablespaces, Partitioning, Compression, and Storage Optimization
Create buffer pools
separate pools for data, indexes, temporary work, and transaction data 4. **Create tablespaces** -- separate tablespaces for each buffer pool, plus LOB and temporary tablespaces 5. **Create the MERIDIAN schema** 6. **Create tables** -- BRANCHES, CUSTOMERS, ACCOUNT_TYPES, ACCOUNTS, TRANSACTIONS, EMPL → Chapter 4: Setting Up Your DB2 Environment -- Installation, Configuration, and Your First Database
Critical alerts (PagerDuty — immediate page):
Active logs: 5 of 6 full - Any object in RECP or GRECP status - Data sharing coupling facility structure full > 90% - Buffer pool hit ratio < 90% for any pool during online hours → Case Study 1: Production Monitoring Setup for a 24x7 Banking System
CTR_FILING
Currency Transaction Reports (BSA requirement for cash > $10,000). → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
CURRENT DATE, CURRENT TIME, CURRENT TIMESTAMP
These are special registers, not functions (no parentheses): → Chapter 5: SQL Fundamentals — SELECT, WHERE, ORDER BY, and the Art of Asking Questions
CURRENTDATA
Controls data currency for ambiguous cursors: → Chapter 32: Embedded SQL for COBOL and C — Static SQL, Cursors, and the Bind Process
CUSTOMER
a person or business that holds accounts - **ACCOUNT** — a financial product held by a customer (checking, savings, loan, CD) - **BRANCH** — a physical location where the bank operates - **EMPLOYEE** — a person who works for the bank - **TRANSACTION** — a financial event that affects an account bala → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
CUSTOMER_ADDRESS
Multiple addresses per customer with type classification. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
CUSTOMER_DOCUMENT
Identity and regulatory documents. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
CUSTOMER_EMAIL
Multiple email addresses per customer. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
CUSTOMER_PHONE
Multiple phone numbers per customer. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Cycle detection
if the data might contain cycles (an employee who indirectly manages their own manager), track visited nodes: → Chapter 10: Advanced SQL — Window Functions, OLAP Functions, Recursive Queries, and Temporal Queries

D

D) IRLM
The Internal Resource Lock Manager handles all lock management including deadlock detection. A spike in deadlocks increases IRLM workload. However, the performance impact would also be felt in DBM1 (where the SQL waits for locks) and potentially in the applications. → Chapter 3 Quiz: DB2 Architecture
D) LOAD utility
Minimal logging. LOAD writes data pages directly and logs only control information (which pages were modified, not the individual row data). Log volume is typically 1-5% of the data volume. → Chapter 9 Quiz: Data Modification
Daily fragmentation monitoring
A scheduled job queries SYSTABLESPACESTATS and REORG REPORTONLY, alerting when disorganization exceeds 30%. → Case Study 2: Emergency REORG — When Fragmentation Hits 90%
data about the data
statistics. The optimizer must know: → Chapter 22: How the DB2 Optimizer Works — Cost-Based Optimization, Access Path Selection, and Why Your Query Plan Changed
Data anomalies
duplicate, inconsistent, or contradictory data because relationships were not properly modeled. 2. **Performance degradation** — queries require complex workarounds (self-joins, string parsing, UNION ALL across multiple tables) because the schema does not match the query patterns. 3. **Maintenance b → Chapter 13 Quiz: Logical Database Design
Data loss risk (RPO)
can committed transactions be lost if the primary fails? - **Transaction latency** — does the primary wait for the standby during commit? - **Availability behavior** — what happens if the standby becomes unreachable? → Chapter 29: HADR and Replication — High Availability for DB2 LUW
data reconciliation
comparing two data sources to find gaps on either side → Chapter 6: Key Takeaways
Data Type Safety
The `setXxx()` methods ensure correct type conversion between Java types and DB2 types. → Chapter 33: JDBC, ODBC, and Python Access — Connecting Modern Applications to DB2
Database Configuration (DB CFG)
applies to a specific database: → Chapter 4: Setting Up Your DB2 Environment -- Installation, Configuration, and Your First Database
Database exception table (DBET)
tracks the status of databases, tablespaces, and index spaces across members (e.g., which objects are in COPY PENDING, CHECK PENDING, etc.) - **Function registration** — members register their capabilities - **CASTOUT ownership** — which member is responsible for casting out (writing) dirty pages fr → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
Database Manager Configuration (DBM CFG)
applies to the instance: → Chapter 4: Setting Up Your DB2 Environment -- Installation, Configuration, and Your First Database
Database trigger
must fire regardless of which application modifies data | | Data validation that must be absolute | **Database constraint or trigger** -- application-level validation can be bypassed | | Multi-step transaction with high latency sensitivity | **Stored procedure** -- minimize round trips | | Complex b → Chapter 12: Views, Triggers, and Stored Procedures — Encapsulating Logic in the Database
Date Arithmetic
DB2 supports direct arithmetic on dates: → Chapter 5: SQL Fundamentals — SELECT, WHERE, ORDER BY, and the Art of Asking Questions
DAYS
Converts a date to an integer representing the number of days since December 31, 0000: → Chapter 5: SQL Fundamentals — SELECT, WHERE, ORDER BY, and the Art of Asking Questions
DB2 10 for z/OS: Database Administration
Covers the DBA lifecycle including utility management, backup strategy, and recovery procedures with hands-on examples. - **Optimizing DB2 Queries with IBM Data Studio** — While focused on query tuning, includes detailed coverage of how RUNSTATS options (KEYCARD, FREQVAL, HISTOGRAM) affect optimizer → Chapter 17: Further Reading
Db2 11.5 for LUW
operational database for the digital banking platform, mobile app backend, and customer analytics - Java/Spring Boot microservices - Apache Kafka for event streaming between mainframe and distributed systems - Kubernetes clusters for container orchestration → Chapter 1: What Is IBM DB2? History, Architecture, and Why It Still Runs the World's Most Critical Systems
Db2 11.5 for LUW: ALTER TABLE statement
Search for "ALTER TABLE" in the Db2 11.5 for LUW SQL Reference. Covers all supported ALTER operations on LUW, including those specific to LUW (such as RENAME COLUMN). → Chapter 16: Further Reading and Resources
Db2 11.5 for LUW: EXPORT, IMPORT, LOAD commands
Search for each command in the Db2 11.5 Data Movement Utilities Guide. These are the primary tools for data migration on LUW. → Chapter 16: Further Reading and Resources
Db2 11.5 for LUW: REORG TABLE command
Search for "REORG TABLE" in the Db2 11.5 for LUW Command Reference. Documents classic and inplace REORG, ALLOW options, and monitoring. → Chapter 16: Further Reading and Resources
Db2 11.5 for LUW: Upgrading to Db2 11.5
Search for "Upgrading" in the Db2 11.5 Installation and Upgrade documentation. Covers db2iupgrade, UPGRADE DATABASE, and post-upgrade tasks. → Chapter 16: Further Reading and Resources
DB2 11.5 Knowledge Center: Backup and Recovery
Complete reference for BACKUP DATABASE, RESTORE DATABASE, ROLLFORWARD DATABASE, and all related commands. - IBM Documentation: https://www.ibm.com/docs/en/db2/11.5 → Chapter 18 Further Reading: Backup, Recovery, and Logging
DB2 11.5 Knowledge Center: Database Logging
Detailed explanation of log file configuration parameters, archive logging setup, and log management. → Chapter 18 Further Reading: Backup, Recovery, and Logging
Db2 11.5: Administrative Routines and Views
`ADMIN_GET_TAB_COMPRESS_INFO`, `MON_GET_TABLESPACE`, `SNAP_GET_TBSP`. → Chapter 14: Further Reading
Db2 11.5: Database Administration Guide
Table partitioning overview, range partitioning, hash partitioning, ATTACH/DETACH operations. https://www.ibm.com/docs/en/db2/11.5 → Chapter 30 Further Reading
Db2 11.5: Database Partitioning Guide
Database Partitioning Feature (DPF), partition groups, distribution keys, collocated joins. https://www.ibm.com/docs/en/db2/11.5 → Chapter 30 Further Reading
Db2 11.5: SQL Reference
CREATE TABLESPACE, ALTER TABLE ... PARTITION, COMPRESS YES ADAPTIVE, INLINE LENGTH. → Chapter 14: Further Reading
Db2 12 for z/OS: ALTER TABLE statement
Search for "ALTER TABLE" in the Db2 12 for z/OS SQL Reference. This is the definitive reference for what ALTER operations are supported, which trigger pending states, and the exact syntax. Pay particular attention to the "Notes" section of each ALTER variant, which documents side effects. → Chapter 16: Further Reading and Resources
Db2 12 for z/OS: Managing Pending States
Search for "pending definition changes" or "REORG-pending" in the Db2 12 for z/OS Administration Guide. Documents all pending states, how they are triggered, how to detect them, and how to resolve them. → Chapter 16: Further Reading and Resources
Db2 12 for z/OS: Migration from Db2 11 to Db2 12
Search for "Migrating to Db2 12" in the Db2 12 for z/OS documentation. Covers Compatibility Mode, Enabling New Function Mode stages, New Function Mode, fallback procedures, and the complete migration checklist. → Chapter 16: Further Reading and Resources
Db2 12 for z/OS: Utility Guide — REORG TABLESPACE
Search for "REORG TABLESPACE" in the Db2 12 for z/OS Utility Guide and Reference. Covers SHRLEVEL options, mapping tables, drain behavior, and online REORG mechanics in detail. → Chapter 16: Further Reading and Resources
DB2 13 for z/OS Administration Guide
Chapters on tablespace design, index design, and storage management provide operational context that the SQL Reference lacks. Pay particular attention to the sections on Universal Table Spaces. → Chapter 11: Further Reading
DB2 13 for z/OS Installation and Migration Guide
Covers initial log configuration, BSDS setup, and the DSNJU003/DSNJU004 utilities for log management. → Chapter 18 Further Reading: Backup, Recovery, and Logging
DB2 13 for z/OS Utility Guide
Understanding REORG, CHECK DATA, REBUILD INDEX, and COPY is essential for managing the DDL lifecycle. These utilities resolve pending states created by ALTER TABLE operations. → Chapter 11: Further Reading
DB2 13 for z/OS Utility Guide and Reference
Detailed reference for the COPY, RECOVER, QUIESCE, REPORT RECOVERY, REBUILD INDEX, and CHECK DATA utilities. Essential for writing production-grade recovery JCL. - IBM Documentation: https://www.ibm.com/docs/en/db2-for-zos → Chapter 18 Further Reading: Backup, Recovery, and Logging
DB2 13 for z/OS: Administration Guide
Chapter on tablespace design, partitioning, and compression. IBM Knowledge Center. - Sections on Universal Table Spaces, DSSIZE, MAXPARTITIONS, SEGSIZE. - URL: https://www.ibm.com/docs/en/db2-for-zos/13 → Chapter 14: Further Reading
DB2 13 for z/OS: Managing Performance
Chapter on partitioning strategies and partition elimination. IBM Knowledge Center. https://www.ibm.com/docs/en/db2-for-zos/13 → Chapter 30 Further Reading
DB2 13 for z/OS: SQL Reference
CREATE TABLESPACE syntax, ALTER TABLESPACE, partition management. - Complete syntax diagrams for all tablespace-related DDL. → Chapter 14: Further Reading
DB2 13 for z/OS: Utility Guide and Reference
REORG TABLESPACE, RUNSTATS, COPY, DSN1COMP. - Covers partition-level utility execution and compression dictionary management. → Chapter 14: Further Reading
DB2 9 for z/OS Performance Topics
SG24-7473. Covers monitoring improvements in DB2 9, including enhanced DISPLAY commands and new IFCIDs. - **DB2 10 for z/OS Performance Topics** — SG24-7942. New monitoring capabilities in DB2 10, including improved accounting and statistics records. - **DB2 11 for z/OS Performance Topics** — SG24-8 → Chapter 20 Further Reading
DB2 Application Programming and SQL Guide
Covers external stored procedures in Java, C, and COBOL, including parameter styles, JVM configuration, and WLM setup for z/OS. → Chapter 34: Further Reading
DB2 catalog
the system tables that store metadata about every object in the database. The RUNSTATS utility (z/OS) or RUNSTATS command (LUW) collects these statistics from the actual data and stores them in the catalog. The optimizer reads the catalog at optimization time and feeds the statistics into its cost f → Chapter 22: How the DB2 Optimizer Works — Cost-Based Optimization, Access Path Selection, and Why Your Query Plan Changed
Db2 Community Edition on Docker Hub
Official Db2 container image with deployment instructions, environment variables, and configuration options. https://hub.docker.com/r/ibmcom/db2 → Chapter 31 Further Reading
Db2 Federated Systems Documentation
Complete reference for wrappers, server definitions, user mappings, nicknames, and federated query optimization. https://www.ibm.com/docs/en/db2/11.5?topic=federation → Chapter 31 Further Reading
Db2 for LUW — SQL Reference: System Catalog Views
Search for "Db2 LUW SYSCAT views" on IBM Documentation. The system catalog views section provides complete documentation for every SYSCAT view and its columns, along with the corresponding SYSSTAT updatable views. → Chapter 21: Further Reading and Resources
DB2 for LUW: EXPLAIN facility
Search for "db2expln" and "db2exfmt" in the Db2 11.5 documentation. These tools format access plan output that shows whether index-only access, matching scans, and other index-related optimizations are being applied. → Chapter 15: Further Reading and Resources
DB2 for LUW: Indexes
In the Db2 11.5 documentation, search for "Index design guidelines" and "CREATE INDEX statement." The administration guide covers index types (regular, expression-based, spatial, XML path), the INCLUDE clause, MDC, and index compression. → Chapter 15: Further Reading and Resources
DB2 for z/OS
the mainframe original, running the world's banks, insurers, and government agencies - **DB2 for LUW** (Linux, UNIX, Windows) -- the distributed version, powering mid-market enterprises, cloud deployments, and modern application stacks → IBM DB2: From First Query to Enterprise Architecture
DB2 for z/OS Administration Guide
Chapter on Monitoring and Tuning. IBM Knowledge Center. Covers DISPLAY commands, trace configuration, and SMF record interpretation in exhaustive detail. - **DB2 for z/OS Messages and Codes** — Reference for all DSNV, DSNB, DSNJ, and DSNT message prefixes encountered in DISPLAY command output and di → Chapter 20 Further Reading
DB2 for z/OS Utility Guide and Reference
The definitive reference for all z/OS utility syntax, parameters, and behavior. Covers REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD, and every other z/OS utility in exhaustive detail. Available on IBM Documentation (search for the specific DB2 version, e.g., "DB2 13 for z/OS Utility Guide"). - **DB2 → Chapter 17: Further Reading
Db2 for z/OS — SQL Reference: Catalog Tables
Search for "Db2 12 for z/OS catalog tables" on IBM Documentation (ibm.com/docs). The catalog tables section of the SQL Reference manual provides complete column-level documentation for every SYSIBM table. This is the definitive reference when you need to know what a specific catalog column contains. → Chapter 21: Further Reading and Resources
Db2 for z/OS — SQL Reference: DB2 Directory
The same SQL Reference manual includes a section on the DB2 directory (DSNDB01), describing the DBD, SPT01, SCT02, SYSLGRNX, and SYSUTILX structures. Search for "DB2 directory" within the Db2 12 for z/OS documentation. → Chapter 21: Further Reading and Resources
Db2 for z/OS — Utility Guide: RUNSTATS
The Utility Guide documents the RUNSTATS utility, including which catalog columns it updates, the various options for collecting different levels of statistics, and best practices for execution frequency. → Chapter 21: Further Reading and Resources
DB2 for z/OS: Accessing Distributed Data
Configuration for DRDA connections between z/OS and distributed platforms, including cloud endpoints. https://www.ibm.com/docs/en/db2-for-zos/13 → Chapter 31 Further Reading
DB2 for z/OS: EXPLAIN
Search for "Interpreting EXPLAIN output" in the Db2 for z/OS performance documentation. Understanding EXPLAIN is essential for verifying that your indexes are being used as intended. → Chapter 15: Further Reading and Resources
DB2 for z/OS: Indexes
In the Db2 12 for z/OS documentation, search for "Creating indexes" and "Index design guidelines." The administration guide covers clustering indexes, partitioned indexes (DPSI/NPSI), index compression, and PCTFREE settings. The SQL reference provides the complete CREATE INDEX syntax. → Chapter 15: Further Reading and Resources
DB2 for z/OS: Indexing Best Practices
IBM technical paper covering DPSI vs. NPSI trade-offs, partition key inclusion in indexes, and clustering considerations. → Chapter 30 Further Reading
DB2 is an ecosystem, not just a database
SQL, utilities, optimizer, storage, security, and monitoring must be understood as a whole 2. **The optimizer is your partner** -- understanding how it thinks lets you write SQL and design schemas that enable optimal performance 3. **Performance is not an afterthought** -- design and configuration d → IBM DB2: From First Query to Enterprise Architecture
DB2 LUW Database Administration Guide
Comprehensive coverage of REORG, RUNSTATS, BACKUP, RESTORE, ROLLFORWARD, and maintenance planning for LUW environments. - **DB2 LUW Command Reference** — Syntax details for all CLP commands including BACKUP DATABASE, RESTORE DATABASE, ROLLFORWARD DATABASE, and REORG. → Chapter 17: Further Reading
DB2 LUW Monitoring Guide
IBM Knowledge Center. Comprehensive coverage of snapshot monitors, MON_GET table functions, event monitors, and db2pd. - **DB2 LUW Troubleshooting and Tuning Database Performance** — IBM Knowledge Center. Covers db2diag.log analysis, FFDC, db2support, and systematic problem determination. - **DB2 LU → Chapter 20 Further Reading
DB2 member abnormal termination
the DB2 subsystem crashes (e.g., due to a software error) 2. **z/OS system failure** — the entire LPAR crashes 3. **CPC failure** — the physical machine goes down, affecting all LPARs on it 4. **Coupling facility failure** — the CF crashes (the most catastrophic scenario for data sharing) → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
DB2 Performance Expert for Multiplatforms
IBM Knowledge Center Documentation for IBM's performance monitoring tool, which includes visual access plan analysis, historical plan comparison, and automated regression detection. → Chapter 23: Further Reading
DB2 Performance Expert for Multiplatforms V3.2
IBM Redbook SG24-7357. Practical guide to using Performance Expert for monitoring and tuning, with real-world scenarios. - **DB2 Monitoring and Tuning** by Philip K. Gunning — Focuses on systematic approaches to performance monitoring with practical examples on both platforms. - **DB2 Developer's Gu → Chapter 20 Further Reading
Db2 REST Services
IBM documentation for enabling and creating REST services on Db2 for LUW, including service registration, authentication, and HTTPS configuration. - https://www.ibm.com/docs/en/db2/11.5?topic=services-rest → Chapter 35: Further Reading
DB2 SQL PL Reference
IBM Knowledge Center: "SQL Procedural Languages: Application Enablement and Support." The definitive reference for SQL PL syntax, including compound statements, handlers, cursors, and dynamic SQL. - LUW: https://www.ibm.com/docs/en/db2/11.5?topic=procedures-sql - z/OS: https://www.ibm.com/docs/en/db → Chapter 34: Further Reading
DB2 SQL Reference
CREATE PROCEDURE, CREATE FUNCTION, CREATE TYPE statements with full syntax diagrams and examples. → Chapter 34: Further Reading
DB2 Version 1
a relational database management system for the MVS mainframe operating system (the predecessor to today's z/OS). The name "DB2" was chosen because it was IBM's *second* database product (IMS being the first, informally known as "DB1" in some circles, though it was never officially called that). → Chapter 1: What Is IBM DB2? History, Architecture, and Why It Still Runs the World's Most Critical Systems
Db2 Warehouse on Cloud Pak for Data
the enterprise data warehouse, receiving replicated data from both z/OS and LUW environments. → Chapter 1 Quiz: What Is IBM DB2?
db2look (LUW)
IBM's built-in utility for extracting DDL and statistics from a DB2 for LUW database. db2look reads the SYSCAT views and generates CREATE statements, RUNSTATS output, and table space definitions. Understanding the catalog as taught in this chapter helps you understand and customize db2look output. → Chapter 21: Further Reading and Resources
db2move Utility Reference
Syntax and options for bulk data movement between Db2 instances. https://www.ibm.com/docs/en/db2/11.5?topic=commands-db2move → Chapter 31 Further Reading
DBD (Database Descriptor)
For every database, DB2 maintains an internal descriptor that maps the logical structure (tables, indexes, tablespaces) to the physical structure (VSAM data sets, page ranges, partition boundaries). When DB2 opens a tablespace, it consults the DBD to locate the underlying data sets. The DBD is the r → Chapter 21: Catalog and Directory — Understanding DB2's Data About Your Data
DBeaver
Open-source database tool that supports DB2 stored procedure editing and execution. Lacks the debugging capabilities of Data Studio but provides a lighter-weight alternative. → Chapter 34: Further Reading
DBeaver Power Tips for DB2:
Use Ctrl+Enter to execute the current statement (not the entire script). - Right-click a table name and select "Read Data in SQL console" for a quick SELECT *. - Use the ER Diagram feature (right-click a schema > "View Diagram") to visualize table relationships. - Configure the "SQL Formatter" under → Chapter 4: Setting Up Your DB2 Environment -- Installation, Configuration, and Your First Database
dbForge Studio for DB2
Commercial IDE with advanced debugging, code generation, and testing features for DB2 stored procedures. → Chapter 34: Further Reading
Debezium Documentation
Complete guide to the Debezium DB2 connector, including setup, configuration options, event format, and troubleshooting. - https://debezium.io/documentation/reference/connectors/db2.html → Chapter 35: Further Reading
DEGREE
Parallel query processing: → Chapter 32: Embedded SQL for COBOL and C — Static SQL, Cursors, and the Bind Process
Depth analysis
identify the deepest reporting chains and flag any that exceed the bank's policy maximum of 6 levels. → Case Study 2: Hierarchical Data — Organizational Chart Processing
Depth limiting
add a condition in the recursive member: → Chapter 10: Advanced SQL — Window Functions, OLAP Functions, Recursive Queries, and Temporal Queries
Design rules for effective dating:
Use a half-open interval: EFFECTIVE_DATE is inclusive, END_DATE is exclusive. This prevents gaps and overlaps. - The current record has END_DATE = NULL. - When a new rate takes effect, update the previous record's END_DATE and insert a new record. - Consider adding a CHECK constraint or trigger to p → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Diagnose connection issues
firewall rules, authentication failures, driver version mismatches. 3. **Tune connection pools** — advising developers on pool sizes, validation queries, timeout settings. 4. **Identify SQL injection risks** in code reviews. 5. **Correlate application activity** to DB2 monitor data — matching applic → Chapter 33: JDBC, ODBC, and Python Access — Connecting Modern Applications to DB2
Difficulty Ratings:
**Beginner** — Recall and comprehension. If you read the chapter, you can answer these. - **Intermediate** — Application and analysis. Requires thinking beyond what was explicitly stated. - **Advanced** — Synthesis and evaluation. Requires research, judgment, or integration of multiple concepts. → Chapter 1 Exercises: What Is IBM DB2?
DIGITS
Convert a numeric value to a character string of digits (no sign, no decimal point, padded with leading zeros). Useful on z/OS for formatting: → Chapter 5: SQL Fundamentals — SELECT, WHERE, ORDER BY, and the Art of Asking Questions
Directory entries
tracking which pages are cached and their status - **Data entries** — the actual page images (4K, 8K, 16K, or 32K depending on the buffer pool) → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
Disadvantages:
15 cursor declarations and 15 OPEN/FETCH/CLOSE code paths make maintenance difficult - Cannot support new combinations without code changes - Combinatorial explosion: 5 filter criteria with optional presence means 2^5 = 32 possible combinations. The current 15 queries do not even cover all of them. → Case Study 32.2: Static vs Dynamic SQL — A Performance Decision
DISTINCT
DB2 must deduplicate before the outer query can process results. - **GROUP BY with aggregation** — Aggregates must complete before outer predicates can apply. - **UNION** (but not UNION ALL) — Deduplication creates a fence. - **OLAP/window functions** — Must compute over the complete partition befor → Chapter 8: Subqueries and Common Table Expressions — Queries Within Queries
DOCUMENT_TYPE
Lookup: types of identity documents. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
domain
the set of valid values it can take. At the logical level, define domains precisely: → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
DSN1COPY and DSN1PRNT (z/OS)
Utilities for copying and printing VSAM data sets, including catalog and directory data sets. Used in advanced recovery scenarios when catalog data needs to be examined at the physical level. → Chapter 21: Further Reading and Resources
DSNACCOR (z/OS)
The DB2 Autonomic Computing sample stored procedure that uses Real-Time Statistics to generate utility recommendations. IBM provides DSNACCOR as a sample that you can customize — it implements many of the same patterns described in Section 21.10 and the Lighthouse case study. → Chapter 21: Further Reading and Resources
Dynamic SQL is built and prepared at runtime
necessary when the SQL text varies (different tables, different WHERE columns). Use PREPARE once and EXECUTE many times when possible. Always use parameter markers to maximize dynamic statement cache hits. → Chapter 32 Key Takeaways
Dynamic SQL:
**CACHEDYN**: When set to YES, DB2 caches prepared dynamic SQL statements in a global cache. This is critical for performance in environments with repetitive dynamic SQL (which is most modern applications). - **MAXKEEPD**: The maximum number of statements in the dynamic statement cache. Size this ba → Chapter 4: Setting Up Your DB2 Environment -- Installation, Configuration, and Your First Database
DYNAMICRULES
Controls how dynamic SQL is processed: → Chapter 32: Embedded SQL for COBOL and C — Static SQL, Cursors, and the Bind Process

E

E) INSERT with NOT LOGGED INITIALLY
Near-zero logging for the INSERT itself. Only the COMMIT is logged plus metadata about the table's state. However, the table is unrecoverable if the transaction fails. → Chapter 9 Quiz: Data Modification
Each iteration materializes
DB2 stores intermediate results. Deep hierarchies with wide rows consume TEMP space. 2. **No indexes on intermediate results** — the join in the recursive member scans the previous iteration's output. Keep the CTE columns narrow. 3. **UNION ALL is mandatory** — UNION (with duplicate elimination) is → Chapter 10: Advanced SQL — Window Functions, OLAP Functions, Recursive Queries, and Temporal Queries
Effective dating
Used when an attribute changes over time and the business needs to know the value at any historical point. Appropriate for interest rates, fee schedules, addresses, and job assignments. Implemented with EFFECTIVE_DATE and END_DATE columns using half-open intervals. → Chapter 13 Quiz: Logical Database Design
Elapsed and CPU time breakdown:
Class 1: Total elapsed time (in-DB2 + out-of-DB2) - Class 2: In-DB2 elapsed time - Class 3: Wait time detail (lock, I/O, log, drain, claim, global contention) → Chapter 20: Monitoring and Problem Determination — Knowing What's Wrong Before the Phone Rings
Eliminated downtime costs
for a major bank, one hour of unplanned downtime can cost millions of dollars in lost revenue, regulatory penalties, and reputational damage - **Deferred hardware upgrades** — adding a member is often cheaper than upgrading to a larger CPC - **Workload flexibility** — batch and online workloads can → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
End-of-day transaction posting
PROG-TXN-POST - **Interest calculation** — PROG-INT-CALC - **Statement generation** — PROG-STMT-GEN - **Loan amortization** — PROG-LOAN-AMORT - **Regulatory reporting** — PROG-REG-RPT → Chapter 32: Embedded SQL for COBOL and C — Static SQL, Cursors, and the Bind Process
ENFORCE CONSTRAINTS
Validates referential integrity constraints during the load. Without this, the table enters CHECK-pending status and you must run CHECK DATA afterward. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
Entities and attributes
identifying what the business needs to track, classifying attributes (simple, composite, derived, multi-valued), defining domains, and choosing primary keys. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Environmental Failures
Power failure to the data center - Network failure isolating the database server - Fire, flood, or natural disaster destroying the physical facility - Cooling failure causing emergency shutdown → Chapter 18: Backup, Recovery, and Logging — Protecting Data Against Every Failure Mode
Environmental failures:
Data center power outage - Cooling failure - Natural disaster (flood, earthquake, fire) - Network backbone failure → Chapter 29: HADR and Replication — High Availability for DB2 LUW
Equivalences:
`ROLLUP(A, B, C)` = `GROUPING SETS((A,B,C), (A,B), (A), ())` - `CUBE(A, B)` = `GROUPING SETS((A,B), (A), (B), ())` → Chapter 10: Advanced SQL — Window Functions, OLAP Functions, Recursive Queries, and Temporal Queries
ER diagram notation
Chen, Crow's foot, and UML notation, with Crow's foot as our standard for the rest of the book. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
escalates
it replaces the many fine-grained locks with a single coarser lock (typically a table or tablespace lock). → Chapter 26: Locking, Concurrency, and Isolation Levels — Balancing Throughput and Consistency
Every member accesses every page
maximum GBP-dependent activity - **High update rates on shared data** — constant P-lock negotiations and XI signals - **Small, frequent transactions with high lock counts** — lock structure becomes a bottleneck - **Undersized coupling facility** — CF becomes a chokepoint → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
Examples at Meridian Bank:
One BRANCH has many EMPLOYEES; each EMPLOYEE works at one BRANCH. - One CUSTOMER has many ACCOUNTS; each ACCOUNT belongs to one CUSTOMER (for now — we will revisit joint accounts later). - One ACCOUNT has many TRANSACTIONS; each TRANSACTION belongs to one ACCOUNT. - One LOAN_OFFICER (EMPLOYEE) manag → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Exception processing:
Define thresholds for any metric (e.g., "alert when hit ratio drops below 95%") - Automatic actions when thresholds are breached (send message, cancel thread, trigger trace) - Escalation chains — alert DBA first, then manager if not resolved → Chapter 20: Monitoring and Problem Determination — Knowing What's Wrong Before the Phone Rings
Expanded Storage
a hardware feature of S/390 and early zSeries processors. Expanded Storage was faster than disk but slower than central (real) storage. It was accessed in 4 KB pages through special hardware instructions (PAGEIN/PAGEOUT). → Chapter 25: Buffer Pool and Memory Tuning — Giving DB2 the Right Resources
EXPLAIN
Whether to populate the PLAN_TABLE with access path information: → Chapter 32: Embedded SQL for COBOL and C — Static SQL, Cursors, and the Bind Process

F

Fallback is NOT possible
returning to the previous version requires a full restore from a pre-migration backup. → Chapter 16 Quiz: Schema Evolution and Data Migration
FASTSWITCH YES
Uses the SWITCH phase to swap shadow datasets rather than copying data back. Requires that DEFINE NO was used when creating the tablespace (letting DB2 manage VSAM datasets). This is the default for most modern configurations and dramatically reduces the final outage window. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
FEE_SCHEDULE
Fee definitions for products and services. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
FETCH
Retrieves data rows from a table using RIDs provided by a child operator (usually IXSCAN). If you see FETCH, it means DB2 is accessing data pages — this is not index-only access. → Chapter 23: Reading and Interpreting EXPLAIN — The Single Most Important DBA Skill
Fewer calls to DB2
Each call has fixed overhead for thread management, authorization checking, and result formatting 2. **Better buffer pool utilization** — DB2 can prefetch more efficiently when it knows you want multiple rows 3. **Reduced lock management overhead** — Lock requests can be batched 4. **Less context sw → Chapter 32: Embedded SQL for COBOL and C — Static SQL, Cursors, and the Bind Process
Field specifications
Each field in the input file is mapped to a column with its position, data type, and length. This fixed-position format is traditional for z/OS flat files. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
FILTER
Applies a predicate to filter rows. Typically used for predicates that cannot be pushed down to the table or index access level. → Chapter 23: Reading and Interpreting EXPLAIN — The Single Most Important DBA Skill
Fix:
Ensure Docker Desktop has at least 4 GB of memory allocated (Settings > Resources > Memory). - Always include `--privileged=true` in the docker run command. - Check logs: `docker logs db2server` for specific error messages. - On macOS/Windows, ensure file sharing is enabled for the volume mount path → Appendix C: Environment Setup Guide
FOR EXCEPTION
Rows that violate constraints are written to the exception table rather than causing the load to fail. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
Fragmentation indicators:
z/OS: REORG REPORTONLY output, NEARINDREF/FARINDREF in RTS - LUW: REORGCHK output, OVERFLOW and F1-F8 flags → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
Fraud detection engine
needs transaction changes within 2 seconds of commit 2. **Data warehouse loader** — needs all table changes, can tolerate 30-second latency 3. **Customer notification service** — needs ACCOUNTS and TRANSACTIONS changes, 5-second latency → Chapter 29 Exercises: HADR and Replication
FRAUD_INVESTIGATION
Parallel investigation process for flagged claims. | Attribute | Type | Notes | |-----------|------|-------| | INVESTIGATION_ID | Integer (PK) | | | CLAIM_ID | FK to CLAIM | | | OPENED_DATE | Date | | | INVESTIGATOR_ID | FK to EMPLOYEE | | | FRAUD_TYPE | Code | STAGED_ACCIDENT, INFLATED_CLAIM, ARSON → Case Study 2: Insurance Claims Schema Design
Free and Rebind strategies:
**REBIND** — Optimizes using current statistics. If an error occurs (e.g., a table was dropped), the original package remains. - **FREE PACKAGE / BIND PACKAGE** — Removes the old package and creates a new one from the DBRM. If BIND fails, the old package is gone. → Chapter 32: Embedded SQL for COBOL and C — Static SQL, Cursors, and the Bind Process
FREQVAL COUNT 20 MOST
Collects the 20 most frequently occurring values for each column. This helps the optimizer recognize data skew. If 40% of transactions have STATUS='ACTIVE', the optimizer needs to know this rather than assuming uniform distribution. Without FREQVAL, the optimizer divides cardinality evenly — it woul → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
FROM
Identify the source table(s) 2. **WHERE** — Filter individual rows 3. **GROUP BY** — Form groups (covered in Chapter 7) 4. **HAVING** — Filter groups (covered in Chapter 7) 5. **SELECT** — Evaluate expressions and apply DISTINCT 6. **ORDER BY** — Sort the result set 7. **FETCH FIRST** — Limit the nu → Chapter 5: SQL Fundamentals — SELECT, WHERE, ORDER BY, and the Art of Asking Questions
FROM path OF DEL
Loads from a delimited file. Other formats: ASC (fixed-position), IXF (DB2 exchange format), CURSOR (load from a query result). → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit

G

GBP-dependent
multiple members are accessing the pageset concurrently for read/write. Pages must flow through the GBP for coherency. - **GBP-independent** — only one member is accessing the pageset, or all access is read-only. No GBP writes are needed. → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
GRANT
Gives a privilege to a user, group, or role - **REVOKE** — Removes a privilege from a user, group, or role → Chapter 19: Security and Authorization — Authentication, Privileges, Roles, Row-Level Security, and Audit
GraphQL Official Documentation
The specification and best practices for GraphQL API design. - https://graphql.org/learn/ → Chapter 35: Further Reading
Group name
up to 8 characters, e.g., `DSNDBGP` - **Group attach name** — the name that applications use to connect, e.g., `DBANKGRP` - **Member names** — each DB2 subsystem in the group has a unique 4-character SSID (subsystem ID), e.g., `DB1A`, `DB1B`, `DB1C` → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
Group services
members can form named groups and be notified when members join or leave - **Signaling services** — systems can send messages to each other - **Monitoring** — z/OS can detect when a system or member has failed → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
GRPBY
Performs GROUP BY aggregation. May operate on sorted or hashed input. → Chapter 23: Reading and Interpreting EXPLAIN — The Single Most Important DBA Skill
Guaranteed delivery
messages are persistent and transactional - **Network independence** — source and target can be on different networks, data centers, or continents - **Buffering** — if the target is temporarily unavailable, messages queue up in MQ → Chapter 29: HADR and Replication — High Availability for DB2 LUW

H

Hardcoded dates
She replaced static dates with dynamic date arithmetic so reports stay accurate over time. 2. **NULL handling** — She used COALESCE for display formatting and IS NULL in WHERE clauses to avoid silently excluding rows. 3. **Business vs. individual customers** — She discovered that the data model stor → Case Study 1: Customer Query Patterns at Meridian Bank
Hardware Failures
A single disk in a RAID array fails (common — happens weekly in large data centers) - An entire storage array becomes unavailable - A memory DIMM fails, corrupting in-flight data - A controller card fails, making an entire I/O path unavailable → Chapter 18: Backup, Recovery, and Logging — Protecting Data Against Every Failure Mode
Hardware failures:
Disk failure (single drive or entire storage array) - Memory failure (ECC error, DIMM failure) - CPU failure - Network interface or switch failure - Power supply failure - Complete server failure → Chapter 29: HADR and Replication — High Availability for DB2 LUW
High-speed shared memory
accessible from every z/OS system in the sysplex 2. **Lock management** — a hardware-assisted global lock manager 3. **List and cache structures** — used by DB2 and other exploiters for shared state → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
HISTOGRAM NUMQUANTILES 100
Collects histogram statistics with 100 quantile divisions. Histograms provide the optimizer with data distribution information beyond simple min/max values. They reveal clusters, gaps, and skew patterns that dramatically improve range predicate estimation. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
Historical analysis:
Trend charts for any metric over days, weeks, or months - Compare current performance against baseline periods - Identify gradual degradation that day-to-day observation misses → Chapter 20: Monitoring and Problem Determination — Knowing What's Wrong Before the Phone Rings
How each table is accessed
full table scan, index scan, index-only access, or something else - **Which indexes** are used, and how many key columns match the predicates - **How tables are joined** — nested loop, merge scan, or hash join - **Where sorts occur** and why - **Estimated costs** — how expensive the optimizer thinks → Chapter 23: Reading and Interpreting EXPLAIN — The Single Most Important DBA Skill
HSJOIN
Hash join. The left child builds the hash table, and the right child probes it. Check the estimated cardinalities — if the build input is unexpectedly large, it may not fit in memory. → Chapter 23: Reading and Interpreting EXPLAIN — The Single Most Important DBA Skill
Human Errors
A developer runs an unqualified DELETE or UPDATE in production - A DBA drops the wrong table or tablespace - A migration script is run against the wrong database - Someone accidentally formats a disk that contains database files → Chapter 18: Backup, Recovery, and Logging — Protecting Data Against Every Failure Mode
Human errors:
Accidental DROP TABLE or DELETE without WHERE clause - Misconfigured parameters causing performance collapse - Incorrect maintenance procedures - Unauthorized schema changes → Chapter 29: HADR and Replication — High Availability for DB2 LUW

I

I have a laptop or desktop computer
Follow the LUW path. Start with Section 4.2. - **I have mainframe access through my employer** -- Follow the z/OS path. Start with Section 4.4, then come back to read the LUW sections for breadth. - **I have both** -- Lucky you. Follow both paths. Use LUW for daily practice and z/OS for the exercise → Chapter 4: Setting Up Your DB2 Environment -- Installation, Configuration, and Your First Database
I/O savings:
Compressed data means fewer pages to read from disk. Buffer pool hit ratios improve because more data fits in the same amount of memory. - Sequential scans read fewer pages. A table scan that reads 100 million pages uncompressed reads 38 million pages compressed. This can cut batch job elapsed time → Chapter 14: Physical Database Design — Tablespaces, Partitioning, Compression, and Storage Optimization
IBM Certification C1000-047 (DB2 11.1 DBA for LUW)
Advanced DDL topics including tablespace design, index strategies, online schema changes, and storage management. → Chapter 11: Further Reading
IBM Certified Database Administrator - DB2 LUW
REORG, RUNSTATS, BACKUP, RESTORE, ROLLFORWARD, LOAD, and EXPORT are all covered in the exam objectives. - **IBM Certified Advanced Database Administrator** — Advanced utility topics including SHRLEVEL CHANGE mechanics, FlashCopy integration, utility chaining with LISTDEF/TEMPLATE, and recovery from → Chapter 17: Further Reading
IBM Cloud Blog: Database Category
Regular articles on Db2 on Cloud features, performance tips, and customer stories. https://www.ibm.com/cloud/blog → Chapter 31 Further Reading
Dedicated network connectivity between on-premises data centers and IBM Cloud. https://cloud.ibm.com/docs/dl → Chapter 31 Further Reading
IBM Cloud VPC Documentation
Configuring Virtual Private Clouds, subnets, security groups, and private endpoints for Db2. https://cloud.ibm.com/docs/vpc → Chapter 31 Further Reading
IBM Data and AI Community
IBM's community forums for Db2 users. Includes discussion boards, technical articles, and access to IBM product managers and developers. Search for "IBM Community Db2" to find the current URL. → Chapter 1: Further Reading and Resources
IBM Data Community Forums
Active forums where DB2 DBAs discuss utility strategies, troubleshoot problems, and share maintenance scripts. Search for utility-specific topics for real-world solutions. - **IDUG (International DB2 Users Group)** — Technical conferences and online content library with presentations on utility best → Chapter 17: Further Reading
IBM Data Replication: CDC for Db2
Technical guide for configuring Change Data Capture replication from DB2 z/OS and Db2 LUW to cloud targets. → Chapter 31 Further Reading
IBM Data Server Manager
Web-based monitoring and administration tool for DB2 LUW. Provides real-time monitoring dashboards, alert management, and historical data analysis without requiring custom SQL scripts. - **IBM OMEGAMON for DB2 Performance Expert on z/OS** — Enterprise-grade monitoring with real-time dashboards, thre → Chapter 20 Further Reading
IBM Data Studio
Free IDE for DB2 development that includes a visual stored procedure debugger, SQL PL editor with syntax highlighting, and deployment tools. Essential for serious SQL PL development. → Chapter 34: Further Reading
IBM Database Conversion Workbench (DCW)
Free tool available from IBM for Oracle-to-DB2 schema and stored procedure conversion. Search for "Database Conversion Workbench" on ibm.com to find the current download location and documentation. The tool includes conversion reports that are invaluable for migration planning. → Chapter 16: Further Reading and Resources
IBM Database Migration Guide
Strategies and tools for migrating to Db2 on Cloud from on-premises environments. https://cloud.ibm.com/docs/Db2onCloud?topic=Db2onCloud-migration → Chapter 31 Further Reading
IBM DB2 13 for z/OS Documentation
SQL Reference: https://www.ibm.com/docs/en/db2-for-zos/13 - Covers all data types, CREATE TABLE syntax, constraint definitions, and catalog tables specific to the z/OS platform. - Pay particular attention to the "DB2 SQL Reference" volume for data type details and constraint syntax. → Chapter 2: Further Reading
IBM Db2 for Linux, UNIX, and Windows Documentation
Search for "Db2 LUW" on IBM Documentation. The Db2 11.5 documentation set covers installation, SQL reference, administration, and application development. → Chapter 1: Further Reading and Resources
IBM Db2 for LUW 11.5 Knowledge Center
docs.ibm.com — The complete reference for all SQL, administration commands, configuration parameters, and monitoring interfaces used in this chapter. → Chapter 36 Further Reading
IBM Db2 for z/OS 13 Knowledge Center
The complete reference for z/OS-specific utilities, commands, and subsystem configuration. → Chapter 36 Further Reading
IBM DB2 for z/OS Community
Forum discussions on partition key selection, DPSI vs. NPSI trade-offs, and rolling window automation. https://community.ibm.com/community/user/datamanagement → Chapter 30 Further Reading
IBM Db2 for z/OS Documentation
Search for "Db2 for z/OS" on IBM Documentation (ibm.com/docs). Look for the "Db2 12 for z/OS" collection, which includes product overviews, SQL reference, administration guides, and utility references. → Chapter 1: Further Reading and Resources
IBM Db2 Knowledge Center: "Security"
Covers authentication, authorization, LBAC, RCAC, audit policies, and encryption configuration. The reference for all security features demonstrated in Section 36.6. → Chapter 36 Further Reading
IBM Db2 on Cloud Documentation
Complete reference for provisioning, connecting, managing, and scaling Db2 on Cloud instances. https://cloud.ibm.com/docs/Db2onCloud → Chapter 31 Further Reading
IBM Db2 on Cloud: Getting Started Tutorial
Step-by-step guide to provisioning and connecting to your first Db2 on Cloud instance. https://cloud.ibm.com/docs/Db2onCloud?topic=Db2onCloud-getting-started → Chapter 31 Further Reading
IBM Db2 on Cloud: High Availability
Details on the multi-zone HA configuration, automatic failover, and RPO/RTO characteristics. https://cloud.ibm.com/docs/Db2onCloud?topic=Db2onCloud-ha → Chapter 31 Further Reading
IBM Db2 Operator for Kubernetes
Documentation for the Db2uCluster custom resource and operator-based deployment on OpenShift and Kubernetes. https://www.ibm.com/docs/en/db2/11.5?topic=deployments-db2-kubernetes → Chapter 31 Further Reading
IBM DB2 SQL Reference
For the specific SQL syntax of all queries demonstrated in this chapter, including MON_GET functions, SYSCAT views, and administrative routines. → Chapter 36 Further Reading
IBM Db2 Warehouse on Cloud Documentation
Reference for the analytics-optimized managed service, including BLU Acceleration, data loading, and external tables. https://cloud.ibm.com/docs/Db2whc → Chapter 31 Further Reading
IBM developerWorks (now IBM Developer)
Tutorials and sample code for DB2 DDL on both platforms. Search for "DB2 CREATE TABLE best practices" and "DB2 tablespace design." → Chapter 11: Further Reading
IBM DeveloperWorks: "Understanding DB2 logging"
Deep-dive into log architecture, log buffer management, and log-related performance tuning. → Chapter 18 Further Reading: Backup, Recovery, and Logging
IBM DS8000 Series documentation
For understanding FlashCopy, Metro Mirror, and Global Mirror at the storage level. These technologies underpin the z/OS disaster recovery approaches discussed in this chapter. → Chapter 18 Further Reading: Backup, Recovery, and Logging
IBM Hyper Protect Crypto Services
FIPS 140-2 Level 4 certified HSM for the highest level of key management security. https://cloud.ibm.com/docs/hs-crypto → Chapter 31 Further Reading
IBM InfoSphere Data Replication
Documentation for configuring CDC (Change Data Capture) on DB2 for z/OS and LUW, including log-based capture, apply agents, and Kafka integration. → Chapter 35: Further Reading
IBM Key Protect
Key management service for encryption at rest. BYOK configuration and key rotation. https://cloud.ibm.com/docs/key-protect → Chapter 31 Further Reading
IBM Redbook: "IBM DB2 Certification Guide"
IBM has published certification study guides as Redbooks for various DB2 versions. Search the IBM Redbooks library (redbooks.ibm.com) for the latest edition corresponding to your target certification. → Chapter 37 Further Reading
IBM Redbooks
IBM Redbooks (redbooks.ibm.com) publish in-depth technical guides written by IBM specialists and customers. Particularly relevant titles include: - "DB2 for z/OS: Data Sharing in a Nutshell" (various editions) - "DB2 12 for z/OS Technical Overview" (SG24-8482 or later) - "Db2 11.1 Certification Stud → Chapter 1: Further Reading and Resources
IBM Research: AI for Database Management
IBM publishes research on AI-assisted database administration, including automatic indexing, workload prediction, and anomaly detection. Available through the IBM Research website. → Chapter 37 Further Reading
IBM Spectrum Protect (TSM) documentation
For understanding how archive logs and backup images are managed by enterprise backup infrastructure. → Chapter 18 Further Reading: Backup, Recovery, and Logging
IBM TechU / IBM Z Day
IBM's technical conferences include sessions on DB2 version migration, with specific guidance on Compatibility Mode and New Function Mode transitions. → Chapter 16: Further Reading and Resources
IBM Z YouTube Channel
IBM's official channel for mainframe content, including DB2-related presentations, demos, and conference recordings. → Chapter 1: Further Reading and Resources
Identical database schema
the standby must be a restored image of the primary (same structure, same data) 2. **Compatible DB2 versions** — primary and standby should run the same DB2 version (minor version differences are tolerated during rolling upgrades) 3. **Network connectivity** — TCP/IP connectivity between primary and → Chapter 29: HADR and Replication — High Availability for DB2 LUW
IDUG (International DB2 Users Group)
https://www.idug.org — The largest community of DB2 professionals. Technical library, conference presentations, and discussion forums cover real-world DDL challenges and solutions. → Chapter 11: Further Reading
IDUG Annual Conferences
Migration and schema evolution are perennial topics at IDUG conferences. Look for presentations tagged with "migration," "ALTER TABLE," "REORG," or "online schema change." → Chapter 16: Further Reading and Resources
IDUG Conference Presentations
IDUG makes many of its conference presentations available to members. These are often the most practical, real-world content available on DB2 topics. → Chapter 1: Further Reading and Resources
IEEE 754-2008 (Floating-Point Arithmetic)
The standard that defines DECFLOAT behavior. Relevant if you use DECFLOAT(16) or DECFLOAT(34) for financial interchange data. → Chapter 11: Further Reading
If you are new to databases entirely
perhaps a COBOL programmer who has been handed DBA responsibilities, or a computer science student who wants to learn a production database system -- start at Chapter 1 and read sequentially. Parts I and II (Foundations and SQL Mastery) are written with you in mind. The tone is patient, the examples → Preface
immutable
they represent completed financial events and must not be modified (a regulatory requirement). Pending transactions (in PENDING_TRANSACTION) are **mutable** — they change status, can be cancelled, and eventually either post (becoming a TRANSACTION row) or expire. Separating them enforces the immutab → Chapter 13 Quiz: Logical Database Design
Important behaviors:
Skipped rows are silently omitted from the result set. There is no indication of how many rows were skipped. - Aggregate functions (COUNT, SUM) produce results that exclude skipped rows. This is by design but can be confusing. - SKIP LOCKED DATA interacts with isolation levels: under RR, its use is → Chapter 26: Locking, Concurrency, and Isolation Levels — Balancing Throughput and Consistency
In transit
Moving between client and server over the network 2. **At rest** — Stored on disk (database files, backup files, log files) 3. **In use** — Being processed in memory → Chapter 19: Security and Authorization — Authentication, Privileges, Roles, Row-Level Security, and Audit
INCLUDE LOGS
Includes the necessary archive logs in the backup image so that the backup is self-contained for recovery. Without this, you need the archive logs separately. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
INCREMENTAL
Captures all pages modified since the last full backup. Recovery requires the full plus one incremental. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
INCREMENTAL DELTA
Captures pages modified since the last backup of any kind (full, incremental, or delta). Recovery requires the full, the most recent incremental, and all deltas since that incremental. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
INDDN(SYSREC)
Specifies the DD name for the input dataset containing the data to load. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
INDEX(ALL)
Collect index statistics for all indexes defined on tables in the tablespace. Alternatively, specify individual indexes. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
INDIVIDUAL_CUSTOMER
Subtype for personal customers. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Informational (daily report):
SMF 101 accounting summaries by plan - Buffer pool statistics trends - Utility execution summary - Thread volume by hour → Case Study 1: Production Monitoring Setup for a 24x7 Banking System
informational constraints
foreign keys that are declared but not enforced (`NOT ENFORCED`). These are used when the application guarantees integrity and you want the optimizer to have the constraint information for query optimization without the overhead of enforcement. Use with extreme caution. → Chapter 2: The Relational Model — How DB2 Thinks About Data
Infrastructure:
DB2 12 for z/OS on a z15 LPAR with 8 GCPs and 6 zIIPs - DS8900 storage array with Easy Tier (SSD + spinning disk) - 250 GB of buffer pool memory across all pools → Case Study 1: Tablespace Strategy for a 10 TB Transaction Database
Inline LOB trade-offs:
Pro: Eliminates additional I/O for small LOBs. Row retrieval is a single page read. - Pro: Improves sequential scan performance for tables with many small LOBs. - Con: Increases average row size, reducing rows-per-page for the base table. - Con: Buffer pool pages contain LOB data, which may not be t → Chapter 14: Physical Database Design — Tablespaces, Partitioning, Compression, and Storage Optimization
INSENSITIVE
The result set is a snapshot; changes are not visible - **SENSITIVE STATIC** — The result set size is fixed, but updates to existing rows are visible - **SENSITIVE DYNAMIC** — Inserts, updates, and deletes by others are visible - **ASENSITIVE** (default) — DB2 decides; behavior may vary → Chapter 32: Embedded SQL for COBOL and C — Static SQL, Cursors, and the Bind Process
INSERT
Appends to existing data. Alternatives: REPLACE (truncate and reload), RESTART (restart a failed load), TERMINATE (roll back a failed load). → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
INTEGER, DECIMAL, VARCHAR
Convenience cast functions: → Chapter 5: SQL Fundamentals — SELECT, WHERE, ORDER BY, and the Art of Asking Questions
INTEREST_RATE_SCHEDULE
Rate tiers for products. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Interpretation of the new plan:
Step 1: Access ACCOUNTS via IX_ACCT_TYPE (an index on ACCT_TYPE). MATCHCOLS = 1 — but wait, the predicate is on CUST_ID, not ACCT_TYPE. Why is the optimizer using this index? - Step 2: The subquery has been transformed into a join (METHOD = 1, not a separate QBLOCKNO). TRANSACTIONS is accessed via I → Case Study 2: Access Path Regression After REBIND
Interpretation of the old plan:
Step 1: Access ACCOUNTS via IX_ACCT_CUST with MATCHCOLS = 1 on CUST_ID. For a typical customer with 3-5 accounts, this returns a handful of rows. - Step 2: The correlated subquery accesses TRANSACTIONS via IX_TRANS_ACCT(ACCT_ID, TRANS_DATE) with MATCHCOLS = 1. Because the subquery needs only MAX(TRA → Case Study 2: Access Path Regression After REBIND
Interpreting db2pd buffer pool output:
**HitRatio**: Should be above 95% for OLTP workloads. Below 80% requires immediate investigation. - **nPagesDirty**: If approaching nPages, the page cleaners cannot keep up — increase NUM_IOCLEANERS or buffer pool size. - **Prefetch Wait Time**: If non-zero and growing, I/O subsystem is saturated. - → Chapter 20: Monitoring and Problem Determination — Knowing What's Wrong Before the Phone Rings
Interpreting the accounting report:
**Class 1 minus Class 2** = time spent outside DB2 (application processing, network) - **Class 2 minus Class 2 CPU** = in-DB2 wait time - **High lock wait** relative to total elapsed time = lock contention problem - **Sort overflows > 0** = sort heap too small or query generating excessive sorts - * → Chapter 20: Monitoring and Problem Determination — Knowing What's Wrong Before the Phone Rings
IS (Intent Share)
the member may read pages from this pageset - **IX (Intent Exclusive)** — the member may read or update pages - **S (Share)** — the member has read the pageset; no one is updating it - **SIX (Share with Intent Exclusive)** — combination of S and IX - **X (Exclusive)** — the member is the only one ac → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
ISO 3166-1 (Country Codes)
Referenced in data type selection for language, country, and currency columns. Using ISO-standard code lengths (CHAR(2), CHAR(3)) ensures compatibility with international data. → Chapter 11: Further Reading
ISO/IEC 9075:2023 (SQL Standard)
The international standard that defines the SQL language, including DDL syntax for CREATE TABLE, constraints, and data types. DB2 implements the standard with extensions. Understanding where DB2 conforms to the standard and where it extends it helps when working with cross-platform DDL. → Chapter 11: Further Reading
Isolate the new workload
if a new batch query is scanning CUSTOMER, move it to a different buffer pool or schedule it outside business hours. If it must run concurrently, increase the buffer pool to accommodate both workloads. 3. **Address OS memory pressure** — identify and resolve the competing memory consumer. Consider p → Chapter 3 Exercises: DB2 Architecture
ISOLATION
Controls the locking behavior: → Chapter 32: Embedded SQL for COBOL and C — Static SQL, Cursors, and the Bind Process
Issues identified:
Old-style comma join (not a performance issue per se, but obscures intent) - `YEAR()` and `MONTH()` on `last_interest_date` are non-sargable - ORDER BY requires a sort since no supporting index exists - No EXPLAIN has ever been run; no one knows the actual access path → Case Study 1: Batch Window Optimization
IXSCAN
Scans an index. The properties show which index is used and which predicates are applied. If IXSCAN feeds directly into the parent (no FETCH), it is index-only access. → Chapter 23: Reading and Interpreting EXPLAIN — The Single Most Important DBA Skill

J

JDBC isolation levels map to DB2 isolation levels
but the names do not match intuitively. READ_COMMITTED = CS, REPEATABLE_READ = RS, SERIALIZABLE = RR. Know the mapping. → Chapter 33 Key Takeaways
Join methods
nested loop, merge scan, and hash join — each have scenarios where they excel and scenarios where they struggle. The EXPLAIN output tells you which was chosen and helps you determine whether it was the right choice. → Chapter 23: Reading and Interpreting EXPLAIN — The Single Most Important DBA Skill
JOINs
the mechanism for combining data from multiple tables in a single query. You will learn INNER JOIN, LEFT/RIGHT OUTER JOIN, FULL OUTER JOIN, CROSS JOIN, and self-joins, all applied to the Meridian Bank database. The ability to join tables transforms SQL from a simple lookup tool into a language for a → Chapter 5: SQL Fundamentals — SELECT, WHERE, ORDER BY, and the Art of Asking Questions
joint accounts
a single account held by multiple customers. With a simple FK (CUSTOMER_ID in ACCOUNT), each account can belong to only one customer. Joint checking accounts, authorized signers, beneficiary designations, and trust arrangements all require multiple customers to be associated with a single account. → Chapter 13 Quiz: Logical Database Design
junction table
a new entity that sits between the two original entities and has a one-to-many relationship with each. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models

K

Key concepts to emphasize:
The DB2 product family is not a single product: DB2 for LUW, DB2 for z/OS, and Db2 on Cloud serve different markets and have different architectures. Students should understand this distinction from Day 1 to avoid confusion later. - The historical context matters: DB2's roots in System R and the rel → Teaching Notes for All Chapters
Key design decisions:
**Restart capability:** The batch_control table tracks the last successfully processed account_id. On restart, processing resumes from where it left off. - **Commit frequency:** Every 5,000 rows (configurable) to manage log space and locks. - **Ordered processing:** Accounts are processed in account → Chapter 9 Quiz: Data Modification
Key LOAD options:
`RESUME NO REPLACE`: Delete existing data and load new data. - `LOG NO`: Do not log individual row inserts — dramatically faster for bulk loads, but requires a backup afterward for recoverability. - `ENFORCE CONSTRAINTS`: Check referential and check constraints after loading. → Chapter 16: Schema Evolution and Data Migration — ALTER TABLE, Online Schema Changes, and Zero-Downtime Migrations
Key parameter:
**MAXRBLK**: Maximum number of 4 KB blocks for the RID pool. Total size = MAXRBLK x 4 KB. → Chapter 25: Buffer Pool and Memory Tuning — Giving DB2 the Right Resources
Key rules for safe column addition:
The column should allow NULLs (no NOT NULL constraint) or have a DEFAULT value. - Adding a column with NOT NULL and no DEFAULT will fail on LUW if the table contains data. On z/OS, the behavior depends on the DB2 version and compatibility settings. - The column is added at the end of the row — you c → Chapter 16: Schema Evolution and Data Migration — ALTER TABLE, Online Schema Changes, and Zero-Downtime Migrations
Key sequence parameters:
**CACHE n** -- DB2 pre-allocates n values in memory for performance. This is critical for high-insert environments. Without caching, every sequence value requires a catalog update. With CACHE 50, DB2 only updates the catalog every 50th value. - **NO CYCLE** -- The sequence does not wrap around when → Chapter 9: Data Modification: INSERT, UPDATE, DELETE, MERGE, and Transaction Control
Key Tables:
`INVENTORY` — 500,000 SKUs, updated on every order - `ORDERS` — 100 million rows, append-only during order placement - `ORDER_ITEMS` — 300 million rows, append-only - `PAYMENTS` — 80 million rows - **Isolation Level:** CS (default) for all application code - **LOCKTIMEOUT:** 30 seconds - **DLCHKTIME → Case Study 01: Deadlock Investigation at an Online Retailer
Key Takeaways
the essential points, distilled. Useful for review and exam preparation. - **Exercises** -- hands-on problems at multiple difficulty levels (Foundational, Intermediate, Advanced, DB2 Clinic) - **Quiz** -- knowledge-check questions in certification exam style - **Case Studies** -- two per chapter, pr → How to Use This Book
KEYCARD
Collects full key cardinality information. This tells the optimizer how many distinct values exist for each key prefix. For example, on a compound index (BRANCH_ID, ACCOUNT_TYPE, ACCOUNT_ID), KEYCARD records the number of distinct values for (BRANCH_ID), (BRANCH_ID, ACCOUNT_TYPE), and (BRANCH_ID, AC → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
Kubernetes StatefulSet Documentation
Kubernetes official documentation on StatefulSets, persistent volume claims, and ordered pod management. https://kubernetes.io/docs/concepts/workloads/controllers/statefulsets/ → Chapter 31 Further Reading

L

Learn one new skill per year
not superficially, but to a working level. This year might be Kubernetes; next year might be Terraform; the year after might be Python data analysis. 4. **Build relationships** with peers in other technology areas. The best career opportunities come through networks, not job boards. 5. **Contribute → Chapter 37: The DB2 Professional's Career Path — Certification Roadmap, Skill Development, and the DBA of 2030
LENGTH
Returns the length of a string: → Chapter 5: SQL Fundamentals — SELECT, WHERE, ORDER BY, and the Art of Asking Questions
limit key
the highest value that the partition can contain. The `ENDING AT` clause specifies this upper boundary. DB2 assigns rows to partitions based on the partitioning key value: → Chapter 30: Partitioning Strategies — Distributing Data for Scale and Manageability
Limited request/response transformation
the JSON format is dictated by DB2, not by API design best practices. - **Basic authentication only** (no OAuth2 without an external gateway). - **No rate limiting** built in. - **No versioning** beyond the service version number. → Chapter 35: RESTful APIs and Modern Access Patterns: z/OS Connect, GraphQL, and Event Streaming
List tables in logical order
typically starting from the "main" entity (CUSTOMER) and joining outward through foreign keys. 3. **Use meaningful aliases** — `c`, `a`, `b`, `t`, `e` map naturally to our five tables. 4. **Comment complex joins:** → Chapter 6: Joining Tables — INNER, OUTER, CROSS, and LATERAL
LISTDEF validation
After any JCL change to maintenance jobs, an automated check verifies that all production tablespaces are included in the appropriate LISTDEFs. → Case Study 2: Emergency REORG — When Fragmentation Hits 90%
load module
the executable program. → Chapter 32: Embedded SQL for COBOL and C — Static SQL, Cursors, and the Bind Process
LOAN
Extended attributes for loan accounts. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
LOAN_COLLATERAL
Assets securing a loan. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
LOAN_PAYMENT
Individual payments against a loan (weak entity). → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
lock avoidance
a technique where the system determines that a lock is unnecessary and skips it entirely. Lock avoidance checks the log to determine whether a row has been committed and whether it is currently being modified. If the row is committed and not in flight, no lock is acquired. → Chapter 26: Locking, Concurrency, and Isolation Levels — Balancing Throughput and Consistency
Lock entries
recording which member holds which locks - **Contention detection** — hardware-assisted detection of lock conflicts between members - **Notify lists** — when a lock conflict occurs, the CF notifies the holding member → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
Lock table
a hash table where lock conflicts are detected - **Lock names** — identifying the resource being locked (page, row, tablespace, etc.) - **Lock states** — shared (S), exclusive (X), update (U), and others → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
LOG YES
Log the load operation for recoverability. LOG NO is faster but puts the tablespace in COPY-pending status. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
LOG YES/NO
Controls whether the RELOAD phase is logged. LOG YES means the REORG itself is recoverable — if it fails partway through, you can recover the tablespace. LOG NO is faster but requires a full image copy immediately after REORG completes because the tablespace is in COPY-pending status. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
Log-based capture
no triggers, no additional writes to the source database - **Transactional consistency** — changes are captured at commit boundaries - **Minimal source overhead** — the capture program reads the log asynchronously → Chapter 29: HADR and Replication — High Availability for DB2 LUW
LOGARCHMETH1
Primary archive method. - `OFF` — No archiving (circular logging) - `LOGRETAIN` — Keep log files in the active log directory - `DISK:/path/` — Archive to a specific disk directory - `TSM:management_class` — Archive to IBM Spectrum Protect (Tivoli Storage Manager) - `VENDOR:/path/to/library` — Archiv → Chapter 18: Backup, Recovery, and Logging — Protecting Data Against Every Failure Mode
LOGARCHMETH2
Secondary archive method (for dual archiving). - Same options as LOGARCHMETH1 - Provides redundancy for archive logs → Chapter 18: Backup, Recovery, and Logging — Protecting Data Against Every Failure Mode
LOGFILSIZ
Size of each log file in 4 KB pages. - Default: 250 (1 MB) - Production: 10,000-65,536 (40 MB to 256 MB) - Larger files mean fewer file switches, reducing overhead → Chapter 18: Backup, Recovery, and Logging — Protecting Data Against Every Failure Mode
Logging:
**LOGLOAD**: The number of log records written between checkpoints. More frequent checkpoints (smaller LOGLOAD) reduce restart time after a failure but increase overhead during normal operation. Less frequent checkpoints (larger LOGLOAD) improve throughput but increase restart time. - Active log dat → Chapter 4: Setting Up Your DB2 Environment -- Installation, Configuration, and Your First Database
LOGIN_HISTORY
Audit trail for digital access. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
LOGPRIMARY
Number of primary log files, pre-allocated when the database activates. - Default: 13 - Production: 20-100 depending on workload - These files are always allocated — they consume disk space immediately → Chapter 18: Backup, Recovery, and Logging — Protecting Data Against Every Failure Mode
LOGSECOND
Number of secondary log files, allocated on demand when primary logs are exhausted. - Default: 12 - Production: 20-100 - Setting to -1 means "allocate as many as needed" (risky — can fill a filesystem) - Secondary log allocation means you are under pressure — investigate the cause → Chapter 18: Backup, Recovery, and Logging — Protecting Data Against Every Failure Mode
LONGLOBDATA
Includes LOB and LONG data in the reorganization. Without this, only the base table rows are reorganized. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
Loop constructs
DB2 SQL PL supports LOOP, WHILE, REPEAT, and FOR: → Chapter 34: Stored Procedures, UDFs, and Application Logic in the Database
LOSS_EVENT
The real-world event that caused the loss. | Attribute | Type | Notes | |-----------|------|-------| | LOSS_EVENT_ID | Integer (PK) | | | EVENT_DATE | Date | | | EVENT_TYPE | Code | COLLISION, WEATHER, FIRE, THEFT, VANDALISM, LIABILITY | | DESCRIPTION | Varchar(2000) | | | LOCATION_ADDRESS | Varchar → Case Study 2: Insurance Claims Schema Design
LOSS_TYPE
Categorization of losses - **COVERAGE_TYPE** — Definitions of coverage categories - **PAYMENT_TYPE** — Indemnity, expense, subrogation recovery, salvage - **DOCUMENT_TYPE** — Police report, medical record, estimate, photo - **NOTE_TYPE** — General, investigation, legal, medical, supervisory → Case Study 2: Insurance Claims Schema Design
lost
they are never assigned. When DB2 restarts, it continues generating values from the start of the next cache block. This creates gaps in the sequence. → Chapter 9 Quiz: Data Modification
Low-latency replication
changes are captured and applied in near-real-time - **Bidirectional replication** — two databases can both accept writes and replicate changes to each other - **Cross-platform replication** — DB2 LUW to DB2 z/OS, DB2 to Oracle, etc. - **Multi-target replication** — one source can replicate to multi → Chapter 29: HADR and Replication — High Availability for DB2 LUW
LOW2KEY
the second-highest and second-lowest values in the column (stored in the catalog after RUNSTATS). → Chapter 22: How the DB2 Optimizer Works — Cost-Based Optimization, Access Path Selection, and Why Your Query Plan Changed
LUW
Use `db2exfmt` or the EXPLAIN tables: ```sql EXPLAIN PLAN FOR SELECT * FROM meridian.transaction_history WHERE trans_date = '2026-01-15'; → Chapter 30: Partitioning Strategies — Distributing Data for Scale and Manageability
LUW row overhead:
Row header: 8-10 bytes. - NULL indicator bitmap: 1 byte per 8 nullable columns. - VARCHAR length prefix: 2 bytes per VARCHAR column (4 bytes for VARCHAR > 255). - Column offsets for variable-length columns: 2 bytes each. → Chapter 14: Physical Database Design — Tablespaces, Partitioning, Compression, and Storage Optimization
LUW:
LOB data can be stored *inline* (in the base table row) if it is small enough, or in a separate large tablespace. - Inline LOBs are stored in the same tablespace as the base table, within the row data. Default inline length: 0 bytes (no inlining). You can set it up to approximately (page_size - row_ → Chapter 14: Physical Database Design — Tablespaces, Partitioning, Compression, and Storage Optimization

M

MAPPINGTABLE
Required for SHRLEVEL CHANGE. This table tracks the correspondence between old and new RIDs (Record Identifiers) during reorganization. You must create this table before running REORG: → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
MATCHCOLS on TRANSACTIONS
If the predicate on TRANS_DATE were an equality instead of a range, MATCHCOLS could be 2. But the business requirement is a range, so MATCHCOLS = 1 is the best we can do with this index. → Chapter 23: Reading and Interpreting EXPLAIN — The Single Most Important DBA Skill
Materialized Query Tables (MQTs)
summary tables that DB2 can maintain automatically and use transparently when the optimizer recognizes that a query can be satisfied from the summary. → Chapter 2: The Relational Model — How DB2 Thinks About Data
member recovery
replaying the failed member's log to roll back in-flight transactions 4. Client connections to the failed member are rerouted to surviving members via ACR → Chapter 29: HADR and Replication — High Availability for DB2 LUW
members
to read and write the same set of databases concurrently. Every member has full read/write access to every table, index, and tablespace in the shared data. There is no partitioning of ownership, no "this member owns table X while that member owns table Y." Every member can do everything, at any time → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
Memory (EDM Pool and Buffer Pools):
**EDMPOOL**: The Environmental Descriptor Manager pool size in kilobytes. This caches database descriptors (DBDs), packages, cursor tables, and authorization cache entries. An undersized EDM pool forces DB2 to reload these structures repeatedly from the directory, which is expensive. - Buffer pools → Chapter 4: Setting Up Your DB2 Environment -- Installation, Configuration, and Your First Database
MERGE INTO
the target table that will be modified. 2. **USING** -- the source dataset. This can be a table, a view, a subquery, or a VALUES clause. 3. **ON** -- the matching condition. This determines whether a source row "matches" a target row. 4. **WHEN MATCHED THEN UPDATE** -- what to do when the ON conditi → Chapter 9: Data Modification: INSERT, UPDATE, DELETE, MERGE, and Transaction Control
MESSAGES
File for export messages and row counts. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
METHOD P
Positional method, mapping file columns by position (1st column to 1st listed column, etc.). METHOD N maps by column name. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
Missing indexes
tables with high read counts but only a primary key index. 2. **Redundant indexes** — indexes whose leading columns are a prefix of another index on the same table. 3. **Unused indexes** — indexes that have not been used in any access path since the last statistics reset. → Chapter 36: Capstone — The Meridian National Bank: Complete System Review, Stress Test, and Disaster Recovery Drill
MOD
Modulus (remainder after division): → Chapter 5: SQL Fundamentals — SELECT, WHERE, ORDER BY, and the Art of Asking Questions
MODIFIED BY
Specifies format modifiers. COLDEL sets the column delimiter (comma by default for DEL format). Date and timestamp formats control parsing. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
Monitor audit log volume
EXECUTE-level auditing generates enormous volumes. Size your audit infrastructure accordingly. → Chapter 19: Security and Authorization — Authentication, Privileges, Roles, Row-Level Security, and Audit
Monitor continuously
hit ratios, synchronous reads, sort overflows, package cache hits. Capture baselines. Compare across time periods. → Chapter 25: Buffer Pool and Memory Tuning — Giving DB2 the Right Resources
Monitoring enabled
on LUW, the `MON_GET_*` table functions require the appropriate monitor switches to be active. Verify with `SELECT * FROM TABLE(MON_GET_DATABASE(-2))`. 3. **EXPLAIN tables created** — the EXPLAIN facility requires EXPLAIN tables in the schema of the user running EXPLAIN. If they do not exist, create → Chapter 36: Capstone — The Meridian National Bank: Complete System Review, Stress Test, and Disaster Recovery Drill
MSJOIN
Merge scan join. Both inputs must be sorted on the join column. Look for SORT operators below MSJOIN — if they are present, the data is not naturally sorted. → Chapter 23: Reading and Interpreting EXPLAIN — The Single Most Important DBA Skill
MTK (Migration Toolkit)
IBM's command-line migration toolkit for moving data and objects from various source databases to DB2. Complements DCW with data movement capabilities. → Chapter 16: Further Reading and Resources
multiple dimensions simultaneously
something a traditional clustering index cannot do (which is limited to one key). MDC organizes data into "blocks" (groups of consecutive pages) based on combinations of dimension column values. DB2 creates **dimension block indexes** that point to blocks rather than individual rows. This means a qu → Chapter 15 Quiz: Index Design

N

name
for example, `CUSTOMER`. - A **set of columns**, each with a name and data type. - Zero or more **constraints** (primary keys, foreign keys, check constraints, unique constraints). - **Rows** containing the actual data. → Chapter 2: The Relational Model — How DB2 Thinks About Data
Near-term history:
Short-interval (1-5 minute) data kept in memory or VSAM - Bridge the gap between real-time and SMF historical data - Essential for investigating problems that occurred minutes or hours ago → Chapter 20: Monitoring and Problem Determination — Knowing What's Wrong Before the Phone Rings
negotiate
typically by writing its dirty pages to the GBP and downgrading its P-lock. → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
NLJOIN
Nested loop join. The left child is the outer (driving) input, and the right child is the inner (lookup) input. For each row from the left, the right subtree is executed. → Chapter 23: Reading and Interpreting EXPLAIN — The Single Most Important DBA Skill
NO
function on key defeats elimination | | Host variable | `WHERE trans_date >= ?` | Depends — may use partition elimination at bind/execute time | → Chapter 30: Partitioning Strategies — Distributing Data for Scale and Manageability
No additional I/O on the source database
the capture reads log files that DB2 has already written - **No schema changes required** — no trigger DDL, no audit columns - **Minimal latency** — changes are captured within milliseconds of the commit - **Complete change record** — the log contains before-images and after-images of every changed → Chapter 29: HADR and Replication — High Availability for DB2 LUW
No derived columns
each column in the view must correspond directly to a column in the base table. → Chapter 12: Views, Triggers, and Stored Procedures — Encapsulating Logic in the Database
No formal performance methodology
performance problems were addressed reactively, often by adding hardware. - **No capacity planning process** — storage was added when tablespaces filled up, not before. - **Inconsistent security practices** — each DBA managed security differently, with no unified role-based access model. - **No comm → Case Study 37.2: Building a DB2 Center of Excellence
no ON clause
every row pairs with every other row. → Chapter 6: Joining Tables — INNER, OUTER, CROSS, and LATERAL
Normalization and Denormalization
structuring data for integrity and performance. - **Physical Database Design** -- tablespaces, partitioning, compression, and storage optimization. - **Security** -- authentication, authorization, roles, and row-level security. - **Concurrency and Locking** -- isolation levels, lock escalation, and → Chapter 12: Views, Triggers, and Stored Procedures — Encapsulating Logic in the Database
Normalization as validation
using 1NF through BCNF as a check on your ER model, not as a design method. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
not closed
DB2 returns the open cursor as a result set. → Chapter 34: Stored Procedures, UDFs, and Application Logic in the Database
NUM_FREQVALUES
Number of most/least frequent values to collect. Equivalent to z/OS FREQVAL COUNT. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
NUM_QUANTILES
Number of quantile divisions for the histogram. More quantiles provide finer granularity but increase catalog storage. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit

O

observability
the ability to understand the internal state of a system from its external outputs (metrics, logs, traces). A modern DBA integrates DB2 monitoring data into the organization's broader observability platform so that database health is visible alongside application health, network health, and infrastr → Chapter 37: The DB2 Professional's Career Path — Certification Roadmap, Skill Development, and the DBA of 2030
OBTAIN
request a lock on a resource - **ALTER** — change the state of a held lock (e.g., from S to X) - **RELEASE** — release a lock - **PURGE** — release all locks held by a member (used during member failure) → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
OF DEL
Delimited format. Alternatives: IXF (recommended for DB2-to-DB2 transfers, preserves metadata), ASC (fixed-position), WSF (worksheet format). → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
OLAP grouping extensions
ROLLUP, CUBE, and GROUPING SETS — produce multi-level summaries in a single query. → Chapter 10: Advanced SQL — Window Functions, OLAP Functions, Recursive Queries, and Temporal Queries
OLD TABLE and FINAL TABLE:
`FINAL TABLE` returns the row *after* modification. - `OLD TABLE` returns the row *before* modification. → Chapter 9: Data Modification: INSERT, UPDATE, DELETE, MERGE, and Transaction Control
ONLINE
Allows full read/write access during backup. The database must be configured with LOGARCHMETH1 set to an archival method (not LOGRETAIN alone) for online backup. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
ONLINE_PROFILE
Digital banking credentials and preferences (1:1 with CUSTOMER, optional). → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
OpenAPI Specification
The standard for defining REST APIs. z/OS Connect generates OpenAPI specs automatically; understanding the format helps customize and extend them. - https://spec.openapis.org/oas/latest.html → Chapter 35: Further Reading
Optimizes every SQL statement
choosing access paths, index usage, join methods 4. Stores the resulting access plan in the DB2 catalog (SYSPLAN/SYSPACKAGE tables) → Chapter 32: Embedded SQL for COBOL and C — Static SQL, Cursors, and the Bind Process
Option A: Full database PITR
Restore the entire database to 14:47:00 (before the DELETE). This recovers the deleted rows but also loses all legitimate transactions between 14:47:00 and now. → Case Study 2: Point-in-Time Recovery — Undoing a Bad DELETE
Option B: Migrate to DB2 for LUW on cloud Linux
Advantages: Lower infrastructure cost; larger talent pool; modern DevOps tooling; cloud scalability. - Disadvantages: Migration risk (schema differences, SQL incompatibilities, application rewrites); potential performance regression for high-volume OLTP; loss of z/OS reliability guarantees. → Comprehensive Final Exam --- All Parts (Chapters 1--40)
Option B: Tablespace-level PITR
Restore only the TRANSACTION table's tablespace to 14:47:00. This preserves recent changes in other tables but creates referential integrity concerns. → Case Study 2: Point-in-Time Recovery — Undoing a Bad DELETE
Option C: Export/import from a restored copy
Restore the database to a separate instance, extract the deleted rows, and re-insert them into production. This is surgical but slower. → Case Study 2: Point-in-Time Recovery — Undoing a Bad DELETE
Option C: Hybrid approach
Advantages: Critical OLTP stays on proven z/OS; new development uses modern cloud tooling; analytics and ML workloads run on cost-effective cloud infrastructure. - Disadvantages: Complexity of maintaining two platforms; data synchronization latency and consistency challenges; operational overhead of → Comprehensive Final Exam --- All Parts (Chapters 1--40)
or
Be inside an aggregate function. → Chapter 7: Key Takeaways
ORDER BY
The query requests sorted output, and no index provides the data in that order - **GROUP BY** — Aggregation may require a sort to group matching values together (although hash-based grouping can sometimes avoid this) - **DISTINCT** — Duplicate elimination may require sorting - **UNION** (not UNION A → Chapter 23: Reading and Interpreting EXPLAIN — The Single Most Important DBA Skill

P

page cleaners
background threads that write dirty pages to disk. The number of page cleaners is controlled by the `NUM_IOCLEANERS` configuration parameter. Page cleaners are triggered by several conditions: a buffer pool reaching its dirty page threshold, the log sequence number gap growing too large, or a page s → Chapter 25: Buffer Pool and Memory Tuning — Giving DB2 the Right Resources
page-based I/O
each node corresponds to a disk page, minimizing the number of physical reads. → Chapter 15 Quiz: Index Design
PARALLELISM 4
Number of parallel backup agents. Increase this on systems with multiple I/O paths. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
partial dependency
a non-key attribute depends on only part of the composite primary key. → Chapter 13 Quiz: Logical Database Design
PARTY
Any person or organization that participates in the insurance ecosystem. | Attribute | Type | Notes | |-----------|------|-------| | PARTY_ID | Integer (PK) | | | PARTY_TYPE | Code | INDIVIDUAL, ORGANIZATION | | TAX_ID_LAST_FOUR | Char(4) | | | PRIMARY_PHONE | Varchar(20) | | | PRIMARY_EMAIL | Varch → Case Study 2: Insurance Claims Schema Design
PEER
meaning the standby has replayed all received log records and is in sync with the primary within the bounds of the synchronization mode. → Chapter 29: HADR and Replication — High Availability for DB2 LUW
PENDING_TRANSACTION
Transactions not yet posted (holds, pending ACH). → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Performance
unbalanced workloads create hot members while others idle - **Coupling facility overhead** — if the same data is accessed by multiple members, GBP activity increases - **Recovery exposure** — if all work goes to one member, that member's failure has maximum impact → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
Phase 1 (Weeks 1-3): Infrastructure preparation
Install and configure coupling facilities on both CPCs - Define CFRM policies with all required structures - Configure sysplex distributor with DVIPA - Test CF connectivity from all LPARs → Case Study 28.1: Data Sharing Group Deployment at a Major Bank
Phase 3 (Weeks 7-9): Add second member
Install CF1B on CPC-2 - Start CF1B — it joins the existing data sharing group - Gradually shift 50% of CICS regions and DRDA connections to CF1B - Monitor GBP activity and CF service times → Case Study 28.1: Data Sharing Group Deployment at a Major Bank
physical data independence
separating the logical view of data from its physical storage, so any query could be expressed without regard to how the data was physically organized. → Chapter 2 Quiz: The Relational Model
Plan Reuse
DB2 compiles the SQL once and caches the access plan in the package cache. Subsequent executions with different parameter values reuse the plan, saving compilation overhead. On a busy system, this can reduce CPU usage by 20-40%. → Chapter 33: JDBC, ODBC, and Python Access — Connecting Modern Applications to DB2
Planet DB2
A blog aggregator collecting posts from DB2 professionals worldwide. Search for DDL-related posts to see real production examples and lessons learned. → Chapter 11: Further Reading
PlanetDB2
Blog aggregator for DB2 content. Search for partitioning-related articles. http://www.planetdb2.com → Chapter 30 Further Reading
planned site switch
functionally identical to an emergency failover but without actual hardware destruction. → Case Study 1: Disaster Recovery Drill — Simulating a Data Center Failure
polyglot persistence
will be a recurring theme in this book. Meridian National Bank, our progressive project, uses exactly this pattern. → Chapter 1: What Is IBM DB2? History, Architecture, and Why It Still Runs the World's Most Critical Systems
Pool 1: Catalog and System Objects
Assign: DB2 catalog, directory, system table spaces - Size: Moderate (enough for 95%+ hit ratio on catalog operations) - Character: Mostly random reads during PREPARE; sequential during BIND/RUNSTATS → Chapter 25: Buffer Pool and Memory Tuning — Giving DB2 the Right Resources
Pool 2: Hot OLTP Data
Assign: The 10-20 most frequently accessed transaction tables - Size: Large — this is where you spend the lion's share of your memory budget - Character: Random read/write, high concurrency, latency-sensitive - VPSEQT: Low (5-20%) to prevent sequential eviction → Chapter 25: Buffer Pool and Memory Tuning — Giving DB2 the Right Resources
Pool 3: OLTP Indexes
Assign: Indexes on the hot OLTP tables - Size: Large enough to hold all non-leaf pages plus frequently accessed leaf pages - Character: Random reads, very high reuse on upper levels - VPSEQT: Very low (0-10%) → Chapter 25: Buffer Pool and Memory Tuning — Giving DB2 the Right Resources
Pool 4: Batch/Sequential Data
Assign: Tables primarily accessed by batch jobs, reports, large scans - Size: Moderate (sequential prefetch handles throughput; pages are used once) - Character: Sequential read, occasional bulk write - VPSEQT: High (80-100%) → Chapter 25: Buffer Pool and Memory Tuning — Giving DB2 the Right Resources
Pool 5: Temporary Work
Assign: Temporary table spaces (sorts, intermediate results, declared GTTs) - Size: Based on concurrent sort activity and temp table usage - Character: Short-lived, sequential, write-then-read → Chapter 25: Buffer Pool and Memory Tuning — Giving DB2 the Right Resources
Pool 6: Reference/Lookup Data
Assign: Small, frequently read reference tables (branch codes, currency codes) - Size: Small but sufficient to hold entire tables in memory permanently - Character: Read-only or read-mostly, random access, zero physical I/O tolerance - PGSTEAL: NONE on z/OS; fixed large enough on LUW → Chapter 25: Buffer Pool and Memory Tuning — Giving DB2 the Right Resources
Preparation:
European customers' traffic is served by LDN-PROD via a European load balancer - Q Replication is active between all three regions - Global analytics Kafka pipeline is operational → Case Study 29.2: Multi-Site Replication for Global Operations
PreparedStatement with parameter markers
The `?` placeholders are bound with `setInt()`, `setString()`, etc. This prevents SQL injection and enables DB2 to reuse the access plan (package cache hit). → Chapter 33: JDBC, ODBC, and Python Access — Connecting Modern Applications to DB2
Prerequisites:
Docker Desktop installed and running (on Windows or macOS) - Docker Engine installed (on Linux) - At least 4 GB of available RAM (8 GB recommended) - At least 10 GB of free disk space → Chapter 4: Setting Up Your DB2 Environment -- Installation, Configuration, and Your First Database
Preserves transaction boundaries
changes are applied in commit-consistent groups - **Handles conflicts** — in bidirectional mode, conflicts are detected and resolved - **Maintains referential integrity** — dependent changes are applied in the correct order → Chapter 29: HADR and Replication — High Availability for DB2 LUW
Prevention:
Commit frequently in batch operations. - Process data in smaller batches. - Consider using LOCK TABLE explicitly if you know you will need exclusive access (this avoids the overhead of acquiring and escalating individual locks). → Chapter 9: Data Modification: INSERT, UPDATE, DELETE, MERGE, and Transaction Control
Primary database
the active database serving all read/write traffic 2. **Standby database** — receives log records from the primary and replays them continuously 3. **Log shipping** — transaction log records are sent from primary to standby over TCP/IP 4. **Log replay** — the standby applies log records to keep its → Chapter 29: HADR and Replication — High Availability for DB2 LUW
primary key
one or more attributes that uniquely identify each instance. The choice of primary key has far-reaching consequences, as we discussed in Chapter 2. At the logical design level, the key decisions are: → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Principled GraphQL
Best practices from Apollo (the leading GraphQL platform) for designing production GraphQL APIs. - https://principledgraphql.com/ → Chapter 35: Further Reading
Problems identified:
Row-by-row cursor processing (the classic "slow-by-slow" anti-pattern) - Committing every 100 rows adds excessive commit overhead - No restart capability if the job fails partway through → Case Study 1: Batch Data Processing -- End-of-Day at Meridian Bank
PRODUCT
Financial products offered by the bank. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Project Phase 1 due
Conceptual and logical data model for Meridian National Bank. → 10-Week Accelerated Syllabus (Corporate Training / Boot Camp)
Project Phase 2 due
Physical schema with sample data, indexes, views. → 10-Week Accelerated Syllabus (Corporate Training / Boot Camp)
Project Phase 3 due
Stored procedures, triggers, business logic layer. → 10-Week Accelerated Syllabus (Corporate Training / Boot Camp)
Project Phase 4 due
Performance tuning report and security hardening. → 10-Week Accelerated Syllabus (Corporate Training / Boot Camp)
Properties:
Commutative: σ_p(σ_q(R)) = σ_q(σ_p(R)) - Cascadable: σ_{p AND q}(R) = σ_p(σ_q(R)) - The optimizer exploits commutativity to push selective predicates down the plan tree, reducing intermediate result sizes early. → Appendix A: Mathematical Foundations for DB2 Practitioners

Q

QUALIFIER
Default qualifier for unqualified table names in the SQL. Critical for moving programs between environments (dev, test, production) without code changes. → Chapter 32: Embedded SQL for COBOL and C — Static SQL, Cursors, and the Bind Process
Quiesce member M1
drain work from M1 by removing it from the WLM routing table 2. **Stop M1** — shut down DB2 on M1 cleanly 3. **Apply PTFs** — install the maintenance on M1's libraries 4. **Restart M1** — M1 rejoins the group and resumes processing 5. **Repeat** for M2, M3, etc. → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS

R

random I/O
which can be orders of magnitude slower. When the cluster ratio drops below a threshold (commonly 80-90%), a REORG is recommended to restore physical order. → Chapter 15 Quiz: Index Design
RBA (Relative Byte Address)
a monotonically increasing byte offset into the conceptual log stream. On LUW, they are addressed by **LSN (Log Sequence Number)**. The concept is identical: every log record has a unique, ordered address that tells you exactly where it falls in the sequence of all changes ever made to the database. → Chapter 18: Backup, Recovery, and Logging — Protecting Data Against Every Failure Mode
READ
read a page from the GBP - **WRITE** — write a page to the GBP - **CASTOUT** — write a dirty GBP page to DASD and update the directory - **DELETE NAME** — remove a page from the GBP - **CROSS-INVALIDATE** — mark a page in another member's local buffer pool as invalid → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
Read Codd's 1970 paper
even if you only read the first few pages, it will deepen your appreciation for the relational model's elegance. 3. **Browse the IBM DB2 documentation for CREATE TABLE** on your target platform (z/OS or LUW) — see how the data types and constraints from this chapter map to the official syntax. 4. ** → Chapter 2: Further Reading
real-time ETL
replacing traditional batch ETL jobs that extract, transform, and load data on a schedule (e.g., nightly). With CDC: → Chapter 29: HADR and Replication — High Availability for DB2 LUW
Real-time monitoring:
Thread activity with drill-down to individual SQL statements - Buffer pool hit ratios with graphical display - Lock contention visualization — who is waiting for whom - Dynamic SQL text capture and explain - EDM pool and RID pool utilization → Chapter 20: Monitoring and Problem Determination — Knowing What's Wrong Before the Phone Rings
Real-Time Statistics (RTS)
a feature that continuously updates space and status information as data changes occur. → Chapter 21: Catalog and Directory — Understanding DB2's Data About Your Data
IBM Data Studio (free) for GUI-based administration and SQL development. - The Db2 command-line processor (CLP) and CLPPlus, which ship with Db2 Community Edition. - DBeaver Community Edition as a lightweight, cross-platform alternative. → Instructor Guide: Overview
**Production**: DIAGLEVEL 3 (captures warnings and above — good balance) - **Performance investigation**: DIAGLEVEL 4 temporarily (captures everything — increases log volume substantially) - **Never use**: DIAGLEVEL 0 in production (you lose all diagnostic data) → Chapter 20: Monitoring and Problem Determination — Knowing What's Wrong Before the Phone Rings
IBM Db2 Knowledge Center (online documentation) - *DB2 SQL Cookbook* by Graeme Birchall (free PDF, complementary reference) - Access to IBM Z Xplore (free, for mainframe exploration in Weeks 14) → 15-Week University Course Syllabus
recovery runbook
a step-by-step document that any competent DBA can follow under pressure. Include: - Exact commands (not "restore the database" but the full command with all parameters) - Expected output at each step - Decision points (if X happens, do Y; if Z happens, do W) - Contact information for escalation - E → Chapter 18: Backup, Recovery, and Logging — Protecting Data Against Every Failure Mode
Recovery window:
Time between last full backup and now - Estimated recovery time based on log volume since last backup → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
referential integrity
the guarantee that relationships between tables are valid. → Chapter 2: The Relational Model — How DB2 Thinks About Data
REGULATORY_REPORT
Tracking of regulatory filings. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
relations
mathematical tables where each row is a **tuple** (an ordered collection of values) and each column is an **attribute** (a named domain of values). Provide a high-level language for manipulating these relations (what became SQL), and let the database management system figure out the most efficient w → Chapter 2: The Relational Model — How DB2 Thinks About Data
Relationships and cardinality
modeling one-to-one, one-to-many, and many-to-many relationships with correct participation and cardinality constraints. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
RELEASE
When to release locks: → Chapter 32: Embedded SQL for COBOL and C — Static SQL, Cursors, and the Bind Process
RELOAD
Writes the sorted rows back into the tablespace (or shadow dataset for SHRLEVEL REFERENCE/CHANGE). Free space is distributed according to the tablespace PCTFREE and FREEPAGE settings. This phase generates significant I/O and, if LOG YES is specified, substantial log volume. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
REORG
Eliminate fragmentation, restore physical order 2. **RUNSTATS** — Update catalog statistics so the optimizer has current data 3. **COPY/BACKUP** — Capture a clean, reorganized image for recovery 4. **RECOVER** — (Tested regularly, invoked when disaster strikes) 5. **LOAD/UNLOAD** — Move data in and → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
repeating group
the same type of data (monthly sales) repeated as separate columns. It violates First Normal Form because the "month" is encoded in the column name rather than as data. Problems include: - Adding a 13th period (e.g., a fiscal adjustment period) requires ALTER TABLE. - Querying "which month had the h → Chapter 13 Quiz: Logical Database Design
REPLACE
Replace occurrences within a string: → Chapter 5: SQL Fundamentals — SELECT, WHERE, ORDER BY, and the Art of Asking Questions
replay delay
it receives log records in real time but waits a configured interval (e.g., 1 hour) before replaying them. This protects against logical corruption: if someone accidentally drops a table, the delayed standby still has the table for up to the delay interval. → Chapter 29: HADR and Replication — High Availability for DB2 LUW
Report A (Monthly transaction summary by branch):
Likely bottleneck: Full table scan on the 500-million-row transactions table. The join to accounts and branches adds overhead. - Recommendation: Range-partition the transactions table by transaction_date (monthly partitions). This enables partition elimination so the monthly report reads only the re → Comprehensive Final Exam --- All Parts (Chapters 1--40)
Report B (Customer balance trend analysis):
Likely bottleneck: Window function computation over 120 million rows, likely requiring a large sort operation. - Recommendation: Create an MQT that pre-aggregates monthly balance snapshots per customer. The window function can then operate on the smaller MQT (12 rows per customer instead of the raw → Comprehensive Final Exam --- All Parts (Chapters 1--40)
Report C (Delinquent loan report):
Likely bottleneck: Finding the most recent payment per loan requires a sort or correlated subquery on 50 million payment rows. - Recommendation: Create an index on loan_payments(loan_id, payment_date DESC) to enable efficient retrieval of the most recent payment per loan. Consider a lateral join or → Comprehensive Final Exam --- All Parts (Chapters 1--40)
REPORT YES
Produces a statistics report in the SYSPRINT output. Useful for review and auditing. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
Reporting and analytics
offload long-running reports from the primary - **Data validation** — verify data integrity without impacting production - **Development/testing** — read production data for testing purposes - **Disaster preparedness** — ensure the standby is functional by actually using it → Chapter 29: HADR and Replication — High Availability for DB2 LUW
Required:
*IBM DB2: From First Query to Enterprise Architecture* (this textbook) - A computer meeting the lab environment requirements (see Instructor Guide Overview) - Access to the companion Git repository → 15-Week University Course Syllabus
Requirements gathering
interviewing stakeholders, analyzing existing systems, extracting entities from business processes, and avoiding common traps. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Requirements:
Use a `WITH HOLD` cursor - Use `FOR UPDATE OF` for the status column - Use positioned UPDATE - Handle errors gracefully — do not let one bad row stop the entire batch → Chapter 32 Exercises: Embedded SQL for COBOL and C
RESETDICTIONARY vs KEEPDICTIONARY
Controls whether the compression dictionary is rebuilt. RESETDICTIONARY rebuilds it from current data (better compression if data patterns have changed); KEEPDICTIONARY preserves the existing dictionary (faster). → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
Resolution strategies:
**Source wins** — the incoming change overwrites the local change - **Target wins** — the local change is preserved, incoming change is discarded - **Timestamp-based** — the most recent change (by timestamp) wins - **Custom stored procedure** — a user-defined procedure examines both versions and dec → Chapter 29: HADR and Replication — High Availability for DB2 LUW
Resolving M:N relationships
junction tables as first-class entities with their own attributes. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Resource consumption:
Buffer pool getpages and physical I/O - Log records written - Sorts performed and sort overflows → Chapter 20: Monitoring and Problem Determination — Knowing What's Wrong Before the Phone Rings
Results:
RPO: 6 seconds (the Q Replication lag at the time of failure) - RTO: 10 minutes (from failure to service restoration) - 847 European transactions in the Q Replication queue were lost (within the 10-second RPO tolerance) - All other transactions were preserved → Case Study 29.2: Multi-Site Replication for Global Operations
RESUME YES
Appends data to existing rows in the table. RESUME NO (the default) replaces all existing data — equivalent to a TRUNCATE plus LOAD. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
RETURN
The topmost operator. Delivers result rows to the application. Its TOTAL_COST is the cost of the entire query. → Chapter 23: Reading and Interpreting EXPLAIN — The Single Most Important DBA Skill
RID pool
a dedicated area of memory in DBM1 where RID lists are built, sorted, and merged. → Chapter 22: How the DB2 Optimizer Works — Cost-Based Optimization, Access Path Selection, and Why Your Query Plan Changed
RIDSCN
RID scan operator for list prefetch operations. → Chapter 23: Reading and Interpreting EXPLAIN — The Single Most Important DBA Skill
ROUND
Round to a specified number of decimal places: → Chapter 5: SQL Fundamentals — SELECT, WHERE, ORDER BY, and the Art of Asking Questions
Row Permissions
Control which rows a user can see (row-level security) 2. **Column Masks** — Control what values a user sees in specific columns (column-level masking) → Chapter 19: Security and Authorization — Authentication, Privileges, Roles, Row-Level Security, and Audit
Row/Page-Level Locks:
**S (Share):** "I am reading this row. Others may also read it, but no one may modify it until I release my lock." - **U (Update):** "I am reading this row with the intention of updating it. Others may read it (S locks are compatible), but no other transaction may acquire a U or X lock." The U lock → Chapter 26: Locking, Concurrency, and Isolation Levels — Balancing Throughput and Consistency

S

SAF/RACF integration
API access is controlled by RACF profiles. A mobile app user authenticated via OAuth2 is mapped to a RACF user ID, and that user ID's DB2 privileges govern what data they can access. - **TLS 1.2/1.3** — all API traffic is encrypted in transit. - **API keys** — for partner identification and basic th → Chapter 35: RESTful APIs and Modern Access Patterns: z/OS Connect, GraphQL, and Event Streaming
SAVINGS_ACCOUNT (subtype)
ACCOUNT_ID (PK, FK to ACCOUNT) - INTEREST_RATE - MIN_BALANCE - INTEREST_ACCRUAL_METHOD → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
SAVINGS_DETAIL
Subtype: savings-specific attributes. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Scoring Guide:
20-25 correct: Excellent — you have strong command of the material - 15-19 correct: Good — review the sections where you missed questions - 10-14 correct: Fair — re-read the chapter with the quiz questions in mind - Below 10: Re-read the chapter carefully, then retake this quiz in 48 hours → Chapter 1 Quiz: What Is IBM DB2?
SCT02 (Skeleton Cursor Table)
Contains the executable form of plans (as opposed to packages). Plans are the older binding unit in DB2 for z/OS; packages are the modern approach. SCT02 serves the same purpose as SPT01 but for plans. → Chapter 21: Catalog and Directory — Understanding DB2's Data About Your Data
Search ARGument ABLE
a predicate is sargable if the database engine can use an index to evaluate it. This is the single most impactful concept in SQL tuning, because it determines whether a query can use index access or must fall back to a scan. → Chapter 24: SQL Tuning — Rewriting Queries for Performance Without Changing Results
Security Incidents
Ransomware encrypting database files - A malicious insider deliberately corrupting data - SQL injection resulting in data destruction → Chapter 18: Backup, Recovery, and Logging — Protecting Data Against Every Failure Mode
Segment by time period
weekday vs. weekend, business hours vs. batch window, month-end vs. mid-month. 3. **Calculate statistical ranges** — mean, standard deviation, 95th percentile for each metric. 4. **Document the baseline** — store it where your monitoring tools can reference it. 5. **Review and refresh** — baselines → Chapter 20: Monitoring and Problem Determination — Knowing What's Wrong Before the Phone Rings
SELECT (Restriction)
choosing rows that satisfy a condition — corresponds to the SQL **WHERE** clause. 2. **PROJECT (Projection)** — choosing specific columns — corresponds to the **column list** in the SQL SELECT clause. 3. **JOIN** — combining rows from two tables based on a matching condition — corresponds to the SQL → Chapter 2 Quiz: The Relational Model
SERVER
Client sends user ID and password; DB2 (via RACF) authenticates - **CLIENT** — DB2 trusts the client's authentication (dangerous — use only in fully trusted networks) - **SERVER_ENCRYPT** — Like SERVER, but credentials are encrypted in transit - **KERBEROS** — Kerberos ticket-based authentication (r → Chapter 19: Security and Authorization — Authentication, Privileges, Roles, Row-Level Security, and Audit
Service Provider
the backend system. For DB2, this is typically a stored procedure invoked through a JDBC connection. → Chapter 35: RESTful APIs and Modern Access Patterns: z/OS Connect, GraphQL, and Event Streaming
Set a time limit
`START TRACE(PERFM) ... TIMED(5)` stops after 5 minutes 5. **Coordinate with systems programmers** to ensure adequate DASD for trace data → Chapter 20: Monitoring and Problem Determination — Knowing What's Wrong Before the Phone Rings
SG24-6503: "Developing SQL and External Routines"
Step-by-step guide for creating SQL and external stored procedures and functions on DB2 for z/OS, with production-ready patterns. → Chapter 34: Further Reading
SG24-8077: "DB2 11 for z/OS Technical Overview"
Covers SQL PL enhancements in DB2 11, including array support, new handler capabilities, and performance improvements. → Chapter 34: Further Reading
SG24-8418: "IBM Event Streams (Kafka) on z/OS"
Guide to running Kafka on z/OS for event-driven architectures with DB2, including CDC integration patterns. → Chapter 35: Further Reading
SG24-8481: "z/OS Connect Enterprise Edition V3"
Step-by-step implementation guide for z/OS Connect, including real-world examples of exposing DB2 stored procedures as REST APIs, with security configuration and performance tuning. → Chapter 35: Further Reading
SHARE Conference
The SHARE user group (share.org) hosts mainframe-focused sessions, including DB2 migration planning and execution. → Chapter 16: Further Reading and Resources
SHRLEVEL CHANGE
Allows both read and write access during the copy. The copy includes pages modified during the copy process, and a log range is recorded to identify in-flight changes. Recovery from a SHRLEVEL CHANGE copy requires additional log application. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
SHRLEVEL REFERENCE
Allows read access during the copy. The tablespace is drained of writers at the start, the copy is taken, and writers are re-enabled. This produces a consistent point-in-time image. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
Size the lock table appropriately
more entries = fewer hash collisions - **Monitor LOCK_ENTRY_SHORTAGE and FALSE_CONTENTION counters** in IFCID 0230 and RMF reports - **Rebuild the lock structure** with a larger lock table if false contention is excessive → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
Software Failures
DB2 itself crashes due to a bug or resource exhaustion - The operating system panics or crashes - A storage subsystem firmware bug corrupts data silently - An application bug writes garbage data through valid SQL → Chapter 18: Backup, Recovery, and Logging — Protecting Data Against Every Failure Mode
Software failures:
DB2 engine crash (trap, assertion failure) - Operating system crash (kernel panic) - Storage driver or filesystem corruption - Application-induced problems (runaway queries, connection exhaustion) → Chapter 29: HADR and Replication — High Availability for DB2 LUW
SORT
Sorts the unloaded rows into clustering index order using DFSORT. This phase is CPU-intensive and requires the SORTWK datasets. The amount of sort work space needed is approximately 1.5 to 2 times the size of the unloaded data. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
SORTDATA YES / SORTKEYS YES
Sorts data rows into clustering order and sorts index keys during rebuild. Both should be YES for optimal results. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
SPT01 (Skeleton Package Table)
Contains the executable form of SQL packages. When you BIND a package, DB2 compiles the SQL statements and stores the access paths (the optimizer's chosen execution plans) in SPT01. At runtime, DB2 reads the skeleton package from SPT01, fills in any variable values, and executes the plan. SPT01 is t → Chapter 21: Catalog and Directory — Understanding DB2's Data About Your Data
SQL activity counts:
SELECT, INSERT, UPDATE, DELETE counts - PREPARE, BIND, OPEN/CLOSE cursor counts - Commit and rollback counts → Chapter 20: Monitoring and Problem Determination — Knowing What's Wrong Before the Phone Rings
SQL Injection Prevention
Parameters are sent to DB2 as data, not as SQL text. They cannot alter the query structure. → Chapter 33: JDBC, ODBC, and Python Access — Connecting Modern Applications to DB2
SQL Reference for DB2 11.5 for LUW
The LUW counterpart to the z/OS reference. Note the differences in tablespace management, BOOLEAN support, and constraint behavior. - IBM Knowledge Center: https://www.ibm.com/docs/en/db2/11.5 → Chapter 11: Further Reading
SQL Reference for DB2 13 for z/OS
The authoritative reference for all DDL syntax on z/OS, including CREATE TABLE, CREATE TABLESPACE, CREATE INDEX, ALTER TABLE, and DROP statements. Bookmark the "SQL statements" section. - IBM Knowledge Center: https://www.ibm.com/docs/en/db2-for-zos → Chapter 11: Further Reading
Stack Overflow: ibm-db2 tag
Community Q&A for Db2 development, including cloud-specific questions. https://stackoverflow.com/questions/tagged/ibm-db2 → Chapter 31 Further Reading
Stale statistics
The table has grown or the data distribution has changed since RUNSTATS was last executed - **Correlated predicates** — The optimizer assumes predicates are independent, but in reality, knowing the value of one column tells you a lot about the value of another - **Skewed data** — If a column has a f → Chapter 23: Reading and Interpreting EXPLAIN — The Single Most Important DBA Skill
Start the first member
it creates the group 6. **Install and start additional members** — they join the existing group → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
Starting state:
Tablespace T is GBP-dependent (both M1 and M2 have P-locks in IX mode) - Page P (containing the row to be updated) is cached in both M1's and M2's local buffer pools - No transactions are actively modifying the row → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
Static SQL is bound at BIND time
access paths, authorization, and validation are all predetermined. This eliminates runtime overhead and provides predictable performance, making it ideal for high-volume batch processing. → Chapter 32 Key Takeaways
Statistics freshness:
z/OS: SYSIBM.SYSTABLESPACESTATS.REORGINSERTS / REORGUPDATES / REORGDELETES - LUW: SYSCAT.TABLES.STATS_TIME, STATS_ROWS_MODIFIED → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
STATISTICS TABLE(ALL) INDEX(ALL)
Inline statistics collection. This eliminates the need for a separate RUNSTATS step, saving a full pass through the data. For large tablespaces, this can save hours. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
STATISTICS USE PROFILE
Collects statistics using the statistics profile defined for the table. This eliminates a separate RUNSTATS step. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
Step 1: M1's transaction begins updating the row.
M1 requests an L-lock (exclusive) on the row via the CF lock structure - The CF grants the X lock (no conflict; no other transaction holds a lock on this row) - M1 modifies the row in its local buffer pool (in-memory) → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
Step 2: M1's transaction commits.
M1 writes the commit log record to its local active log - M1 writes the dirty page P to the GBP (this is synchronous in SYNC mode) - The CF registers that page P has been updated by M1 - The CF sends a **cross-invalidation (XI) signal** to M2, because M2 has page P in its local buffer pool - M2 rece → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
Step 3: M2's transaction reads the row.
M2 checks its local buffer pool for page P — finds it marked invalid - M2 reads page P from the GBP (a GBP read, counted as a GBP hit) - M2 now has the current version of the row - M2 requests an L-lock (shared) on the row — granted because M1 has released its X lock → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
Storage savings:
A 62% compression ratio on 840 GB of TRANSACTION_HISTORY saves 520 GB of disk. - At $0.10/GB/month for enterprise storage, that is $52,000/year. - Over 7 years (the retention period): $364,000 in storage savings. → Chapter 14: Physical Database Design — Tablespaces, Partitioning, Compression, and Storage Optimization
Strategies:
Dedicate a full 20--30 minutes to NULLs early in the course. Do not treat NULL handling as an aside. - Use a truth table on the whiteboard showing how AND, OR, and NOT behave with UNKNOWN. Have students predict results before revealing them. - Demonstrate the `NOT IN` trap with a live query. Show ho → Common Student Struggles with DB2
Structured error handling
The `SQLException` provides `getErrorCode()` (the DB2 SQLCODE) and `getSQLState()` (the standard 5-character state code). These are essential for DBA diagnosis. → Chapter 33: JDBC, ODBC, and Python Access — Connecting Modern Applications to DB2
subqueries
complete SELECT statements embedded inside other SELECT statements. A subquery computes one result, and the outer query uses that result as if it were a constant, a list, or an entire table. Once you internalize this pattern, the complexity ceiling of what you can express in a single SQL statement r → Chapter 8: Subqueries and Common Table Expressions — Queries Within Queries
Subtypes and supertypes
modeling inheritance hierarchies and choosing implementation strategies (single table, table-per-type, table-per-concrete-class). → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Supertype/subtype
Used when entities share common attributes but have type-specific attributes. Appropriate when the subtypes have meaningfully different attributes (not just one or two extra columns) and queries commonly need to access all types together. Implemented via table-per-type in the Meridian Bank model. → Chapter 13 Quiz: Logical Database Design
SWITCH
Swaps the shadow dataset into place as the active dataset (when FASTSWITCH YES). This is the only phase that briefly suspends all access. For well-configured systems, the SWITCH phase typically completes in under 10 seconds. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
synchronous
the commit does not complete until the GBP write is acknowledged. This adds to commit latency. → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
synchronous write
the application thread is suspended while the dirty page is written to disk. Synchronous writes are a serious performance problem because they add disk write latency directly to the application's response time. → Chapter 25: Buffer Pool and Memory Tuning — Giving DB2 the Right Resources
SYSCAT.INDEXCOLUSE
One row per column in each index key. The LUW equivalent of SYSIBM.SYSKEYS on z/OS. → Chapter 21: Catalog and Directory — Understanding DB2's Data About Your Data
SYSCAT.REFERENCES
One row per foreign key relationship. The LUW equivalent of SYSIBM.SYSRELS. → Chapter 21: Catalog and Directory — Understanding DB2's Data About Your Data
SYSCAT.ROUTINES
One row per stored procedure, function, or method. → Chapter 21: Catalog and Directory — Understanding DB2's Data About Your Data
SYSCAT.TABLES
One row per table, view, alias, nickname, or MQT. → Chapter 21: Catalog and Directory — Understanding DB2's Data About Your Data
SYSCAT.TABLESPACES
One row per tablespace. → Chapter 21: Catalog and Directory — Understanding DB2's Data About Your Data
SYSCOLUMNS / SYSCAT.COLUMNS
Find all tables using the same column name (potential join partners) 2. **SYSRELS / SYSCAT.REFERENCES** — Foreign keys that include the column 3. **SYSVIEWDEP / SYSCAT.VIEWDEP** — Views that reference the table containing the column 4. **SYSPACKDEP / SYSCAT.PACKAGEDEP** — Compiled packages (programs → Chapter 21 Quiz: Catalog and Directory
SYSIBM.SYSCOLUMNS
One row per column in every table and view. → Chapter 21: Catalog and Directory — Understanding DB2's Data About Your Data
SYSIBM.SYSDATABASE
One row per database. → Chapter 21: Catalog and Directory — Understanding DB2's Data About Your Data
SYSIBM.SYSFOREIGNKEYS
One row per column in each foreign key. Join with SYSRELS to get the full foreign key definition. → Chapter 21: Catalog and Directory — Understanding DB2's Data About Your Data
SYSIBM.SYSINDEXSPACESTATS
Real-time index space statistics. → Chapter 21: Catalog and Directory — Understanding DB2's Data About Your Data
SYSIBM.SYSKEYS
One row per column in each index key. Join with SYSINDEXES on IXNAME and IXCREATOR to get the column order. → Chapter 21: Catalog and Directory — Understanding DB2's Data About Your Data
SYSIBM.SYSPACKAGE
One row per package (bound plan component). → Chapter 21: Catalog and Directory — Understanding DB2's Data About Your Data
SYSIBM.SYSRELS
One row per foreign key relationship. → Chapter 21: Catalog and Directory — Understanding DB2's Data About Your Data
SYSIBM.SYSTABAUTH
Table-level privileges. → Chapter 21: Catalog and Directory — Understanding DB2's Data About Your Data
SYSIBM.SYSTABLES
One row per table, view, alias, or materialized query table. → Chapter 21: Catalog and Directory — Understanding DB2's Data About Your Data
SYSIBM.SYSTABLESPACE
One row per tablespace. → Chapter 21: Catalog and Directory — Understanding DB2's Data About Your Data
SYSIBM.SYSTABLESPACESTATS
Real-time tablespace statistics. → Chapter 21: Catalog and Directory — Understanding DB2's Data About Your Data
SYSLGRNX (Log Range Table)
Maps each object (tablespace partition, index space) to the range of log records that contain changes to that object. When DB2 needs to recover an object — for instance, during RECOVER TABLESPACE — it consults SYSLGRNX to determine which log records to read. Without SYSLGRNX, recovery would require → Chapter 21: Catalog and Directory — Understanding DB2's Data About Your Data
Sysplex Distributor
a z/OS TCP/IP feature that load-balances incoming connections across target systems. → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
SYSUTILX (Utility Table)
Tracks the status of running and recently completed utilities. When you issue a DISPLAY UTILITY command, DB2 reads SYSUTILX. → Chapter 21: Catalog and Directory — Understanding DB2's Data About Your Data

T

T+0:00
GDPS halts Metro Mirror replication 2. **T+0:05** — GDPS reverses the mirror direction (Indianapolis volumes become primary) 3. **T+0:12** — GDPS initiates z/OS IPL at Indianapolis using the mirrored system volumes 4. **T+2:30** — z/OS is operational at Indianapolis 5. **T+3:00** — GDPS starts the D → Case Study 1: Disaster Recovery Drill — Simulating a Data Center Failure
Table cardinality and page count
via basic RUNSTATS (always collect this) 2. **COLCARD for all indexed columns** — essential for filter factor calculation 3. **Frequency values for skewed columns** — STATUS, TYPE, STATE, and similar categorical columns 4. **HIGH2KEY/LOW2KEY for range-queried columns** — DATE, AMOUNT, BALANCE column → Chapter 22: Key Takeaways
TABLE(ALL)
Collect statistics for all tables in the tablespace. You can also specify individual tables with TABLE(schema.tablename). → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
target stacks
the LPARs running DB2 members 3. Routing decisions use WLM health information: members with more available capacity get more connections → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
Target values:
Data pages: > 80% for OLTP workloads; 95%+ is achievable for well-tuned systems - Index pages: > 95% (index pages are reused heavily and should almost always be in cache) → Appendix A: Mathematical Foundations for DB2 Practitioners
Targets:
OLTP buffer pool: > 98% hit ratio - Index buffer pool: > 99% hit ratio - Batch/DSS buffer pool: > 80% hit ratio (lower is acceptable due to sequential scanning) → Chapter 27: Performance Diagnosis Methodology — A Systematic Approach to Finding and Fixing the Bottleneck
TBSCAN
Table scan. Reads all rows in a table (or a range partition). Check the estimated cardinality and the table size — if it is scanning a large table, this may be a problem. → Chapter 23: Reading and Interpreting EXPLAIN — The Single Most Important DBA Skill
TEMP
Materializes the input into a temporary table. This often occurs for subqueries, CTEs, or when the optimizer needs to re-read an intermediate result. → Chapter 23: Reading and Interpreting EXPLAIN — The Single Most Important DBA Skill
Temporal tables
system-time, business-time, and bitemporal — let DB2 manage the time dimension, providing automatic history tracking and "time-travel" queries that are essential for regulatory compliance. → Chapter 10: Advanced SQL — Window Functions, OLAP Functions, Recursive Queries, and Temporal Queries
Test 1: Smoke Test (5 minutes)
100 account lookups by customer ID - 100 balance inquiries by account number - 50 fund transfers between accounts - Target: 100% success, average response < 50 ms → Case Study 2: Memory Constraint Tuning on Limited Hardware
Test 2: ATM Simulation (30 minutes)
200 concurrent simulated ATM sessions - Each session: balance check, withdrawal, receipt generation - 5-second think time between operations - Target: 95th percentile response < 150 ms → Case Study 2: Memory Constraint Tuning on Limited Hardware
Test 3: Sustained Load (2 hours)
Continuous Test 2 workload - Monitor buffer pool hit ratios and response times - Hit ratios should stabilize within 20 minutes (cache warm-up) - No degradation trend after warm-up → Case Study 2: Memory Constraint Tuning on Limited Hardware
Test 4: Peak Load (30 minutes)
Double concurrent sessions to 400 - Verify graceful degradation (linear, not exponential) - Target: 95th percentile response < 400 ms under 2x load → Case Study 2: Memory Constraint Tuning on Limited Hardware
The bridge to physical design
a preview of how the logical model maps to DB2 tablespaces, page sizes, compression, and denormalization decisions in Chapter 14. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
The cost-based query optimizer
an approach where the database automatically estimates the cost of different execution strategies and chooses the most efficient one. → Chapter 1 Quiz: What Is IBM DB2?
The entity-relationship diagram
a wall-sized printout with all 32 entities and their relationships in Crow's foot notation. 2. **The data dictionary** — a spreadsheet with every entity, every attribute, data types, domains, and business rules. 3. **Scenario walkthroughs** — you trace five common business processes through the mode → Case Study 1: Meridian Bank Complete Data Model
The final sort
If we could arrange for TRANSACTIONS to be accessed in TRANS_DATE DESC order, we could eliminate the sort. But that would conflict with the ACCT_ID-first access through the nested loop. There may be no way to avoid this sort. → Chapter 23: Reading and Interpreting EXPLAIN — The Single Most Important DBA Skill
The Meridian Bank complete logical model
30+ entities across customer, account, transaction, loan, product, branch/employee, regulatory, and online banking domains. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
The Meridian National Bank database
a complete schema with 8 tables, realistic sample data, proper tablespace separation, and appropriately sized buffer pools. This database will accompany you through every remaining chapter. → Chapter 4: Setting Up Your DB2 Environment -- Installation, Configuration, and Your First Database
The optimization workflow
capture, analyze, identify, hypothesize, test, verify — is a disciplined process that produces reliable results. Guessing is not a strategy. → Chapter 23: Reading and Interpreting EXPLAIN — The Single Most Important DBA Skill
The predicate is not indexable
for example, a function applied to the indexed column (`WHERE YEAR(TRANS_DATE) = 2025`), a LIKE pattern with a leading wildcard (`WHERE CUST_NAME LIKE '%Smith'`), or an OR condition that cannot be converted to an IN list - **Statistics are stale or missing**, causing the optimizer to underestimate t → Chapter 23: Reading and Interpreting EXPLAIN — The Single Most Important DBA Skill
Thread Management:
**CTHREAD** (Connected Threads): The maximum number of allied threads. This is your connection limit. If all CTHREAD slots are full, new connection attempts are rejected. Set it based on your peak concurrent user count plus a safety margin. - **MAXDBAT** (Maximum Database Access Threads): The maximu → Chapter 4: Setting Up Your DB2 Environment -- Installation, Configuration, and Your First Database
Three temporal models serve three purposes:
System-time: automatic audit trail (when the database changed) - Business-time: application-managed validity periods (when facts are effective) - Bitemporal: both dimensions (the regulatory gold standard) → Chapter 10 Key Takeaways
Tier 1 (Zero Risk — Instant Operations)
Adding four nullable columns to TRANSACTION - Adding one nullable column to MERCHANT - Creating the new TRANSACTION_RISK_DETAIL table - Widening MERCHANT_NAME from VARCHAR(40) to VARCHAR(100) → Case Study 1: Zero-Downtime Schema Migration at a Payment Processor
Tier 1 — Daily (11 PM to 1 AM)
RUNSTATS on high-churn tables (TRANSACTIONS, DAILY_BALANCES) - Incremental image copy / incremental backup of all critical tablespaces - Archive log management → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
Tier 1 — Glance indicators (red/yellow/green):
Database status (up/down) - Buffer pool hit ratio - Log utilization - Active connections vs. limit - Lock escalation count - Last successful backup age → Chapter 20: Monitoring and Problem Determination — Knowing What's Wrong Before the Phone Rings
Tier 1: Core Banking (On-Premises z/OS)
DB2 for z/OS v13 remains the authoritative system for: - Account master data - Transaction processing - General ledger - Regulatory reporting - No migration — the z/OS system is optimized, stable, and deeply integrated with CICS and batch processing. → Chapter 31: DB2 in the Cloud — Db2 on Cloud, Db2 Warehouse, and Hybrid Deployment Patterns
Tier 2 (Low Risk — REORG Required)
Advisory REORG cleanup after Tier 1 changes → Case Study 1: Zero-Downtime Schema Migration at a Payment Processor
Tier 2 — Weekly (Sunday 1 AM to 5 AM)
REORG with inline statistics on critical OLTP tables - Full image copy / full database backup - Index rebuild for indexes with high leaf page splits → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
Tier 3 (Medium Risk — Downtime Possible)
INTEGER to BIGINT on TRANSACTION_DETAIL.DETAIL_ID → Case Study 1: Zero-Downtime Schema Migration at a Payment Processor
Tier 3 — Detail panels (expandable):
Top 10 active SQL statements by elapsed time - Lock waits — who is waiting for whom - Buffer pool detail by pool name - Table space utilization - Application connection list → Chapter 20: Monitoring and Problem Determination — Knowing What's Wrong Before the Phone Rings
Tier 3 — Monthly (First Sunday 12 AM to 6 AM)
REORG all tablespaces (including reference and archive) - Full statistics collection with histograms and column groups - Full image copy to both DASD and tape - Test recovery of one critical tablespace to verify backup chain integrity → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
timerons
an abstract unit that blends I/O and CPU cost. On LUW, the optimizer uses a similar blended cost metric expressed as **estimated elapsed time** in timerons (despite the name, they do not map directly to wall-clock seconds). → Chapter 22: How the DB2 Optimizer Works — Cost-Based Optimization, Access Path Selection, and Why Your Query Plan Changed
TIMESTAMPDIFF
Calculate the difference between two timestamps in a specified unit: → Chapter 5: SQL Fundamentals — SELECT, WHERE, ORDER BY, and the Art of Asking Questions
TO path
Specifies the backup destination. Can be a local directory, a network path, or a storage manager (TSM/Spectrum Protect). → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
TOCOPY
Recovers to the point of a specific image copy. No log records are applied after the copy. This is the simplest point-in-time recovery. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
TOLOGPOINT
Recovers to a specific log sequence number (LRSN in data sharing, RBA otherwise). This provides precise point-in-time recovery to any committed transaction boundary. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
TORBA
Recovers to a specific Relative Byte Address in the log. Used in non-data-sharing environments. Functionally equivalent to TOLOGPOINT for non-data-sharing. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
total and disjoint
every account has exactly one type. This is enforced by a discriminator attribute (ACCOUNT_TYPE_CODE) in the supertype that determines which subtype table contains the additional attributes. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Total: 32 entities.
## Week 4: Normalization Validation → Case Study 1: Meridian Bank Complete Data Model
TRANSACTION
Every financial event that affects an account balance. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
TRANSACTION_TYPE
Lookup: classification of transactions. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
TRIM
Remove leading, trailing, or both whitespace (or specified characters): → Chapter 5: SQL Fundamentals — SELECT, WHERE, ORDER BY, and the Art of Asking Questions
Troubleshooting instincts
when something goes wrong (and it will), you know where to look: the diagnostic log, the configuration parameters, the listener port, and the error codes. → Chapter 4: Setting Up Your DB2 Environment -- Installation, Configuration, and Your First Database
Truncation
Reclaims empty pages at the end of the table 2. **Compaction** — Moves rows from sparse pages to fill gaps 3. **Rebuild** — Rebuilds indexes to reflect new row locations → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
try-with-resources
Connections, statements, and result sets are `AutoCloseable`. Always use try-with-resources to prevent resource leaks. A leaked connection is one of the most common and damaging application bugs. → Chapter 33: JDBC, ODBC, and Python Access — Connecting Modern Applications to DB2
Tune incrementally
one change at a time, measure the impact, then proceed. → Chapter 25: Buffer Pool and Memory Tuning — Giving DB2 the Right Resources
Type 4 (JCC Type 4 / `db2jcc4.jar`)
Pure Java — no native libraries required. - Communicates directly via DRDA over TCP/IP. - Works identically on any JVM platform (Linux, Windows, z/OS client). - Simpler deployment — just add the JAR to your classpath. - The standard choice for virtually all new development. - Essential for container → Chapter 33: JDBC, ODBC, and Python Access — Connecting Modern Applications to DB2
Type 4 vs. Type 2 Drivers:
**Type 4 (pure Java):** Communicates directly with the Db2 server over TCP/IP. No local Db2 installation required. This is what DBeaver and most modern applications use. - **Type 2 (native CLI):** Uses the local Db2 client libraries. Requires a Db2 client installation. Offers slightly better perform → Chapter 4: Setting Up Your DB2 Environment -- Installation, Configuration, and Your First Database
type safety
you cannot accidentally add USD_AMOUNT to EUR_AMOUNT without an explicit cast: → Chapter 34: Stored Procedures, UDFs, and Application Logic in the Database

U

UNION
Combines results from multiple inputs. UNION (with duplicate elimination) may include a SORT; UNION ALL does not. → Chapter 23: Reading and Interpreting EXPLAIN — The Single Most Important DBA Skill
UNLOAD
Reads all rows from the tablespace and writes them to the SYSREC work dataset. During this phase, the utility reads every page in the tablespace sequentially. CPU and I/O are the primary resources consumed. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
UPDATE ALL
Updates all statistics columns in the catalog, replacing previous values. The alternative UPDATE ACCESSPATH updates only the statistics used for access path selection, which is faster but less complete. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
Use both when
and this is more common than you might think — your organization has mainframe systems of record *and* distributed systems for web, mobile, and analytics workloads. In these dual-platform environments, DB2 for z/OS handles the core OLTP while DB2 for LUW (or Db2 Warehouse) handles analytics, reporti → Chapter 1: What Is IBM DB2? History, Architecture, and Why It Still Runs the World's Most Critical Systems
Use ETags for caching
hash the row's timestamp or version column. 6. **Version your API** in the URL path: `/api/v1/accounts`, `/api/v2/accounts`. → Chapter 35: RESTful APIs and Modern Access Patterns: z/OS Connect, GraphQL, and Event Streaming
Use EXECUTE WITH DATA cautiously
capturing actual data values in audit logs creates a second copy of sensitive data. Ensure audit logs are protected with the same rigor as the database itself. → Chapter 19: Security and Authorization — Authentication, Privileges, Roles, Row-Level Security, and Audit
Use NOT LOGGED INITIALLY only for:
Staging tables that can be easily repopulated - Initial data load into new tables - Situations where speed is more important than recoverability → Chapter 9: Data Modification: INSERT, UPDATE, DELETE, MERGE, and Transaction Control
USE tempspace
Specifies a system temporary tablespace to use for the intermediate data. Without this, REORG uses the tablespace where the table resides, requiring sufficient free space. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
Use with extreme caution
if the application fails to maintain integrity, you will have corrupt data with no database-level protection. → Chapter 2 Quiz: The Relational Model
Use with extreme caution in financial systems
cascading deletes of accounts or transactions could cause data loss. → Chapter 2 Quiz: The Relational Model
User presents credentials
A TSO user ID and password, a CICS sign-on, or a DRDA connection with user ID and password. 2. **z/OS passes credentials to RACF** — The operating system calls RACF's authentication service (RACROUTE macro). 3. **RACF validates identity** — Against its own database of user profiles, group membership → Chapter 19: Security and Authorization — Authentication, Privileges, Roles, Row-Level Security, and Audit

V

VALIDATE
When to check authorization and table existence: → Chapter 32: Embedded SQL for COBOL and C — Static SQL, Cursors, and the Bind Process
version coexistence
members at different DB2 versions can run simultaneously in the same group during a migration. For example, during a migration from DB2 12 to DB2 13: → Chapter 28: Data Sharing and Parallel Sysplex — Multi-Member DB2 on z/OS
victim
the transaction that has done the least work (fewest log bytes written) — and rolls it back. The victim receives: → Chapter 26: Locking, Concurrency, and Isolation Levels — Balancing Throughput and Consistency
Visual Explain
detailed access plan visualization showing costs, cardinalities, and access methods at each operator node. - **Query tuner** --- suggests indexes and rewrites for poorly performing queries. - **Stored procedure debugger** --- set breakpoints and step through SQL PL procedures. - **Routine developmen → Appendix C: Environment Setup Guide

W

What can stay on spinning disk:
Cold archival partitions. - Backup copies and archive logs. - LOB data that is infrequently accessed. → Chapter 14: Physical Database Design — Tablespaces, Partitioning, Compression, and Storage Optimization
What is NOT safe (or not allowed):
Narrowing a VARCHAR from VARCHAR(200) to VARCHAR(100) — not allowed if existing data exceeds the new length. - Changing scale of DECIMAL (e.g., DECIMAL(10,2) to DECIMAL(10,4)) — this changes data interpretation and is not a simple widen. - Changing data type family (e.g., INTEGER to VARCHAR) — not a → Chapter 16: Schema Evolution and Data Migration — ALTER TABLE, Online Schema Changes, and Zero-Downtime Migrations
What is safe to widen:
VARCHAR(n) to VARCHAR(m) where m > n — always safe, instant. - CHAR(n) to CHAR(m) where m > n — safe but triggers REORG PENDING on z/OS because existing rows must be padded to the new length. - DECIMAL(p,s) to DECIMAL(p2,s) where p2 > p (same scale, wider precision) — safe on both platforms. - SMALL → Chapter 16: Schema Evolution and Data Migration — ALTER TABLE, Online Schema Changes, and Zero-Downtime Migrations
What to put on flash/SSD:
Active transaction log data sets (z/OS) or log files (LUW). - Hot tablespace partitions (current month's transactions). - Frequently accessed indexes, especially clustering indexes on large tables. - System catalog tablespaces (high metadata access during SQL compilation). - Temporary tablespaces if → Chapter 14: Physical Database Design — Tablespaces, Partitioning, Compression, and Storage Optimization
What you should be able to do:
Write SELECT queries with filtering, sorting, and aliasing. - Join two or more tables using inner, outer, and self-joins. - Write correlated subqueries and recursive CTEs. - Use aggregate functions with GROUP BY, HAVING, ROLLUP, and CUBE. - Apply window functions for ranking, running totals, and mov → Self-Paced Learning Guide
When STMM works well:
Workloads that change throughout the day (heavy sorts in the morning, heavy OLTP in the afternoon) - New systems where the DBA does not yet know the optimal memory distribution - Systems where the DBA does not have time for manual tuning → Chapter 25: Buffer Pool and Memory Tuning — Giving DB2 the Right Resources
When to be cautious with STMM:
Critical OLTP pools where you need a guaranteed minimum. STMM might shrink a pool during a low-activity period, causing a cold cache when activity resumes. - Very large systems (hundreds of GB) where STMM's periodic adjustments may cause measurable disruption. → Chapter 25: Buffer Pool and Memory Tuning — Giving DB2 the Right Resources
When to use DELETE:
Removing specific rows (WHERE clause) - When triggers must fire (audit logging, cascade logic) - When you need row-level logging for recovery → Chapter 9: Data Modification: INSERT, UPDATE, DELETE, MERGE, and Transaction Control
When to use this command:
When investigating lock contention — identify who holds locks - When connection limits are approached — count active threads - During performance investigations — find long-running threads - Before maintenance — verify no critical threads are active → Chapter 20: Monitoring and Problem Determination — Knowing What's Wrong Before the Phone Rings
When to use TRUNCATE:
Clearing staging tables between ETL loads - Resetting test data - Any time you need to remove all rows and do not need trigger execution or WHERE filtering → Chapter 9: Data Modification: INSERT, UPDATE, DELETE, MERGE, and Transaction Control
Where DB2 leads:
Mainframe integration. Oracle has no mainframe offering. If you run z/OS, DB2 is the relational database. - Cost. DB2 for LUW licensing is generally less expensive than equivalent Oracle configurations. This gap widens significantly when you account for Oracle's per-core licensing and option-pack pr → Chapter 1: What Is IBM DB2? History, Architecture, and Why It Still Runs the World's Most Critical Systems
Where Oracle leads:
Market share on distributed platforms (UNIX/Linux). Oracle has a larger installed base and more third-party tool support. - RAC (Real Application Clusters) has broader adoption than DB2 pureScale for distributed clustering. - PL/SQL is arguably the most widely known procedural database language. - I → Chapter 1: What Is IBM DB2? History, Architecture, and Why It Still Runs the World's Most Critical Systems
Where PostgreSQL leads:
Cost. PostgreSQL is free and open source. For many workloads, this alone is decisive. - Community innovation. Extensions like PostGIS, TimescaleDB, and Citus add capabilities rapidly. - Developer ecosystem. More developers know PostgreSQL than DB2. - Cloud availability. Every major cloud provider of → Chapter 1: What Is IBM DB2? History, Architecture, and Why It Still Runs the World's Most Critical Systems
Where SQL Server leads:
Windows integration and the Microsoft stack (.NET, Azure, Power BI, Visual Studio). - Ease of use for Windows-centric shops. SQL Server Management Studio (SSMS) is excellent. - Market momentum. SQL Server has been growing its enterprise presence steadily. → Chapter 1: What Is IBM DB2? History, Architecture, and Why It Still Runs the World's Most Critical Systems
Where they are roughly equal:
Core ACID reliability. Both are battle-tested in mission-critical environments. - Performance. On equivalent hardware, benchmarks show neither has a consistent advantage — workload characteristics matter more than the database engine. - Feature breadth. Both are mature, full-featured platforms. → Chapter 1: What Is IBM DB2? History, Architecture, and Why It Still Runs the World's Most Critical Systems
Why it is disastrous:
**Type safety is gone.** Every value is a string. DATE_OF_BIRTH and BALANCE are stored as VARCHAR. No CHECK constraints, no data type validation. - **Queries are hideous.** To reconstruct a single customer record, you need to PIVOT (or write one self-JOIN per attribute). A five-column query becomes → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Why it is problematic:
**Foreign keys cannot validate.** You cannot create a FK from ACCOUNT.ACCOUNT_TYPE to CODES where CODE_TYPE = 'ACCT_TYPE'. DB2 foreign keys reference primary keys or unique constraints — they do not support conditional references. - **Each code type has different attributes.** Country codes need a c → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Why logical design matters
the cost of getting it wrong, measured in data anomalies, performance degradation, and maintenance burden. → Chapter 13: Logical Database Design — From Business Requirements to Entity-Relationship Models
Why migrate away from segmented tablespaces?
No partition-level utility support (REORG affects the entire tablespace). - Single VSAM data set limits scalability. - Space reclamation is less efficient than PBG. - IBM has signaled that segmented tablespaces may be deprecated in future DB2 versions. → Chapter 14: Physical Database Design — Tablespaces, Partitioning, Compression, and Storage Optimization
Window 1 (Week 1):
Add the three new columns (MASTER_CUSTOMER_ID, IDENTITY_VERIFIED_FLAG, IDENTITY_VERIFIED_DATE) - Add the new foreign key to MASTER.MASTER_CUSTOMER - These changes are additive and low-risk; existing code continues to work unchanged → Case Study 2: Impact Analysis Using the Catalog Before a Major Change
Window 2 (Week 2):
Modify EMAIL_ADDRESS from CHAR(50) to VARCHAR(254) - Drop LEGACY_SYSTEM_CODE - Prerequisite: the 4 packages and 3 views referencing LEGACY_SYSTEM_CODE must be modified and recompiled before the window - During the window: ALTER TABLE, REBUILD IX_CUST_EMAIL, REBIND 187 packages - Estimated time: 4 ho → Case Study 2: Impact Analysis Using the Catalog Before a Major Change
Windows-Specific Considerations:
Db2 on Windows runs as a Windows service. Use `db2start` and `db2stop` or the Windows Services panel to control it. - The DB2 Command Window sets required environment variables automatically. If you use a plain Command Prompt or PowerShell, run `db2cmd` first or source the DB2 profile manually. - Fi → Chapter 4: Setting Up Your DB2 Environment -- Installation, Configuration, and Your First Database
WITH 4 BUFFERS / BUFFER 4096
Controls I/O buffering. More buffers and larger buffer sizes improve throughput for large databases. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
WITH DISTRIBUTION
Collects distribution statistics (histograms) for all columns. This is the LUW equivalent of z/OS HISTOGRAM. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
WITHOUT PROMPTING
Suppresses interactive prompts, required for scripted/scheduled execution. → Chapter 17: DB2 Utilities — REORG, RUNSTATS, COPY, RECOVER, LOAD, UNLOAD: The DBA's Essential Toolkit
Writing clear join conditions
ambiguous or overly complex ON clauses can confuse the optimizer. → Chapter 6: Joining Tables — INNER, OUTER, CROSS, and LATERAL

Z

z/OS
Check the PLAN_TABLE after EXPLAIN: ```sql EXPLAIN PLAN SET QUERYNO = 100 FOR SELECT * FROM MERIDIAN.TRANSACTION_HISTORY WHERE TRANS_DATE = '2026-01-15'; → Chapter 30: Partitioning Strategies — Distributing Data for Scale and Manageability
z/OS Connect EE
receives REST requests, transforms JSON to the format expected by the backend service, invokes the service, transforms the response back to JSON, and returns it. → Chapter 35: RESTful APIs and Modern Access Patterns: z/OS Connect, GraphQL, and Event Streaming
z/OS Connect EE Documentation
IBM Knowledge Center: Complete reference for z/OS Connect Enterprise Edition including API Toolkit usage, service archive creation, Liberty server configuration, and security setup. - https://www.ibm.com/docs/en/zos-connect → Chapter 35: Further Reading
z/OS row overhead:
Row header: 6 bytes (standard) or 8 bytes (with ROWID). - NULL indicator byte: 1 byte per 8 nullable columns (rounded up). - VARCHAR length prefix: 2 bytes per VARCHAR column. - VARCHAR actual data: variable. - Row padding for alignment: 0-7 bytes depending on data types. → Chapter 14: Physical Database Design — Tablespaces, Partitioning, Compression, and Storage Optimization
z/OS:
LOB data is stored in a dedicated LOB tablespace, separate from the base table. - Each LOB value is stored in a contiguous chain of 32 KB pages. - The base table row contains an 8-byte LOB locator (pointer), not the data itself. - A single LOB value can be up to 2 GB. → Chapter 14: Physical Database Design — Tablespaces, Partitioning, Compression, and Storage Optimization
Zero downtime is required
no planned or unplanned outages - **Read/write scalability is needed** — multiple active members serve the workload - **The budget supports it** — pureScale requires multiple servers, InfiniBand networking, shared storage, and IBM licensing for each member → Chapter 29: HADR and Replication — High Availability for DB2 LUW
Zero-downtime patterns
blue-green deployment, rolling data sharing migration, HADR-based migration — make it possible to evolve without downtime. → Chapter 16: Schema Evolution and Data Migration — ALTER TABLE, Online Schema Changes, and Zero-Downtime Migrations