DB2 UDB For OS390 and ZOS V8 Installation Guide
DB2 UDB For OS390 and ZOS V8 Installation Guide
Version 8
Installation Guide
GC18-7418-05
DB2 DB2 Universal Database for z/OS
®
Version 8
Installation Guide
GC18-7418-05
Note
Before using this information and the product it supports, be sure to read the general information under “Notices” on page
547.
Part 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
iv Installation Guide
Tracing parameters panel: DSNTIPN . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Operator functions panel: DSNTIPO . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Application programming defaults panel 1: DSNTIPF . . . . . . . . . . . . . . . . . . . . . 163
| Application programming defaults panel 2: DSNTIP4 . . . . . . . . . . . . . . . . . . . . . 171
Performance and optimization panel: DSNTIP8 . . . . . . . . . . . . . . . . . . . . . . . 176
IRLM panel 1: DSNTIPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
| IRLM panel 2: DSNTIPJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Protection panel: DSNTIPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
MVS PARMLIB updates panel: DSNTIPM . . . . . . . . . . . . . . . . . . . . . . . . . 199
Active log data set parameters: DSNTIPL . . . . . . . . . . . . . . . . . . . . . . . . . 204
Archive log data set parameters panel: DSNTIPA . . . . . . . . . . . . . . . . . . . . . . 210
Databases and spaces to start automatically panel: DSNTIPS . . . . . . . . . . . . . . . . . . 217
Distributed data facility panel 1: DSNTIPR . . . . . . . . . . . . . . . . . . . . . . . . 219
Distributed data facility panel 2: DSNTIP5 . . . . . . . . . . . . . . . . . . . . . . . . 225
Routine parameters panel: DSNTIPX . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Data definition control support panel: DSNTIPZ . . . . . . . . . . . . . . . . . . . . . . 232
| Job editing panel: DSNTIPY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
CLIST calculations panel 1: DSNTIPC . . . . . . . . . . . . . . . . . . . . . . . . . . 238
CLIST calculations panel 2: DSNTIPC1 . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Completing the CLIST processing . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Responding to messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Tailoring the installation jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
| Editing the subsystem parameters, DSNHDECP values, and DSHNMCID values . . . . . . . . . . . 247
The update process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Updating parameters through the Update Selection Menu panel: DSNTIPB . . . . . . . . . . . . . 248
Updating other parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Contents v
Enabling stored procedures after installation . . . . . . . . . . . . . . . . . . . . . . . . 285
Enabling DB2-supplied stored procedures . . . . . . . . . . . . . . . . . . . . . . . . 286
# Modifying DSNWZP to run in a WLM-managed stored address space . . . . . . . . . . . . . . 288
| Enabling DB2 Development Center procedures for Java . . . . . . . . . . . . . . . . . . . 288
# Enabling DB2 Control Center procedures . . . . . . . . . . . . . . . . . . . . . . . . 288
Enabling SQL procedures support . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Enabling stored procedures and tables for JDBC and ODBC support . . . . . . . . . . . . . . . 290
# Enabling the IMS transaction invocation procedure . . . . . . . . . . . . . . . . . . . . . 290
# Enabling the CICS transaction invocation procedure . . . . . . . . . . . . . . . . . . . . 291
# Enabling the EXPLAIN stored procedure . . . . . . . . . . . . . . . . . . . . . . . . 292
# Enabling MQSeries user-defined functions . . . . . . . . . . . . . . . . . . . . . . . . . 293
# Moving from previous versions of the MQSeries user-defined functions . . . . . . . . . . . . . . 293
# Editing the MQSeries configuration files . . . . . . . . . . . . . . . . . . . . . . . . 294
# Using caches for AMI files (recommended) . . . . . . . . . . . . . . . . . . . . . . . 295
# Creating and configuring a broker domain . . . . . . . . . . . . . . . . . . . . . . . 295
# Starting the queue manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
# Starting the broker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
# Customizing WLM for running MQSeries user-defined function support . . . . . . . . . . . . . 296
# Defining the MQSeries user-defined functions to DB2 . . . . . . . . . . . . . . . . . . . . 297
# Starting the WLM address spaces for MQSeries user-defined functions . . . . . . . . . . . . . . 298
# Verifying the DB2 and MQSeries setup . . . . . . . . . . . . . . . . . . . . . . . . . 298
# Enabling MQSeries XML user-defined functions and stored procedures . . . . . . . . . . . . . . . 298
# Enabling DB2 Web services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
# Enabling DB2 as a Web service provider . . . . . . . . . . . . . . . . . . . . . . . . 299
# Enabling DB2 as a Web service consumer . . . . . . . . . . . . . . . . . . . . . . . . 301
Loading data with an SQL cursor . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
# Special packages and plans for SPUFI . . . . . . . . . . . . . . . . . . . . . . . . . . 301
# Running SPUFI at remote systems . . . . . . . . . . . . . . . . . . . . . . . . . . 302
# Making SPUFI work with different terminal CCSIDs . . . . . . . . . . . . . . . . . . . . 302
vi Installation Guide
| New SYSIBM.SYSROUTINES column for encoding scheme . . . . . . . . . . . . . . . . . . 312
| LANGUAGE REXX sets PROGRAM_TYPE column in SYSIBM.SYSROUTINES . . . . . . . . . . . 312
| DB2 start-up and precompilation require a user-supplied DSNHDECP module . . . . . . . . . . . 312
| CCSIDs in DSNHDECP must be valid . . . . . . . . . . . . . . . . . . . . . . . . . 312
| New data-only load module DSNHMCID . . . . . . . . . . . . . . . . . . . . . . . . 313
| Plans and packages bound prior to DB2 Version 2 Release 3 . . . . . . . . . . . . . . . . . . 313
| Multiple calls to the same stored procedure . . . . . . . . . . . . . . . . . . . . . . . 313
External stored procedures and user-defined functions can return any valid SQLSTATE value . . . . . . 313
| Programs called by a stored procedure require packages . . . . . . . . . . . . . . . . . . . 313
| Port of entry name changed . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
| New name for type 1 inactive threads and type 2 inactive threads . . . . . . . . . . . . . . . . 314
| Column names and labels in SQLDA SQLNAME field for statements involving UNION . . . . . . . . 314
| IFCID 197 is no longer supported . . . . . . . . . . . . . . . . . . . . . . . . . . 314
| Change data capture cannot be enabled on catalog tables during enabling-new-function mode . . . . . . 314
| DB2 Version 8 requires IRLM 2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
| Detailed tracking of DB2 measured usage is disabled . . . . . . . . . . . . . . . . . . . . 314
| Programming language support has changed . . . . . . . . . . . . . . . . . . . . . . . 315
| Views might be marked with view regeneration errors . . . . . . . . . . . . . . . . . . . 315
# Resource limit facility tables might need to be updated . . . . . . . . . . . . . . . . . . . 315
| Changed default values for subsystem parameters . . . . . . . . . . . . . . . . . . . . . 315
# Subsystem parameter CLAIMDTA has been removed . . . . . . . . . . . . . . . . . . . . 316
Migrating a data sharing group . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Work file database size calculations . . . . . . . . . . . . . . . . . . . . . . . . . . 317
# LOCAL DATE/TIME exits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Release coexistence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Migration step 1: Premigration activities . . . . . . . . . . . . . . . . . . . . . . . . . 319
Save critical access paths (optional) . . . . . . . . . . . . . . . . . . . . . . . . . . 319
# Convert the DSNWZP stored procedure from DB2-managed stored procedure address space to
# WLM-managed stored procedure address space . . . . . . . . . . . . . . . . . . . . . . 319
Examine all new and changed values for DB2I panels . . . . . . . . . . . . . . . . . . . . 319
Make adjustments for release incompatibilities . . . . . . . . . . . . . . . . . . . . . . 319
| Ensure that Version 7 sample objects are available . . . . . . . . . . . . . . . . . . . . . 323
| Ensure that no utility jobs are running . . . . . . . . . . . . . . . . . . . . . . . . . 323
| EBCDIC and ASCII CCSID must be non-zero . . . . . . . . . . . . . . . . . . . . . . . 323
# Perform premigration queries (DSNTIJPM) . . . . . . . . . . . . . . . . . . . . . . . 323
Migration step 2: Run the link checker on DB2 Version 7 table spaces (optional) . . . . . . . . . . . . 325
Migration step 3: Determine which plans and packages are invalid after migration (optional) . . . . . . . 326
Migration step 4: Check for consistency between catalog tables (optional) . . . . . . . . . . . . . . 327
Migration step 5: Take image copies of the directory and catalog: DSNTIJIC . . . . . . . . . . . . . 327
Migration step 6: Connect DB2 to TSO . . . . . . . . . . . . . . . . . . . . . . . . . . 328
# Make DB2 load modules available to TSO and batch users . . . . . . . . . . . . . . . . . . 328
# Make DB2 CLISTs available to TSO and batch users: DSNTIJVC . . . . . . . . . . . . . . . . 328
# Make panels, messages, and load modules available to ISPF and TSO . . . . . . . . . . . . . . 329
Migration step 7: Connect IMS to DB2 (optional) . . . . . . . . . . . . . . . . . . . . . . 330
Migration step 8: Connect CICS to DB2 (optional) . . . . . . . . . . . . . . . . . . . . . . 330
Migration step 9: Stop DB2 Version 7 activity . . . . . . . . . . . . . . . . . . . . . . . . 331
Migration step 10: Back up your DB2 Version 7 volumes (optional) . . . . . . . . . . . . . . . . 332
Migration step 11: Define DB2 initialization parameters: DSNTIJUZ . . . . . . . . . . . . . . . . 332
DSNTIJUZ actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
# Add a second BSDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Migration step 12: Establish subsystem security (optional) . . . . . . . . . . . . . . . . . . . 335
Migration step 13: Define DB2 Version 8 to z/OS: DSNTIJMV . . . . . . . . . . . . . . . . . . 335
DSNTIJMV actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Completing the step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Migration step 14: Define system data sets: DSNTIJIN . . . . . . . . . . . . . . . . . . . . . 337
Migration step 15: Define user authorization exit routines: DSNTIJEX . . . . . . . . . . . . . . . 338
Migration step 16: IPL z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Migration step 17: Start DB2 Version 8 . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Migration step 18: Tailor DB2 Version 8 catalog: DSNTIJTC . . . . . . . . . . . . . . . . . . . 341
Migration step 19: Ensure that the catalog has no problems (optional) . . . . . . . . . . . . . . . 341
| Migration step 20: Ensure that routines use Version 8 DBINFO . . . . . . . . . . . . . . . . . . 342
Contents vii
| Migration step 21: Enable change data capture . . . . . . . . . . . . . . . . . . . . . . . 342
Migration step 22: Prepare dynamic SQL program: DSNTIJTM . . . . . . . . . . . . . . . . . . 343
Migration step 23: Bind SPUFI and DCLGEN and user-maintained database activity: DSNTIJSG . . . . . . 343
Migration step 24: Bind the packages for DB2 REXX Language Support: DSNTIJRX (optional) . . . . . . . 345
| Migration step 25: Verify views . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Migration step 26: Take an image copy of the DB2 Version 8 compatibility mode catalog: DSNTIJIC . . . . . 345
# Migration step 27: Verify your DB2 Version 8 compatibility mode system (optional) . . . . . . . . . . . 345
| Migration step 28: Enable stored procedures (optional) . . . . . . . . . . . . . . . . . . . . 346
Falling back . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Fallback considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Fallback procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Fallback step 1: Stop DB2 Version 8 activity . . . . . . . . . . . . . . . . . . . . . . . 348
Fallback step 2: Reactivate DB2 Version 7 code: DSNTIJFV . . . . . . . . . . . . . . . . . . 349
Fallback step 3: Reconnect TSO, IMS, and CICS to DB2 Version 7 . . . . . . . . . . . . . . . . 349
Fallback step 4: Start DB2 Version 7 . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Fallback step 5: Verify fallback. . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Remigrating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Contents ix
Part 3. Communicating with other systems . . . . . . . . . . . . . . . . . . 449
x Installation Guide
Part 4. Appendixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
Programming interface information . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
Contents xi
xii Installation Guide
About this book
This section contains specific information about this book and a general overview
of the DB2 Universal Database for z/OS library.
Important
In this version of DB2 UDB for z/OS, the DB2 Utilities Suite is available as an
optional product. You must separately order and purchase a license to such
utilities, and discussion of those utility functions in this publication is not
intended to otherwise imply that you have a license to them. See
Appendix D, “DB2 utilities packaging,” on page 541 for packaging details.
msys for Setup DB2 Customization Center is a feature of DB2 that provides a
graphical user interface for customizing DB2 UDB for z/OS from the workstation.
msys for Setup DB2 Customization Center provides an alternative to the existing
ISPF installation panels and CLISTs. msys for Setup DB2 Customization Center lets
you install, migrate, and update your DB2 subsystem.
required_item
required_item
optional_item
If an optional item appears above the main path, that item has no effect on the
execution of the statement and is used only for readability.
optional_item
required_item
v If you can choose from two or more items, they appear vertically, in a stack.
required_item required_choice1
required_choice2
If choosing one of the items is optional, the entire stack appears below the main
path.
required_item
optional_choice1
optional_choice2
If one of the items is the default, it appears above the main path and the
remaining choices are shown below.
default_choice
required_item
optional_choice
optional_choice
v An arrow returning to the left, above the main line, indicates an item that can be
repeated.
required_item repeatable_item
If the repeat arrow contains a comma, you must separate repeated items with a
comma.
required_item repeatable_item
A repeat arrow above a stack indicates that you can repeat the items in the
stack.
v Keywords appear in uppercase (for example, FROM). They must be spelled exactly
as shown. Variables appear in all lowercase letters (for example, column-name).
They represent user-supplied names or values.
v If punctuation marks, parentheses, arithmetic operators, or other such symbols
are shown, you must enter them as part of the syntax.
Accessibility
Accessibility features help a user who has a physical disability, such as restricted
mobility or limited vision, to use software products. The major accessibility
features in z/OS products, including DB2 UDB for z/OS, enable users to:
v Use assistive technologies such as screen reader and screen magnifier software
v Operate specific or equivalent features by using only a keyboard
v Customize display attributes such as color, contrast, and font size
Online documentation for Version 8 of DB2 UDB for z/OS is available in the
Information management software for z/OS solutions information center, which is
an accessible format when used with assistive technologies such as screen reader
or screen magnifier software. The Information management software for z/OS
solutions information center is available at the following Web site:
http://publib.boulder.ibm.com/infocenter/dzichelp
www.ibm.com/software/db2zos/library.html
This Web site has a an online reader comment form that you can use to send
comments.
v You can also send comments by using the feedback link at the footer of each
page in the Information Management Software for z/OS Solutions Information
Center at http://publib.boulder.ibm.com/infocenter/db2zhelp.
| You can migrate to DB2 UDB for z/OS Version 8 compatibility mode only from
| DB2 Version 7. The process of migrating to Version 8 and using the new function
| provided in Version 8 has changed. You should read this chapter, Chapter 8,
| “Migrating the DB2 subsystem to compatibility mode,” and Chapter 9, “Enabling
| new-function mode” for information on migrating your existing subsystem to
| Version 8 new-function mode.
Before you begin installing or migrating, plan the amount of direct-access storage
and virtual storage that you need. Chapter 2, “Estimating DB2 storage needs,” on
page 17 helps you with your decisions. Planning and coordinating with other DB2
subsystems is essential if you plan to install the distributed data facility (DDF). For
more information, see Part 2 (Volume 1) of DB2 Administration Guide. Review what
values are needed for the parameters on the installation and migration panels. By
planning in advance, your task of filling in the parameters becomes easier. See
“Running the installation CLIST” on page 80 for help with your decisions.
Installation tools
DB2 includes several tools and capabilities to help you perform the steps that are
involved in installing or migrating to Version 8.
Installation and migration tools: DB2 provides a set of tools that automate the
process of installing or migrating. These tools include:
v Most of the job control language (JCL) that is needed to install and migrate a
release of DB2.
This JCL constitutes the installation and migration jobs. Each of these jobs helps
you perform an installation or migration task.
v The installation CLIST (command list) to help tailor the installation and
migration jobs
This CLIST is also called the migration CLIST, or simply the CLIST. It contains
the necessary code for tailoring the jobs to suit your needs.
v A series of ISPF panels that you can use to pass information to the CLIST
With Interactive Systems Productivity Facility (ISPF) and Interactive Systems
Productivity Facility/Program Development Facility (ISPF/PDF), you can use a
series of ISPF panels to pass parameter values to the CLIST. The CLIST uses
these values to tailor the installation and migration jobs. This process is called
the ISPF tailoring session.
v Sample applications to help determine if you installed or migrated DB2 correctly
DB2 provides a set of sample programs and procedures that help you determine
if DB2 is operating correctly.
| v mSys for Setup DB2 Customization Center provides a graphical user interface
| for installing, migrating, converting, and updating DB2.
All references to SYS1.PARMLIB also imply the logical PARMLIB data set used for
DB2.
Ability to defer decisions about DB2 characteristics: DB2 allows you to specify
many subsystem characteristics during DB2 operation. You can modify
4 Installation Guide
initialization parameters, authorize users, define databases and tables, and tune
DB2. Therefore, you can defer many decisions until after you finish installing or
migrating DB2.
Before proceeding with these steps, refer to IBM DB2 Program Directory, which is
shipped with DB2, for keyword specifications for Preventive Service Planning
(PSP). Use Information/Access or the ServiceLink facility of IBMLink to check the
most current information about DB2 and other products. Contact IBM Software
Support if you do not have access to IBMLink.
Table 1. Overview of SMP/E steps
Step Description Job
1 Copy and edit the SMP/E jobs. IEBCOPY
2 Optionally, initialize the SMP/E environment for DSNTIJAA
DB2.
3 Allocate the libraries. DSNALLOC
4 Run the RECEIVE jobs. DSNRECV1, DSNRECV2,
DSNRECV3, DSNRECV4
5 Optionally, run the clean-up job. DSNTIJUD
6 Run the APPLY jobs. DSNAPPL1, DSNAPPL2
7 Run the ACCEPT jobs. DSNACEP1, DSNACEP2
8 Optionally, unload the jobs for the additional (none)
FMIDs.
9 Optionally, run the RECEIVE jobs for the DSNRECV1, DSNRECV2,
additional FMIDs. DSNRECV3, DSNRECV4
10 Optionally, run the APPLY jobs for the additional DSNAPPL1, DSNAPPL2
FMIDs.
11 Optionally, run the ACCEPT jobs for the DSNACEP1, DSNACEP2
additional FMIDs.
12 Receive and apply any maintenance that is (none)
shipped with the product.
6 Installation Guide
Table 2. Overview of steps for installing DB2 Version 8 (continued)
Step Description Job
6 Optionally, prepare authorization exit routines. DSNTIJEX
7 Optionally, prepare for SMF recording. (none)
8 Optionally, establish subsystem security. (none)
9 Establish the TSO environment for DB2. DSNTIJVC
10 Optionally, connect IMS to DB2. (none)
11 Optionally, connect CICS to DB2. (none)
12 IPL z/OS. (none)
13 Start DB2 Version 8. (none)
14 Tailor the DB2 catalog. DSNTIJTC
| 15 Define temporary work file table spaces and initial DSNTIJTM
| buffer pool sizes.
16 Define and bind DB2 objects and user-maintained DSNTIJSG
databases.
17 Optionally, populate the user-maintained databases, (none)
and, if you are using DDF, populate the
communications database (within the DB2 catalog).
18 Bind the packages for DB2 REXX Language DSNTIJRX
Support.
19 Take an image copy of the DB2 catalog and DSNTIJIC
directory.
20 Run the installation verification procedure. DSNTEJxx
8 Installation Guide
Table 4. Overview of steps to fall back to Version 7 (continued)
Step Description Job
4 Start Version 7. (none)
5 Run the Version 7 installation verification jobs. DSNTEJxx
In addition, you must perform some tasks manually. These tasks, as well as the
tasks that are performed by the previously listed jobs, are explained in
“Remigrating” on page 351.
10 Installation Guide
Part 2. Planning and installing DB2
Chapter 2. Estimating DB2 storage needs . . . 17 Editing the SMP/E jobs . . . . . . . . . 53
DB2 subsystem storage requirements . . . . . . 17 Creating job statements . . . . . . . . 53
DB2 catalog storage requirements . . . . . . 18 Choosing link list options . . . . . . . 53
DB2 directory storage requirements . . . . . 19 Accessing the correct DB2 program library . . 55
Active log data sets storage requirements . . . 19 Performance considerations . . . . . . . 56
Bootstrap data sets storage requirements . . . 22 DB2 library naming considerations . . . . 57
Work file database storage requirements . . . . 22 SMP/E data set options . . . . . . . . 58
Default database storage requirements . . . . 24 IRLM options . . . . . . . . . . . . 59
Temporary table space storage requirements . . 24 SMP/E step 2: Allocate the SMP/E CSI file and
Identifying the columns in the declared SMP/E control data sets: DSNTIJAA (optional) . . 59
temporary table . . . . . . . . . . . 25 SMP/E step 3: Allocate distribution and target
Determining the lengths of the columns in the libraries: DSNALLOC . . . . . . . . . . . 60
declared temporary table . . . . . . . . 25 SMP/E step 4: Run the RECEIVE jobs: DSNRECV1,
Calculating the length of the longest row in a DSNRECV2, DSNRECV3, DSNRECV4 . . . . . 61
declared temporary table . . . . . . . . 26 # SMP/E step 5: Run the clean-up job for migration:
Example . . . . . . . . . . . . . 26 # DSNTIJUD (optional) . . . . . . . . . . . 61
Dump data set size storage requirements . . . 27 SMP/E step 6: Run the apply jobs: DSNAPPL1,
System databases storage requirements . . . . 27 DSNAPPL2 . . . . . . . . . . . . . . 62
Archive log data sets storage requirements . . . 27 SMP/E step 7: Run the accept jobs: DSNACEP1,
Using the installation CLIST to calculate storage 28 DSNACEP2 . . . . . . . . . . . . . . 63
Virtual storage requirements for address spaces . . 28 SMP/E step 8: Run the receive jobs for the
DB2 distributed data facility address space additional FMIDs (optional) . . . . . . . . . 64
(DSN1DIST) . . . . . . . . . . . . . 29 SMP/E step 9: Run the apply job for the additional
IRLM address space (IRLMPROC) . . . . . . 29 FMIDs (optional) . . . . . . . . . . . . 64
DB2 system services address space (DSN1MSTR) 29 SMP/E step 10: Run the accept job for the
DB2 database services address space additional FMIDs (optional) . . . . . . . . . 64
(DSN1DBM1) . . . . . . . . . . . . . 29 SMP/E step 11: Ensure installation of proper
Allied agent address space . . . . . . . . 30 maintenance . . . . . . . . . . . . . . 64
Common service area . . . . . . . . . . 30 Post-SMP/E activities . . . . . . . . . . . 64
WLM-established stored procedures address
spaces . . . . . . . . . . . . . . . 31 Chapter 4. Setting up and using DB2 Online Help 67
DB2-established stored procedures address space Copying the bookshelf list, index, and books . . . 67
(DSN1SPAS) . . . . . . . . . . . . . 32 Changing DB2 Online Help book data set names
Virtual storage requirements for storage pools and (optional) . . . . . . . . . . . . . . . 67
working storage . . . . . . . . . . . . . 32 Customizing BookManager READ for DB2 Online
Buffer pool size calculation . . . . . . . . 33 Help (optional) . . . . . . . . . . . . . 68
Sort pool size calculation . . . . . . . . . 35 Verifying DB2 Online Help and setting exit options 69
RID pool size calculation . . . . . . . . . 36 Making DB2 Online Help accessible from
EDM pool size calculation . . . . . . . . 36 installation and DB2I panels . . . . . . . . . 70
Calculating the EDM pool space for plans and Using DB2 Online Help . . . . . . . . . . 71
packages . . . . . . . . . . . . . 37 # Accessing DB2 Online Help . . . . . . . . 71
Calculating the EDM pool space for the Navigating through DB2 Online Help . . . . 71
prepared-statement cache . . . . . . . . 39 Searching for additional information . . . . 71
Calculating the EDM pool space for database Exiting DB2 Online Help . . . . . . . . 73
descriptors . . . . . . . . . . . . 40
Total EDM pool space . . . . . . . . . 40 | Chapter 5. msys for Setup DB2 Customization
Data set control block storage calculation . . . 41 | Center . . . . . . . . . . . . . . . . 75
Working storage calculation . . . . . . . . 42 | Introduction to msys for Setup . . . . . . . . 75
Virtual storage below the 16-MB line . . . . . 43 | Using the DB2 Customization Center . . . . . . 75
Real storage requirements . . . . . . . . . 43 | Adding the DB2 Customization Center to msys
| for Setup . . . . . . . . . . . . . . 76
Chapter 3. Loading DB2 libraries . . . . . . 47 | Refreshing the msys for Setup workplace . . . 76
What IBM sends you . . . . . . . . . . . 48 | Customizing DB2 . . . . . . . . . . . 76
What you produce . . . . . . . . . . . . 49 | Updating DB2 . . . . . . . . . . . . 77
SMP/E step 1: Copy and edit the SMP/E jobs . . . 52
Copying the SMP/E jobs . . . . . . . . . 52
12 Installation Guide
| Enabling DB2 Development Center procedures | Changes to space allocations for DB2-managed
| for Java . . . . . . . . . . . . . . 288 | data sets . . . . . . . . . . . . . . 308
# Enabling DB2 Control Center procedures . . . 288 | Changed default value for DESCRIBE FOR
Enabling SQL procedures support . . . . . 289 | STATIC . . . . . . . . . . . . . . 308
Enabling stored procedures and tables for JDBC | Changed data types and lengths for some
and ODBC support . . . . . . . . . . 290 | catalog columns . . . . . . . . . . . 309
# Enabling the IMS transaction invocation | Changed data types and lengths for some
# procedure . . . . . . . . . . . . . 290 | special registers . . . . . . . . . . . 309
# Enabling the CICS transaction invocation | SQL reserved words may be used in delimited
# procedure . . . . . . . . . . . . . 291 | identifiers for procedure names . . . . . . 310
# Enabling the EXPLAIN stored procedure . . . 292 Encoding schemes of string parameters for
# Enabling MQSeries user-defined functions . . . . 293 routines . . . . . . . . . . . . . . 310
# Moving from previous versions of the MQSeries | Modify RUNSTATS jobs . . . . . . . . . 310
# user-defined functions . . . . . . . . . 293 | More history statistics are collected . . . . . 310
# Editing the MQSeries configuration files . . . 294 Creating tables with DBCS and mixed columns 310
# Using caches for AMI files (recommended) . . 295 Consider increasing IDBACK and CTHREAD 310
# Creating and configuring a broker domain . . 295 | Support for DB2-established data space for
# Starting the queue manager . . . . . . . 296 | cached dynamic statements is deprecated . . . 310
# Starting the broker . . . . . . . . . . 296 | Consider changing EDM pool size . . . . . 311
# Customizing WLM for running MQSeries Customized DB2I defaults can be migrated . . 311
# user-defined function support . . . . . . . 296 | LANGUAGE COMPJAVA no longer supported
# Defining the MQSeries user-defined functions to | for stored procedures . . . . . . . . . . 311
# DB2 . . . . . . . . . . . . . . . 297 | Support for DB2-established stored procedure
# Starting the WLM address spaces for MQSeries | address spaces is deprecated . . . . . . . 311
# user-defined functions . . . . . . . . . 298 | New precompiler option for string host
# Verifying the DB2 and MQSeries setup . . . . 298 | variables . . . . . . . . . . . . . . 312
# Enabling MQSeries XML user-defined functions | New SYSIBM.SYSROUTINES column for
# and stored procedures . . . . . . . . . . 298 | encoding scheme . . . . . . . . . . . 312
# Enabling DB2 Web services . . . . . . . . . 299 | LANGUAGE REXX sets PROGRAM_TYPE
# Enabling DB2 as a Web service provider . . . 299 | column in SYSIBM.SYSROUTINES . . . . . 312
# Enabling DB2 as a Web service consumer . . . 301 | DB2 start-up and precompilation require a
Loading data with an SQL cursor . . . . . . 301 | user-supplied DSNHDECP module . . . . . 312
# Special packages and plans for SPUFI . . . . . 301 | CCSIDs in DSNHDECP must be valid . . . . 312
# Running SPUFI at remote systems . . . . . 302 | New data-only load module DSNHMCID . . . 313
# Making SPUFI work with different terminal | Plans and packages bound prior to DB2 Version
# CCSIDs . . . . . . . . . . . . . . 302 | 2 Release 3 . . . . . . . . . . . . . 313
| Multiple calls to the same stored procedure . . 313
Chapter 8. Migrating the DB2 subsystem to External stored procedures and user-defined
compatibility mode . . . . . . . . . . . 305 functions can return any valid SQLSTATE value . 313
Migration considerations . . . . . . . . . 306 | Programs called by a stored procedure require
| DB2 Version 8 publications assume | packages . . . . . . . . . . . . . . 313
| new-function mode . . . . . . . . . . 306 | Port of entry name changed . . . . . . . 314
# Ordering by a qualified column name . . . . 307 | New name for type 1 inactive threads and type
# Use triggers instead of field, edit, and validation | 2 inactive threads . . . . . . . . . . . 314
# procedures . . . . . . . . . . . . . 307 | Column names and labels in SQLDA
# DB2 treats certain large fixed-length strings as | SQLNAME field for statements involving
# varying-length strings . . . . . . . . . 307 | UNION . . . . . . . . . . . . . . 314
# MEMLIMIT cannot be customized through the | IFCID 197 is no longer supported . . . . . 314
# installation process . . . . . . . . . . 307 | Change data capture cannot be enabled on
DBDs cannot be accessed if DB2 starts in | catalog tables during enabling-new-function
deferred mode . . . . . . . . . . . . 307 | mode . . . . . . . . . . . . . . . 314
# DB2 LOCATION NAME value . . . . . . 307 | DB2 Version 8 requires IRLM 2.2 . . . . . . 314
# SQL flagger is no longer supported . . . . . 307 | Detailed tracking of DB2 measured usage is
| Type 1 indexes are not supported . . . . . 307 | disabled . . . . . . . . . . . . . . 314
# Declared global temporary tables need an 8-KB | Programming language support has changed 315
# buffer pool . . . . . . . . . . . . . 307 | Views might be marked with view regeneration
# Declared global temporary tables need an 8-KB | errors . . . . . . . . . . . . . . . 315
# table space in the temporary database . . . . 308 # Resource limit facility tables might need to be
| System-level point-in-time recovery . . . . . 308 # updated . . . . . . . . . . . . . . 315
| Enhanced support for scrollable cursors . . . 308 | Changed default values for subsystem
| parameters . . . . . . . . . . . . . 315
14 Installation Guide
Job DSNTEJ2D . . . . . . . . . . . . 381 Printing the sample application listings . . . . 413
Job DSNTEJ2E . . . . . . . . . . . . 381 Specifying values in the sample application
Job DSNTEJ2F . . . . . . . . . . . . 382 panels . . . . . . . . . . . . . . . 413
Job DSNTEJ2P . . . . . . . . . . . . 382 Allowable combinations . . . . . . . . 415
Job DSNTEJ2U . . . . . . . . . . . . 383 Specifying data values . . . . . . . . 416
Phase 3: Testing SPUFI, DRDA Access, dynamic Function keys . . . . . . . . . . . 416
SQL, and TSO . . . . . . . . . . . . . 385 Scenarios . . . . . . . . . . . . . . . 417
Testing SPUFI . . . . . . . . . . . . 385 The project application scenario . . . . . . 417
Running dynamic SQL and the ISPF/CAF Updating an activity . . . . . . . . . 417
application . . . . . . . . . . . . . 386 The organization application scenario . . . . 418
Jobs DSNTEJ3C and DSNTEJ3P . . . . . . 386 Starting a new operation . . . . . . . 419
| Job DSNTEJ3M . . . . . . . . . . . . 387 Adding a new department . . . . . . . 420
Starting an application in an ISPF/TSO Deleting an entry . . . . . . . . . . 420
environment . . . . . . . . . . . . . 388 Transferring . . . . . . . . . . . . 421
Phase 4: Testing the IMS environment . . . . . 389 The phone application scenario . . . . . . 422
Jobs DSNTEJ4C and DSNTEJ4P . . . . . . 389 Phone application panels . . . . . . . 423
Starting an application in an IMS environment 391 Using the phone application under batch . . 424
Using the phone application in IMS . . . . . 392 The distributed organization application
Phase 5: Testing the CICS environment . . . . . 392 scenario . . . . . . . . . . . . . . 425
Job DSNTEJ5A . . . . . . . . . . . . 392 Displaying department structure at the local
Jobs DSNTEJ5C and DSNTEJ5P . . . . . . 393 location . . . . . . . . . . . . . 426
Starting an application in a CICS environment 395 Displaying department information at the
Using the phone application in CICS . . . . 396 local location . . . . . . . . . . . 427
Using CICS storage-handling facilities . . . . 396 Updating a department at the local location 427
Phase 6: Accessing data at a remote site . . . . 396 Adding an employee at a remote location 430
DRDA Access sample. . . . . . . . . . 397 Erasing an employee at a remote location 431
Job DSNTEJ6 . . . . . . . . . . . . 398 Employee resume and photo scenarios . . . . 433
DB2 Private Protocol Access sample . . . . . 398 Sample LOB table . . . . . . . . . . 434
Starting an application in an ISPF/TSO LOB application panels for Resume scenario 434
environment in phase 6 . . . . . . . . . 399 LOB application panels for Photo scenario 435
Stored procedure samples . . . . . . . . 400 Edit exit routine . . . . . . . . . . . . 436
Stored procedure sample without result set . . 400 Huffman compression exit routine . . . . . . 436
Job DSNTEJ6S . . . . . . . . . . . . 400 Sample field procedure . . . . . . . . . . 437
Job DSNTEJ6P . . . . . . . . . . . . 401 Dynamic SQL statements (DSNTESA, DSNTESQ) 437
Stored procedure sample with result set . . . 401 DSNTESA . . . . . . . . . . . . . 437
Job DSNTEJ6T . . . . . . . . . . . . 402 DSNTESQ . . . . . . . . . . . . . 438
Job DSNTEJ6D . . . . . . . . . . . . 402 Dynamic SQL programs (DSNTIAD, DSNTEP2,
Sample callers of utilities stored procedures . . 402 DSNTIAUL) . . . . . . . . . . . . . . 439
Job DSNTEJ6U . . . . . . . . . . . . 403
| Job DSNTEJ6R . . . . . . . . . . . . 403 Chapter 11. Connecting the IMS attachment
Job DSNTEJ6V . . . . . . . . . . . . 404 facility . . . . . . . . . . . . . . . 441
Job DSNTEJ6W . . . . . . . . . . . . 405 Making DB2 load modules available to IMS . . . 441
Job DSNTEJ6Z . . . . . . . . . . . . 405 Defining DB2 to IMS . . . . . . . . . . . 442
Sample ODBA stored procedure . . . . . . 406 Defining new programs and transactions to IMS 445
Job DSNTEJ61 . . . . . . . . . . . . 406 Defining DB2 plans for IMS applications
Job DSNTEJ62 . . . . . . . . . . . . 407 (optional) . . . . . . . . . . . . . . 446
Sample SQL procedures . . . . . . . . . 407 Generating a user language interface (optional) 446
Job DSNTEJ63 . . . . . . . . . . . . 407 IMS attachment facility macro (DSNMAPN) . . . 447
Job DSNTEJ64 . . . . . . . . . . . . 408
Job DSNTEJ65 . . . . . . . . . . . . 408
Phase 7: Accessing LOB data . . . . . . . . 409
Job DSNTEJ7 . . . . . . . . . . . . 409
Job DSNTEJ71 . . . . . . . . . . . . 410
Job DSNTEJ73 . . . . . . . . . . . . 410
Job DSNTEJ75 . . . . . . . . . . . . 411
| Job DSNTEJ76 . . . . . . . . . . . . 411
| Job DSNTEJ77 . . . . . . . . . . . . 412
| Job DSNTEJ78 . . . . . . . . . . . . 412
Starting an application in an ISPF/TSO
environment in phase 7 . . . . . . . . . 413
Working with the sample applications . . . . . 413
You can use Data Facility Storage Management Subsystem (DFSMS) to manage
DB2 data sets. It provides automatic backup and recovery features, which might
require disk storage beyond what is estimated below. For more information, see
z/OS DFSMSdfp Storage Administration Reference.
This chapter explains how to calculate storage requirements for a small site, a
medium site, a large site, and an extra-large site. For specific estimates, refer to
DB2 Program Directory. The following site models are based on several
assumptions. You can use these models to help you estimate your storage needs.
| v The small site supports a small number of DB2 users. The small site has about
| 100 plans, 50 application databases, and 1000 tables.
| v The medium site supports more extensive use of DB2 databases. The medium
| site has about 200 plans, 200 application databases, and 4000 tables.
| v The large site supports heavy use of DB2. The large site has about 400 plans, 400
| application databases, and 8000 tables.
| v The extra-large site supports very heavy use of DB2. The extra-large site has
| about 600 plans, 600 application databases, and 12 000 tables.
When you first install DB2, choose one of these models. Later, you can modify
parameters to better suit your needs.
Storage estimates for items that are specific to data sharing are explained in DB2
Data Sharing: Planning and Administration.
This topic assumes that, when running the installation CLIST, you accept the
default values for the number of databases, tables, and application plans that are
expected at your site. You specify these values on installation panel DSNTIPD.
If you do not accept the default values, you can calculate the storage that you need
for the DB2 data sets by using the information in “Active log data sets storage
requirements” on page 19. For other data sets, you can use the formulas in the
CLIST. After calculating the required storage for each data set, you can calculate
the total requirements.
Table 8 provides estimated storage requirements in megabytes (MB) for DB2 data
sets. Individual values are rounded and may not add up to the total. Estimated
space requirements do not significantly differ by device type. Although the DB2
libraries require a fixed amount of space, disk requirements for active logs and the
DB2 catalog increase with the size of a site. You need additional space for archive
logs, image copies, user databases, and other working data sets.
# Table 8. Estimated space requirements (in megabytes) for DB2 data sets by site size
# Active logs Temporary
# Site size DB2 libraries DB2 catalog Directory BSDS database Total
# Small 316 199 61 102 10 24 712
# Medium 316 342 198 204 10 24 1094
# Large 316 546 385 2028 10 372 3657
# Extra-large 316 747 572 4050 10 580 6275
#
For information about disk requirements for DB2 libraries and SMP/E data sets,
see the DB2 Program Directory.
| If you plan to use partitioned table spaces that are created with (or will grow to
| have a large number of) partitions, you might need to allocate more storage than
| what is suggested in Table 9. Some catalog objects can grow substantially over time
| if a large number of partitions are created or added to table spaces.
For information about how to change the size of catalog data sets after you install
or migrate DB2, see Part 5 (Volume 2) of DB2 Administration Guide.
18 Installation Guide
DB2 directory storage requirements
Directory space depends mainly on the number of user databases, application
plans and packages, and tables in the DB2 subsystem. Storage requirements for the
DB2 directory are shown in Table 10.
| If you plan to use partitioned table spaces that are created with (or will grow to
| have a large number of) partitions, you might need to allocate more storage than
| what is suggested in Table 10. Some directory objects can grow substantially over
| time if a large number of partitions are created or added to table spaces.
# Table 10. Estimated space requirements (in cylinders) for the DB2 directory by site size
# Site size 3380 3390
# Small 99 84
# Medium 334 278
# Large 652 543
# Extra-large 970 808
#
If you change data frequently and offload it to the archive log infrequently, you
need a large amount of disk space for the active log. If, under normal
circumstances, offloading occurs once each day, the active log data sets can hold
the log records that your subsystem produces during one day of processing.
These are the assumptions concerning each of the four site models:
v The small site changes data 1800 times per hour, and the active log is offloaded
once each day.
v The medium site changes data 3600 times per hour, and the active log is
offloaded once each day.
v The large site changes data 36 000 times per hour, and the active log is offloaded
once each day.
v The extra-large site changes data 72 000 times per hour, and the active log is
offloaded once each day.
| Example: This is how the DSNTINST CLIST calculates the amount of disk space
| that a medium site needs:
| 1. During the ISPF tailoring session, assume that you specified:
| v An archive period estimate of 24 hours (ARCHIVE LOG FREQUENCY
| parameter on installation panel DSNTIPL).
| v A data change rate estimate of 3600 changes per hour (UPDATE RATE
| parameter on installation panel DSNTIPL).
| 2. DB2 uses 400 bytes as the size of a typical row.
| 3. Other types of log records are comparatively small in size and are fixed in
| length. The length of each type depends on the information that it contains.
| 4. The size of the active log, including disk track overhead, is estimated as:
If a LOB table space is defined with LOG(YES), estimate 1.0 to 1.1 times the size of
the LOB for inserts or updates. Only control information is logged for deletes and
table spaces that are defined with LOG(NO). The formula for calculating LOB table
space requirements is:
MAX (50 bytes, 1.0 * (size of LOB))
If you enabled data sharing, you generally need to have more disk space for the
active log, and you need to archive the logs more frequently. See Chapter 5 of DB2
Data Sharing: Planning and Administration for more information.
If you accept the defaults of using three active log data sets and dual logging, DB2
creates six active log data sets. For a typical production DB2 subsystem, you
should have more than three active logs and you should use dual logs. Other
choices can lead to degraded performance when you encounter an I/O error. You
can avoid some outages by having an adequate number of active logs for several
hours of batch update processing.
You get better performance with larger active logs for other common problems,
such as long-running updates. However, using large active log data sets causes
DB2 to archive less frequently. Infrequent archiving can result in increased data
loss in the event of remote-site recovery or disaster recovery.
Table 11 shows estimated storage requirements for active log data sets (assuming
dual logging).
# Table 11. Estimated space requirements (in megabytes) for active log data sets by site size
# Archive Data change Total space for six
# period rate (per Space for each active active log data sets
# Site size (hours) hour) log data set (MB) (MB)
# Small 24 1800 17 102
# Medium 24 3600 34 204
# Large 24 36 000 338 2028
# Extra-large 24 72 000 675 4050
#
Table 12 on page 21 shows the amount of space that is required for active log data
sets on various devices. The estimates in both of these tables include track
overhead.
20 Installation Guide
# Table 12. Estimated space requirements (in cylinders) for the active log by site size
# Site size 3380 3390
# Small 174 144
# Medium 348 288
# Large 3456 2880
# Extra-large 6912 5760
#
Some other considerations for the size of your active log data sets include:
v Tape utilization
When you archive to a media type that is listed in Table 13, the planning size
numbers are suggested sizes for your active logs. If the size of an active log data
set is small compared to the size of a tape, the tape utilization is fairly low.
| After conversion of the BSDS, the maximum size of the DB2 active log data set
| is 4 GB. You can have 93 active log data sets, and up to 10 000 archive log data
| sets.
Table 13. Estimated active log planning size
Log media Estimated planning size
6250 BPI tape 100 MB
3590 High-Performance Tape Subsystem 10 GB
3480 cartridge 200 MB or more
4mm cartridge (60 m) 1.3 GB
4mm cartridge (90 m) 2.0 GB
4mm cartridge (120 m) 4.0 GB
Using larger block sizes for archive logs can increase the estimated planning
sizes by up to 40%. You specify block size for archive logs with the BLOCK SIZE
field on installation panel DSNTIPA. Compression on the newer cartridge units
can also substantially increase the estimated planning sizes. If you use
compression on the tape units, you can have larger active logs and controls for
long-running updates, and you can archive to disk with DFSMShsm migration
to tape.
v Checkpoint frequency
The CHECKPOINT FREQ field on panel DSNTIPL specifies either the number of
consecutive log records that are to be written between DB2 system checkpoints
or the number of minutes per checkpoint. When choosing a value, you must
consider the trade-offs between the overhead that is needed for frequent
subsystem checkpoints and the time that is needed to restart a DB2 subsystem
| after a termination without a quiesce. If the checkpoint value is more than 1
| million, the time that is needed to restart DB2 after a termination without a
| quiesce can grow to over 15 minutes. The recommended values for the
| checkpoint frequency are in the range of 500 000 to 1 million in log records or 2
| to 5 in minutes.
v Number of tables that are defined for data capture
When tables are defined with the DATA CAPTURE CHANGES option, the entire
before-image of an updated row is captured on the log. This additional
information can represent an increase in log data compared to tables that are not
defined with the DATA CAPTURE CHANGES option, depending on whether
the table contains fixed-length or variable-length rows. For information on what
| If you are migrating and need more than 31 active log data sets and 1000 archive
| log volumes, you can get more by converting the BSDSs. Each new BSDS requires
| approximately 3.5 MB. For more information about converting BSDSs, see
| “Considerations for the BSDS” on page 364.
You might need more storage for the work file database if you have a large
amount of data to sort and a large amount of concurrent sort activity. If you are
sorting compressed data, allow for the same amount of storage that you would
need if the data were not compressed. The maximum amount of storage that you
need is enough to satisfy the requirements of the largest combination of concurrent
activities that use the work file database. The amount of storage that is required
for a sort depends on the following variables:
v Data size
v Sort key size
You can estimate the total amount of work file space that is needed to perform the
sort as follows:
v Let MIN be the operation of selecting the lowest value from a set of values.
v Let FLOOR be the operation of discarding the decimal portion of a real number.
v Let CEILING be the operation of rounding a real number up to the next-highest
integer.
v Let data be the total data length in bytes.
v Let key be the total length of the sort key.
v Let prefix be the 6-byte header.
v Let rows be the total number of rows that are being sorted.
22 Installation Guide
Then calculate as follows:
Records per page = MIN(MAXROWS, FLOOR (4076 / (data + key + prefix)))
The number of records per page cannot exceed 255 (the value of MAXROWS).
This result tells you how much storage is needed in the work file database after
sort processing. However, if a merge phase was required during sort processing, an
additional intermediate copy of the records might exist at any given time. For most
subsystems, you can assume that about half of the records that are involved in a
sort have two copies. Therefore, a multiplier value of 1.5 is safe. If you want to be
conservative, choose 2 for your multiplier value. Therefore, the amount of storage
that is used in the work file database during sort processing can vary from 1 to 2
times the storage that is needed after sort processing. The actual storage that is
used might also increase if you have little available buffer pool storage.
When a large object (LOB) column is part of a result table, and the result table
must be placed in a work file for sorting, the actual LOB column data is not placed
in the work file. Therefore, LOB columns do not require large increases in the
amount of work file space that DB2 requires. For work file calculations, you can
assume 51 bytes of storage per LOB column for the work file.
To determine the number of tracks that are needed, convert the number of pages
into bytes, and divide the result by the number of bytes per unit. Let r be the
number of 4096-byte records per track, and let safety_factor be a number from 1.5 to
2.0. For 3390 devices, r is 12. For 3380 and 9340 devices, r is 10.
Tracks = CEILING (Total pages / r) * safety_factor
Example 1: Consider a table (TABLE1) that contains 45 327 rows, for which you
want to create a nonunique index on COL1 CHAR(3) NOT NULL, COL2
CHAR(4), COL3 VARCHAR(20), and COL4 SMALLINT. Determine the amount of
temporary storage that DB2 needs to create this index as follows:
v Data = 3 + (4 + 1) + (20 + 1) + (2 + 1) + 4 = 36
v Key = 36 (data plus RID is key for CREATE INDEX)
v Rows = 45 327
v Records per page = MIN(MAXROWS, FLOOR (4076 / (36 + 36 + 6))) = 52
v Total pages = CEILING (45 327 / 52) = 872
v Segments = CEILING (872 / 24) = 37
v Tracks = CEILING (872 / 12) * 1.5 = 111
Example 1 is a data page calculation for storing index keys in the work file
database. For this example, 111 tracks of a 3390 storage device are needed. The
2-byte length field of a VARCHAR column is not a part of Data for CREATE
INDEX. The RID field is a part of Data, and the Key includes the entire Data
portion, including the RID.
This query, which includes an ORDER BY clause, requires a sort. Determine the
amount of temporary storage that is required for this table as follows:
For this example, which is a table calculation, 104 tracks of a 3390 storage device
are needed. The 2-byte length field of a VARCHAR column is a part of Data for
CREATE INDEX. The RID field is not a part of Data, and the Key does not include
the entire Data portion.
You can use the sort summary trace record, IFCID 0096, to simplify some of the
calculations. This record shows the number of records that are sorted, the sort
record size (Data + Key), and an indication of whether a merge phase was required
for an individual sort request. For information about the trace facility of DB2, see
Part 5 (Volume 2) of DB2 Administration Guide.
# If more than one table space in a temporary database is in the subsystem, DB2
# chooses the table spaces to use for static scrollable cursors.
The page size of the table space in a temporary database must be large enough to
hold the longest row in the declared temporary table. The size of a row in the
declared temporary table might be considerably larger then the size of the row in
the table for which the static scrollable cursor is used. The size of the row depends
on these factors:
v The number of columns that are stored in the declared temporary table
v The size of each column
24 Installation Guide
The number of columns in the declared temporary table depends on these factors:
v The number of columns in the select list of the SELECT statement for the cursor
v The number of expressions in the select list that contain more than a single
column name
v If the SELECT statement contains an ORDER BY clause, the number of columns
in the ORDER BY clause
v An indication of whether the result table is read-only
To calculate the size of the longest row in the declared temporary table, follow
these steps:
1. Identify the columns in the declared temporary table. See “Identifying the
columns in the declared temporary table.”
2. Determine the length of each column in the declared temporary table. See
“Determining the lengths of the columns in the declared temporary table.”
3. Calculate the total length of the longest declared temporary table row. See
“Calculating the length of the longest row in a declared temporary table” on
page 26.
| Important: If you use declared temporary tables, you must define at least one of
| the table spaces in the temporary database to have a page size of 8 KB or greater.
For a read-only result table, the following items are columns in the declared
temporary table:
v Each expression in the select list
v Each column in the ORDER BY clause that is not in the select list
v One additional column that DB2 generates
For a result table that is not read-only, the following items are columns in the
declared temporary table:
v Each column in the select list
v Each expression in the select list that contains more than a single column name
v Three additional columns that DB2 generates
Example
Suppose that table T1 has the following columns and data types:
C1 CLOB(100M)
C2 CHAR(10)
C3 VARCHAR(100) NOT NULL
C4 INTEGER NOT NULL
C5 INTEGER
Now suppose that you declare two scrollable cursors for the table:
DECLARE CUR1 INSENSITIVE SCROLL CURSOR FOR
SELECT C1, C2 || C3, C4 FROM T1
WHERE C3 > :HV;
DECLARE CUR2 SENSITIVE STATIC SCROLL
CURSOR FOR
SELECT C1, C2||C3, C4 FROM T1
WHERE C3 > :HV;
The result table for cursor CUR1 is read-only. Therefore, the columns, column
lengths, and maximum row length of the declared temporary table for CUR1 are as
follows:
The result table for cursor CUR2 is not read-only; it is read-write. Therefore, the
columns, column lengths, and maximum row length of the declared temporary
table for CUR2 are as follows:
26 Installation Guide
Column Data type Effective length
C1 CLOB(100M) 120
C2 CHAR(10) 11
C3 VARCHAR(100) NOT NULL 102
C4 INTEGER NOT NULL 4
C2 || C3 VARCHAR(110) 113
Three columns added by DB2 (N/A) 33
Total length (N/A) 383
DB2 passes the following parameters to the SDUMP service aid through the
SDATA keyword: SQA, ALLPSA, LSQA, SUMDUMP, and CSA (subpools 231 and
241). Refer to z/OS MVS Programming: Assembler Services Reference, Volumes 1 and 2
for more information about the SDUMP service aid.
After DB2 SVC dump processing is complete, z/OS issues message IEA911E to
indicate whether enough space was available in the dump data set to contain the
requested storage areas. If this message indicates that a partial dump was taken,
but the 3.25 MB of summary storage is available in the dump, this dump is
probably enough for problem diagnosis. Otherwise, IBM Software Support might
request that you re-create the problem if storage areas that are required for
problem determination are not included in the dump.
The installation CLIST uses the amount of space that is computed for the active log
data sets for archive primary and secondary space. The CLIST computes this size
by starting with the size of the active log data sets in bytes and dividing this
number by the block size, which is specified on installation panel DSNTIPA.
Primary space for the archive log is the same as for the active log. Secondary space
is small and is used if it is needed for cylinder rounding differences on different
devices.
Important: Do not specify DFSMS compression for archive logs on disk storage. If
you do, you might receive log-read failures when attempting to recover from the
archive logs.
Recommendation: Use the model site estimates the first time that you install DB2.
Use the model approach that is described in “DB2 subsystem storage
requirements” on page 17 to estimate DB2 disk use. After your site has some
experience in operating DB2, you can recalculate your disk estimates.
The CLIST contains the algorithms that DB2 uses to calculate storage based on the
parameters that you supply during installation or migration. You can use these
algorithms to calculate the storage needs of your site on a data-set-by-data-set
basis.
To see the algorithms that DB2 uses, print or edit the installation CLISTs and REXX
EXEC. The DSNTCALC EXEC contains most of the data set calculations. You can
run the CLIST to calculate the sizes. Installation panel DSNTIPC on page 238
displays the storage sizes that the CLIST calculates.
You might notice that the sample jobs sometimes use a region size of 0 KB. This
region size is meant to simplify the installation process in those particular cases.
The following topics provide some recommendations about DB2 region sizes.
These recommendations are based on average use under normal circumstances on
typical systems. Your requirements might be quite different.
28 Installation Guide
DB2 distributed data facility address space (DSN1DIST)
This address space supports network communications with other remote systems
and execution of database access requests on behalf of remote users.
Recommendation: Use the default region size of 0 KB. This address space is
started as part of DDF initialization. The start-up procedure is DSN1DIST.
| The PC and MAXCSA parameters are no longer used, but you must maintain them
| for compatibility reasons. You must specify the parameters and values, but their
| values are not used. The MAXCSA value must be in the range 0-9999. The amount
| of available storage for IRLM private control blocks, including locks, is determined
| by the operating system and site-specific IPL parameters. IRLM reserves
| approximately 10% of the available private storage to be used for must-complete
| lock requests.
# Use the MODIFY irlmproc,STATUS,STOR command to view and monitor the amount
# of private storage that IRLM has available. You can adjust the amount of below the
# bar private storage dynamically with the MODIFY irlmproc SET,PVT command. You
# can adjust the limit for above the bar private storage dynamically with the MODIFY
# irlmproc SET,MLT command. The new value remains in effect until the next time
# IRLM is stopped and restarted or until the MODIFY command is issued
# successfully again. For below the bar private storage, this only changes the
# monitoring threshold of private storage for IRLM. For above the bar private
# storage, this only updates the MEMLIMIT that z/OS uses to control the amount of
# above the bar storage that can be requested by an address space. Neither
# command changes the physical amount that the operating system assigned to the
# address space.
Enabling data sharing further increases the storage that IRLM requires. Sysplex
query parallelism requires additional storage beyond what is required for data
sharing.
For additional information about the IRLM start up procedure parameters, see DB2
Command Reference.
Recommendation: Specify 0 KB for the system services address space, but plan to
use 2 MB below the 16-MB line. The default start up procedure is DSN1MSTR.
Most modules, control blocks, and buffers reside in the extended private area. A
DB2 subsystem with 200 concurrent users and 2000 open data sets should need
less than 2 MB of virtual storage below the 16-MB line.
To calculate the approximate residual requirement for CSA (below the 16-MB line),
use the following guidelines:
v Start with up to 40 KB for each DB2 subsystem.
v Add 24 KB for each started IRLM.
v Add 1 KB for every 13 latch contentions.
v Add 4 KB for every 4 notify requests.
To estimate storage that is needed for ECSA (above the 16-MB line) for each DB2
subsystem, follow these guidelines:
v Start with 3 MB of ECSA for the base and the first 100 users.
v Start with 0.1 MB for IRLM.
v Add 1.9 MB for IRLM required trace buffers.
v Add 1.9 MB for IRLM optional trace buffers.
v Add 4 KB for each additional user.
v Add 3 KB for each active remote thread.
| v Add 4 MB or more for instrumentation facility interface (IFI) buffers as
| requested by the monitoring programs.
If you use the distributed data functions of DB2, you may find that you need more
virtual storage. You can estimate how much your storage needs are likely to
increase in the ECSA above the 16-MB line by adding the following amounts:
v 1 KB for each conversation
v 2 KB for each thread that uses distributed processing
v 1 KB for each DB2 site in your network
v 40 KB for code that relates to distributed processing
Under normal conditions, your virtual storage needs in the CSA (below the 16-MB
line) will probably not increase. In a data sharing environment, if an IRLM
30 Installation Guide
performs member recovery or structure rebuild, additional virtual storage is
required. Any other increase in the amount of virtual storage that is needed occurs
within the extended private area of the DB2 database address space and the
extended private area of the distributed data address space.
Specify this sum or a value that is larger than this sum as the second value of the
CSA parameter of the IEASYSxx z/OS logical PARMLIB member. The logical
PARMLIB is usually referred to as SYS1.PARMLIB. Specifying values that are too
high is preferable to specifying values that are too low; making your values too
low can result in a need to IPL z/OS. For example, if the ECSA size is too small,
z/OS places DB2’s global load modules and control blocks in CSA below the
16-MB line instead of above it. This can cause problems with coexisting z/OS
subsystems.
Monitor your use of CSA and ECSA, and increase those values if necessary. By
monitoring CSA below the 16-MB line, you can determine whether you need to
increase the size of the ECSA.
When you IPL z/OS, you can override the CSA size with this syntax:
CSA=(a,b)
where:
v a is the number of kilobytes of CSA storage below the 16-MB line
v b is the number of kilobytes of ECSA storage above the 16-MB line
These values are rounded down (CSA) or up (ECSA) to the next 1-MB boundary.
For more information, see z/OS MVS Initialization and Tuning Guide.
Recommendation: Use partitioned data set extended (PDSE) for load libraries that
contain stored procedures. Using PDSEs might eliminate your need to stop and
start the stored procedures address space due to growth of the load libraries. If a
load library grows from additions or replacements, the library might need to be
extended.
DB2 UDB for z/OS stored procedures support both main programs and
subprograms; this support requires additional storage for each TCB. However,
because you can run fewer programs in an address space, you can use less storage
Recommendation: Use partitioned data set extended (PDSE) for load libraries that
contain stored procedures. Using PDSEs might eliminate your need to stop and
start the stored procedures address space due to growth of the load libraries. If a
load library grows from additions or replacements, the library might need to be
extended.
If you use PDSEs for the load libraries, the new extent information is dynamically
updated and you do not need to stop and start the address space. If PDSs are
used, load failures may occur because the new extent information is not available.
See Part 6 of DB2 Application Programming and SQL Guide for more information.
These values provide an estimate of the private area that is needed by the
DSN1DBM1 address space, the largest of the DB2 address spaces. If the estimated
virtual storage for the address space is not available, you can re-evaluate the sizes
that you requested.
The calculations in this topic are planning estimates. The noted values do not
provide the exact limits, but they indicate a reasonable range of values. More
detailed information is provided in Part 5 (Volume 2) of DB2 Administration Guide.
| The sum of the following values must fit the region size that DB2 supports:
| v Environmental descriptor manager (EDM) pool size
| v VSAM data set control block storage size
| v Working storage size
32 Installation Guide
The CLIST adds a fixed code size to the sum of these values to determine the main
storage size.
| Some storage pools that were previously below the 2-GB bar have now been
| moved above the 2-GB bar. Their values are no longer included in the region size
| calculation. These storage pools are the buffer pool, sort pool, and the record
| identifier (RID) pool. Also, a portion of the environmental descriptor manager
| (EDM) pool has been moved above the 2-GB bar.
| After you specify the values listed above, the CLIST calculates the EDM pool size
| and the size that is needed for the data set control blocks. The CLIST adds the
| working storage size and the fixed code size to update the region size that is used
| in the DB2 startup procedures. The CLIST also displays this information on
| installation panel DSNTIPC, which is described on page 238.
Use the formulas in this topic to estimate your storage needs. For your reference,
the default values are included where appropriate.
| Virtual buffer pools: For best results, use at least 100 KB of buffer pool space for
| each concurrent user. A value of 300 KB or more for improved performance is
| recommended. Very simple SQL statements that access small amounts of data can
| require less than this amount. Complex SQL statements that access large amounts
| of data can require more than this amount.
During installation, you can set the buffer pool sizes on the installation panels.
Later, you can use the ALTER BUFFERPOOL command to alter the sizes and other
attributes of as many as 50 buffer pools for 4-KB page sets, 10 buffer pools for
8-KB page sets, 10 buffer pools for 16-KB page sets, and 10 buffer pools for 32-KB
table spaces. The ALTER BUFFERPOOL command can make the changes
dynamically while DB2 is running. See Part 5 (Volume 2) of DB2 Administration
Guide for information on changing the buffer pool sizes.
Important: Do not allocate more storage for buffer pools than available real storage
for buffer pools. If you attempt to use more than the available real storage,
performance will suffer.
| DB2 limits the total amount of storage that is allocated for virtual buffer pools to
| approximately twice the amount of real storage. If you specify more than this
| amount for virtual buffer pools, DB2 allocates buffer pools during startup until
| twice the amount of real storage is used. DB2 then allocates the remaining buffer
| pools as follows:
|| Page size Number of pages
| 4 KB 2000
| 8 KB 1000
| 16 KB 500
| 32 KB 250
|
| Use Table 15 to calculate the virtual buffer pool sizes for your subsystem.
34 Installation Guide
| Table 15. Virtual buffer pool size calculation
| Virtual buffer pool calculation Default
Sort storage in local storage: The sort process creates fixed-length storage pools in
local storage for internal sort structures and work areas. Local storage is created
| above the 2-GB bar at allocation time.
The DB2 sort work area (in-memory) has the following storage boundaries for each
concurrent sort operation:
Minimum sort storage = 240 KB
| Maximum sort storage = 128 MB
| DB2 initially allocates 240 KB for each sort and gradually adds more storage until
| the maximum sort work area limit is reached or the maximum number of nodes
| (32K) are populated at the bottom of the sort tree, whichever occurs first. With 32K
| nodes at the bottom of the sort tree, the average run size for each sorted string is
| 64K records.
| The default size of the sort pool is 2 MB, but you can override this default value
by entering the desired sort pool size on installation panel DSNTIPC. Estimate the
required storage for a sort pool with the following formula:
32000 * (12 + sort key length + sort data length + 4 (if ESA hardware sort
assist))
See Part 5 (Volume 2) of DB2 Administration Guide for instructions on choosing
sizes for optimal performance.
Sort storage in the DB2 buffer pools: Sort processing uses pages in the DB2 buffer
pool for its initial input, for work files that contain intermediate results, and for the
final output.
DB2 considers the buffers that it uses for work files as sequentially accessed pages.
You can adjust the percentage of the buffer pool that is used for work files by
using the VPSEQT parameter of the ALTER BUFFERPOOL command. If a buffer
pool is used only for work files, you might set VPSEQT to 100%. If you do not
have enough allocated storage to complete sort processing, you must allocate more
disk space for the work file database. For more information, see “Work file
database storage requirements” on page 22.
The RID pool is created at start up time, but no space is allocated until RID storage
| is needed. When RID storage is needed, it is allocated above the 2-GB bar in 32-KB
| blocks , which are known as RID blocks.
| The default size of the RID pool is 8 MB, but you can override this default value
by entering the desired RID pool size on installation panel DSNTIPC. If you do
this, estimate the required storage for the RID pool with the following formula:
number of concurrent RID processing activities * average number of RIDs *
2 * 5 (bytes per RID)
| In Version 8, the EDM pool has been separated into three pools: the EDM pool,
| database descriptor (DBD) pool, and the statement pool. The EDM pool space for
| database descriptors and dynamic statements has been moved above the 2-GB bar.
| The EDM pool, which contains the skeleton cursor table and skeleton package
| table, is below the 2-GB bar.
| The CLIST generates the values for these pools. These values are on installation
| panel DSNTIPC, which is described on page 238.
36 Installation Guide
Calculating the EDM pool space for plans and packages
The first part of the EDM pool calculation involves the space for plans and
packages. Plans and packages are very different, but they are treated similarly for
storage planning. To estimate the EDM pool space that is needed for plans, use the
following variables:
v Let concplans be the number of concurrently executing plans. This is the value
that is specified as MAX USERS on installation panel DSNTIPE.
v Let maxplans be the maximum number of unique plans that you want in the
EDM pool at any given time. Estimate this by taking one fourth of the total
plans that you have.
v Let statsize be the average statement size. To calculate the average statement size,
add 1.4 KB for each single table statement and 0.2 KB for each additional table
in the statement. For example, if you estimate one table for each statement,
multiply the number of SQL statements by 1.4 KB; if you estimate three tables
per statement, multiply the number of statements by 1.8 KB (1.4 KB + 0.2 KB +
0.2 KB).
v Let statexec be the average number of executed statements. The CLIST uses the
value in EXECUTED STMTS on installation panel DSNTIPD.
Then calculate as follows:
(concplans + maxplans) * (statsize * statexec)
The average plan size changes in proportion to the increase in the number and
complexity of SQL statements. The complexity of the access path for SQL
statements can also affect plan size.
To calculate your average plan size, you need to allow from 1 KB to 4 KB for
control blocks for caching, depending on your BIND option. Let cntrlblk be the
number of KBs that are allocated for caching. Then, calculate the average plan size
with the following formula:
(statsize *statexec) + cntrlblk
If you use the defaults, the CLIST makes the following calculations. First, the
values for the single table and the additional table are added to determine the
statsize.
1.4 KB (single table)
+ 1.2 KB (additional table)
statsize = 1.6 KB
Then the CLIST multiplies the result, statsize, by the default value for statexec, and
adds 1 KB for caching control blocks:
1.6 KB (statsize)
x 15 (statexec )
24 KB
+ 1 KB
25 KB
The ACQUIRE and RELEASE options of the BIND command affect the plan size as
follows:
v ACQUIRE(ALLOCATE) results in a larger plan size than ACQUIRE(USE).
v RELEASE(DEALLOCATE) can result in a larger plan size than
RELEASE(COMMIT). RELEASE(DEALLOCATE) usually results in holding the
storage longer.
After you bind a plan or package, you can check the size by querying the
SYSPLAN and SYSPACKAGE catalog tables. PLSIZE or PKSIZE is the size of the
base segment of the plan or package. AVGSIZE is the average size for each section.
CACHESIZE is the cache size that you specify for the authorization ID cache for
the plan. To find the plan or package sizes and the size of the authorization ID
cache, use the appropriate SQL statement:
For a plan:
SELECT NAME, PLSIZE, AVGSIZE, CACHESIZE
FROM SYSIBM.SYSPLAN
ORDER BY NAME;
For a package:
SELECT NAME, PKSIZE, AVGSIZE
FROM SYSIBM.SYSPACKAGE
ORDER BY NAME;
To find the number of sections for each DBRM that is bound with each plan, use
the following SQL statement. To find the number of sections in each plan, add the
number of sections for each DBRM by plan:
SELECT PLNAME, NAME,
CASE WHEN MAX(SECTNOI) <> 0
THEN MAX(SECTNOI)
ELSE MAX(SECTNO)
END AS SECTNUM
FROM SYSIBM.SYSSTMT
GROUP BY PLNAME, NAME
ORDER BY PLNAME, NAME;
To find the number of sections for each DBRM bound with each package, use the
following SQL statement. Add the number of sections for each DBRM by package
to find the number of sections in each package.
SELECT COLLID, NAME, VERSION,
CASE WHEN MAX(SECTNOI) <> 0
THEN MAX(SECTNOI)
ELSE MAX(SECTNO)
END AS SECTNUM
FROM SYSIBM.SYSPACKSTMT
GROUP BY COLLID, NAME, VERSION
ORDER BY COLLID, NAME, VERSION;
You can also use similar statements with WHERE clauses to specify the plans or
packages that you want. The number of sections that are executed per plan or
package can be estimated only from the execution of the application that uses the
38 Installation Guide
particular plan or package. Consequently, the amount of storage that is needed
during execution of the application is the base segment size of the plan or package
plus the size for the sections that are being executed.
The storage that is needed for a plan is the sum of the base size and the size of the
executed sections. The storage that is needed for a package is the sum of the base
size, the base size of the package, and the size of the executed sections.
When you use the cache, prepared statements are stored in the EDM pool, as are
static SQL statements. The number of prepared statements that are stored in the
cache depends on the characteristics of the dynamic SQL that your application
executes. One type typically benefits from caching prepared statements, while the
other type usually does not.
The first type of applications use dynamic SQL that is embedded in an application
and is used repeatedly. Applications and queries with this type of SQL benefit
most from caching prepared statements because the statement can be used from
the cache.
However, applications that contain SQL statements that are infrequently used pay
the cost of being added to the cache. For example, queries from DB2 QMF are
likely to be prepared and executed only once. Caching prepared statements does
not benefit applications that extensively use this kind of SQL.
You should use dynamic statement caching when you have an INSERT statement
using host variables.
Estimate the storage that is needed for the prepared-statement cache by using these
variables:
v Let maxdynplans be the maximum number of unique plans that contain
embedded dynamic SQL that you expect to be running in the system at any
given time.
v Let dynstatsize be the average statement size of a prepared statement in the
cache. To calculate the average prepared statement size, add 1.8 KB for each
single table statement and 0.2 KB for each additional table in the statement. For
example, if you assume an average of three tables per statement, the average
statement size is 2.2 KB (1.8 KB + 0.2 + 0.2).
v Let dynstatexec be the average number of different dynamic SQL statements that
are executed by plans that contain dynamic SQL that are likely to be used
repeatedly.
v Let adhocexec be the maximum number of unique SQL statements that are likely
to be used only once and that are executed by all users at any given time. You
can estimate this number by multiplying the maximum number of users who are
running ad hoc SQL programs by 5.
Then calculate the size needed for the prepared-statement cache as follows:
(maxdynplans * (dynstatsize + dynstatexec) + (adhocexec * dynstatsize))
The database descriptor size is 12 KB for the default values. The database
descriptor size depends on the number of table spaces, tables, indexes, columns,
partitions, referential constraints, table check constraints, and index keys in the
database. The DSNTINST CLIST contains the algorithm for calculating the DBD
size. The maximum size of a database descriptor is 25% of the size of the EDM
pool. Therefore, you need to ensure that the EDM pool size is at least four times
the estimated size of your largest database descriptor.
| Recommendation: If your tables are small, you should use fewer than 50 tables in
| a segmented table space. For very large tables that are partitioned and larger than
| 1-GB, you should use one table per database. You can use additional databases to
| assist with logging, space management, and concurrency.
Using Table 16, you can estimate the DBD size based on an estimate of columns in
each table and tables in each database for your site. Assume:
| v The same number of tables as table spaces
| v 2 indexes in each table
| v 4 partitions in each table space
| v 3 keys in each index
| v 2 referential relationships in each table
These values are the defaults that are built into the CLIST and are reasonably
typical for databases.
| Table 16. DBD sizes for ranges of columns and tables
| 10 tables in 20 tables in 30 tables in 40 tables in 50 tables in
| Columns in each each each database each database each database
| each table database database
| 10 65 KB 117 KB 168 KB 220 KB 271 KB
| 20 93 KB 173 KB 253 KB 332 KB 412 KB
| 30 122 KB 229 KB 337 KB 445 KB 552 KB
| 40 150 KB 285 KB 421 KB 557 KB 693 KB
| 50 178 KB 342 KB 506 KB 670 KB 834 KB
| 75 248 KB 482 KB 717 KB 951 KB 1185 KB
| 100 318 KB 623 KB 928 KB 1232 KB 1537 KB
| 200 600 KB 1185 KB 1771 KB 2357 KB 2943 KB
| 300 881 KB 1748 KB 2615 KB 3482 KB 4349 KB
|
40 Installation Guide
| v Let maxplans be the maximum number of unique plans that you want in the
| EDM pool at any given time. Estimate this by taking one fourth of the total
| number of plans.
| v Let plansize be the average plan size.
| v Let concdb be the number of concurrent databases, which is specified on
| installation panel DSNTIPE.
| v Let dbdsize be the DBD size.
| Then, calculate as follows:
| (concplans + maxplans) * plansize + (concdb * dbdsize)
| Then, the CLIST adds 50 KB for overhead to give the result of 33 600 KB.
First, calculate the total number of open tables with the following formula:
opntab = concdb * tables
Then, calculate the number of open data sets for partitioned table spaces with the
following formula:
opnptsds = opntab * (pctpts / 100) * avgpartconcdb *
(((tables * indexes) + tblspaces) +
((2 * partts * avgpart) - (2 * partts)))
Then calculate the number of open data sets with the following formula:
concdb * (((tables * indexes) + tblspaces) +
((2 * partts * avgpart) - (2 * partts)))
# You can modify DSMAX by editing job DSNTIJUZ. The maximum number of
# concurrently open data sets is 65 041 if you are using z/OS V1R6 or earlier. If you
# are using z/OS V1R7 or later, the maximum number of concurrently open data sets
# is typically 100 000. See Part 5 (Volume 2) of DB2 Administration Guide for
# information about tailoring DSMAX for performance.
| Important: Your DSMAX calculations might be different. If you use table spaces
| that are defined with the LARGE parameter, your DSMAX calculations will be
| larger. Nonpartitioned indexes on a partitioned table space that is defined with the
To calculate the main storage that is required for your data set control blocks, use
the following formula:
DSMAX * 1.8 KB
This method of calculation ignores partitioned table spaces and partitioning index
spaces. It also assumes that all data sets in the database are open if the database is
in use. You could enter a smaller value for the number of concurrent databases if
only a few of the data sets in a database are typically opened. The larger the value
of DSMAX, the longer data sets stay open.
Recommendation: Move the scheduler work area (SWA) above the 16-MB line of
z/OS virtual storage by using JES initialization statements, JES exit routines, or the
SMF exit routine (IEFUJV). This way, you can save approximately 1 KB for each
open data set in virtual storage below the 16-MB line and avoid potential storage
errors. To determine the amount of storage that is needed below the 16-MB line,
use 0.1 KB for the multiplication factor if the SWA is above the line or 1.2 KB for
the multiplication factor if the SWA is below the line. The calculations in the CLIST
presume that the SWA is above the line. See Part 5 (Volume 2) of DB2
Administration Guide for more information about improving resource utilization.
| Recommendation: If you do not move the SWA above the 16-MB line, you should
| not use a DSMAX value greater than 5000.
| If you use dynamic SQL, you need more working storage and less EDM pool space
than if you use static SQL. DB2 QMF users have a very small plan in EDM pool,
usually 12 KB. Users of static SQL have larger plan sizes as noted above, typically
varying from 15 KB to 1 MB. Typical sites would use about 300 KB for each thread
of working storage for dynamic SQL users, and 100 KB per thread for static SQL
users. A thread is a structure that describes an application connection to DB2. For
information about thread creation, see Part 5 (Volume 2) of DB2 Administration
Guide. The CLIST does not include information about open compressed table
| spaces. Compression dictionaries are stored above the 2-GB bar. Therefore, if you
use compressed table spaces, you need additional storage. See Section 1 of DB2
Administration Guide for storage information about compressed table spaces.
42 Installation Guide
Virtual storage below the 16-MB line
This calculation produces an estimate of virtual storage constraints below the
16-MB line in the DB2 database services address space.
| Most of the needed virtual storage is in extended private storage, including the
| buffer pool, the EDM pool, and almost all of the code and working storage. This is
| the difference between the total storage and the estimated region size. The region
| size estimate does not include extended private storage; it includes only the data
| set control block storage size and some of the code. To estimate the size of storage
| below the 16-MB line, use the following formula:
| 600 KB + MAX USERS + MAX REMOTE ACTIVE + (DSMAX * 0.01)
| If the scheduler work area (SWA) is above the 16-MB line, multiply the number of
| data sets by 0.016 KB; if the SWA is below the 16-MB line, multiply the number of
| data sets by 1.2 KB.
| Recommendation: If you use DSMAX of more than 6000, your SWA should be
| above the 16-MB line.
Table 17 shows total main storage calculation. Place your estimates in the spaces
provided in the size column and make the indicated calculations.
| Table 17. Main storage size calculation
| Category Your size Default
| EDM pool storage size 33 600 KB
| Buffer pool size + + 104 000 KB
| Sort pool size + + 2000 KB
| RID pool size + + 8000KB
| Data set control block storage size + +17 928 KB
| Code storage size + 30 000 KB + 30 000 KB
| Working storage size + + 55 800 KB
| Total main storage size (above 16-MB line) = = 252 328 KB
| Region size (below 16-MB line) (assume SWA above 1160 KB
| the line)
|
The CLIST calculations panel, DSNTIPC, displays storage sizes that are calculated
by the DSNTINST CLIST. For more information, see “CLIST calculations panel 1:
DSNTIPC” on page 238.
For the DB2 buffer pools, the EDM pool, and working storage, the amount of real
storage must be the same as the amount of virtual storage. Paging activity in the
buffers is an indication of a problem. If you do not have enough real storage to
hold the buffers, the buffers need to be reduced, which results in fewer concurrent
users. You also need space to contain locks, the working set of code in all address
spaces, log buffers, and ECSA and CSA space. Because some of the figures that are
used in virtual storage calculations are maximums, whereas the real storage figures
typically use activity for the peak, changes are needed in the calculations. The
virtual storage figures concentrate on the most constrained address space, but real
storage work must include them all. For more information about each category, see
the information specified in Table 18 and Table 19.
| Table 18. Real storage size calculation
| Category Default Virtual size × Factor = Real size See
44 Installation Guide
Table 20 uses rough estimates to approximate the amount of additional real storage
needed by several kinds of users. If you have more concurrent users, plan to add
real storage.
Table 20. Additional real storage for more users
Type of user Additional real storage
Transaction 150 KB
Query 400 KB
Batch 700 KB
If you are installing DB2, your first task is to load the data sets on the distribution
tapes or cartridges into DB2 libraries.
If you are migrating to Version 8, you need to check DB2 Program Directory to
ensure that you are at the proper maintenance level before you load the data sets
on these tapes or cartridges into DB2 libraries.
To load the DB2 libraries, use System Modification Program Extended (SMP/E).
SMP/E processes the installation tapes or cartridges and creates DB2 distribution
libraries, DB2 target libraries, and SMP/E control data sets.
DB2 provides several jobs that invoke SMP/E. These jobs are distributed on one of
the tapes or cartridges that you receive.
| When you order DB2, it includes: DB2, DB2 REXX Language Support, DB2 Online
| Help, msys for Setup DB2 Customization Center, IRLM 2.2, JDBC, SQLJ, ODBC,
| IAV Extenders, Text Extender, and XML Extender.
The DB2 Management Clients Package includes: Visual Explain, DB2 Connect, DB2
Administration Server for z/OS, and DB2 UDB for z/OS Control Center
Enablement. The tools are offered to you on a CD-ROM. For more information
about these workstation features, see their readme files on the CDs. The DB2 UDB
for z/OS Control Center Enablement is shipped on a tape or cartridge. Directions
for installing the Control Center Enablement are in the DB2 Management Clients
Package Program Directory. For customization information about the Control
Center, see IBM DB2 Connect Quick Beginnings for DB2 Connect Enterprise Edition
and www.ibm.com/software/data/db2/os390/cc390
DB2 REXX Language Support lets you write and run REXX language applications
that include SQL statements. For more information about installing DB2 REXX
Language Support, see this chapter and DB2 Program Directory. For information
about using DB2 REXX Language Support, see DB2 Application Programming and
SQL Guide.
Each tape or cartridge has one or more function modification identifiers (FMIDs)
that SMP/E uses to distinguish separate parts of DB2. This arrangement simplifies
shipping and service. IRLM, for example, is distributed with both IMS and DB2,
and therefore has a separate FMID.
Along with these tapes or cartridges, you receive a set of documents. One of these
documents is DB2 Program Directory. Read the DB2 Program Directory before
installing or migrating to a new version of DB2. It identifies and describes the
contents of FMIDs for each tape or cartridge. It also describes any additional
service that needs to be applied to DB2. You also receive a Program Directory for
each feature of the DB2 server that you ordered. Read these directories before
installing any of the DB2 features.
If you plan to use the DB2 callable SQL interface (DB2 ODBC), you need to run
additional installation jobs. See DB2 ODBC Guide and Reference for more
information.
If you plan to use DB2 UDB for z/OS Java Edition, see DB2 Application
Programming Guide and Reference for Java for information about additional
installation jobs that you need to run.
48 Installation Guide
DB2 Program Directory and this book. Refer to DB2 Program Directory for PSP
keyword specifications. Be sure that you apply all necessary corrective service to
your DB2 system before migrating.
Recommendation: Check monthly for PSP updates. This way, you get the most
current information about DB2. Contact IBM Software Support if you do not have
access to IBMLink.
Table 21 describes all the DB2 distribution libraries. The distribution libraries
contain the master copy of all elements for your DB2 system.
Table 21. DB2 distribution libraries
Distribution libraries Description
prefix.ADSNBASE This library contains all jobs that are required to
complete SMP/E installation.
prefix.ADSNLOAD This library contains an individual object module
for every DB2 load module. It contains the IRLM
load modules if you choose to install IRLM into
the same distribution libraries as DB2. This
library must be a PDSE data set.
prefix.ADSNLOD2 This library contains a PDSE data set, which
contains JDBC and SQLJ DLLs.
prefix.ADSNMACS This library contains the DB2 macros, sample
programs, sample data, initialization data, TSO
CLISTs, ISPF panels, and ISPF messages.
prefix.ADSNENU or ADSNDKF This library contains the DB2 English or Kanji
task panels, respectively.
prefix.ADSNIVPD This library contains the IVP input data and
expected output for sample applications.
prefix.ADXRLOAD This library contains an individual object module
for every IRLM load module.
prefix.ADXRSAMP This library contains the installation procedures
for installing IRLM Version 2.
prefix.ADSNHFS This library contains the data that is to be copied
into z/OS UNIX® System Services.
prefix.ADSNBKS These libraries contain the DB2 Online Help
prefix.ADSNINDX files.
prefix.ADSNINST
prefix.ADSNSHLF
50 Installation Guide
Table 22. DB2 target libraries (continued)
Target libraries Description
prefix.SDSNC.H This library contains the header files. The command-line
interface (CLI) requires header files. C language
application programs can use header files.
prefix.SDSNIVPD This library contains the IVP input data and the expected
output for sample applications.
prefix.SDXRSAMP The IRLM samples library might be empty if you chose
to install IRLM elsewhere.
prefix.SDXRRESL This library contains the IRLM load modules. This
library might be empty if you chose to install IRLM
elsewhere.
The remainder of this chapter explains how to edit and run the SMP/E jobs that
DB2 provides. These jobs allocate the DB2 libraries and load them with the data
from the installation tapes or cartridges.
If you have a CBPDO or ServerPac, refer to the documentation that is sent with the
package.
If this job fails or abends, correct the job and rerun it.
| This JCL copies all members that are required to complete SMP/E installation.
| These jobs exist as members of the partitioned data set IBM.HDB8810.F3 on tape
| VOLSER=DB8810.
# After running the copy job, edit and run jobs DSNALLOC, DSNTIJUD (optional),
# DSNRECV1, DSNRECV2, DSNRECV3, DSNRECV4, DSNAPPL1, DSNACEP1,
52 Installation Guide
# DSNAPPL2, DSNACEP2, and DSNMSMKD. Also copy the DSNMMKDR EXEC.
# See the header notes within each job for information about how to customize the
# job for your particular installation. Do not run DSNRECV2 if your IRLM is at a
# higher level. For more information, see DB2 Program Directory.
Item Location
JOB statements 53
Link list options 53
DB2 program library 55
DB2 library naming considerations 57
SMP/E data set options 58
IRLM options 59
In this command, xx represents the last two characters of the SMP/E job name.
This command submits the JOB statement along with the job.
prefix.SDSNLINK: Contains modules that you must place in the link list because
they are loaded at subsystem initialization during IPL. For Version 8, the load
module library SDSNLINK contains modules that are called early (ERLY) code. If
your system is at the prerequisite maintenance level, your Version 7 early code is
upward compatible with Version 8. The Version 8 early code is downward
compatible with Version 7.
Schedule a z/OS IPL before or during a migration to a new release of DB2. This
IPL is necessary because migration job DSNTIJMV makes changes to
SYS1.PARMLIB that are not recognized by z/OS until the next IPL. Changes that
DSNTIJMV makes to the SYS1.PARMLIB affect the following libraries:
New subsystem definitions in IEFSSNxx
New APF libraries in IEAAPFxx
New load module libraries in LNKLSTxx.
prefix.SDSNLINK:
Contains early code
can be shared by multiple subsystems and releases of DB2
Is APF-authorized
prefix.SDSNLOAD:
Contains modules that you can place in the z/OS link list
Is a main load module repository
Can be shared by multiple subsystems at the same release level
Allows only DB2 to modify code
Holds default exit routines
Is APF-authorized
| Must be a PSDE
prefix.SDSNLOD2: Contains a PDSE data set, which contains JDBC and SQLJ DLLs.
prefix.SDSNEXIT:
Contains modules that you can place in the link list
Holds the subsystem parameter module, DSNHDECP, and user-written exit
routines
Is modified by user
Is APF-authorized
IRLM link list requirement: You must add the IRLM load module DXRRL183 to
the link list. This requires that you copy the module into another library if the
IRLM load module is not in the link list. After you apply maintenance to IRLM
that affects DXRRL183, remember to copy the updated module to the link list.
| Integrated Cryptographic Services Facility link list requirement: If you plan to use
| encryption with your DB2 subsystem, you must include the Integrated
| Cryptographic Services Facility library that contains the SCSFMOD0 load module
| in the link list. The SQL statement SET ENCRYPTION PASSWORD and the
| following built-in functions require this support:
| v ENCRYPT
54 Installation Guide
| v DECRYPT_BIT
| v DECRYPT_DB
| v DECRYPT_CHAR
| v GETHINT
Supporting one DB2 subsystem: You can choose among several methods of
maintaining a single DB2 subsystem. The following steps describe what is probably
the easiest method for most sites:
1. Change the SMP/E procedure DSNALLOC to assign all load modules to
prefix.SDSNLOAD. You can do this by changing the data set name for DDDEF
(SDSNLINK) from prefix.SDSNLINK to prefix.SDSNLOAD.
2. Remove the allocation for prefix.SDSNLINK from the allocation job
DSNALLOC.
3. Include prefix.SDSNLOAD (instead of prefix.SDSNLINK) in the LNKLSTxx
member of SYS1.PARMLIB.
You can also have two or more DB2 subsystems at the same release level, but at
different service levels. For example, you can have a DB2 Version 8 production
subsystem and a DB2 Version 8 test subsystem at different service levels.
Alternately, you can have two DB2 subsystems at different release levels. For
example, you can have a Version 8 subsystem and a Version 7 subsystem.
In either of these cases, you can assign the DB2 modules that must be in the link
list libraries to an existing link list data set. To do this, change the data set name
for DDDEF (SDSNLINK) in the DSNALLOC procedure to the name of an existing
entry in the LNKLSTxx member of SYS1.PARMLIB. You might still want to have
the prefix.SDSNLOAD data set listed once in the link list to permit fewer STEPLIB
statements. With different SDSNEXIT data sets, you can easily have different
subsystem parameter or DSNHDECP members for each subsystem.
# The DB2 subsystem must use the appropriate release level of prefix.SDSNLOAD,
# but the application attachment code (for example, CICS, CAF, or TSO Attach) can
# use code that is either one release level down or one release level up from that of
# prefix.SDSNLOAD. To use application attachment code that is either one level
# down or one level up from that of prefix.SDSNLOAD, place the attachment code in
# a different STEPLIB data set from the STEPLIB data set that DB2 executes.
The installation and migration jobs that are provided with DB2 Version 8 already
contain the necessary JOBLIB or STEPLIB statements. In addition, the startup
procedures that DB2 provides for Version 7 and Version 8 include STEPLIB
statements for their respective program libraries, prefix.SDSNLOAD and
prefix.SDSNEXIT.
Performance considerations
This topic discusses performance considerations for including modules in the
libraries that are included in the link list and presents some suggestions on the
strategies you might want to consider. These general suggestions might not match
the specific needs of your site.
Adding many modules to the libraries that are included in the link list can reduce
system performance. However, adding only a few modules to the libraries requires
additional STEPLIB or JOBLIB statements. Because these STEPLIB or JOBLIB
statements must be searched before the link list is searched, this approach can also
reduce system performance. The approach that produces the best performance for
your site depends on the environment in which you use DB2. Regardless of which
attachment facilities you use, the modules in prefix.SDSNLINK must always be in
the link library list.
If you are using DB2 with IMS, you should probably include prefix.SDSNLINK, not
prefix.SDSNLOAD, in the LNKLSTxx member of SYS1.PARMLIB because both the
IMS RESLIB and prefix.SDSNLOAD have the DSNHLI alias. Place the needed
STEPLIB or JOBLIB statements in the IMS procedures.
If you are using DB2 with IMS and you want prefix.SDSNLOAD (in addition to
prefix.SDSNLINK) in the LNKLSTxx member of SYS1.PARMLIB, ensure that the
library concatenation for prefix.SDSNLOAD and the IMS RESLIB are correct for
your site because both libraries have the DSNHLI alias.
56 Installation Guide
If you are using DB2 with CICS, you should probably to put prefix.SDSNLINK, not
prefix.SDSNLOAD, in the LNKLSTxx member of SYS1.PARMLIB. Then place the
needed STEPLIB or JOBLIB statements in the CICS procedures.
The approach for using the TSO, RRS attachment, and call attachment facilities
involves the following considerations:
v If you use the DSN command and its subcommands infrequently, place only
prefix.SDSNLINK in the LNKLSTxx member of SYS1.PARMLIB. Provide the
necessary STEPLIB or JOBLIB statements in your TSO logon procedures or in
your JCL if you are using batch.
v If you use the DSN command and its subcommands frequently, you might also
want to move the TSO attachment facility load modules to a library that is
defined in the LNKLSTxx. The TSO attach modules are DSNECP00, DSNECP10,
DSNESM00, and DSNELI.
v If you use the call attachment facility (CAF) frequently, move the CAF load
modules (DSNACAB, DSNACAF, and DSNALI) to a library that is defined in
the LNKLSTxx.
| v If you use the RRS attachment facility (RRSAF) frequently, move the RRSAF load
| modules (DSNARRS and DSNRLI) to a library that is defined in the LNKLSTxx.
v If you use the CAF, RRSAF, or the DSN command and its subcommands
frequently, you should probably move the eligible load modules to a library that
is defined in the link pack area (LPA), in IEALPAxx member of SYS1.PARMLIB.
The CAF and DSN load modules must reside below the 16-MB line of z/OS
virtual storage.
– The TSO load modules that you can place in the LPA are DSNECP00,
DSNECP10, DSNESM00, and DSNELI. If you include these modules in the
LPA, remember to include the appropriate aliases for DSNECP00 (DSN) and
DSNELI (DSNHLI).
– The CAF load modules that you can place in the LPA are DSNACAF and
DSNALI. If you include these modules in the LPA, remember to include the
appropriate alias for DSNALI (DSNHLI2). Do not include DSNACAB in the
LPA because it is a data-area-only, non-executable load module.
| – The RRSAF load modules that you can place in the LPA are DSNARRS and
| DSNRLI. If you include these modules in the LPA, you must include the
| appropriate alias for DSNRLI (DSNHLIR).
Attention: If modules are moved or copied from one library to another, you must
make changes to SMP/E control data to reflect the movement. If you do not make
these changes, future service or changes to the modules will not be processed
correctly.
The Version 8 default prefix (prefix) is used in this book; the default suffix is null.
You need to edit each of the DB2 SMP/E jobs and follow the directions in the
header notes of each job to specify the names of the SMP/E data sets. If you want
to add a suffix, edit the SMP/E procedures and allocation jobs. The prefix cannot
exceed 18 characters. The suffix cannot exceed 17 characters, minus the length of
You can also change the base name of these libraries or load them into another
data set. If you do this, however, you might need to do additional editing of the
installation or migration jobs. The DSNTINST CLIST, which you use later to tailor
the installation and migration jobs, uses the following default data set names:
prefix.ADSNLOAD prefix.SDSNMACS
prefix.SDSNCLST prefix.SDSNSAMP
prefix.SDSNEXIT prefix.DBRMLIB.DATA
prefix.SDSNLINK prefix.RUNLIB.LOAD
prefix.SDSNLOAD prefix.SRCLIB.DATA
prefix.SDSNDBRM prefix.SDSNIVPD
prefix.SDXRRESL prefix.SDSNC.H
Document any changes you make to the library names in the SMP/E jobs. You
must specify these library names again during the ISPF tailoring session.
Sharing SMP/E data sets with IMS: If you do not share SMP/E data sets with
IMS, skip this topic and continue with 59.
DB2 and z/OS cannot share SMP/E data sets because some module names and
macro names are common to both products. Under certain conditions, however,
DB2 can share SMP/E data sets with IMS.
The allocation job that you run, DSNALLOC, defines a new set of SMP/E data sets
that DB2 and IMS are to share.
You must modify your allocation job for either of the following situations:
Situation 1: You decide to have separate SMP/E data sets for DB2 and IMS. In
certain situations, DB2 and IMS cannot share SMP/E data sets. You must have
separate SMP/E data sets if you want to have two IRLMs.
Even if you are not required to have separate SMP/E data sets, you might want to
keep them separate If DB2 and IMS share the SMP/E data sets, you need to accept
or reapply DB2 corrective service to these data sets to allow IMS SYSGENs.
To establish separate SMP/E data sets for DB2 and IMS, change the data set prefix
that your allocation job uses to a value other than the prefix that you use for your
current IMS SMP/E data sets. The allocation jobs use the prefix IMS. Changing this
prefix prevents the allocation job from replacing your current SMP/E data sets and
still allows it to create new SMP/E data sets.
58 Installation Guide
Situation 2: You decide to share SMP/E data sets between DB2 and IMS, but you
want to use the SMP/E data sets that already exist for IMS. To do this, remove the
data set allocation and initialization statements from your allocation job. When you
run the job, no SMP/E data sets are created, and DB2 then shares the existing
SMP/E data sets with IMS.
For additional information about sharing data sets, refer to OS/390 SMP/E User's
Guide.
Establishing SMP/E data sets for two releases: A single set of SMP/E zone
structures can record only one release of DB2. Maintaining separate zone structures
for both Version 7 and Version 8 is strongly recommended until you are sure that
you will not need to fall back. The SMP/E jobs that are provided with DB2 assume
that you will allocate a new set of SMP/E data sets for the new release. When you
run your allocation job (DSNALLOC), it creates a set of SMP/E data sets. If you
choose to reuse your Version 7 zone structure, you can run job DSNTIJUD to delete
SMP/E data for Version 7. However, after you run this job, you cannot fall back.
You can create an additional set of SMP/E data sets either by copying them from a
prior release of DB2 or by allocating a new set. Allocating a new set is faster
because no data must be deleted.
Recommendation: Copy a prior set so that you can then perform service
regression checking.
IRLM options
The SMP/E prefix in the SMP/E jobs is the same for the new IRLM as for the old
IRLM. Consequently, if you do not change the SMP/E prefix, the jobs overwrite
your old IRLM. If you do not want to do this, edit the jobs accordingly.
SMP/E step 2: Allocate the SMP/E CSI file and SMP/E control data
sets: DSNTIJAA (optional)
This job creates the SMP/E consolidated software inventory (CSI) file and SMP/E
data sets and allocates them to SMP/E. DSNTIJAA also creates the DB2 target and
distribution zones. DSNTIJAA is required only if these objects are not created and
allocated to the SMP/E global zone. Depending on how you set up your systems,
you might need to contact a z/OS system programmer to help you manage some
of the SMP/E data sets.
For each group of data sets, DSNTIJAA requires a data set prefix and a volume
name on which to allocate the data sets. These names are called the allocation job
parameters.
Change the allocation parameters according to the decisions that you made
regarding the SMP/E data set options. Table 24 lists the allocation job parameters
(prefix and volume) for each of the groups of data sets.
Table 24. Allocation job parameters for SMP/E control data sets
Parameter type Search strings
Prefix ?SMPPRE?
TLIB prefix ?TLIBPRE?
Volume ?SMPVOL?
TLIB volume ?TLIBVOL?
Middle-level qualifier ?SMPMLQ?
Examine the following items in the job you are using, and make any necessary
modifications:
Space allocations: The space that is allocated for the SMP/E history log data sets
is rather large. The DDNAME for this data set is SMPLOG; its default name is
IMSVS.HLDS. If you do not want to retain this log information, remove the data
set allocations for DDNAMEs SMPLOG and SMPLOGA from steps ALLOC and
INITSMP of job DSNTIJAA. In step INITSMP, you also need to specify
DA(NULLFILE) in the DDDEFs for SMPLOG and SMPLOGA.
The ?TLIBVOL? parameter defines the location of the SMPTLIB data sets. The
volume on which these data sets reside must have at least 35 MB (1 MB=1048576
bytes) of free space. That is about 37 cylinders on a 3390 and 49 cylinders on a
3380.
The block size is specified as 19069 for unformatted data sets and is determined by
the system for other data sets.
Important: AVGREC requires that SMS be active; however the data sets do not
need to be allocated on SMS-managed storage devices.
SREL and DSSPACE: The allocation jobs specify an SREL of P115 for the SMP/E
data sets. Do not change this. They also specify DSSPACE to be (400,400,1200). This
is a minimum; change it only if you need to increase it.
SMP/E zone structure: SMP/E zone structures are discussed in OS/390 SMP/E
User's Guide. You can choose to use a different zone structure from the one that is
shown in DSNTIJAA.
For each group of data sets, DSNALLOC requires a data set prefix and a volume
name on which to allocate the data sets. These names are called the allocation job
parameters.
You need to change the allocation parameters according to the decisions that you
made regarding the LNKLST option and library definition. Table 25 on page 61
lists the allocation job parameters (prefix, volume, and unit name) for each of the
groups of data sets.
60 Installation Guide
Table 25. Allocation job parameters for DB2 distribution and target libraries
Data sets Parameter type Search strings
DB2 distribution libraries Prefix volume ?DLIBPRE?
?DLIBVOL?
DB2 target libraries Prefix volume ?TARGPRE?
?TARGVOL?
# Important: After you run job DSNALLOC, run job DSNMSMKD for access to msys
# for Setup DB2 Customization Center. See the header notes in job DSNMSMKD for
# information about how to customize the job for your particular installation.
The SMP/E RECEIVE jobs load the DB2 program modules, macros, procedures,
IRLM, ODBC, JDBC, SQLJ, and DB2I Kanji into temporary data sets (SMPTLIBs).
# For a list of expected and acceptable warning messages and codes, see DB2
# Program Directory. If this job fails or abends, correct the problem and rerun the job.
Examine the RECEIVE job before you run it. The ?SMPPRE? and ?SMPMLQ?
parameters must have the same definition as in the allocation job. The SYSOUT
class is defined as the same class as the job’s MSGCLASS parameter.
At this point, you might want to run an SMP/E APPLYCHECK job to determine
any service and any USERMODs that might be regressed by the following jobs.
| Use the IRLM (FMID HIR2220) that is shipped as part of DB2 Version 8. If the
IRLM that is already installed on your system is at a higher maintenance level than
the IRLM that is shipped with DB2 Version 8, you can remove the HIR2220 step
from job DSNRECV2. If you use the same level of IRLM code for your IMS and
DB2 subsystems, use separate SMP/E zones or SMP/E control data sets. Using
down-level IRLM code increases your IRLM service activity and is not
recommended.
If you do not want to install DB2 Online Help, remove FMID HDB881A from the
list of FMIDs that DSNRECV1 is to receive.
# SMP/E step 5: Run the clean-up job for migration: DSNTIJUD (optional)
Recommendation: You can avoid running this job by using new SMP/E zones for
your migration. If this is not possible (if you are installing Version 8 in the same
SMP/E libraries in which you installed Version 7), you must run job DSNTIJUD.
Run job DSNTIJUD before the SMP/E APPLY (jobs DSNAPPL1 and DSNAPPL2).
Running job DSNTIJUD is not necessary if you are installing DB2 for the first time.
If you accidentally run it, it will have no adverse effect.
| Use the IRLM (FMID HIR2220) that is shipped as part of DB2 Version 8, unless
you have a higher maintenance level of IRLM already installed on your system. If
you want to use different levels of IRLM for your IMS and DB2 subsystems, you
must have different IRLM levels in different SMP/E zones or SMP/E control data
sets. Using the down-level IRLM increases your IRLM service activity and is not
recommended.
Examine the DSNTIJUD job before you run it. The ?SMPPRE? and ?SMPMLQ?
parameters must have the same definition as in the allocation job. The SYSOUT
class is defined as the same class as the MSGCLASS parameter of the job.
Attention: If DB2 shares the same CSI with any CICS or ISPF products, delete the
following statements from this job before executing:
v DEL MOD(DFHEAI)
v DEL MOD(DFHEAIO)
v DEL MOD(ISPLINK)
Examine the jobs before you run them. The ?SMPPRE? and ?SMPMLQ? parameters
must have the same definition as in the allocation job. The SYSOUT class is
defined as the same class as the MSGCLASS parameter of the job.
The APPLY statement contains the CHECK parameter, which allows you to verify
the APPLY without committing it. When you want to commit the APPLY, remove
the CHECK parameter and rerun the APPLY job.
# For a list of expected and acceptable warning messages and codes, see DB2
# Program Directory. The SQLCA1 and SQLCA2 references are resolved when
# DSNHFT is included in a Fortran application. If this job fails or abends, correct the
# problem and rerun the job. If you plan to use the DB2 call level interface (CLI), see
# DB2 ODBC Guide and Reference for information on the CLI FMID.
If you do not apply the FMIDs in a single APPLY statement as DSNAPPLx does,
use the following order:
1. HIY8810, HIZ8810, and HBD8810 together
2. HIR2220
If the IRLM (FMID HIR2220) on your system is a more current release or has had
maintenance applied so that it is at the same or higher maintenance level than the
one that is shipped with DB2, remove FMID HIR2220 from the APPLY step of job
DSNAPPL1.
If you do not want an element, remove the FMID of the element from the list of
FMIDs that are to be applied by DSNAPPL2. Table 26 identifies the FMIDs for the
62 Installation Guide
different products.
Table 26. Product FMIDs
Product name FMID
Online Help HDB881A
JDBC/SQLJ JDB8812
ODBC JDB8817
IAV Extenders JDB881B
Text Extender JDB881C
XML Extender JDB881X
Examine the ACCEPT job before you run it. The ?SMPPRE? and ?SMPMLQ?
parameters must have the same definition as in the allocation job. The SYSOUT
class is defined as the same class as the MSGCLASS parameter of the job.
The ACCEPT statement contains the CHECK parameter, which allows you to
verify the ACCEPT job without committing it. When you want to commit the
ACCEPT job, remove the CHECK parameter and rerun the accept jobs.
If this job fails or abends, correct the problem and rerun the job.
If the IRLM (FMID HIR2220) on your system is a more current release than the one
that is shipped with DB2 or has had maintenance applied so that it is at the same
or higher level of maintenance, remove FMID HIR2220 from the ACCEPT step of
job DSNACEPx.
If you do not want an element, remove the FMID of the element from the list of
FMIDs that are to be accepted by DSNACEPx. Table 27 identifies the FMIDs for the
different products.
Table 27. Product FMIDs
Product name FMID
Online Help HDB881A
JDBC/SQLJ JDB8812
ODBC JDB8817
IAV Extenders JDB881B
Text Extender JDB881C
XML Extender JDB881X
SMP/E step 9: Run the apply job for the additional FMIDs (optional)
This step is optional unless you plan to use the additional FMIDs. To use the
additional FMIDs, change job DSNAPPL2 to remove any unwanted FMIDs. Use
“SMP/E step 6: Run the apply jobs: DSNAPPL1, DSNAPPL2” on page 62 as a
guide to help you with this job.
SMP/E step 10: Run the accept job for the additional FMIDs (optional)
This step is optional unless you plan to use the additional FMIDs. To use the
additional FMIDs, change job DSNACEP2 to remove any unwanted FMIDs. Use
“SMP/E step 7: Run the accept jobs: DSNACEP1, DSNACEP2” on page 63 as a
guide to help you with this job.
Post-SMP/E activities
Each of the display language control techniques that this topic describes is a way
to set or change the current allocation of the DDNAME ISPPLIB. If an ISPPALT
allocation exists, ISPF uses it instead of an ISPPLIB allocation.
Logon procedures: To switch languages, you need to change only the data set
allocation that is currently in effect under the standard ISPF panel library
DDNAME. A user’s logon procedure can allocate DDNAME ISPPLIB to select the
current display language. Here is an example of a logon procedure:
64 Installation Guide
//* THIS VERSION DISPLAYS ENGLISH PANELS */
//ISPPLIB DD DSN=prefix.SDSNSPFP,DISP=SHR ENGLISH TASK
// DD DSN=prefix.SDSNPFPE,DISP=SHR ENGLISH DB2I
Some users allocate the ISPF panel library from their DEFAULT CLIST. Allocation
of DDNAME ISPPLIB controls the current language just as it does for the logon
procedure.
If you are falling back to Version 7, change your logon procedures or CLISTs that
use the Kanji feature to point to the Version 7 libraries.
To use DB2 Online Help, complete the set-up instructions in this chapter and then
invoke the DSNTINS0 CLIST.
If you choose not to use DB2 Online Help, invoke the DSNTINST CLIST as
described in “Invoking the CLIST” on page 81.
Before you install DB2 Online Help, you must first install BookManager READ. See
BookManager READ/MVS V1R3: Installation Planning & Customization for
information about how to do this.
After you install BookManager READ, see the following topics for the information
that you need to install, customize, and use online help:
v Copying the bookshelf list, index, and books
v Changing DB2 Online Help book data set names (optional)
v Customizing BookManager READ for DB2 Online Help (optional)
v Verifying DB2 Online Help and setting exit options
v Making DB2 Online Help accessible from installation and DB2I panels
v Using DB2 Online Help
The default names for those books are DSNHELP.book-ID.BOOK. You can change
the high-order qualifier of the book data set names, but if you do, you must
indicate to DB2 what the new data set names are. During installation, change the
data set names on installation panel DSNTIPA0. If you use DB2I, change the data
set names on panel DSNEIPA0.
68 Installation Guide
2. Select SEARCH on the action bar. The SEARCH menu is displayed.
3. Select option 2 ’Set up search ...’. The following error message is displayed:
F1=Help F12=Cancel
----------------------------------------------------------------------
The bookshelf does not match its bookshelf search index. Select
one of the following actions, and then press ENTER.
F1=Help F12=Cancel
To verify that DB2 Online Help is installed correctly: From the TSO command
option, enter:
BOOKMGR
Bookshelf List
Shelves 1 to 1
Shelf Name Description
__ DSNSHnnn DB2 V8 BOOKS FOR ONLINE HELP
If the BOOKMGR command abends, verify that you have concatenated the
BookManager data sets correctly in the LINKLIST, in the TSO logon procedure,
and in any user-supplied ISPF startup CLISTs.
----------------------------------------------------------------
----------------------------------------------------------------
Making DB2 Online Help accessible from installation and DB2I panels
To make DB2 Online Help accessible from the installation and DB2I task panels,
concatenate the DB2 ISPF command table library (prefix.SDSNSPFT) to the ISPTLIB
DD statements in your TSO logon procedures and in any of the CLISTs where
ISPTLIB is allocated.
# DB2 Online Help is available in English only. If you want to use DB2 Online Help
# for the DB2 installation panels and use the Kanji help panels for DB2I, you need to
# delete or rename member DSNECMDS in the prefix.SDSNSPFT library.
70 Installation Guide
Using DB2 Online Help
DB2 Online Help links you directly from DB2 panels to the information that you
need in the DB2 online books. Because DB2 Online Help uses BookManager READ
to display the help text, you can perform any BookManager function after online
help opens a DB2 book. This topic explains how to access DB2 Online Help from
installation or DB2I panels and how to navigate within the books.
Selecting the search match type: The default search match type is fuzzy matching.
With fuzzy matching, online help looks for words that share the same language
root as words in your search request, such as the plural forms of nouns or different
tenses of verbs. You can specify:
v exact matching, any case when you want to find the exact words that you type in
the SET UP SEARCH window regardless of capitalization
v exact matching, including case to find the exact words including capitalization and
punctuation
To change the search match type:
1. Select SEARCH on the action bar.
2. Select SET UP SEARCH in the SEARCH pull-down.
3. Press PF2 in the SET UP SEARCH window.
4. Move the cursor to the type of search matching that you want to use.
5. Take one of these actions:
v Press Enter to change the search match type temporarily.
v Press PF2 to set the search match type as your new default.
Tailoring your search request: To tailor your search request, you can:
Searching for variations and synonyms: You can also search for variations and
synonyms of words. To search for spelling variations:
1. Type your search request in the SET UP SEARCH window.
2. Move the cursor to a word in the request, and press PF4.
3. After a list of spelling variations for that word is displayed in the
WORDCHECK window, you can:
v Add words to your search request by typing a slash (/) next to each word
that you want to include and pressing PF4.
v Replace a word in your search request by typing a slash (/) next to the word
that you want to use and pressing PF5.
4. Press Enter to search the book.
To search for synonyms:
1. Type your search request in the SET UP SEARCH window.
2. Move the cursor to a word in the request, and press PF5.
3. After a list of synonyms for that word is displayed in the SYNONYMS
window, you can:
v Add words to your search request by typing a slash (/) next to each word
that you want to include and pressing PF4.
v Replace a word in your search request by typing a slash (/) next to the word
that you want to use and press PF5.
4. Press Enter to search the book.
Working with your search matches: When you search a book, DB2 Online Help
displays a list of the topics that contain information that matches your search
request. DB2 Online Help displays the topics in the list by location, frequency, size,
exactness, uniqueness, and similarity. The topics that appear first in the list are
those with the highest ranking.
v To see the context of the match, press PF4 to see a line of text beneath each topic
entry that shows where the best search match in the topic occurred.
v To see an explanation of why a topic matches your search request, move the
cursor to the topic identifier, and press PF6.
v To view a topic with a search match, move the cursor to the topic identifier, and
press Enter. You go to the first occurrence of the search word or phrase in the
selected topic.
v To bring up your search list again, select LIST ALL TOPICS WITH MATCHES
from the SEARCH pull-down.
Other options from the SEARCH pull-down include GO TO NEXT MATCH, GO
TO NEXT BEST TOPIC, and EMPHASIZE MATCHES (to highlight matching text
in the book).
72 Installation Guide
Exiting DB2 Online Help
To exit DB2 Online Help, press the Exit PF key (usually PF3). The selection panel
for the DB2 task panel that you were working on is displayed. To exit DB2 Online
Help and return to the task panel, press the Exit key again.
| The msys for Setup framework consists of three components. These components
| are:
| v The msys for Setup workplace. It runs on a Windows workstation and provides
| a graphical user interface similar to the Windows Explorer. The msys for Setup
| workplace is used to manage z/OS products. You interact with the workplace. It
| can be downloaded to the workstation from any z/OS host.
| v The msys for Setup host program. This is based on the Lightweight Directory
| Access Protocol (LDAP) directory support. The host program usually resides on
| the z/OS system. It manages all installation and customization tasks.
| v The msys for Setup management directory. This stores the configuration data for
| all systems on which msys for Setup is enabled. It resides on the z/OS system.
| z/OS products that provide an msys for Setup plug-in can be managed using msys
| for Setup. Parameter values for a particular product that is enabled for use with
| msys for Setup can be specified using the graphical user interface of the product
| plug-in. These values are stored in the msys for Setup management directory and
| eventually used by the host code of the product plug-in to customize and install
| the product.
| For information about using msys for Setup with DB2 UDB for z/OS and other
| products in your z/OS environment, see z/OS Managed System Infrastructure for
| Setup User's Guide.
|
| Using the DB2 Customization Center
| After you have prepared your z/OS subsystem and workstation for use with msys
| for Setup, you can add the DB2 Customization Center to the msys for Setup
| workplace. After adding the DB2 Customization Center to the workplace, you are
| ready to use the DB2 Customization Center.
| During customization, you review and, if necessary, modify the values of DB2
| system parameters. Then, during update, the DB2 Customization Center applies
| the changes that you made to the DB2 subsystem.
| DB2 UDB for z/OS includes an XML document that provides msys for Setup with
| necessary information. This document resides in prefix.SDSNXML. You can use the
| ″Add a product set″ wizard from the msys for Setup workplace to add the DB2
| product set to the workplace. When using this wizard, specify that you already
| have an up-to-date XML document for DB2. Enter the data set and member name
| of the XML document in the following format:
| prefix.SDSNXML(DSNMXML)
| For more information about adding a product set to the msys for Setup workplace,
| see z/OS Managed System Infrastructure for Setup User's Guide.
| You will enter information such as the DB2 subsystem name, command prefix, and
| target library prefix. If you have previously used the CLIST to customize a DB2
| subsystem, you can clone this DB2 by specifying the name of the output member
| generated by the CLIST. After you have provided this information, you will be able
| to perform the refresh.
| For more information on initiating the Refresh step from the msys for Setup
| workplace, see z/OS Managed System Infrastructure for Setup User's Guide.
| Customizing DB2
| After you have refreshed the msys for Setup workplace, you can customize DB2. In
| this step, the DB2 Customization Center contains several wizards that ask you a
| series of questions. These questions are used to set values for various DB2
| parameters. At the end of each wizard, you will be shown a list of DB2 parameters
| and their values. You can browse this list and modify any parameter value if
| necessary.
| After you have completed the wizards to customize DB2, an ″Update tasks″
| window appears. This window shows a list of all the tasks that need to be
76 Installation Guide
| performed on the z/OS host before DB2 can be used with these new values. These
| update tasks will vary depending on whether you have customized DB2 for
| installation, migration, or data sharing. Some of the update tasks can be performed
| by msys for Setup, but some will need to be performed by you or an authorized
| user outside of the msys for Setup framework. A few tasks may be performed by
| either msys for Setup or an authorized user.
| If you have already used the DB2 Customization Center to customize a DB2
| subsystem, you can copy the parameter values to another DB2 subsystem that is
| using msys for Setup. See z/OS Managed System Infrastructure for Setup User's Guide
| for more details.
| Important: You can choose to complete these tasks over time, but you cannot use
| DB2 until all of these tasks have been completed.
| For more information on initiating the Customize step from the msys for Setup
| workplace, see z/OS Managed System Infrastructure for Setup User's Guide.
| Updating DB2
| After you have chosen the parameter values you want to customize, you must
| update the DB2 subsystem with the values that you have chosen. The DB2
| Customization Center performs only those tasks that you specified in the ″Update
| tasks″ window in the previous step.
| Unlike the installation CLIST, the DB2 Customization Center does not generate JCL
| jobs. The tasks executed during the update are equivalent to those that are
| performed by the DB2 installation JCL jobs. If you want to use JCL jobs to
| configure DB2 on the host, you can use the DB2 Customization Center to generate
| an output member that can be used as input to the CLIST.
| Further information about performing the update step is available in z/OS Managed
| System Infrastructure for Setup User's Guide.
| When installing or migrating, you can run the installation CLIST to prepare jobs
| that are needed for later steps. Alternatively, you can use msys for Setup DB2
| Customization Center, a GUI tool, to install or migrate your DB2 subsystem.
The installation CLIST displays a series of ISPF panels that prompt you to supply
the parameter values or accept the supplied defaults. The CLIST verifies that the
values that you enter are within the allowable ranges. The “Running the
installation CLIST” on page 80 topic contains instructions for running the CLIST.
The instructions identify the parameters and describe their purposes in the order in
which they appear on the panels.
80 Installation Guide
The installation CLIST allocates several data sets for input/output. From your TSO
user ID, you should be able to allocate these data sets to the permanent or
temporary unit names that are provided on installation panel DSNTIPA2. These
devices can be defined by an esoteric device group. For more information on
esoteric device groups, see z/OS MVS Initialization and Tuning Guide.
The PROFILE command provides complete error messages. DB2 does not support
using LIBDEFs for the installation CLIST DSNTINS0 and online help.
The ALLOCATE command uses the default names of the libraries that contain the
ISPF panels. These ISPF library names might be different at your site. To
concatenate or merge existing libraries with them, put the library names in the list
of names in parentheses after DSN with the largest block size first. (If two or more
libraries have the same block size, you can list either one first.)
The installation CLIST saves the panel input into your DSNTIDxx output member
just before the CLIST issues this message:
DSNT4781 BEGINNING EDITED DATA SET OUTPUT.
Use job DSNTIJVC to combine the CLISTs into a common data set. If you are
installing DB2, see “Make DB2 CLISTs available to TSO and batch users:
DSNTIJVC” on page 265 for more information. If you are migrating, see “Make
DB2 CLISTs available to TSO and batch users: DSNTIJVC” on page 328.
DB2 performs validity checking of the values that you enter during the panel
sessions. If you receive an ISPF error message, press the HELP key for additional
information.
82 Installation Guide
|
Version 8
DB2 tape Installation
DSN810.SDSNSAMP DSN810.SDSNSAMP
DSNTIDXA DSNTIDxx
input parameter Version 8 output
member, sample parameter
JCL member
prefix.NEW.SDSNSAMP
Panel Installation
settings CLIST Tailored
skeleton
JCL
DSN810.SDSNCLST
prefix.NEW.SDSNTEMP
CLISTs
Tailored
CLISTs
|
| Figure 2. Examples of input to and output from the installation CLIST during installation
|
|
Migration to
DSN710.DSNSAMP compatibility mode
DSNTIDxx
Version 7
output parameter
member
Version 8
DB2 tape
DSN810.SDSNSAMP DSN810.SDSNSAMP
DSNTIDXA DSNTIDxx
Version 8 input Version 8 migration
parameter member, output parameter
sample JCL member
Installation prefix.NEW.SDSNSAMP
Panel CLIST
settings Tailored
skeleton
JCL
DSN810.SDSNCLST
prefix.NEW.SDSNTEMP
CLISTs Tailored
CLISTs
|
| Figure 3. Examples of input to and output from the installation CLIST during migration to
| compatibility mode
prefix.NEW.SDSNSAMP
Panel Installation
settings CLIST Tailored
skeleton
JCL
DSN810.SDSNCLST
CLISTs
|
| Figure 4. Examples of input to and output from the installation CLIST during conversion to
| new-function mode
Preparation: After the description of each parameter, record your choice for a
value before you actually use the panels. If, for some reason, you exit the CLIST
before you go through all the panels, your values are not saved.
Panels that have fields marked with asterisks show their values are primed on the
basis of values from a previous panel. The following message is found on these
panels:
DSNT444I SCROLLING BACKWARD MAY CHANGE FIELDS MARKED WITH ASTERISKS
If you scroll back to the panel which has the original value, the values on the
succeeding panels are refreshed only if the original value is changed. If the values
are changed, the following message is displayed:
DSNT443I VALUES MARKED WITH AN ASTERISK HAVE BEEN UPDATED
For example, panel DSNTIPH has fields that are marked with asterisks indicating
values that are primed on the basis of the CATALOG ALIAS value (field 1) on
installation panel DSNTIPA2.
Help: If you have DB2 Online Help installed, press the HELP PF key (usually PF1)
or enter HELP on the command line to get help for the choices you can make on
each panel. Pressing the HELP key takes you to a help menu panel. Type the
number of the item for which you need help and press Enter to link directly to
detailed information on that subject in an online book. You can also search or scroll
through the book to find additional information on related topics as well. Press the
EXIT PF key (usually PF3) to exit the book and return to the help menu panel.
84 Installation Guide
Press the END PF key (usually PF3) to return to the installation panels. You cannot
make actual entries on help menu panels. Return to the installation panel to make
the entry.
Data entry: Enter your choice on a panel in the space that is marked by an arrow
(===>). Begin your entry in the second position to the right of the arrow. (The first
position is protected; you cannot write in it.)
Panel IDs: If you want the panel IDs to appear on each panel, enter the following
command from any panel:
PANELID ON
Defaults: The defaults shown in this book are the original defaults that are
supplied by IBM. If you ran the CLIST before and saved the updated panel values
in a DSNTIDxx data set that you are now using as input, the values you entered
now appear as defaults on the panels. Panel values that are modified outside of
the installation process are not saved in the DSNTIDxx data set and are not
reflected on the panels.
DSNHDECP names: These are the names of the parameters in the data-only load
module DSNHDECP.
Subsystem parameter names: These are the names of the parameters in the
data-only load module DSNZPxxx.
Acceptable values: This part of the description gives you the range of allowable
values or the list of allowable choices for an installation panel field—not
necessarily the value that is associated with that field. If the maximum allowable
value is over 1024, in most cases you can use the equivalent K value. (The CLIST
automatically multiplies the K value by 1024.) If the maximum allowable value is
over 1 048 576, in most cases you can use the equivalent M value. (The CLIST
automatically multiplies the M value by 1 048 576.) If the maximum allowable
value is over 1024 MB, in most cases you can use the equivalent G value. If the
maximum allowable value is over 1024 GB, in most cases you can use the
equivalent T value. The maximum acceptable values might be too large for smaller
systems; therefore, ensure that the values that you enter are valid for the size of
your system.
Your installation options are described in the sequence that DB2 presents the
panels to you:
Directory of panels
Your installation options are described in the sequence that DB2 presents the
panels to you:
86 Installation Guide
# Table 30. Panel fields (continued)
# Panel field name Panel See
88 Installation Guide
# Table 30. Panel fields (continued)
# Panel field name Panel See
|
# INDEX SPACE DEFAULT SIZE DSNTIP7 137
# INPUT MEMBER NAME DSNTIPA1 94
# INSTALL DD CONTROL SUPT. DSNTIPZ 232
# INSTALL IRLM DSNTIPI 182
# INSTALL TYPE DSNTIPA1 94
# INSTALLATION GUIDE DSNTIPA0 93
# IRLM LOAD LIBRARY DSNTIPT 113
# IRLM LOCK MAXIMUM SPACE DSNTIPC 238
# IRLM XCF GROUP NAME DSNTIPJ 188
# ISPF ISPLINK MODULE DSNTIPW 127
# IVP DATA LIBRARY DSNTIPT 113
# LANGUAGE DEFAULT DSNTIPF 163
|# LARGE EDM BETTER FIT DSNTIP8 176
# LEVELID UPDATE FREQ DSNTIPL 204
# LIMIT BACKOUT DSNTIPL 204
# LINK LIST ENTRY DSNTIPM 199
# LINK LIST LIBRARY DSNTIPT 113
# LINK LIST SEQUENCE DSNTIPM 199
# LOAD DISTRIBUTION DSNTIPT 113
# LOAD LIBRARY DSNTIPT 113
# LOCAL DATE LENGTH DSNTIP4 171
# LOCALE LC_CTYPE DSNTIPF 163
# LOCAL TIME LENGTH DSNTIP4 171
# LOCK ENTRY SIZE DSNTIPJ 188
# LOCKS PER TABLE(SPACE) DSNTIPJ 188
# LOCKS PER USER DSNTIPJ 188
# LOG APPLY STORAGE DSNTIPL 204
|# LONG-RUNNING READER DSNTIPE 140
# MACRO LIBRARY DSNTIPT 113
# MANAGE THREAD STORAGE DSNTIPE 140
# MAX ABEND COUNT DSNTIPX 229
# MAX BATCH CONNECT DSNTIPE 140
|# MAX DEGREE DSNTIP8 176
# MAX KEPT DYN STMTS DSNTIPE 140
| MAX OPEN CURSOR DSNTIPX 229
# MAX REMOTE ACTIVE DSNTIPE 140
# MAX REMOTE CONNECTED DSNTIPE 140
|# MAX STORAGE FOR LOCKS DSNTIPJ 188
|# MAX STORED PROCS DSNTIPX 229
# MAX TSO CONNECT DSNTIPE 140
|# MAX INACTIVE DBATS DSNTIPR 219
# MAX USERS DSNTIPE 140
# MAXIMUM LE TOKENS DSNTIP7 137
# MEMBER IDENTIFIER DSNTIPJ 188
# MEMBER NAME DSNTIPK 106
# MINIMUM DIVIDE SCALE DSNTIPF 163
# MIXED DATA DSNTIPF 163
# MONITOR SIZE DSNTIPN 149
# MONITOR TRACE DSNTIPN 149
# NUMBER OF COPIES DSNTIPH 109
# NUMBER OF LOCK ENTRIES DSNTIPJ 188
# NUMBER OF LOGS DSNTIPL 204
# NUMBER OF TCBS DSNTIPX 229
# OBJT REGISTRATION TABLE DSNTIPZ 232
|# OPTIMIZATION HINTS DSNTIP8 176
|# OPTIMIZE EXTENT SIZING DSNTIP7 137
90 Installation Guide
# Table 30. Panel fields (continued)
# Panel field name Panel See
92 Installation Guide
Online book data set names panel: DSNTIPA0
The entries on this panel enable DB2 Online Help.
You have invoked the DSNTINS0 CLIST, which enables the online
help. To use online help, you must set it up according to the
instructions in the IBM DATABASE 2 Program Directory. If you
have not set up online help, do so before continuing to run this
CLIST. If you do not want to use online help, exit now and invoke
the DSNTINST CLIST.
If you changed the data set names when you unloaded the DB2 books,
enter those names below. All book data set names must end with .BOOK.
Acceptable values: Valid data set name, which ends in .BOOK. See 97 for
information about valid data set names.
Default: DSNHELP.DSNAP0G1.BOOK
DSNZPxxx: none
2. COMMAND REFERENCE
Acceptable values: Valid data set name, which ends in .BOOK. See 97 for
information about valid data set names.
Default: DSNHELP.DSNCR0G1.BOOK
DSNZPxxx: none
3. INSTALLATION GUIDE
Acceptable values: Valid data set name, which ends in .BOOK. See 97 for
information about valid data set names.
Default: DSNHELP.DSNIG0G1.BOOK
DSNZPxxx: none
Acceptable values: Valid data set name, which ends in .BOOK. See 97 for
information about valid data set names.
Default: DSNHELP.DSNUG0G1.BOOK
DSNZPxxx: none
To save your panel input, you must specify an output member name in OUTPUT
MEMBER NAME.
The DSNTINST CLIST saves the panel input into your DSNTIDxx output member
just before the CLIST issues this message:
DSNT4781 BEGINNING EDITED DATA SET OUTPUT
| DSNTIPA1 DB2 VERSION 8 INSTALL, UPDATE, MIGRATE, AND ENFM - MAIN PANEL
| ===> _
|
| Check parameters and reenter to change:
|
| 1 INSTALL TYPE ===> INSTALL Install, Update, Migrate,
| or ENFM (Enable New Function Mode)
| 2 DATA SHARING ===> NO Yes, No, or (blank for Update or ENFM)
|
| Enter the data set and member name for migration only. This is the name used
| from a previous Installation/Migration from field 7 below:
|
| 3 DATA SET NAME(MEMBER) ===>
|
| Enter name of your input data sets (SDSNLOAD, SDSNMACS, SDSNSAMP, SDSNCLST):
| 4 PREFIX ===> DSN810
| 5 SUFFIX ===>
| Enter to set or save panel values (by reading or writing the named members):
|
| 6 INPUT MEMBER NAME ===> DSNTIDXA Default parameter values
| 7 OUTPUT MEMBER NAME ===> Save new values entered on panels
|
| PRESS: ENTER to continue RETURN to exit HELP for more information
1. INSTALL TYPE
94 Installation Guide
| new-function mode. In a data sharing environment, the enabling-new-function
| mode process is done once for the data sharing group.
If you are updating or migrating, you use the same set of panels you use for
installation. Each panel displays all fields; however, the fields that cannot be
changed in update or migrate mode are protected. This way, you can see the
values that are related to ones that you want to change.
You can also choose either INSTALL or UPDATE to recheck values you that chose
before.
Certain fields cannot be changed during a migration. See Figure 11 on page 109,
Figure 15 on page 132, Figure 16 on page 137, and Figure 27 on page 194 for more
information. Ensure that those fields are correct in the data set member you
provide.
2. DATA SHARING
Specify whether you want to use the data sharing function. Choose NO if you are
not using data sharing. If you choose YES, you will continue to panel DSNTIPK
after completing panel DSNTIPA2.
.-------------------------------.
| DSNTIPP1 |
| |
| DATA SHARING FUNCTION: |
| |
| Select one. |
| _ 1. Group |
| 2. Member |
| 3. Enable |
| |
| PRESS: ENTER to continue |
| RETURN to exit |
| |
| |
| |
’-------------------------------’
Figure 7. DSNTIPP1
If you specify YES in the DATA SHARING field during migration, a window is
displayed asking if the current member is the first to migrate.
.-------------------------------------.
| DSNTIPP2 |
| |
| FIRST MEMBER OF GROUP TO MIGRATE? |
| |
| Select one. |
| _ 1. Yes |
| 2. No |
| |
| PRESS: ENTER to continue |
| RETURN to exit |
| |
| |
’-------------------------------------’
Figure 8. DSNTIPP2
Specify Yes if this is the first member of a data sharing group to migrate. A value
is required.
Specify the name of the input data set to use for migrating from DB2 UDB for
z/OS Version 7. The named member contains the output parameters that are
produced when you last installed, updated, or migrated DB2. Give the fully
qualified data set name in the following form:
any.data.set.name(member)
If you no longer have this data set member, or if the one you have is incorrect, use
the installation or update process from your previous release to re-create or correct
the member. Enter the correct values on the panels, and save them under a new
output member name. Discard the JCL that is created by this process; use the
newly created member for migration.
96 Installation Guide
If you are installing, converting to new-function mode, or updating, the field must
remain blank.
Valid data set name: Valid data set names can be unqualified or qualified:
Unqualified name
One to eight alphanumeric or national characters, a hyphen, or the
character X'C0'. The first character must be alphabetic or national. Do not
use hyphens in data set names for RACF-protected data sets. For example,
ALPHA is an unqualified data set name.
Qualified name
Multiple names joined by periods. Each name is coded like an unqualified
name. Therefore, the name must contain a period within every eight
characters. For example, ALPHA.PGM is a qualified data set name. The
maximum length of a qualified data set name is:
v 44 characters if you use the TSO PROFILE setting NOPREFIX.
v 42 characters if you use the TSO PROFILE setting PREFIX.
v For an output tape data set, 17 characters, including periods. If the name
is longer than 17 characters, only the right-most 17 characters are written
to the tape header label.
4. PREFIX
This is also the prefix for several partitioned data sets, which are deleted, if they
exist, and are created or re-created during the tailoring session. If you use the
default DSNTIDXA in field 7 (INPUT MEMBER NAME), the prefix for fields 1, 2,
3, and 15, and the prefix and suffix for fields 4 through 14 on installation panel
DSNTIPT on 113 are set. If all these data sets do not have the same prefix and
suffix, you can change them on installation panel DSNTIPT.
5. SUFFIX
Specify a suffix to the names listed below. The fully qualified data set name cannot
exceed 44 characters. Names that exceed eight characters must be in groups of no
more than eight characters, separated by periods.
# Use a suffix only if you have added a common suffix to the following libraries
# when you created them in job DSNALLOC:
If you did not add a common suffix to these libraries, enter their correct data set
names on panel DSNTIPT.
To use the default DB2 data set names, specify DSN810 in field 4, and leave field 5
blank.
Specify the input member name of the data set that contains the default parameter
values for installing and migrating, as in prefix.SDSNSAMP.suffix. To install DB2 for
the first time, use the IBM-supplied defaults in member DSNTIDXA. If you process
the panels several times within a single run of the CLIST, all the previous values
that are entered, except edited output data sets, remain the same.
For migration to compatibility mode, give two member names for input values:
one in the INPUT MEMBER NAME field, and one in the DATA SET
NAME(MEMBER). The INPUT MEMBER NAME must specify a member that
contains the default parameter values for the new release (usually DSNTIDXA)
and is applied first to establish the CLIST parameters. However, if you are
migrating a second or subsequent data sharing member to Version 8 then the
INPUT MEMBER NAME is the OUTPUT MEMBER NAME used when migrating
the first member of the data sharing group to Version 8. The DATA SET
NAME(MEMBER) field must specify a member containing the DB2 UDB for z/OS
Version 7 values at your site. This member is applied last and overrides the CLIST
values established by the member specified in INPUT MEMBER NAME.
| For conversion to new-function mode, give a member name for input values. The
| INPUT MEMBER NAME that you specify for conversion should be the same as
| the OUTPUT MEMBER NAME that you specified during migration to
| compatibility mode. In a data sharing environment, the INPUT MEMBER NAME
| that you specify for conversion should be the same as the OUTPUT MEMBER
| NAME used when migrating the first member of the data sharing group to Version
| 8.
To install DB2 by using parameters from a previous run as defaults, you must
supply the member that contains the output from the previous run. It was the
OUTPUT MEMBER NAME during the last run.
Table 31 lists the data set names that are generated with the prefix and suffix values
from PREFIX and SUFFIX only when the INPUT MEMBER NAME is DSNTIDXA.
98 Installation Guide
Table 31. Resulting data set names when using prefix and suffix parameters
Default library name CLIST edited library name
prefix.DBRMLIB.DATA prefix.DBRMLIB.DATA.suffix
prefix.RUNLIB.LOAD prefix.RUNLIB.LOAD.suffix
prefix.SRCLIB.DATA prefix.SRCLIB.DATA.suffix
prefix.SDSNDBRM prefix.SDSNDBRM.suffix
prefix.SDSNLINK prefix.SDSNLINK.suffix
prefix.SDSNLOAD prefix.SDSNLOAD.suffix
prefix.SDSNMACS prefix.SDSNMACS.suffix
prefix.ADSNLOAD prefix.ADSNLOAD.suffix
prefix.ADSNMACS prefix.SDSNMACS.suffix
prefix.SDSNSAMP prefix.SDSNSAMP.suffix
prefix.SDSNCLST prefix.SDSNCLST.suffix
prefix.SDSNIVPD prefix.SDSNIVPD.suffix
prefix.SDSNC.H prefix.SDSNC.H
prefix.SDXRRESL. prefix.SDXRRESL.suffix
Specify the member name of the output data set in which to save the values that
you enter on the panels. If you do not specify a name, the values are lost when
you leave the installation CLIST, and you no longer have the values available for
future updates. This member is stored in prefix.SDSNSAMP (not the one created by
the DSNTINST CLIST). To avoid replacing any members of prefix.SDSNSAMP that
were shipped with the product, specify DSNTIDxx as the value of OUTPUT
MEMBER NAME, where xx is any alphanumeric value except XA or VB.
Always give a new value in the OUTPUT MEMBER NAME field for a new panel
session. You supply the name from your current session in the INPUT MEMBER
NAME field for your next session. You should not use the same member name for
output as for input.
Recommendation: Write down the output member name that you entered below
for reference during future sessions:
1. CATALOG ALIAS
Specify the alias of the VSAM ICF user catalog or the name of the VSAM ICF
master catalog in which to catalog the DB2 VSAM data sets that are created during
installation.
VSAM data set cataloging options: The installation jobs catalog the DB2 VSAM
data sets. This includes recovery log, subsystem, and user data sets. You must
create the catalog that defines these data sets through the VSAM ICF.
Recommendation: Use an ICF user catalog to catalog all DB2 objects because you
can use aliases for user catalogs. When you use the CREATE STOGROUP
statement, you might need to use an alias for the VCAT option, which must be a
single-level one- to eight-character name. You can use a master catalog, but only if
the name of the master catalog is a single-level name of one to eight characters.
Ensure that your alias conforms to your local naming conventions. To change this
parameter for a previously installed DB2 subsystem, see Part 2 (Volume 1) of DB2
Administration Guide. Using the same ICF catalog alias for DB2 UDB for z/OS
Whether you are installing or migrating, DB2 does not require you to catalog all
DB2 VSAM data sets in the same ICF catalog. In this chapter, the catalog that you
create when installing is called the primary ICF catalog. You must catalog some
data sets in the primary catalog. You can catalog other data sets elsewhere, and
some data sets need not be cataloged at all. See Table 32 for a list of available
options. The BSDS is VSAM KSDS. The archive logs are sequential. All other data
sets are VSAM linear data sets.
Table 32. DB2 data sets ICF catalog options
DB2 data sets Options
DB2 directory (DSNDB01) You must catalog these data sets in the
DB2 catalog (DSNDB06) primary ICF catalog.
Default database (DSNDB04)
Work file database
Active logs You can catalog these in a different ICF
Bootstrap data set catalog and give them a prefix different from
those in the primary catalog.
Archive logs If the archive log data set is allocated on
disk, the data set must be cataloged. If the
archive log data set is allocated on a tape
device, you have the option to catalog the
data set.
User table spaces You do not need to put these in the primary
User index spaces catalog. You can put different user spaces in
different ICF catalogs.
You must provide any catalog connections for log and bootstrap data sets that you
do not catalog on the primary DB2 ICF catalog.
Although you can catalog the two DB2 subsystems on the same ICF catalog, they
must not share the same ICF catalog alias, because the alias is the only parameter
that makes the data set names unique.
Data set naming conventions: The value that you specify as the z/OS catalog alias
is also used as the high-level qualifier for DB2 VSAM data sets. The data sets for
the DB2 directory and catalog databases, the default database, and the temporary
database are all VSAM linear data sets (LDSs). Their data set names have the
following format:
dddddddd.DSNDBn.bbbbbbbb.xxxxxxxx.y0001.Accc
In this format:
dddddddd Is the high-level qualifier, the value that you supply for this field.
DSNDBn Is a constant identifying this as a DB2 data set; n is C for a cluster
name or D for a data component name.
bbbbbbbb Is the database name. The system database names are:
DSNDB01
The DB2 directory database
For example, if the catalog alias is DSNCAT, one of the DB2 directory data sets is
named:
DSNCAT.DSNDBD.DSNDB01.DBD01.I0001.A001
2. DEFINE CATALOG
Specify whether you want to create a new ICF catalog. YES builds a new ICF
catalog by using the alias you specified in the CATALOG ALIAS field. NO signals
that the catalog that named in the CATALOG ALIAS field already exists; the CLIST
does not create a new one.
If you specify YES, DB2 edits job DSNTIJCA which, when run, creates a user
catalog and an alias for that catalog. DB2 creates the high-level qualifier of the
catalog name by adding a number to the end of the alias that you defined in the
CATALOG ALIAS field. If the alias has fewer than eight characters, DB2 appends a
1 to the end. For example, if you accepted the default of DSNCAT for field 1, the
catalog that is created is named DSNCAT1.USER.CATALOG. If the alias has eight
characters, DB2 changes the last character into a 1. If the last character is already a
1, DB2 changes the 1 into a 2.
Specifying more than one volume for VOLUME SERIAL 1 through VOLUME
SERIAL 7 helps recovery and performance. A series of messages are produced that
estimate space distribution on the specified volumes. See “CLIST calculations panel
2: DSNTIPC1” on page 243 for examples. If you specify fewer than six volumes,
data is combined on them. If you specify six volumes, data is distributed as
follows:
Field Is used for ...
(VOLUME SERIAL 1)
(Field 3 on Panel DSNTIPA2) CLIST allocation. Only this volume is required for
the tailoring session. VOLUME SERIAL 1 through
VOLUME SERIAL 7 are not required until you
begin running the tailored jobs. The default is
DSNV01. This volume is used for
prefix.NEW.SDSNTEMP and
prefix.NEW.SDSNSAMP.
(VOLUME SERIAL 2)
(Field 4 on Panel DSNTIPA2) Non-VSAM data. It is used for
prefix.DBRMLIB.DATA, prefix.RUNLIB.LOAD, and
prefix.SRCLIB.DATA. The default is DSNV01.
(VOLUME SERIAL 3)
(Field 5 on Panel DSNTIPA2) The temporary data sets, the default and sample
storage group, and the VSAM catalog (if a new one
is created). The default value is DSNV02.
(VOLUME SERIAL 4)
(Field 6 on Panel DSNTIPA2) DB2 catalog and directory. If you leave this field
blank, it is set to the value you that specified for
field 4.
(VOLUME SERIAL 5)
(Field 7 on Panel DSNTIPA2) DB2 catalog indexes and directory indexes. If you
leave this field blank, it is set to the value that you
specified for field 5.
(VOLUME SERIAL 6)
(Field 8 on Panel DSNTIPA2) The first copy of the active log and the second
copy of the bootstrap data set (BSDS). If you leave
this field blank, it is set to the value that you
specified for field 6.
(VOLUME SERIAL 7)
(Field 9 on Panel DSNTIPA2) The second copy of the active log and the first
copy of the BSDS. If you leave this field blank, it is
set to the value that you specified for field 7 on
this panel.
If you accept the default for dual active logging, specify different volume serials
for field 8 and field 9. Using different serial numbers causes DB2 to place the
active logs on different disk devices.
During migration you can change volume serial 1, but you cannot change volume
serials 2 through 7.
Specify the device type or unit name that is to be used to allocate the following
data sets:
ICF catalog
prefix.DBRMLIB.DATA.suffix
prefix.RUNLIB.LOAD.suffix
prefix.SRCLIB.DATA.suffix
The two data sets that the DSNTINST CLIST generates:
– prefix.NEW.SDSNTEMP
– prefix.NEW.SDSNSAMP
The value identifies a direct access unit name for partitioned data sets and the ICF
catalog. If you want to use different device types for different data sets, edit the
installation or migration jobs after you complete the tailoring session. Some
common device types are 3380, 3390, and 9340.
The value is sometimes used during IVP processing to place output (from COPY
TABLESPACE, for example) on the device type that is specified here.
A change to this parameter during migration does not affect the ICF catalog, DB2
catalog, directory, or logs. The new value is used for data sets created during
migration.
Specify the device type or unit name for allocating temporary data sets. It is the
direct access or disk unit name that is used for the precompiler, compiler,
assembler, sort, linkage editor, and utility work files in the tailored jobs and
| CLISTs. DB2 utilities that dynamically allocate temporary data sets also use this
| parameter.
1. GROUP NAME
Specify the name of a new or existing DB2 data sharing group. The group name
encompasses the entire data sharing group and forms the basis for the coupling
facility structure names.
To avoid names that IBM uses for its z/OS cross-system coupling facility (XCF)
groups, the first character must be an uppercase letter J-Z unless the name begins
with DSN. Do not use SYS as the first three characters, and do not use UNDESIG
as the group name.
2. MEMBER NAME
3. WORK FILE DB
Specify the name of the work file database for the DB2 member. Each DB2 member
has its own work file database (called DSNDB07 in a non-data-sharing
environment). One member of the data sharing group can have the name
DSNDB07, but the recommendation is that you use a more meaningful name, such
as WRKDSN1. You cannot specify a name that begins with DSNDB unless the
name is DSNDB07.
4. GROUP ATTACH
Specify a generic group attachment name for batch programs, the call attachment
facility (CAF), the RRS attachment facility (RRSAF), IMS, CICS Transaction Server,
and utilities. An example of a group attachment name is DB0G. See DB2 Data
Sharing: Planning and Administration for information about using the group
# attachment name. The value you specify here is also used in the IEFSSNxx member
# of SYS1.PARMLIB.
# If you leave this field blank, DSNHDECP SSID contains the value that you
# specified in the SUBSYSTEM NAME field on panel DSNTIPM.
5. COORDINATOR
Specify whether this DB2 member can coordinate parallel processing on other
members of the group. If you specify NO, only this DB2 member can process a
query. If you specify YES, a read-only query on this DB2 member can be processed
in part on other members of the group.
6. ASSISTANT
Specify whether this DB2 member can assist a parallelism coordinator with parallel
processing. If you specify NO, this member is not considered as an assistant at
either bind time or run time. If you specify YES, this member is considered as an
assistant at both bind time and run time. To qualify as an assistant at run time, the
Fields 1, 2, 4, 5, 7, and 8 on the DSNTIPH panel contain the prefix that was
entered in the CATALOG ALIAS field on installation panel DSNTIPA2. If you
scroll back to panel DSNTIPA2 and change the CATALOG ALIAS value, the values
on DSNTIPH for fields 1, 2, 4, 5, 7, and 8 change. When you scroll from panel
DSNTIPA2 to panel DSNTIPH, check these values and enter them again if
necessary. In MIGRATE or UPDATE modes, the CATALOG ALIAS value cannot be
changed, so the fields on DSNTIPH are not affected.
Dual logging improves reliability of recovering and, for active log reads, eases
device contention.
Recommendations:
v Specify dual logging for both active and archive logs. If you specify dual
logging, and an error occurs during offload to the archive logs, DB2 restarts the
archive process using the second copy of the active log.
v If you use dual active logging, place the two active logs on different disk
volumes and, ideally, on different channels and control units. To do that, specify
different volume serial numbers for VOLUME SERIAL 6 and VOLUME SERIAL
7 (fields 8 and 9 on panel DSNTIPA2).
| If you are migrating, DB2 UDB for z/OS Version 8 adopts your Version 7 BSDS
| and active logs. Therefore, you cannot change the parameters that affect the
| characteristics of these objects during migration. After your DB2 subsystem is in
| new-function mode, you can convert the BSDS. However, after you have entered
| new-function mode, you can update the parameters that affect the BSDS and active
| logs.
Active Logs:
3 NUMBER OF COPIES ===> 2 2 or 1. Number of active log copies
* 4 COPY 1 PREFIX ===> DSNCAT.LOGCOPY1
* 5 COPY 2 PREFIX ===> DSNCAT.LOGCOPY2
Archive Logs:
6 NUMBER OF COPIES ===> 2 2 or 1. Number of archive log copies
* 7 COPY 1 PREFIX ===> DSNCAT.ARCHLOG1
* 8 COPY 2 PREFIX ===> DSNCAT.ARCHLOG2
9 TIMESTAMP ARCHIVES ===> NO NO, YES or EXT (Extended date format)
Specify the fully qualified name of the first copy of the bootstrap data set. For
non-data-sharing environments, the default prefix is DSNCAT.BSDSxx. For data
sharing environments, the default prefix is DSNCAT.DSN1.BSDSxx. The resulting
data set name is DSNCAT.BSDSxx.Annnnnnn or DSNCAT.DSN1.BSDSx.Annnnnnn
where:
v DSNCAT is the value that you specified for CATALOG ALIAS (on installation
panel DSNTIPA2). You can change this portion of the data set prefix on this
panel. If you change it, you need to supply another catalog alias. This additional
catalog alias is not automatically defined by the installation process.
v DSN1 is the value that you specified for MEMBER NAME on panel DSNTIPK.
v xx is 01 for the first copy of the logs and 02 for the second copy.
v Annnnnnn is generated by DB2.
For the definition of a valid data set name, see 97.
2. COPY 2 NAME
Specify the fully qualified name of the second copy of the bootstrap data set. For
the definition of a valid data set name, see 97.
3. NUMBER OF COPIES
Acceptable values: 1, 2
Default: 2
Update: see 247 (″The update process″); not during migration
DSNZPxxx: DSN6LOGP TWOACTV
Specify the number of copies of the active log that DB2 is be maintain: 2 (dual
logging) or 1 (single logging). Dual logging increases reliability of recovery. If your
DB2 subsystem creates copies of the archive log on tape, two tape drives must be
available during the offload process.
4. COPY 1 PREFIX
Specify the prefix for the first copy of the active log data sets. For non-data-sharing
environments, the default prefix is DSNCAT.LOGCOPYx. For data sharing
5. COPY 2 PREFIX
Specify the prefix for the second copy of the active log data sets. See the
description in field 4. If you are using single logging, accept the default value. Do
not leave the entry blank.
6. NUMBER OF COPIES
Acceptable values: 1, 2
Default: 2
Update: option 3 on panel DSNTIPB
DSNZPxxx: DSN6LOGP TWOARCH
Specify the number of copies of the archive log that DB2 is to produce during
offloading: 2 (dual logging) or 1 (single logging). Dual logging increases reliability
of recovery.
7. COPY 1 PREFIX
Specify the prefix of the first copy of the archive log data set. For definitions of
valid data set names, see 97.
8. COPY 2 PREFIX
9. TIMESTAMP ARCHIVES
Specify whether the date and time of creation of the DB2 archive log data set is to
be placed in the archive log data set name.
If you specify NO, the archive data set name does not contain a timestamp.
If you specify YES, the maximum allowable length of the user-controlled portion of
the archive log prefix is reduced from 35 characters to 19 characters. This reduction
in size permits the 16-character date and time qualifiers (timestamp) to be added to
the archive log data set prefix. The timestamp format is as follows:
.Dyyddd.Thhmmsst,
where:
D is the letter D.
yy is the last two digits of the year.
ddd is the day of the year.
T is the letter T.
hh is the hour.
mm is the minutes.
ss is the seconds.
t is tenths of a second.
If you specify EXT, the archive data set name contains a timestamp with an
extended date component in the format:
.Dyyyyddd.
A value of EXT in this field causes the lengths of the values that are entered for
field COPY 1 PREFIX and field COPY 2 PREFIX to be audited to ensure that
neither exceeds 17 bytes (19 bytes for other settings of TIMESTAMP ARCHIVES).
You can fill in these values in one of three ways: same data set name prefix, no
data set name prefix, or a new data set name prefix. Table 33 summarizes these
selections.
Table 33. Summary of values
If you use ... Then
Same data set name Current data sets are deleted and reallocated for installation and
prefix or data set migration.
names
No data set names No new output is created. Previous output remains intact.
New prefix Output is saved in new data set. Previous output remains intact.
The following warning message is displayed for any output data set that already
exists:
DSNT434I WARNING, DATA SETS MARKED WITH ASTERISKS EXIST AND WILL BE OVERWRITTEN
To avoid deleting these data sets, take one of the following actions:
v Press Enter to leave the installation process.
v Change the data set names.
Press Enter again if you want to continue; this overwrites your data sets.
| When you are in update or ENFM mode, this panel is displayed immediately after
| panel DSNTIPA1. This allows you to check the SDSNSAMP data set name to see if
| it is the one you want to use for the DSNTIJUZ job. Data sets are not deleted or
| reallocated if you use the same name. Instead, the data set is compressed, and only
| the DSNTIJUZ member is replaced within the data set. Other members in the data
| set are left unchanged.
TEMP CLIST LIBRARY and SAMPLE LIBRARY are data sets that are allocated
by the installation CLIST for edited output. CLIST LIBRARY is allocated by
DSNTIJVC. If the input member is DSNTIDXA (field 6 on installation panel
DSNTIPA1 on 94), the three data sets default to prefix.NEW.SDSNTEMP,
prefix.NEW.SDSNCLST, and prefix.NEW.SDSNSAMP respectively, where prefix is the
value that is entered for field 4 on installation panel DSNTIPA1. Table 34 shows the
job-tailoring fields.
Table 34. Job-tailoring fields
Mode Tailored output No tailored output
Installing All three fields entered All three fields blank
Migrating All three fields entered All three fields blank
Updating SAMPLE LIBRARY entered SAMPLE LIBRARY blank
DB2 adds blanks to these fields after a successful tailoring session to avoid writing
over the tailored output.
Specify the data set name where edited CLISTs are to be placed. This field must
not be blank if you are tailoring output.
2. SAMPLE LIBRARY
3. CLIST LIBRARY
Specify the data set name into which job DSNTIJVC loads all CLISTs. This field
must not be blank if you are tailoring output.
Fields 4, 5, and 6 are for DB2-provided sample applications. The names of your
own development libraries most likely are different from the defaults that are
shown here. Job DSNTIJMV references another set of DBRMLIB, RUNLIB, and
SRCLIB data sets for SYS1.PROCLIB. See “Installation step 1: Define DB2 to z/OS:
DSNTIJMV” on page 252 for more information. These fields must not be blank.
4. APPLICATION DBRM
Specify the name of the library for DB2 sample application DBRMs.
5. APPLICATION LOAD
Specify the name of the DB2 sample application load module library.
6. DECLARATION LIBRARY
Specify the name of the DB2 declaration library for sample application include
files.
Fields 7 through 13 specify the names of data sets that are allocated during SMP
processing. These fields must not be blank.
8. LOAD LIBRARY
Specify the name of the main APF-authorized DB2 load module library.
9. MACRO LIBRARY
Specify the name of the library that contains the CICS and IMS attachment facility
macros, the initialization parameter macros, and some data-mapping macros that
are needed for some applications.
Specify the name of the library where your DSNZPxxx module, DSNHDECP
module, and exit routines are to be placed. When you use prefix.SDSNLOAD and
prefix.SDSNEXIT together, list prefix.SDSNEXIT first to override the IBM defaults in
prefix.SDSNLOAD.
Specify the name of the library where the DBRMs that are shipped with DB2 are to
be placed.
Specify the name of the IRLM load library data set to use in the IRLM procedure.
Specify the data set name of SDSNIVPD. SDSNIVPD is the SMP/E target library
for the DB2 installation verification procedure (IVP) input data and for the
expected output from the sample applications.
Specify the name of the include library data set. This library is used in the DB2
language PROCS for C and C++.
| DB2 makes assumptions about which one of the possible C, C++, and PL/I
| compilers that you are using, depending on the values you supply or leave as
| default in the C, C++, and PL/I fields.
| Many data set names for other products appear in the jobs. You can enter most of
| these data sets on this panel and on installation panel DSNTIPW. These names are
| shown in Table 35 as they appear in the jobs that are shipped with DB2. Change
| the names of the data sets if they are different at your site.
| Table 35. Data set names that are used in jobs for related products
| Job Data set name Function
| When the compiler fields are left blank, the DSNH CLIST and the provided JCL
| procedures operate differently. The DSNH CLIST issues a specific call statement,
| using the default load module data set name as the argument of the call. The JCL
| procedures use the z/OS link list to find the data set in which the load module
| resides.
| Use this panel to define the data set names of your IBM Language Environment,
| C/370™ or C/C++, COBOL, FORTRAN, and PL/I program product libraries. For
| more information about these libraries, consult the appropriate program product
| documentation.
| Data sets that you specify on this panel are also used by the DB2 installation
| process to tailor the DB2 Interactive (DB2I) program preparation CLIST, DSNH.
| Specify the name of the IBM Language Environment dynamic runtime library. The
| data set name typically includes the qualifier SCEERUN. Leave this field blank if
| SCEERUN is in the link list. If you enter a value in this field, it will be used in the
| STEPLIB concatenation of the JCL procedures generated by installation job
| DSNTIJMV, including the DSNDBM1, DSNDIST, and DSNSPAS address spaces for
| DB2, the DB2–supplied WLM procedures DSNWLM and DSNCICS, the DB2
| language procedures, and the JOBLIB concatenation of many IVP jobs.
# If you plan to use DB2 to run XPLINK or AMODE 64 applications in z/OS Version
# 1 Release 6, provide the SCEERUN and SCEERUN2 libraries for IBM Language
# Environment in the z/OS program search order. See z/OS Language Environment
# Customization for more information.
| Specify the name of the IBM Language Environment linkage editor library. The
| data set name typically includes the qualifier SCEEKLED. SCEELKED is required
| to link-edit load modules for C, C++, COBOL, and PL/I application programs. The
| value that you enter here is used to customize the DB2 language procedures and
| the DSNH CLIST.
| Specify the data set name for messages that are issued by the IBM Language
| Environment pre-linkage editor (EDCPRLK). The SMP/E target data set name
| typically includes the qualifier SCEEMSGP. SCEEMSGP is required to pre-link edit
| load modules for C, C++, COBOL, and PL/I application programs. The value that
| you enter here is used to customize DB2 language procedures and the DSNH
| CLIST.
| Specify the data set name of the assembler load module library. The data set name
| typically includes the qualifier SASMMOD1. The value that you specify for this
| field is used to customize the DSNHASM language procedure and the DSNH
| CLIST. It is also added to the STEPLIB concatenation of each DB2-provided job
| that uses the assembler. You can leave this field blank if the library is in the link
| list.
| Specify the load module name of the C/370 or C/C++ compiler used on your
| system. The default value is CCNDRVR for C/C++ for z/OS. The value that you
| enter here is used to determine the configuration for the DSNHC, DSNHCPP,
| DSNHCPP2, and DSNHSQL language procedures, the DSNH CLIST, and the IVP
| jobs that use C and C++. The value is used as follows:
| v If the entry begins with the string ’EDC’, the CLIST configures your system to
| use C/370.
| Important: You cannot use C/370 and C++.
| v If the entry begins with the string ’CBC’, the CLIST configures your system to
| use C/C++ for OS/390 and C/C++ for MVS/ESA Version 3 Release 2.
| v If the entry begins with any other value, including blanks, the CLIST configures
| your system to use C/C++ for z/OS.
| Specify the name of the header include library for C/C++ or C/370.
| v For C/C++, the SMP/E target data set name typically includes the qualifier
| SCEEH.H.
| v For C/370, the SMP/E target data set name typically includes the qualifier
| SEDCDCMP or SEDCCOMP.
| This value is used to customize the DSNHC, DSNHCPP, DSNHCPP2, and
| DSNHSQL language procedures, and the DSHN CLIST. This field can be left blank
| if the compiler library is in the link list.
| Specify the name of the message library for the C/370 compiler. The data set name
| typically includes the qualifier SEDCDMSG or SEDCMSGS. If you are using
| C/C++, leave this field blank. This value is used the customize the DSNHC and
| DSHNSQL language procedures and the DSNH CLIST..
| You can specify C/C++ for MVS/ESA V3R1, or C/C++ for MVS/ESA V3R2. These
| are shipped as single products, but you need to define them separately on this line
| and on line 1, depending on your need for C or C++. If you specify a name in this
| field, a STEPLIB is added to the compile step of the DSNHCPP and DSNHCPP2
| Specify the data set name for the C++ class header files. Accept the default value if
| C++ is not available on your system.
| v For C/C++ for z/OS and C/C++ for OS/390, the data set name typically
| includes the qualifier SCLBH.HPP.
| v For C/C++ for MVS/ESA V3R2, the data set name typically includes the
| qualifier SCLB3H.HPP.
| If you specify a name in this field, it is used to customize the DSNHCPP and
| DSNHCPP2 language procedures and the DSNH CLIST.
| Specify the data set name of the C++ auto call library. This data set name typically
| includes the qualifier SCEECPP. Accept the default value if C++ is not available on
| your system. The value that you enter here is used to customize the DSNHCPP
| and DSNHCPP2 language procedures and the DSNH CLIST.
| Specify the data set name of the C++ class library. Accept the default value if C++
| is not available on your system.
| v For C/C++ for z/OS and C/C++ for OS/390, the data set name typically
| includes the qualifier SCLBCPP.
| v For C/C++ for MVS/ESA V3R2, the data set name typically includes the
| qualifier SCLB3CPP.
| The value that you enter here is used to customize the DSNHCPP and DSNHCPP2
| language procedures and the DSNH CLIST.
| Specify the data set name for the C++ procedure library.
| v For C/C++ for z/OS, the data set name typically includes the qualifier
| SCCNUTL.
| v For C/C++ for OS/390, the data set name typically includes the qualifier
| SCBCUTL.
| v For C/C++ for MVS/ESA V3R2, the data set name typically includes the
| qualifier SCBC3UTL.
| Specify the name of the compiler library for COBOL. The data set name typically
| includes the qualifier SIGYCOMP. The value that you enter here is used to
| customize the DSNHICOB language procedure and the DSNH CLIST. You can
| leave this field blank if the compiler library is in the link list.
| Specify the data set name of the FORTRAN compiler library. If you specify a value
| here, it is used to customize the DSNHFOR language procedure and the DSNH
| CLIST. You can leave this field blank if the compiler library is in the link list.
| Specify the data set name of the FORTRAN linkage editor library. The value that
| you enter here is used to customize the DSNHFOR language procedure and the
| DSNH CLIST. Accept the default value if FORTRAN is not available on your
| system, and do not run IVP job DSNTIJ2F.
| Specify the load module name of the PL/I used on your system. The value that
| you enter here is used to configure the DSNHPLI language procedure, the DSNH
| CLIST, and the IVP jobs that use PL/I. The default value is IBMZPLI for Enterprise
| PL/I. If the value that you enter here begins with the string ’IEL’, the CLIST
| configures your system for IBM PL/I for OS/390 & VM.
| Many data set names for other products appear in the jobs. You can enter most of
| these data set names on this panel and on installation panel DSNTIPU. These
| names are shown in Table 35 on page 118 as they appear in the jobs that are
| shipped with DB2. Change the names of the data sets if they are different at your
| site.
|
| DSNTIPW INSTALL DB2 - DATA SET NAMES PANEL 3
| ===>
|
| Enter data set names below:
| 1 SYSTEM MACLIB ===> SYS1.MACLIB
| 2 SYSTEM PROCEDURES ===> SYS1.PROCLIB
| 3 SORT LIBRARY ===> SYS1.SORTLIB
| 4 IMS RESLIB ===>
| 5 ISPF ISPLINK MODULE ===> ISP.SISPLOAD
| 6 GDDM MACLIB ===> GDDM.SADMSAM
| 7 GDDM LOAD MODULES ===> GDDM.SADMMOD
| 8 CICS LOAD LIBRARY ===> CICSTS.SDFHLOAD
| 9 CICS MACRO LIBRARY ===> CICSTS.SDFHMAC
| 10 CICS COBOL LIBRARY ===> CICSTS.SDFHCOB
| 11 CICS PL/I LIBRARY ===> CICSTS.SDFHPL1
| 12 CICS EXCI LIBRARY ===> CICSTS.SDFHEXCI
|
|
|
|
|
| PRESS: ENTER to continue RETURN to exit HELP for more information
||
| Figure 14. Data set names panel 3: DSNTIPW
|
| 1. SYSTEM MACLIB
|| Acceptable values: valid data set name: see 97
| Default: SYS1.MACLIB
| Update: cannot change during update
| DSNZPxxx: none
|
| 2. SYSTEM PROCEDURES
|| Acceptable values: valid data set name: see 97
| Default: SYS1.PROCLIB
| Update: cannot change during update
| DSNZPxxx: none
|
# Specify the name of the data set where the DFSORT load module resides. DFSORT
# is required. If your load library is not in the link list, you can change the
# DSNUPROC JCL procedure in job DSNTIJMV.
# If DFSORT is installed as your primary z/OS sort product, you do not need to take
# any action to make DFSORT available to DB2. If multiple releases of DFSORT are
# installed, ensure that DFSORT R14 is found first in the system search order.
| If DFSORT is not installed as your primary z/OS sort product, use one of the
| following methods to enable DB2 to use DFSORT:
| v Add the DFSORT SORTLPA library to the link pack area list; then add the
| DFSORT SICELINK library to the link list.
| v Add the DFSORT SICELINK library to the link list; then add the DFSORT
| SORTLPA library to the link list.
| Important: If any non-IBM primary sort product is installed in the link list,
| install DFSORT in the link list, in system search order, after the non-IBM
| primary sort product
# Recommendation: If any non-IBM primary sort product is installed in the link
# pack area, add the DFSORT libraries to the link list.
| v Add the DFSORT SICELINK library to the JOBLIB statement; then add the
| DFSORT SORTLPA library to the JOBLIB statement.
| v Add the DFSORT SICELINK library to the STEPLIB DD statement; then add the
| DFSORT SORTLPA library to the STEPLIB DD statement.
| v Add the DFSORT modules to a private library that is equivalent to one of the
| above configurations.
| Important: If your non-IBM primary sort product is run from a private library,
| you must use DFSORT in the same way.
| If you install DFSORT in the link pack area or link library, you must install it after
| you install the non-IBM primary sort product.
# DB2 uses only the SORT and MERGE functions in DFSORT. If you want to use
# DFSORT for any other uses outside of this limited DB2 support, you must
# separately order and license DFSORT.
| 4. IMS RESLIB
|| Acceptable values: valid data set name: see 97
| Default: none
| Update: cannot change during update
| DSNZPxxx: none
|
| Specify the data set name of the IMS linkage editor library.
| Specify the data set name of the ISPF load module library.
| 6. GDDM MACLIB
|| Acceptable values: valid data set name: see 97
| Default: GDDM.SADMSAM
| Update: cannot change during update
| DSNZPxxx: none
|
# Specify the data set name of the GDDM macro library. This field and GDDM
# LOAD MODULES must both have a valid data set name or both be blank. The
# data set name that you specify in this field is included in the compile step SYSLIB
# DD concatenations of DSNHASM, DSNHC, DSNHICOB, and DSNHPLI. The
# installation CLIST only generates sample jobs DSNTEJ75 and DSNTEJ78 if you
# specify a GDDM MACLIB name.
# Specify the data set name of the GDDM load module library. This field and GDDM
# MACLIB must both have a valid data set name or both be blank. The data set
# name that you specify in this field is included in the link-edit SYSLIB
# concatenations of DSNHASM, DSNHC, DSNHICOB, and DSNHPLI.
| Specify the data set name for the CICS load module library. If you do not use
| CICS, put a blank in the CICS LOAD LIBRARY field.
| Specify the data set name for the CICS macro library.
| Specify the data set name for the CICS library that the COBOL programs are to
| use.
| Specify the data set name for the CICS library that PL/I programs are to use.
| Specify the data set name for the CICS library that contains the CICS EXCI load
| modules.
The values that you supply on this panel are estimates that are used in calculating
sizes for main storage and data sets. The values do not reduce any system limits
and do not preclude an application or user from exceeding these estimates, within
reasonable limits. For example, if you specify 500 databases, you could create 600.
However, if you exceed the values by a large margin, you might encounter a
shortage of main storage or use many secondary extents for some data sets. You
can usually change the main storage values using the next panel. If you cannot
change the values with the update process, see “The update process” on page 247
for the appropriate method.
The installation CLIST contains formulas that calculate the space for each catalog
data set and the indexes that DB2 requires for each data set. Data that you enter on
this panel is used in these formulas. Use integers; do not enter fractions. You can
use K (as in 32 K) for multiples of 1024 bytes and M (as in 16 M) for multiples of
1 048 576 bytes in most fields, but do not exceed the maximum value that is
accepted by the field. For example, for field 10, which has a maximum of 32 000,
you can enter 31 K, meaning 31 744 bytes. Values of 32 K and above exceed the
maximum acceptable value for this field.
| Many of the fields on this panel affect the values of the EDMPOOL, EDMSTATC,
| and EDMDBDC parameters in macro DSN6SPRM.
The defaults for most of the parameters on this panel correspond to the medium
storage sizes for the site models that are shown in Table 8 on page 18. One
exception is the value for the work file database. To obtain this value, see “Work
file database storage requirements” on page 22. If you have a large site, increase
the values according to your needs.
If you are migrating, DB2 UDB for z/OS Version 8 adopts your Version 7 DB2
catalog, directory, work file databases, BSDS, and active logs. Therefore, during
migration, you cannot change any of the fields on this panel that affect those data
sets.
Updating the parameters: You can alter the characteristics of the DB2 catalog,
directory, work file databases, BSDS, and active and archive logs by using the
methods described on 247. You cannot actually change the values of these
parameters.
2. TABLES
3. COLUMNS
5. TABLE SPACES
Estimate the average number of table spaces per database in your subsystem.
6. PLANS
7. PLAN STATEMENTS
8. PACKAGES
Estimate the average number of SQL statements that are executed per plan. The
number of SQL statements that are executed can be less than the number written.
Acceptable values: 1 to 16
Default: 2
Update: see 247 (″The update process″); cannot update during
migration
DSNZPxxx: none
Estimate the average number of tables that are used per SQL statement. Some SQL
statements use more than one table (for example, those using joins, unions, or
subselect clauses). Consider how often you expect to use such statements when
choosing a value for this parameter.
Specify in megabytes the total size of the 4-KB table spaces in the work file
database.
Fields 13 and 15 allow you to create two kinds of table spaces within the work file
database: one for 4-KB pages and one for 32-KB pages. Examples of names of the
data sets for these table spaces are:
v DSNCAT.DSNDBD.DSNDB07.DSN4Kxx.I0001.A001 for 4-KB pages
v DSNCAT.DSNDBD.DSNDB07.DSN32Kxx.I0001.A001 for 32-KB pages
In these names, DSNDB07 is the name of the work file database and xx is the
number of the table space.
The space that is specified on this parameter is divided equally among each of the
temporary 4-KB table spaces. For example, if you specify 16 for the TEMP 4K
SPACE field and 4 for the TEMP 4K DATA SETS field, each 4-KB temporary data
set is allocated 4 MB of space.
Because device characteristics differ, the actual amount of space may vary.
All DB2 users share those table spaces. Utilities cannot be used on them.
You can create additional temporary work file table spaces at any time except
during migration. This capability lets you improve DB2 performance by reducing
device contention among applications that require working storage. You can also
concatenate temporary work file table spaces to support large temporary files. For
information about creating additional temporary work file table spaces, see Part 5
(Volume 2) of DB2 Administration Guide.
Updating: You can change the size of the data sets by deleting and redefining them
when DB2 is not running or when the work file database is stopped. Job
DSNTIJTM is a useful example. For information on job DSNTIJTM, see 272.
Acceptable values: 1 to 99
Default: 1
Update: see field 13; not during migration
DSNZPxxx: none
This field determines the total size of all 32-KB data sets. If you specify 0 for this
option, job DSNTIJTM does not contain a statement to create a data set for 32-KB
buffering. Be aware, however, that joins of smaller tables can produce rows that are
longer than 4 KB. For this reason, you might want 32-KB data sets.
Because device characteristics differ, the actual amount of space will differ.
Updating: To update this field, create a 32-KB table space for the work file
database. To create a 32-KB table space, follow these steps:
1. Stop DB2.
2. Run the CLIST in install mode. Be sure you enter positive values for fields
TEMP 32K SPACE, TEMP 32K DATA SETS, and BP32K on the Buffer Pool Sizes
Panel 3 (DSNTIP2).
3. Run job DSNTIJUZ to update the subsystem parameter values.
4. Start DB2. Do not access the 32-KB table space until you complete the next
step. To control access, use the following command:
-DSN1 START DB2 ACCESS(MAINT)
5. Edit the DSNTIJTM job as follows:
v Delete everything except the DSNTIC procedure and steps DSNTTMP and
DSNTIST.
v Delete the control statements that define the 4-KB data set in DSNTTMP.
v Delete the control statements that define the 4-KB table space in step
DSNTIST.
v Remove the step names that do not apply from the COND statements in the
JCL.
v Execute the job.
Acceptable values: 0 to 99
Default: 1
Update: see fields 13 or 15; not during migration
DSNZPxxx: none
1 USER LOB VALUE STORAGE ===> 10240 Max storage per user for LOB
values in kilobytes
2 SYSTEM LOB VALUE STORAGE ===> 2048 Max storage per system for LOB
values in megabytes
3 MAXIMUM LE TOKENS ===> 20 Maximum tokens at any time. 0-50
4 TABLE SPACE ALLOCATION ===> 0 Default space allocation in KB for
table spaces
(0 for DB2 default or 1-4194304)
5 INDEX SPACE ALLOCATION ===> 0 Default space allocation in KB for
index spaces
(0 for DB2 default or 1-4194304)
6 VARY DS CONTROL INTERVAL ===> YES Optimize VSAM CONTROL INTERVAL to
size for data set allocation
7 OPTIMIZE EXTENT SIZING ===> NO Use sliding secondary quantity
for DB2-managed data sets
Specify an upper limit for the amount of storage that each user can have for
storing LOB values. The specified value indicates the numbers of kilobytes.
Specify an upper limit for the amount of memory per system that can be used for
storing LOB values. The specified value indicates the numbers of megabytes.
3. MAXIMUM LE TOKENS
Acceptable values: 0 to 50
Default: 20
Update: option 8 on panel DSNTIPB
DSNZPxxx: DSN6SPRM LEMAX
For details about these functions, see DB2 SQL Reference. DB2 might use a
Language Environment token to perform conversion from one CCSID to another
CCSID.
| Specify the amount of space in KB for primary and secondary space allocation for
| DB2-defined data sets for table spaces that are being created without the USING
| clause. A value of 0 indicates that DB2 is to use a default value of one cylinder for
| a non-LOB table space or ten cylinders for a LOB table space.
| Specify the amount of space in KB for primary and secondary space allocation for
| DB2-defined data sets for index spaces that are being created without the USING
| clause. A value of 0 indicates that DB2 is to use a default allocation of one cylinder.
| This parameter is online-updatable. If you change this value from NO to YES, any
| pre-existing or migrated data sets remain in 4-KB control intervals until redefined.
| If you change this value from YES to NO, any pre-existing or migrated data sets in
| 8-KB, 16-KB, or 32-KB control intervals remain in those control intervals until
| redefined. You can explicitly redefine a data set. In addition, data sets are
| implicitly redefined by utilities such as LOAD REPLACE, REORG TABLESPACE,
| or RECOVER.
| Specify whether secondary extent allocations for DB2-managed data sets are to be
# sized according to a sliding scale that optimizes the likelihood of reaching the
# maximum data set size before secondary extents are exhausted. If you select NO,
# the default value, you will manage secondary extent allocations manually. For
# nonpartitioned table spaces and nonpartitioned index spaces, when all extents of
# the first data set are exhausted, the primary space allocation of each subsequent
# data set is always the PRIQTY setting.
# If you select YES, DB2 automatically optimizes the secondary extent allocations of
# data sets for table spaces and index spaces that have a SECQTY value of greater
# than zero. When all secondary extents are exhausted for the first data set of a
# nonpartitioned table space or a nonpartitioned index space that has a SECQTY
# value of greater than zero, the primary space allocation of each subsequent data set
# is the larger of the SECQTY setting and the value that is derived from the sliding
# scale algorithm.
| When the sliding scale is used, secondary extent allocations that are allocated
| earlier are smaller than those allocated later, until a maximum allocation is
| reached. The maximum allocation is 127 cylinders for data sets with a maximum
| size of 16 GB or less, and 559 cylinders for data sets with a maximum size of 32
| GB or 64 GB.
Updating the parameters: You can use UPDATE mode of the CLIST to update any
value on this panel.
1. DATABASES
Specify the maximum number of databases that can be open at one time. The
number is affected primarily by DSMAX on panel DSNTIPC, which specifies the
number of open data sets. See “CLIST calculations panel 1: DSNTIPC” on page 238
for more information about DSMAX. For performance considerations, see Part 5
(Volume 2) of DB2 Administration Guide.
2. MAX USERS
Specify the maximum number of allied threads (threads started at the local
subsystem) that can be allocated concurrently. Count the following items as
separate users:
v Each TSO user (whether running a DSN command or a DB2 request from DB2
QMF)
v Each batch job (whether running a DSN command or a DB2 utility)
140 Installation Guide
v Each IMS region that can access DB2
v Each active CICS transaction that can access DB2
v Each utility (each utility uses one thread, plus one thread for each subtask)
v Each connection from users of CAF and RRSAF
The total number of threads accessing data that can be allocated concurrently is the
sum of the MAX USERS value and the MAX REMOTE ACTIVE value. The
| maximum allowable value for this sum is 2000. When the number of users who are
attempting to access DB2 exceeds the number you specify, excess plan allocation
requests are queued. In most situations, the amount of real and virtual storage
determines the maximum number of threads that DB2 can handle.
Due to parallelism, DB2 utilities each use a minimum of one thread, plus an
additional thread for each subtask. Therefore, a single utility might use many
threads. Specify a thread value accordingly to accommodate parallelism within
utilities. Consider using a value that is higher than the default value or the value
that you specified in a previous version of DB2.
Specify the maximum number of database access threads (DBATs) that can be
active concurrently.
The total number of threads accessing data concurrently is the sum of field 2, MAX
USERS, and this field, MAX REMOTE ACTIVE. The maximum allowable value for
| this sum is 2000. If a request for a new connection to DB2 is received and MAX
REMOTE ACTIVE has been reached, the resulting action depends on whether
ACTIVE or INACTIVE is specified for option DDF THREADS on panel DSNTIPR.
Setting MAX REMOTE ACTIVE to zero: You can use a 0 in this field to restrict
DDF server activity on a member of a data sharing group. When this field is 0,
expect the following results:
v DDF does not register the member’s LU name with the VTAM generic LU name
during DDF startup. This causes VTAM generic resource connections to be
directed to DB2 members that specify a MAX REMOTE ACTIVE value of greater
than 0.
v DDF does not register the member with WLM for member-specific Sysplex
routing. This does not prevent the member from using WLM for enclave
prioritization, but it prevents WLM from including this member in the Sysplex
routing data that is sent to remote sites.
Specify the maximum number of concurrent remote connections. This value must
be greater than or equal to MAX REMOTE ACTIVE. If MAX REMOTE ACTIVE is
set to zero, MAX REMOTE CONNECTED will also be set to zero. When a request
to allocate a new connection to DB2 is received, and MAX REMOTE CONNECTED
has been reached or MAX REMOTE CONNECTED is zero, the connection request
is rejected. See Part 5 (Volume 2) of DB2 Administration Guide for more information.
Specify the maximum number of users that can be identified to DB2 from TSO
foreground at the same time. Count each of the following items as a separate user:
v Each TSO foreground user that is executing a DSN command.
v Each TSO foreground user that is connected to DB2 through the CAF or RRSAF.
This can include DB2 QMF users who are running in TSO foreground or
user-written CAF or RRSAF applications running in TSO foreground.
When the number of TSO users who are attempting to access DB2 exceeds the
number you specify, excess connection requests are rejected. No DB2 subsystem
parameter controls the maximum concurrent connections for IMS and CICS. You
can control those limits by using IMS and CICS facilities. For the CICS attachment,
the maximum number of connections to DB2 by using the resource control table
(RCT) TYPE=INIT THRDMAX value.
REBUILD INDEX processing uses DB2 connections and might cause message
DSNU397I to be issued. If you receive message DSNU397I indicating the REBUILD
INDEX utility is constrained, increase the number of concurrent connections.
7. SEQUENTIAL CACHE
Specify whether to use the sequential mode to read cached data from a 3990
controller. If you accept the default, BYPASS, DB2 prefetch bypasses the cache. If
you specify SEQ, DB2 prefetch uses sequential access for read activity. Many sites
gain a performance benefit by specifying SEQCACH. See Part 5 (Volume 2) of DB2
Administration Guide for a discussion of these considerations.
Recommendation: Specify SEQCACH if you have current disk devices with good
cache sizes, especially if the units are Enterprise Storage System (ESS) or RAMAC
Virtual Array (RVA).
The utility cache option is useful only with RAMAC disk attached to the 3990
Model 6.
If you specify NO, DB2 utilities use the 3990 cache the same way as any other
application (as you specified in the SEQUENTIAL CACHE option).
Specify the total number of prepared, dynamic SQL statements that can be saved
past a commit point by applications that run with the KEEPDYNAMIC(YES) bind
option. This is a system-wide limit. This parameter does not limit the size of the
dynamic cache itself.
When you enter 0, DB2 cannot keep the executable version of dynamic SQL
statements past commit points. To retain the KEEPDYNAMIC(YES) behavior after
a commit point, DB2 performs ″implicit″ prepares to rebuild the executable version
of the dynamic SQL statements.
| Specify the number of minutes that a read claim can be held by an agent before
| DB2 issues a warning message to report it as a long-running reader. If you specify
| a value of 0, DB2 will not report long-running readers.
| Specify whether new indexes should be padded by default. YES indicates that a
| new index will be padded unless the NOT PADDED option is specified on the
| CREATE INDEX statement. The default value, NO, indicates that a new index will
| not be padded unless the PADDED option is specified on the CREATE INDEX
| statement.
| This parameter only affects indexes that have at least one varying-length column.
Updating the buffer pool sizes: You can change your buffer pool sizes online with
the ALTER BUFFERPOOL command, but you cannot change these sizes by
running the DSNTINST CLIST in update mode.
Specify the default buffer pool to use for user table spaces. This must be a 4-KB
buffer pool.
Specify the default buffer pool to use for indexes on user data. This must be a
4–KB buffer pool.
| Acceptable values: for BP0, 2000 to 250 000 000; for BP1-BP39, 0 to 250 000 000
| Default: for BP0, 20000; for BP1 to BP38, 0
Update: ALTER BUFFERPOOL command
DSNZPxxx: none
Specify the total number of 4-KB buffers in the given virtual buffer pool
(BP0-BP38).
| Important: The summation of the storage available in all buffer pools cannot
| exceed 1 TB. The amount of storage configured on the subsystem can further limit
| the buffer pool sizes. If you specify more storage than the total real storage
| available, performance will suffer.
Updating the buffer pool sizes: You can change your buffer pool sizes online with
the ALTER BUFFERPOOL command, but you cannot change these sizes by
running the DSNTINST CLIST in update mode.
# Acceptable values: for BP39-49, 0 to 250 000 000; for BP8K0 to BP8K9, 0 to
# 125 000 000; for BP16K0 to BP16K9, 0 to 62 500 000; for
# BP32K, 250 to 31 250 000; for BP32K1 to BP32K9, 0 to
# 31 250 000
| Default: for BP8K0, 1000; for BP16K0, 500; for BP32K, 250; for all
others, 0
Update: ALTER BUFFERPOOL command
DSNZPxxx: none
Specify the total number or 4-KB buffers in the given virtual buffer pool (BP39 to
BP32K9).
| Restriction: The summation of the storage available in all buffer pools cannot
| exceed 1 TB. The amount of storage configured on the subsystem can further limit
| the buffer pool sizes.
| Specify whether to start the audit trace automatically when DB2 is started, and
| specify the classes for which to start it.
| YES starts the trace for the default class (class 1) whenever DB2 is started.
| To specify other classes for which trace must start automatically, list the numbers
| (any integer from 1 to 32), separated by commas. Only classes 1 to 10 are defined
| by DB2. Enter an asterisk (*) to start audit trace for all classes.
| For information about audit classes and the effect of the audit trace, see Part 3
| (Volume 1) of DB2 Administration Guide.
| YES starts the global trace for the default classes (classes 1, 2, and 3) whenever
| DB2 is started, and it performs additional data consistency checks whenever a data
| or index is modified.
| To start specific classes, enter a list of class numbers (any integer from 1 to 32),
| separated by commas. Only classes 1 to 9 are defined by DB2. Enter an asterisk (*)
| to start global trace for all classes.
| The global trace is used to diagnose problems in DB2. Users with production
| systems that require high performance might consider turning off global trace.
| However, be aware that turning off global trace presents a serviceability exposure.
| In the event of a system failure, IBM Software Support might request that you turn
| on global trace and attempt to re-create the problem. For information about the
| global trace facility, see DB2 Diagnosis Guide and Reference.
| 3. TRACE SIZE
|| Acceptable values: 4K to 396K
| Default: 64K
| Update: option 12 on panel DSNTIPB
| DSNZPxxx: DSN6SYSP TRACTBL
|
| Specify the size, in bytes, of the RES trace table. This table is the default
| destination for the global trace records in DB2. Most trace records require 32-byte
| entries; events with more than three data items require 64-byte entries.
| You can use the abbreviation K for multiples of 1024 bytes. The actual value is
| rounded up to a multiple of 4. If you use 50K, for example, the actual table size is
| 52 KB.
| In the subsystem parameter, use a multiple of 4. For example, to get a 64-KB table,
| code TRACTBL=16.
| 4. SMF ACCOUNTING
|| Acceptable values: YES, NO, list of classes, an asterisk (*)
| Default: 1
| Update: option 12 on panel DSNTIPB
| DSNZPxxx: DSN6SYSP SMFACCT
|
| Specify whether DB2 is to send accounting data to SMF automatically when DB2 is
| started. This field also specifies what classes are sent.
| NO specifies no automatic start. YES starts the trace for the default class (class 1).
| You might also need to update the SMFPRMxx member of SYS1.PARMLIB to
| permit SMF to write the records.
| 5. SMF STATISTICS
|| Acceptable values: YES, NO, list of classes, an asterisk (*)
| Default: YES
| Update: option 12 on panel DSNTIPB
| DSNZPxxx: DSN6SYSP SMFSTAT
|
| Specify whether DB2 is to send statistical data to SMF automatically when DB2 is
| started. This field also specifies what classes are sent.
| NO specifies no automatic start. YES starts the trace for the default classes (classes
| 1, 3, 4, 5, and 6). You might also need to update the SMFPRMxx member of
| SYS1.PARMLIB to permit SMF to write the records.
| To start specific classes, enter a list of class numbers (any integer from 1 to 32),
| separated by commas. Only classes 1 to 5 are defined by DB2. To start all classes,
| enter an asterisk (*). For information about using the trace, see “Installation step 7:
| Record DB2 data to SMF (optional)” on page 263. For information about statistics
| classes, see Part 5 (Volume 2) of DB2 Administration Guide.
| 6. STATISTICS TIME
|| Acceptable values: 1 to 1440
|# Default: 5
| Update: option 12 on panel DSNTIPB
| DSNZPxxx: DSN6SYSP STATIME
|
| 7. STATISTICS SYNC
|| Acceptable values: NO, 0 to 59
| Default: NO
| Update: option 12 on panel DSNTIPB
| DSNZPxxx: DSN6SYSP SYNCVAL
|
| Example: You want the DB2 statistics recording interval to have a length of 15
| minutes and to be synchronized with 15 minutes past the hour. Thus, DB2 statistics
| are recorded at 15, 30, 45, and 60 minutes past the hour. To establish this interval,
| you would specify the following:
| The value in this field specifies the time interval, in minutes, between the resetting
| of data set statistics for online performance monitors. Online performance monitors
| can request DB2 data set statistics for the current interval with an IFI READS
| request for IFCID 0199.
| 9. MONITOR TRACE
|| Acceptable values: YES, NO, list of classes, an asterisk (*)
| Default: NO
| Update: option 12 on panel DSNTIPB
| DSNZPxxx: DSN6SYSP MON
|
| Specify whether to start the monitor trace automatically when DB2 is started. This
| field also specifies what classes are sent.
| NO specifies no automatic start. YES starts the trace for the default classes (class 1)
| whenever DB2 is started. To start the trace automatically for other classes, enter a
| list of class numbers (any integer from 1 to 32), separated by commas. Only classes
| 1 to 8 are defined by DB2. To start all classes, enter an asterisk (*). For information
| about the monitor trace, see Appendix F (Volume 2) of DB2 Administration Guide.
| Specify the default buffer size for monitor trace when sending data to monitor
| destinations. You can enter the value in bytes (for example, 8192) or use the
| abbreviation K for kilobytes (for example, 256K) or M for megabytes (for example,
| 4M).
| Specify whether output from IFC records should include Unicode information.
| Only a subset of the character fields (identified in the IFCID record definition by a
| Specify whether DB2 accounting data should be accumulated by the user for DDF
| and RRSAF threads. If NO is specified, DB2 writes an accounting record when a
| DDF thread is made inactive or when signon occurs for an RRSAF thread. If a
| value between 2 and 65535 is specified, DB2 writes an accounting record every n
| occurrences of the user on the thread, where n is the number that is specified for
| this parameter. A user is identified by the concatenation of the following three
| values:
| v User ID
| v User transaction name
| v User workstation name
| These values can be set by DDF threads via Server Connect and Set Client calls,
| and by RRSAF threads via the RRSAF SIGN, AUTH SIGNON, and CONTEXT
| SIGNON functions.
# Specify the aggregation fields to be used for DDF and RRSAF accounting rollup.
# The values are defined in Table 36 on page 154.
# For example, if a thread has the end user ID set to a string of X’00’ and the
| workstation name set to myws, the thread qualifies for rollup if ACCUMUID is set
| to 5, but not if ACCUMUID is set to 9.
# Assume ACCUMUID is set to 5. The threads in Table 37 all qualify for rollup.
# Table 37. Values for end user ID and workstation name
# End user ID Workstation name
# myuser myws
# myuser A string of X’40’
# A string of X’40’ myws
# myuser A string of X’00’
# A string of X’00’ myws
#
# The thread with end user ID set to myuser and workstation name set to a string of
# X’40’ and the thread with end user ID set to myuser and workstation name set to a
# string or X’00’ are included in the same rollup record. The thread with end user ID
# set to a string of X’40’ and workstation name set to myws and the thread with end
# user ID set to a string of X’00’ and workstation name set to myws are included in
# the same rollup record.
# DB2 writes individual accounting threads for threads that do not meet the criteria
# for rollup.
Specify the z/OS console routing codes assigned to messages that are not solicited
from a specific console. You can specify from 1 to 16 route codes. You must use at
least one code. Separate codes in a list by commas only, with no blanks; for
example: 1,3,5,7,9,10,11. For more information about routing codes, refer to z/OS
MVS Routing and Descriptor Codes.
2. RECALL DATABASE
Specify the maximum length of time, in seconds, that a program can delay for a
DFSMShsm recall. If the recall is not completed within the specified number of
seconds, the program receives an error message indicating that the set is
unavailable, but that a recall was initiated. If you use 0 and RECALL DATABASE
(field 2) is YES, the recall is performed asynchronously. This field is ignored if the
RECALL DATABASE field is NO.
The RECALL DELAY option is not used when running a DB2 utility against a
DB2-migrated data set.
Specify whether the resource limit facility (governor) is to automatically start each
time DB2 is started. For information about using the governor, see Part 5 (Volume
2) of DB2 Administration Guide.
Specify the suffix of the default resource limit specification table (RLST). The
default RLST is used when the resource limit facility (governor) is automatically
started or when you start the governor without specifying a suffix.
Specify what action DB2 is to take if the governor encounters a condition that
prevents it from accessing the resource limit specification table or if it cannot find a
row in the table that applies to the authorization ID, the plan or package name,
and the logical unit of work name of the query user.
v NOLIMIT allows all dynamic SQL statements to run without limit.
7. PARAMETER MODULE
Specify the member name of the load module for DB2 subsystem parameters. The
module resides in library prefix.SDSNEXIT. To avoid conflict with members of
prefix.SDSNLOAD, use DSNZxxx, where xxx is any set of three alphanumeric
characters. DB2 puts this name in the startup JCL procedure in SYS1.PROCLIB, but
you can override this value by using the START DB2 command.
8. AUTO BIND
If you have a DB2 data sharing group in which some of the DB2 members are at
different DB2 release levels, the rate of automatic rebinds might increase.
Subsequently, a degradation in run-time performance for a plan or package might
occur if one of the following events occurs:
v The plan or package was last bound on DB2 Version 8 and is now run on DB2
Version 7 (a Version 8-to-Version 7 autobind occurs on Version 7), or
v DB2 last performed a Version 8-to-Version 7 autobind for that plan or package
on DB2 Version 7, and the plan or package is now run on Version 8 (a Version
7-to-Version 8 autobind occurs on Version 8).
To reduce the rate of automatic rebinds in this type of data sharing environment,
consider specifying COEXIST for AUTO BIND.
9. EXPLAIN PROCESSING
Specify whether you want EXPLAIN processing to occur during automatic rebind.
YES specifies that you want EXPLAIN processing to occur during automatic rebind
of a plan or package when the bind option EXPLAIN(YES) is specified. If the
PLAN_TABLE does not exist, automatic rebind continues, but generates no
EXPLAIN output. If you specify YES in this field, but you have a plan or package
with the bind option EXPLAIN(NO), EXPLAIN processing does not occur during
automatic rebind.
NO specifies that you do not want EXPLAIN processing to occur during the
automatic rebind of a plan or package.
Acceptable values: 1, 2, 3
Default: 1
Update: option 13 on panel DSNTIPB
DSNZPxxx: DSN6SPRM EDPROP, DSN6SPRM CHGDC
Specify whether you want to use IMS DataPropagator™ to propagate SQL changes
to tables defined with DATA CAPTURE CHANGES.
A value of 2 specifies that you intend to use IMS DataPropagator to propagate SQL
changes, and that changes made to tables defined with DATA CAPTURE
CHANGES are allowed only when all of the following conditions are met:
v Monitor trace class 6 is active.
v IMS DataPropagator is installed.
v The DB2 application is running in an IMS environment.
A value of 3 specifies that data propagation occurs when all of the following
conditions are met:
v Monitor trace class 6 is active.
v IMS DataPropagator is installed.
v The DB2 application is running in an IMS environment.
The ANY option for IMS DataPropagator Support is intended for subsystems that
need to propagate some data with IMS DataPropagator and need to propagate
some data with a different program.
If you choose 3 for IMS DataPropagator support, an application that is not running
in an IMS environment can update DB2 tables that are defined with DATA
CAPTURE CHANGES. However, these changes are not propagated to IMS. You
might have tables in your DB2-IMS environment that you want to be updated only
by DB2 applications. You can protect these tables by using any of the following
methods:
v Using the ENABLE parameter on BIND to specify a specific attachment facility
through which updates to data propagation tables can be made.
v Defining a validation procedure for data propagation tables to allow only certain
plans to update those tables.
v Using a group authorization ID to allow update authority for data propagation
tables to a group of authorization IDs that can run only in the IMS environment.
Specify whether the current system is at a local site or a recovery site. LOCALSITE
is defined as the site where the multiple image copies are made and are
operational. RECOVERYSITE is the site that is named as an alternative for recovery
purposes.
The RECOVER utility looks at this value to determine what site the current system
is on and recovers everything from the copies of data that is registered at that site.
The RECOVER and MERGECOPY utilities look at this value to determine whether
COPYDDN or RECOVERDDN is allowed with NEWCOPY NO.
Indicate whether COPY2 archives should be read first when the DB2 subsystem is
started.
Specify which inserts and updates are recorded in catalog history tables.
SPACE
When the SPACE option is specified, all inserts and updates that DB2
makes to space-related catalog statistics are recorded.
ACCESSPATH
When the ACCESSPATH option is specified, all inserts and updates DB2
makes to ACCESSPATH-related catalog statistics are recorded.
ALL When the ALL option is specified, all inserts and updates that DB2 makes
in the catalog are recorded.
NONE
When the NONE option is specified, changes that DB2 makes in the
catalog are not recorded. This is the default for the HISTORY subsystem
parameter.
Specify the time, in minutes, that DB2 waits before attempting to write out page
set statistics to the real-time statistics tables.
Migrating or updating the parameters: If you alter parameter values for which a
change during migration or update is “not recommended,” this change can
invalidate the syntax of existing SQL statements or affect the way that application
programs run. Update is allowed, but must be handled with caution.
Most of the values that are set here and on the next panel are contained in load
module DSNHDECP, in library prefix.SDSNEXIT, which can be loaded and
accessed by application programs. When modifying DSNHDECP, do so only by
changing and running the installation CLIST.
| Important: You should always use the CLIST to modify installation parameters. Do
| not modify the data in DSNHDECP. If you modify any installation parameters by
| changing job DSNTIJUZ directly, these values are not recorded for later updates,
| new installations, or migrations. In addition, these values are not checked for
| validity. If you do not use the CLIST to modify these parameters, DB2 may not
| start.
Many of the fields on this panel involve the selection of coded character set
identifiers (CCSIDs). Here is some information that can help you choose values for
these fields:
v If you choose YES for the MIXED DATA field, you must specify a mixed data
CCSID from Table 122 on page 519 or Table 123 on page 519. An error occurs if
you do not specify a CCSID or if the CCSID you specify is not listed in the
table.
v If you specify an incorrect CCSID, data can become corrupted. For example,
assume that the coded character set used at your site is 37, but you specify 500
as the system CCSID. If DB2 receives data with a CCSID of 500, the data can
become corrupted because character conversion does not occur. Conversely, if
DB2 receives data with a CCSID other than 500 and a conversion is made from
that CCSID to 500, the data can become corrupted because character conversion
occurs.
Recommendation: Never change CCSIDs on an existing DB2 system without
specific guidance from IBM Software Support.
| v If you need to convert to a CCSID that supports the euro symbol, you can
| correct it by altering the CCSID field for your default encoding scheme. See
| “Converting to the euro symbol” on page 520 for the detailed steps.
| v During code conversion, DB2 first looks in the SYSSTRINGS table to see if a
| conversion is defined. If DB2 finds a conversion, it is used. If DB2 does not find
| a conversion, it uses z/OS Unicode Services. In some cases, z/OS Unicode
| Services is used instead of the value in SYSSTRINGSS. See OS/390 C/C++
| Programming Guide for additional conversions that might be supported. If the
| conversion is not available, an error occurs.
| v Converting statements to Unicode for parsing depends on having the correct
| input CCSID specified. The system CCSIDs must be set up correctly at
| installation time.
| During connect processing, a requester and server provide default CCSIDs for
| character data sent on the connection.
For more information about the fields on this panel, see Part 4 of DB2 Application
Programming and SQL Guide.
1. LANGUAGE DEFAULT
Specify the default programming language for your site. Use any of the following
values:
# ASM for High Level Assembler/MVS IBMCOB for Enterprise COBOL for z/OS
C for C Language FORTRAN for Fortran
CPP for C++ PLI for PL/I
2. DECIMAL POINT IS
Specify whether the decimal point for numbers is the comma (,) or the period (.).
Some nations customarily signify the number “one and one-half,” for example, as
1.5; other nations use 1,5 for the same value.
This parameter is the default for binds at this DB2 site that are requested by a
remote system that does not indicate whether the period or the comma is used to
represent a decimal point. In most cases, however, requesting systems give DB2
this information.
3. STRING DELIMITER
Specify the value of the string delimiter for COBOL. If you specify DEFAULT, the
string delimiter is the quotation mark. This option is effective for all varieties of
COBOL. See field 5 for a description of how to use this field to get the desired set
of character string delimiters for COBOL and SQL.
Specify the value of the SQL string delimiter that sets off character strings in
dynamic SQL. This option is effective for all varieties of COBOL.
The value in this field also determines which character is the escape character for
delimited identifiers in dynamic SQL. If you specify an apostrophe in this field,
you get a quotation mark for your SQL escape character. If you specify a quotation
mark in this field, you get an apostrophe for your SQL escape character.
For SQL statements that are embedded in COBOL programs, COBOL precompiler
options specify which character is the SQL string delimiter and which character is
the SQL escape character. If you specify DEFAULT in this field, a quotation mark is
passed to the precompiler as the default SQL string delimiter.
Some applications might require a particular value for the SQL STRING
DELIMITER. Determine the required values for those applications before installing
DB2.
Table 38 shows you the different combinations of character string delimiters you
get by specifying different values in fields 4 and 5.
Table 38. Effect of fields 4 and 5 on SQL and COBOL string delimiters
When you want this combination of character string
delimiters...
Specify this in Specify this in
COBOL Dynamic SQL Embedded SQL field 4 field 5
" ' " DEFAULT DEFAULT
' ' ' ' '
" " " " "
" ' ' " '
The values that you specify in fields 4 and 5 are also used by the program
preparation panels, the DSNH CLIST, and the precompiler. Table 39 shows you
why you might specify different combinations of values in these fields.
Table 39. Effect of fields 4 and 5 on precompiler options
Purpose Field 4 Field 5
Force APOST default (even in COBOL) and provide a ' '
default similar to APOST in DB2 Server for VSE & VM
Change dynamic query string delimiter to the quotation " "
mark. Helpful if you use COBOL with the QUOTE
option—allows queries to be tested with dynamic SQL and
moved into the program more easily
Compatibility with the DB2 Server for VSE & VM option " '
Specify whether the apostrophe or the quotation mark is used as the SQL string
delimiter for bind operations at this DB2 site when the requester does not give
DB2 that information. In most cases, requesters tell DB2 whether the apostrophe or
the quotation mark is to be used as the SQL string delimiter.
6. MIXED DATA
Indicates how the EBCDIC CCSID and ASCII CCSID fields are to be interpreted by
DB2. The MIXED DATA option has no effect on the UNICODE CCSID field.
Regardless of the setting for MIXED DATA, UNICODE UTF-8 data is considered
mixed data and is processed according to the rules for mixed data.
Important: MIXED DATA applies to both the EBCDIC CCSID and ASCII CCSID. If
you choose MIXED DATA YES, you must select mixed CCSIDs for EBCDIC and
ASCII.
With MIXED DATA YES, the CCSID that is specified in the EBCDIC CCSID and
ASCII CCSID field must be the mixed CCSID for the encoding scheme. See
Table 122 on page 519 and Table 123 on page 519 for the appropriate CCSID for the
encoding scheme. From this, DB2 determines the associated SBCS and DBCS
CCSIDs for the encoding scheme. MIXED DATA YES allows EBCDIC and ASCII
mixed-character data and graphic data to be defined.
With MIXED DATA NO, the CCSID specified in the EBCDIC CCSID or ASCII
CCSID field must be the CCSID for the encoding scheme. MIXED DATA NO does
not allow for EBCDIC or ASCII mixed character data or graphic data to be defined.
For EBCDIC data, specify whether the code points X'0E' and X'0F' have special
meaning as the shift-out and shift-in controls for character strings that include
double-byte characters.
v NO indicates that these code points have no special meaning. Therefore, all
character strings are single-byte character set (SBCS) data.
v YES indicates that these code points have the special meaning described above.
Therefore, character strings can be either SBCS or MIXED data.
7. EBCDIC CCSID
Specify the default CCSID for EBCDIC-encoded character data that is stored in
your DB2 subsystem or data sharing system. DB2 uses this value to perform
The values that you choose for EBCDIC CCSID and ASCII CCSID are closely
related. You must choose values for these parameters that
| If you specify MIXED DATA NO, the MCCSID and GCCSID values are 65534. If
| you specify MIXED DATA YES, ensure that you use the correct single-byte CCSID
| and MCCSID to use. To determine what single-byte CCSID to use, see Table 122 on
| page 519 To select a CCSID for mixed data (an MCCSID), see Table 123 on page
| 519.
See also Character Data Representation Architecture Overview and Character Data
Representation Architecture Reference and Registry for more information.
| If you specify a CCSID that is recognized by DB2 but is inappropriate for your site,
| data might be corrupted. For example, assume that the coded character set at your
| site is 37, but you specify 500 as the system CCSID. If DB2 receives data with a
| CCSID of 37, the data might be corrupted because character conversion does not
| occur. Conversely, if DB2 receives data with a CCSID other than 500 and a
| conversion is made from that CCSID to 500, the data may be corrupted because
| character conversion does occur.
8. ASCII CCSID
| Specify the default CCSID for ASCII-encoded character data that is stored in your
| DB2 subsystem or data sharing system. DB2 uses this value to perform conversion
| of character data that is received from external sources, including other database
| management systems. You must specify a value for this field, even if you do not
| have or plan to create ASCII-encoded objects. Choose this value carefully to
| prevent loss of data integrity.
To determine which single-byte ASCII CCSID to use, see Table 121 on page 517. To
determine which double-byte ASCII CCSID to use, see Table 123 on page 519.
For more considerations, see the discussion for the 167 field.
9. UNICODE CCSID
Accept the default CCSID for Unicode. DB2 currently allows specification of only
CCSID 1208 for this value. DB2 automatically chooses the CCSIDs for double-byte
and single-byte data. Do not change CCSID values after they have been specified.
SQL results might be unpredictable if you do not accept the default.
Specify the default format in which to store data in DB2. If you specify DEF
ENCODING SCHEME=ASCII or EBCDIC and MIXED DATA=YES, specify a mixed
CCSID.
| The DDL uses the default encoding scheme in the following cases:
| v CREATE DATABASE
| v CREATE DISTINCT TYPE
| v CREATE FUNCTION
| v CREATE GLOBAL TEMPORARY TABLE
| v DECLARE GLOBAL TEMPORARY TABLE
| v CREATE TABLESPACE (in DSNDB04 database)
The system default application encoding scheme affects how DB2 interprets data
coming into DB2. For example, if you set your default application encoding
scheme to 37, and your EBCDIC coded character set to 500, DB2 converts all data
coming into the system to 500 from 37 before using it. This includes, but is not
limited to, SQL statement text and host variables.
# The following statements set the value of the host variable and do not require the
# package or DBRM to be bound into the plan:
# SET CURRENT PACKAGE SET = :HV ,
# SET :HV = CURRENT PACKAGE SET ,
# SET :HV = CURRENT PACKAGE PATH ,
# SET CURRENT PACKAGE PATH = :HV
# The host variable uses the system default application encoding scheme, even when
# the application is bound with the ENCODING(EBCDIC/UNICODE) bind option.
The default value, EBCDIC, causes DB2 to retain the behavior of previous versions
of DB2. (Assume that all data is in the EBCDIC system CCSID.)
Specify the system LOCALE LC_CTYPE. A locale is the part of your system
environment that depends on language and cultural conventions. An LC_TYPE is a
subset of a locale that applies to character functions.
The UPPER, LOWER, and TRANSLATE scalar functions use the CURRENT
LOCALE LC_CTYPE system default or special register. The results of these
functions can vary, depending on the setting of the locale.
Recommendation: Use the default value for LOCALE LC_CTYPE unless you need
to execute the UPPER, LOWER, or TRANSLATE functions for data that must be
interpreted by using the rules provided by specific locales. For example, specify
En_US for English in the United States or Fr_CA for French in Canada.
| For more information about the fields in this panel, see DB2 SQL Reference.
|
| DSNTIP4 INSTALL DB2 - APPLICATION PROGRAMMING DEFAULTS PANEL 2
| ===> _
|
| Enter data below:
|
| 1 MINIMUM DIVIDE SCALE ===> NO NO or YES for a minimum of 3 digits
| to right of decimal after division
| 2 DECIMAL ARITHMETIC ===> DEC15 DEC15, DEC31, 15, 31 or DPP.S
| 3 USE FOR DYNAMICRULES ===> YES YES or NO
| 4 DESCRIBE FOR STATIC ===> YES Allow DESCRIBE for STATIC SQL. NO or YES
| 5 DATE FORMAT ===> ISO ISO, JIS, USA, EUR, LOCAL
| 6 TIME FORMAT ===> ISO ISO, JIS, USA, EUR, LOCAL
| 7 LOCAL DATE LENGTH ===> 0 10-254 or 0 for no exit
| 8 LOCAL TIME LENGTH ===> 0 8-254 or 0 for no exit
| 9 STD SQL LANGUAGE ===> NO NO or YES
| 10 PAD NUL-TERMINATED ===> NO NO or YES
|
|
|
|
|
|
|
|
|
| PRESS: ENTER to continue RETURN to exit HELP for more information
||
| Figure 23. Application programming defaults panel: DSNTIP4
|
| 1. MINIMUM DIVIDE SCALE
|| Acceptable values: YES, NO
| Default: NO
| Update: option 15 on panel DSNTIPB
| DSNZPxxx: DSN6SPRM DECDIV3
|
| Specify YES to retain at least three digits to the right of the decimal point after any
| decimal division. Certain accounting applications might need this option. Use NO,
| the default, to accept the usual rules for decimal division in SQL. For more
| information about decimal division in SQL, see DB2 SQL Reference.
| 2. DECIMAL ARITHMETIC
|| Acceptable values: DEC15, DEC31, 15, 31
| Default: DEC15
| Update: not recommended; cannot be changed during migration
| DSNHDECP: DECARTH
|
| Specify the rules that are to be used when both operands in a decimal operation
| have precisions of 15 or less. DEC15 specifies the rules that do not allow a
| precision greater than 15 digits, and DEC31 specifies the rules that allow a
| This installation option applies to dynamic SQL by becoming the initial value for
| the CURRENT PRECISION special register, and it provides the default for the DEC
| precompiler option. DEC15 is sufficient for most sites. Do not choose DEC31 unless
| you are certain that you need the extra precision. If you use DEC31, you are more
| likely to get a bind error, particularly in division operations. See DB2 SQL Reference
| for information about arithmetic with two decimal operands.
| Specify whether DB2 should use the application programming defaults that are
| specified on this panel or use the values of the DB2 precompiler options for
| dynamic SQL statements that are bound by using DYNAMICRULES bind, define,
| or invoke behavior.
| Specify YES to use the application programming defaults for these fields regardless
| of the DYNAMICRULES option:
| v DECIMAL POINT IS
| v STRING DELIMITER
| v SQL STRING DELIMITER
| v MIXED DATA
| v DECIMAL ARITHMETIC
| Specify NO to use the DB2 precompiler values for dynamic SQL statements in
| plans or packages bound using the DYNAMICRULES bind, define, or invoke
| behavior.
| Specify whether DB2 is to build a DESCRIBE SQLDA when binding static SQL
| statements. Normally, a DESCRIBE cannot be issued against a static SQL statement,
| with the following exceptions:
| v In a distributed environment, where DB2 UDB for z/OS is the server, and the
| requester supports extended dynamic SQL. In this scenario, a DESCRIBE request
| that is executed on an SQL statement in the extended dynamic package appears
| to DB2 as a DESCRIBE on a static SQL statement in the DB2 package.
| v When an application uses a stored procedure result set, and the application must
| allocate a cursor for that result set. The application can describe that cursor by
| using a DESCRIBE CURSOR statement. The SQL statement that is actually
| NO means that DB2 does not generate a DESCRIBE SQLDA at bind time for static
| SQL statements. If a DESCRIBE request is received at execution time, DB2
| generates an error. However, if the describe request comes from a DESCRIBE
| CURSOR statement, DB2 satisfies the request but is able to provide only data type
| and length information. Column names are not provided.
| YES, the default, means that DB2 does generate a DESCRIBE SQLDA at bind time
| so that DESCRIBE requests for static SQL can be satisfied during execution. You
| must rebind the package after this value has been set to YES. Specifying YES
| increases the size of some packages because the DESCRIBE SQLDA is now stored
| with each statically bound SQL SELECT statement.
| 5. DATE FORMAT
|| Acceptable values: ISO, USA, EUR, JIS, LOCAL
| Default: ISO
| Update: not recommended
| DSNHDECP: DATE
|
| Specify one of the abbreviations that are shown in Table 40 as a default output
| format to represent dates.
| Table 40. Date formats
| Format name Abbreviation Format Example
| International Standards ISO yyyy-mm-dd 2003-12-23
| Organization
| IBM USA standard USA mm/dd/yyyy 12/23/2003
| IBM European standard EUR dd.mm.yyyy 23.12.2003
| Japanese Industrial Standard JIS yyyy-mm-dd 2003-12-23
| Christian Era
| Locally defined (by an installation LOCAL your choice
| exit routine)
|
| DB2 can accept a date in any format as input. DB2 interprets the input date based
| on the punctuation and then provides date output in the format that you specify
| for this parameter. If you use LOCAL, you must provide a date exit routine to
| perform date formatting; for information, see Appendixes (Volume 2) of DB2
| Administration Guide.
| 6. TIME FORMAT
|| Acceptable values: ISO, USA, EUR, JIS, LOCAL
| Default: ISO
| Update: not recommended
| DSNHDECP: TIME
|
| Specify one of the formats that are shown in Table 41 on page 174 as a default
| output to represent times.
| DB2 can accept a time in any format as input. DB2 interprets the input time based
| on the punctuation and then provides time output in the format you specify for
| this parameter. If you use LOCAL, you must provide a time exit routine to
| perform time formatting; for information, see Appendix B (Volume 2) of DB2
| Administration Guide.
| Accept the default value 0 if you want to use one of the IBM-supplied date
| formats (ISO, JIS, USA, or EUR). This indicates that no user-defined date format
| exists in your system. If you use a locally defined date exit routine, enter the
| length of the longest field that is required to hold a date. If you want your own
| date format to be the default, enter LOCAL for field 1 on this panel.
| Accept the default value 0 if you want to use one of the IBM-supplied time
| formats (ISO, JIS, USA, or EUR). This indicates that no user-defined time format
| exists in your system. If you use a locally defined time exit routine, enter the
| length of the longest field that is required to hold a time. If you want your own
| time format to be the default, enter LOCAL for field 2 on this panel.
| If you choose NO, you specify that programs are written in accordance with the
| SQL language that is defined by DB2.
| Specify whether output host variables that are nul-terminated strings are padded
| with blanks and a nul-terminator.
1. CURRENT DEGREE
Specify the default for the CURRENT DEGREE special register when no degree is
explicitly set using the SQL statement SET CURRENT DEGREE.
3. OPTIMIZATION HINTS
Specify that you are to pass information to DB2 that might influence the access
path selected for certain queries. The information is passed in the form of rows in
the PLAN_TABLE. If you accept the default value, you cannot use optimization
hints. See Part 5 (Volume 2) of DB2 Administration Guide for more information on
the PLAN_TABLE.
If you choose NO, DB2 must go to the data to retrieve data because index-only
| access of varying-length column data in padded indexes is not possible. With a
setting of NO, data is retrieved with no padding.
| Recommendation: Accept the default value and use padded indexes. Use NOT
| PADDED indexes if you want the index to use less space, to allow index-only
| retrieval with variable characters, and do not want the incompatible retrieval of the
| full column width.
5. RELEASE LOCKS
If you choose YES, the default, DB2 releases this data or row lock after a COMMIT
is issued for cursors that are defined WITH HOLD. Specifying YES can improve
concurrency.
If you choose NO, DB2 holds the data or row lock for WITH HOLD cursors after
the COMMIT. This option is provided so that existing applications that rely on this
lock can continue to work correctly.
6. MAX DEGREE
Specify the maximum degree of parallelism for a parallel group. When you specify
a value, you limit the degree of parallelism so that DB2 cannot create too many
parallel tasks that use virtual storage. The default value of 0 means that DB2 will
choose a maximum degree of parallelism that is based on the system configuration.
See Part 5 (Volume 2) of DB2 Administration Guide for more information about
limiting the degree of parallelism.
| Specifying NO or SAME will not improve concurrency. DB2 does not take
| exclusive control of the objects to perform the update.
Specify how free space is to be utilized for large EDM pools (greater than 40 MB).
Specify NO to optimize for performance. YES optimizes for better storage
utilization. In the trade-off between performance and space utilization, space is
normally more critical for smaller EDM pools, and performance is more critical for
larger EDM pools.
9. IMMEDIATE WRITE
If you specify NO, the default, predicate evaluation occurs only on committed data
(or on the application’s own uncommitted changes). NO ensures that all qualifying
data is always included in the answer set.
If you specify YES, predicate evaluation can occur on uncommitted data of other
transactions. With YES, data might be excluded from the answer set. Data that
| Specify whether cursors bound with read stability or cursor stability will ignore
| uncommitted inserts made by other transactions.
If you specify NO, the default value, uncommitted inserts are evaluated for return
with or without waiting for committedness according to the value that you set in
the EVALUATE UNCOMMITTED field.
| If you specify YES, uncommitted inserts will be treated as if they had not yet
| arrived. In a data sharing environment, uncommitted inserts of transactions that
| were designated as spawning transactions will be treated in this manner.
| Immediate write occurs for inserts, updates, and deletes, but readers do not wait
| for the outcome of uncommitted inserts.
| Specify the default value for the CURRENT REFRESH AGE special register when
| no value is explicitly set using the SQL statement SET CURRENT REFRESH AGE.
| Accepting the default value disables query rewrite using deferred materialized
| query tables.
| Specify the default value for the CURRENT MAINTAINED TABLE TYPES FOR
| OPTIMIZATION special register when no value is explicitly set by using the SQL
| Specify whether star join processing is enabled. A value of 1 indicates that the fact
| table will be the largest table in a star join query that does not have
| fact/dimension ratio checking. A value of 2 to 32768 indicates that DB2 should use
| the ratio of the star join table and the largest dimension table.
| Specify the maximum size, in MB, of the virtual memory pool for star join queries.
| If you specify zero, DB2 does not allocate a memory pool for star join queries,
| even if star join queries are enabled. If you specify a value between 1 and 1024,
| DB2 creates a dedicated memory pool up to the specified size for star join queries.
| Recommendation: Choose a value that avoids system paging that can slow down
| the entire system throughput. For more information about choosing a value, see
| Part 5 (Volume 2) of DB2 Administration Guide.
You must use one IRLM for each DB2 subsystem. See “IRLM address space
(IRLMPROC)” on page 29 for more information about DB2 and IRLM. See DB2
Data Sharing: Planning and Administration for recommendations about choosing
values for fields on this panel.
Updating the parameters: The update option in each parameter description in this
topic indicates the correct procedure:
Note A Change by editing the IRLM start procedure.
Note B Change by editing the associated parameter in job DSNTIJUZ, the
IRLM start procedure, and input member DSNTIDXA. Then,
execute DSNTIJUZ and restart DB2.
1. INSTALL IRLM
Specify whether to provide IRLM subsystem entries in job DSNTIJMV and to build
an IRLM procedure. If you specify NO, no IRLM procedure is produced. On
installation panel DSNTIPJ, all values are ignored with the exception of fields 3
and 4.
If you specify YES, the required entries are provided, and the IRLM procedure is
built.
2. SUBSYSTEM NAME
Specify the name by which z/OS knows the IRLM subsystem. The name is used
for communication between DB2 and the IRLM. This name is included in the z/OS
subsystem table IEFSSNxx, where xx is the value that you supply in field 3
(SUBSYSTEM MEMBER) on installation panel DSNTIPM found on 199.
If you installed the IRLM for IMS, DB2’s IRLM name must be different. Two
IRLMs that reside in the same z/OS system must have unique z/OS subsystem
names. If you already have IRLM installed, use the z/OS subsystem name for that
IRLM. Otherwise, accept the default value, IRLM. For more information, see IMS
Command Reference.
3. RESOURCE TIMEOUT
Specify the number of seconds before a time-out is detected. Timeout means that a
lock request has waited for a resource (or for claims on a resource for a particular
claim class to be released) longer than the number of seconds specified on this
option. The value that is specified for this option must be a multiple of the
DEADLOCK TIME on installation panel DSNTIPJ because IRLM uses its deadlock
timer to initiate time-out detection and deadlock detection. This value is rarely the
actual time. For data sharing, the actual timeout period is longer than the time-out
value. See DB2 Data Sharing: Planning and Administration for an explanation of
time-outs.
4. AUTO START
Recommendation: Use YES if you use the IRLM only for a single DB2 subsystem.
If you specify NO, DB2 terminates if the IRLM is not started when DB2 comes up.
When IRLM initializes, it is registered with the z/OS automatic restart manager
(ARM). It deregisters from the ARM when the IRLM is shut down normally. When
IRLM terminates, it sends DB2 the registration information so that DB2 can
determine whether IRLM was terminated normally. DB2 then deregisters from the
ARM to prevent unwanted restarts. Otherwise, IRLM might be restarted with DB2,
if AUTO START is YES. See Part 4 (Volume 1) of DB2 Administration Guide for
information on changing the IRLM policy definition in a non-data sharing
environment. See DB2 Data Sharing: Planning and Administration for IRLM policy
definitions within a data sharing environment.
5. PROC NAME
Specify the name of the IRLM procedure that z/OS invokes if field 4 is YES. The
name cannot be the same as the subsystem name in field 2.
6. TIME TO AUTOSTART
Specify the IRLM wait time in seconds. This is the time that DB2 waits for the
IRLM to start during autostart. If the time expires, DB2 abends.
7. UTILITY TIMEOUT
Specify the number of resource time-out values (field 3) that a utility or utility
command is to wait for a lock or for all claims on a resource of a particular claim
class to be released. For example, if you use the default value, a utility can wait six
times longer than an SQL application for a resource. This option allows utilities to
Specify whether to use the U (UPDATE) lock when using repeatable read (RR) or
read stability (RS) isolation to access a table. If you specify NO, the lock mode for
operations with RR or RS is S (SHARE). If the cursor in your applications includes
the FOR UPDATE OF clause, but updates are infrequent, S-locks generally provide
better performance.
If you specify YES, the lock mode for operations with RR or RS is U. If your
applications make frequent updates with repeatable-read isolation, the U-lock
might provide greater concurrency than the S-lock. However, applications that
require high concurrency are almost always more efficient if they use cursor
stability (CS) isolation.
Specify the locking method that is to be used when performing a searched update
or delete. A value of NO means DB2 uses an S- or U-lock when scanning for
qualifying rows. For any qualifying rows or pages, the lock is upgraded to an
X-lock before performing the update or delete. For non-qualifying rows or pages
the lock is released if ISOLATION(CS) is used. For ISOLATION(RS) or
ISOLATION(RR), an S-lock is retained on the rows or pages until the next commit
point. Use this option to achieve higher rates of concurrency.
A value of YES means DB2 uses an X-lock on qualifying rows or pages. For
ISOLATION(CS), the lock is released if the rows or pages are not updated or
deleted. For ISOLATION(RS) or ISOLATION(RR), an X-lock is retained until the
next commit point. A value of YES is beneficial in a data sharing environment
when most or all searched updates and deletes use an index. If YES is specified
and searched updates or deletes result in a table space scan, the likelihood of
time-outs and deadlocks greatly increases.
# A value of TARGET means DB2 combines YES and NO behavior. DB2 uses an
# X-lock on qualifying rows or pages of the specific table that is targeted by the
# update or delete statement. DB2 uses an S- or U-lock when scanning for rows or
# pages of other tables that are referenced by the query (for example, tables that are
# referenced only in the WHERE clause of the query). For non-qualifying rows or
# pages the lock is released if ISOLATION(CS) is used. For ISOLATION(RS) or
# ISOLATION(RR), an S-lock is retained on the rows or pages until the next commit
# point.
Specify whether the IRLM component traces should be activated when IRLM is
started. The DB2-provided IRLM procedure in DSNTIJMV is tailored according to
this value.
Specify NO if you want IRLM to start only the low-activity subtraces EXP, INT,
and XIT.
Specify YES if you want IRLM to start with all its subtraces active. Starting all
IRLM subtraces has a slight impact on performance demand for ECSA storage, but
it improves serviceability.
Specify the number of resource time-out values (field 3) that an IMS BMP
connection is to wait for a lock to be released. For example, if you use the default
value, an IMS BMP connection can wait 4 times the resource time-out value for a
resource. This option gives you flexibility in tuning your system to avoid
time-outs. For more information, see ″Installation options for wait times″ in Part 5
(Volume 2) of DB2 Administration Guide.
Specify the number of resource time-out values (field 3) that a DL/I batch
connection is to wait for a lock to be released. For example, if you use the default
value, a DL/I batch application can wait six times the resource timeout value for a
resource. This option gives you flexibility in tuning your system to avoid
time-outs. For more information, see ″Installation options for wait times″ in Part 5
(Volume 2) of DB2 Administration Guide.
The value that you use is a multiplier that is applied to the connection’s normal
time-out value. For example, if the retained lock multiplier is 2, the timeout period
for a call attachment connection that is waiting for a retained lock is 1 * 2 (1 for the
normal CAF timeout period, 2 for the additional time that is specified for retained
locks).
If you use the default, 0, applications do not wait for incompatible retained locks,
but instead the lock request is immediately rejected, and the application receives a
resource unavailable SQLCODE.
| Specify whether IRLM loads its common storage modules into page-protected
| storage.
| YES, the default, indicates that modules located in common storage are to be
| loaded into page-protected storage to prevent programs from overlaying the
| instructions. YES is recommended because it requires no additional overhead after
| the modules are loaded, and the protection can prevent code-overlay failures.
| NO indicates that common storage modules are to be loaded into CSA or ECSA
| without first page protecting that memory.
# Ensure that you set this value high enough so that IRLM does not reach the limit.
# The value that you choose should provide space for possible retained locks. IRLM
# only gets storage as it needs it, so choose a large value. You can also change the
# value dynamically by using the z/OS command MODIFY irlmproc,SET,MLT. See
# “Common service area” on page 30 for more information about how IRLM uses
# storage. For data sharing settings, see DB2 Data Sharing: Planning and
# Administration.
| Specify the default value for the maximum number of page, row, or LOB locks that
| a single application can hold simultaneously in a single table or tablespace before
| lock escalation occurs. You can enter the value in bytes, or use the abbreviations K
| for kilobytes and M for megabytes. The value that you specify for this field must
| be less than the value specified for LOCKS PER USER (except when LOCKS PER
| USER is set to 0).
| This value becomes the default value (SYSTEM) for the LOCKMAX clause of the
| SQL statements CREATE TABLESPACE and ALTER TABLESPACE. A value of 0
| indicates that there is no limit to the number of data and row locks that a program
| can acquire
| Recommendation: Do not set the value to 0, because it can cause the IRLM to
| experience storage shortages.
| For more information about this parameter, see Part 5 (Volume 2) of DB2
| Administration Guide.
| Specify the maximum number of page, row, or LOB locks that a single application
| can hold concurrently for all table spaces. You can enter the value in bytes, or use
| the abbreviations K for kilobytes and M for megabytes. The maximum number
| includes locks on data pages, index pages, subpages, and rows that the program
| acquires when it accesses table spaces. The limit applies to all table spaces that are
| DB2 assumes that each lock requires 540 bytes of storage. If you define referential
| constraints between values, you might want to select a higher value for this field.
| To avoid exhausting the IRLM’s storage for locks, follow these guidelines:
| v Do not specify 0 or a very large value unless it is specifically required to run an
| application.
| v Consider the design of your applications. Long-running applications, particularly
| those that perform row-level locking, have few or infrequent commit points, or
| use repeatable-read insolation may use substantial amounts of lock storage. You
| should perform frequent commits to release locks.
| Important: These values are constraints for a single application. Each concurrent
| application can hold the maximum number of locks specified here.
| Check panel DSNTIPC to ensure that the required storage for the IRLM does not
| exceed the available region size for the IRLM.
| For more information about the maximum number of locks that can be held, see
| Part 5 (Volume 2) of DB2 Administration Guide.
| 5. DEADLOCK TIME
|#| Acceptable values: 1 to 5, 100 to 5000
| Default: 1
| Update: edit IRLM start procedure
| DSNZPxxx: none
|
| Specify the time, in seconds or milliseconds, of the local deadlock detection cycle.
# DB2 interprets values between 1 and 5 as seconds and values between 100 and
# 5000 as milliseconds. Depending on the value that you enter, IRLM might
# substitute a smaller maximum value. A deadlock is a situation where two or more
# requesters are waiting for resources that are held by another requester. Deadlock
# detection is the procedure by which a deadlock and its participants are identified.
| 6. DEADLOCK CYCLE
|| Acceptable values: 1
| Default: 1
| Update: edit IRLM start procedure
| DSNZPxxx: none
|
| Specify the number of local deadlock cycles that must expire before the IRLM
| performs global deadlock detection processing. This option is used only for DB2
| data sharing.
| Specify an ID number that uniquely names this IRLM member within an IRLM
| data sharing group.
| Recommendation: Correlate the IRLM member ID with the DB2 member name.
| For example, for DB2 member DSN1, specify an IRLM member ID of 1.
| The IRLM ID that you specify does not relate directly to the limit of IRLM
| members that can be in the data sharing group. That limit is determined by the
| current hardware limits (32). If you edit the IRLMPROC directly, you can specify a
| value from 1 to 255. See DB2 Command Reference for information about the
| IRLMPROC command.
| Specify the name of the IRLM group. This name must be different from the DB2
| group name.
| Recommendation: Begin this name with DXR. All members in the DB2 group must
| have the same IRLM XCF group name.
| To avoid names that IBM uses for its cross-system coupling facility (XCF) groups,
| the first character must be an uppercase letter J-Z unless the name begins with
| DXR. Do not use SYS as the first three characters, and do not use UNDESIG as the
| group name.
| Specify the initial size, in bytes, of individual lock entries in the lock table portion
| of the lock structure.
| DB2 converts the value for LOCK ENTRY SIZE to a corresponding value for the
| IRLM parameter MAXUSRS as shown in Table 42.
| Table 42. Converting lock entry size to MAXUSRS values
| LOCK ENTRY SIZE MAXUSRS value
| 2 7
| 4 23
| 8 32
|
| Specify the number of lock table entries that you want in the coupling facility lock
| structure. This value must be a power of 2 in the range of 1 to 1024, with each
| increment representing 1 048 576 lock table entries. The default value, 0, indicates
| that IRLM is to determine the number of lock table entries based on the lock
| structure size that is specified in CFRM policy and the number of users
| (MAXUSRS). If you specify a value for lock structure size in CFRM policy that is
| greater than 1024 megabytes, IRLM limits the number of lock table entries to a
| maximum of 1024 megabytes. If you want to control the number of lock table
| entries, enter a non-zero value within the accepted range.
# The number of lock table entries has a direct affect on cross-system extended
# services (XES) contention. You should therefore monitor this number to find the
# optimum values for your installation.
| Specify whether IRLM should disconnect automatically from the data sharing
| group when DB2 is not identified to it. The default, YES, causes IRLM to
| disconnect from the data sharing group when DB2 is stopped normally or stops as
| the result of a DB2 failure.
| When you specify YES is conjunction with AUTOSTART YES (on panel DSNTIPI),
| manual intervention is not required to stop IRLM.
| If you specify NO, IRLM remains connected to the data sharing group even when
| DB2 is stopped. In this case, you must explicitly stop IRLM to bring it down.
If the data sets are managed by Data Facility Storage Management Subsystem
(DFSMS), the password does not apply; data sets that are defined to DFSMS
should be protected by RACF or some similar external security system.
Updating the parameters: If you are migrating, DB2 UDB for z/OS Version 8 uses
your Version 7 catalog, directory, work file databases, BSDS, active logs, and
archive logs. Consequently, you cannot change the passwords for those objects
during migration.
Change passwords on panel DSNTIPP with the ALTER command of access method
services. Then run the change log inventory utility, DSNJU003, to tell DB2 the new
passwords.
You can change other entries by following an update process after migration. See
“Main panel: DSNTIPA1” on page 94.
1 ARCHIVE LOG RACF ===> NO RACF protect archive log data sets
2 USE PROTECTION ===> YES DB2 authorization enabled. YES or NO
3 SYSTEM ADMIN 1 ===> SYSADM Authid of system administrator
4 SYSTEM ADMIN 2 ===> SYSADM Authid of system administrator
5 SYSTEM OPERATOR 1 ===> SYSOPR Authid of system operator
6 SYSTEM OPERATOR 2 ===> SYSOPR Authid of system operator
7 UNKNOWN AUTHID ===> IBMUSER Authid of default (unknown) user
8 RESOURCE AUTHID ===> SYSIBM Authid of Resource Limit Table creator
9 BIND NEW PACKAGE ===> BINDADD Authority required: BINDADD or BIND
10 PLAN AUTH CACHE ===> 3072 Size in bytes per plan (0 - 4096)
11 PACKAGE AUTH CACHE===> 100K Global - size in bytes (0-5M)
12 ROUTINE AUTH CACHE===> 100K Global - size in bytes (0-5M)
13 DBADM CREATE AUTH ===> NO DBA can create views/aliases for others
14 AUTH EXIT LIMIT ===> 10 Access control exit shutdown threshold
Specify whether archive log data sets are to be protected with individual profiles
with RACF when they are created. If you specify YES, RACF protection must be
active for DB2. However, a value of YES also means that you cannot use RACF
generic profiles for archive log data sets. In addition, RACF class TAPEVOL must
be active if your archive log is on tape. Otherwise, the offload fails. For
information about using RACF, see Part 3 (Volume 1) of DB2 Administration Guide.
Specify whether DB2 is to perform authorization checking. If you specified YES for
the value of CACHE DYNAMIC SQL on panel DSNTIP4, you must also specify
YES for this value.
3. SYSTEM ADMIN 1
Specify the first of two authorization IDs with installation SYSADM authority. The
two users with installation SYSADM authority are permitted access to DB2 in all
cases. For the implications of this authority, and to understand REVOKE
implications when changing this field, see Part 3 (Volume 1) of DB2 Administration
Guide.
4. SYSTEM ADMIN 2
Specify the second of two authorization IDs with installation SYSADM authority;
see field 8.
If you leave this field blank, the value is set to the value of field 3.
5. SYSTEM OPERATOR 1
Specify the first of two authorization IDs with installation SYSOPR authority. The
two users with installation SYSOPR authority are permitted access to DB2 even if
the DB2 catalog is unavailable. For the implications of this authority, see Part 3
(Volume 1) of DB2 Administration Guide.
# Recommendation: Set the value of this field or the value of the SYSTEM
# OPERATOR 2 field to SYSOPR. Doing so ensures that DB2 commands that are
# issued from the console can be processed correctly when the DB2 catalog is
# unavailable.
6. SYSTEM OPERATOR 2
Specify the second of two system operators with installation SYSOPR authority; see
field 10.
# Recommendation: Set the value of this field or the value of the SYSTEM
# OPERATOR 1 field to SYSOPR. Doing so ensures that DB2 commands that are
# issued from the console can be processed correctly when the DB2 catalog is
# unavailable.
7. UNKNOWN AUTHID
Specify the authorization ID that is to be used if RACF is not available for batch
access and USER= is not specified in the job statement.
8. RESOURCE AUTHID
Specify the authorization ID used if you plan to use the resource limit facility
(governor).
See Part 3 (Volume 1) of DB2 Administration Guide for a full description of the
privileges that are needed to bind a new package.
| Acceptable values: 0 to 5M
| Default: 100K
| Update: option 19 on panel DSNTIPB
DSNZPxxx: DSN6SPRM CACHEPAC
Specify how much storage to allocate for the caching of package authorization
information for all packages on this DB2 member. The cache is stored in the
DSN1DBM1 address space.
Specify how much storage to allocate for the caching of routine authorization
information for all routines on this DB2 member. Routines include stored
procedures and user-defined functions.
| Specifying YES results in less need for SYSADM authority on a database. However,
| users that need full authority may still need to have SYSADM authority. Specifying
| YES does not allow an authorization ID with DBADM authority to grant authority
| on that view.
| Specify the number of abends of the DB2 access control authorization exit routine
| that will be tolerated before it is shut down. After the exit routine shuts down, it
| can be reactivated only by restarting DB2. A very low setting may cause the exit
| routine to shut down in response to routine abends such as time-outs. A very high
| setting, on the other hand, may mask a problem with the exit routine environment
| that can result in degraded DB2 or system performance.
Updating the parameters: Different sites have different requirements for identifying
DB2 to z/OS; as a result, the updates that DSNTIJMV makes to z/OS PARMLIB
members might be incomplete. To ensure that the updates are complete, it is
recommended that you edit the z/OS PARMLIB members directly when you
install or migrate DB2. This is substantially easier than editing DSNTIJMV.
1. SUBSYSTEM NAME
Specify the z/OS subsystem name for DB2. The name is used in member IEFSSNxx
of SYS1.PARMLIB.
If you specified a group attachment name in the GROUP ATTACH field on panel
DSNTIPK, DSNHDECP.SSID is set using that value.
Updating the parameters: Different sites have different requirements for identifying
DB2 to z/OS; as a result, the updates that DSNTIJMV makes to z/OS PARMLIB
members might be incomplete. To ensure that the updates are complete, it is
recommended that you edit the z/OS PARMLIB members directly when you
install or migrate DB2. This is substantially easier than editing DSNTIJMV.
Specify the DB2 command prefix. When the prefix appears at the beginning of a
command that is entered at an z/OS operator’s console, z/OS passes the command
to DB2 for processing. The command prefix is used in the DB2 entry of member
IEFSSNxx of SYS1.PARMLIB.
The first character of the command prefix must be a character in Table 43. The
remaining characters of the command prefix must be from Table 43, A-Z, or 0-9.
Table 43. Allowable special characters for the command prefix
Name Character Hexadecimal representation
cent sign ¢ X'4A'
period . X'4B'
less-than sign < X'4C'
plus sign + X'4E'
vertical bar | X'4F'
1
ampersand & X'50'
exclamation point ! X'5A'
dollar sign $ X'5B'
asterisk * X'5C'
right parenthesis ) X'5D'
semi-colon ; X'5E'
hyphen - X'60'
slash / X'61'
percent sign % X'6C'
underscore _ X'6D'
question mark ? X'6F'
colon : X'7A'
number sign # X'7B'
at sign @ X'7C'
2
apostrophe ’ X'7D'
3
equal sign = X'7E'
quotation marks " X'7F'
1. To use the ampersand (&), accept the default in this field, and then edit job
DSNTIJMV to specify the ampersand as the command prefix.
2. To use the apostrophe ('), you must code two consecutive apostrophes in your
IEFSSNxx member. For example, the entry for subsystem DB2A with a
command prefix of 'DB2A and a scope of started looks like this:
DB2A,DSN3INI,'DSN3EPX,''DB2A,'
3. To use the equal sign (=), accept the default command prefix, and then edit job
DSNTIJMV to replace the dash (–) with the equal sign as the first character of
the command prefix.
3. SUBSYSTEM MEMBER
Specify the last two characters (xx) of the name of member IEFSSNxx of
SYS1.PARMLIB. The subsystem member name indicates the available z/OS
subsystems, including DB2 and IRLM.
4. SUBSYSTEM SEQUENCE
Specify any number that is greater than the highest sequence number that is
already used in the IEFSSNxx PARMLIB member.
5. AUTH MEMBER
Specify the last two characters (xx) of the name of member IEAAPFxx of
SYS1.PARMLIB. This member is used for authorized program facility (APF)
authorization of the prefix.SDSNLOAD, prefix.SDSNLINK, and prefix.SDSNEXIT
libraries. This data set must be APF-authorized. The member name must currently
exist for the z/OS update job DSNTIJMV to work correctly.
You can use the PROGxx member instead of the IEAAPFxx member. In this case,
you must manually name the PROGxx member because job DSNTIJMV does not
do it for you.
Specify any number that is greater than the highest sequence number that is
already used in the IEAAPFxx PARMLIB member.
Specify any number that is greater than the highest sequence number that is
already used in the LNKLSTxx PARMLIB member.
9. COMMAND SCOPE
Although STARTED specifies a Sysplex scope, you can also use it for a DB2
subsystem in a non-data-sharing environment. Use STARTED if you intend to use
the z/OS automatic restart manager, or if you might move this DB2 into a data
sharing group.
Specify whether to record errors such as invalid decimal data and arithmetic
exceptions. DB2 catches these errors and issues SQLCODEs for them. This option
enables or disables the recording of these errors in the operating system data set,
SYS1.LOGREC.
Performance note: Several fields on this panel affect the DB2 use of logging. Be
careful when determining the values that are associated with fields on this panel.
These values can greatly affect the performance of your DB2 subsystem. For a
description of DB2 logging, see Part 4 (Volume 1) of DB2 Administration Guide.
1 NUMBER OF LOGS ===> 3 Number data sets per active log copy (2-31)
2 OUTPUT BUFFER ===> 4000K Size in bytes (40K-400000K)
3 ARCHIVE LOG FREQ ===> 24 Hours per archive run
4 UPDATE RATE ===> 3600 Updates, inserts, and deletes per hour
5 LOG APPLY STORAGE ===> 100 Maximum ssnmDBM1 storage in MB for
fast log apply (0-100M)
1. NUMBER OF LOGS
| Specify the number of data sets for each copy of the active log. This value specifies
| the number of active log data sets that are established at installation time. You can
| later use the DSNJU003 utility to change the number of log data sets, and if you
| run the BSDS conversion utility, you can specify up to 93 data sets. If you use the
| DSNJU003 utility to modify the number of logs, your modified value is not
| reflected on this panel. See “Updating other parameters” on page 249 for details.
| For more information about running the BSDS conversion utility, see
| “Considerations for the BSDS” on page 364.
2. OUTPUT BUFFER
Estimate the interval, in hours, at which the active log is offloaded to the archive
log. If you accept the default value of 24, the active log is offloaded approximately
once each day.
4. UPDATE RATE
Estimate the average number of inserts, updates, and deletes that are expected per
hour in your subsystem.
You can use K (as in 32K) for multiples of 1024 bytes and M (as in 16M) for
multiples of 1 048 576 bytes.
The size calculations in the DSNTINST CLIST assume that about 400 bytes of data
are logged for each insert, update, and delete. The amount of data that is logged
for these changes might be different at your site. Therefore, consider changing the
size of the log data sets after you gain some experience with DB2 and have a
better idea of how many bytes of data are logged for each change. Generally, if
you have a subsystem that is tuned for maximum efficiency, you can expect to log
about 10 GB of data per hour while processing several millions of updates and
inserts.
Together, the UPDATE RATE and the ARCHIVE LOG FREQ (field 3) determine the
size of the active logs.
The value in this field represents the maximum ssnmDBM1 storage that can be
used by the fast log-apply process. If you specify 0, the fast log-apply process is
disabled except during DB2 restart. During DB2 restart, the fast log-apply process
is always enabled.
6. CHECKPOINT FREQ
You can use the SET LOG command to dynamically change the number of log
records between checkpoints.
7. FREQUENCY TYPE
Specify whether the units for checkpoint frequency are in log records or time. If
you choose LOGRECS, specify the number of records in the CHECKPOINT FREQ
field. If you choose MINUTES, specify the number of minutes.
8. UR CHECK FREQ
Specify the number of checkpoint cycles that are to complete before DB2 issues a
warning message to the console and instrumentation for an uncommitted unit of
recovery (UR).
Accept the default to disable this option. This option does not affect performance.
If you use this option, specify a value that is based on how often a checkpoint
occurs in your system and how much time you can allow for a restart or
shutdown. For example, if your site’s checkpoint interval is 5 minutes and the
standard limit for issuing commits with units of recovery is 20 minutes, divide 20
by 5 to determine the best value for your system.
Specify the number of log records that are to be written by an uncommitted unit of
recovery (UR) before DB2 issues a warning message to the console. The purpose of
this option is to provide notification of a long-running UR. Long-running URs
might result in a lengthy DB2 restart or a lengthy recovery situation for critical
tables. Specify the value in 1-K (1000 log records) increments. A value of 0
indicates that no write check is to be performed.
NO specifies that DB2 backward-log processing should process all inflight and
in-abort units of recovery (URs). YES postpones back-out processing for some units
of work until you issue the command RECOVER POSTPONED. AUTO postpones
some backout processing, but automatically starts the back-out processing when
DB2 restarts and begins acceptance of new work. With YES or AUTO, back-out
processing runs concurrently with new work. sets or partitions with pending
back-out work are unavailable until their back-out work is complete.
See the description of the BACKOUT DURATION field for information on how
you specify the amount of backward-log processing that is allowed to complete
during restart (when LIMIT BACKOUT is YES or AUTO).
Specify a multiplier to indicate how much log to process for backout when LIMIT
BACKOUT=YES or AUTO.
Indicates the number of consecutive DB2 checkpoints since a set or partition was
last updated, after which DB2 converts the set or partition from read-write to
read-only. This value is used in conjunction with RO SWITCH TIME. If the
condition for RO SWITCH TIME or RO SWITCH CHKPTS is met, the set or
partition is converted from read-write to read-only.
Having DB2 switch an infrequently updated set from read-write to read-only can
be a performance benefit for recovery, logging, and for data sharing processing. See
Part 5 (Volume 2) of DB2 Administration Guide and DB2 Data Sharing: Planning and
Administration for more information about read-only switching.
Indicates the number of minutes since a set or partition was last updated, after
which DB2 converts the set or partition from read-write to read-only. This value is
used in conjunction with RO SWITCH CHKPTS. If the condition for RO SWITCH
CHKPTS or RO SWITCH TIME is met, the set or partition is converted from
read-write to read-only.
Having DB2 switch an infrequently updated set from read-write to read-only can
be a performance benefit for recovery, logging, and for data sharing processing. See
Part 5 (Volume 2) of DB2 Administration Guide and DB2 Data Sharing: Planning and
Administration for more information about read-only switching.
Consider the following questions when you choose a value for the frequency of
level ID updates:
v How often do you use backup and restore methods outside of DB2’s control?
(such as DSN1COPY or DFDSS dump and restore)? If you rarely use such
methods, you do not need to update the level ID frequently.
v How many sets are open for update at the same time? If DB2 updates level IDs
frequently, you have extra protection against down-level sets. However, if the
level IDs for many sets must be set at every checkpoint, you might experience a
performance degradation.
v How often does the subsystem take checkpoints? If your DB2 subsystem takes
frequent system checkpoints, you can set the level ID frequency to a higher
number.
Updating the parameters: You can update all the parameters on this panel by using
their subsystem parameter name.
1. ALLOCATION UNITS
Specify the units in which primary and secondary space allocations are to be
obtained.
2. PRIMARY QUANTITY
# Specify the primary space allocation for a disk data set, in units of ALCUNIT. If
# you use the default, a blank, the CLIST calculates this space using block size and
# size of the log. DFSMS Direct Access Device Space Management (DADSM) limits
# the space allocation on a single volume to less than 64000 tracks. Therefore, if the
# archive log data set size can be greater than or equal to 64000 tracks, you need to
# specify a primary space quantity of less than 64000 tracks. This forces the archive
# log data set to extend to a second volume. For more information about estimating
# the archive log data set size, see “Archive log data sets storage requirements” on
# page 27.
Specify the secondary space allocation for a disk data set, in units of ALCUNIT. If
you use the default, a blank, the CLIST calculates this space using block size and
size of the log.
4. CATALOG DATA
Specify whether archive log data sets are to be cataloged in the primary catalog of
the ICF. This option is only meaningful if you specify tape for the DEVICE TYPE 1
or DEVICE TYPE 2 fields on this panel because DB2 requires that all archive log
data sets allocated on disk be cataloged. If you choose to archive to disk, the
catalog option must be set to YES. If the catalog option is set to NO and you
decide to place your archive log data sets on disk, you receive message DSNJ072E
each time an archive log data set is allocated, and the DB2 subsystem catalogs the
data set.
5. DEVICE TYPE 1
Specify the device type or unit name for storing archive log data sets. The value
can be any alphanumeric string. If you choose to archive to disk, you can specify a
generic device type with a limited volume range. DB2 requires that all archive log
data sets allocated on disk be cataloged. If the device type specifies disk, set field 4
(CATALOG DATA) to YES.
If the unit name specifies disk, the archive log data sets can extend to a maximum
of 15 volumes. If the unit name specifies a tape device, DB2 can extend to a
maximum of 20 volumes. If you chose to use disk, make the primary and
secondary space allocations (fields 2 and 3) large enough to contain all of the data
that comes from the active log data sets without extending beyond 15 volumes.
When archiving to disk, DB2 uses the number of online storage volumes for the
specified UNIT name to determine a count of candidate volumes, up to a
maximum of 15 volumes. If the archives are to be managed by SMS, do not use a
storage class with the Guaranteed Space attribute. SMS attempts to allocate a
primary extent on every candidate volume. This can result in allocation failures or
unused space because the primary extent on each unused volume is not released
when the archive data set is closed.
6. DEVICE TYPE 2
Specify the device type or unit name for storing the second copy of archive log
data sets (COPY2 data sets), as for field 5.
7. BLOCK SIZE
Specify the block size of the archive log data set. The block size must be
compatible with the device type you use for archive logs. The value is rounded up
to the next multiple of 4096 bytes. You can also enter the value with a K; for
example, 28K.
If the archive log is written to tape, using the largest possible block size improves
the speed of reading the archive logs. Use Table 44 as a guide.
Table 44. Recommended block size values
Archive log device Block size
Tape 28672
3380 20480
3390 or RAMAC 24576
Acceptable values: 1 to 99
Default: 2
| Update: option 22 on panel DSNTIPB
DSNZPxxx: DSN6LOGP MAXRTU
Specify the maximum number of dedicated tape units that can be allocated to read
archive log tape volumes concurrently. This installation option, along with
DEALLOC PERIOD, allows DB2 to optimize archive log reading from tape devices.
In a data sharing environment, the archive tape is not available to other members
of the group until the deallocation period expires. You might not want to use this
option in a data sharing environment unless all recover jobs are submitted from
the same member.
Recommendation: Set the READ TAPE UNITS value to be at least one less than
the number of tape units available to DB2. If you do otherwise, the OFFLOAD
9. DEALLOC PERIOD
Specify the length of time an archive read tape unit is allowed to remain unused
before it is deallocated. You can specify:
v minutes, seconds (blank or 0 to 59, blank or 1-1439)
v 1440 (minutes)
v NOLIMIT
Specifying NOLIMIT allows maximum optimization opportunities.
Example: Assume that you want the deallocation period to be 30 seconds. Enter
0,30.
Example: Assume that you want the deallocation period to be 23 minutes and 47
seconds. Enter 23,47.
Recommendation: If your archive log data is on tape, set this value high enough
to allow DB2 to optimize tape handling for multiple read applications. When all
tape reading is complete, you can update this option with the SET ARCHIVE
command.
Specify the maximum number of archive log volumes that are to be recorded in
the BSDS. When this number is exceeded, recording resumes at the beginning of
| the BSDS. The maximum number of volumes is dependent on the conversion of
| the BSDS. The BSDS conversion process is run after DB2 is in new-function mode.
| If you have converted the BSDS, the maximum is 10000 volumes. If you have not
| converted the BSDS, and a value greater than 1000 is entered in this field, DB2
| resets the value to 1000 and issues message DSNJ155I at DB2 startup. For more
| information about converting the BSDS, see “Considerations for the BSDS” on page
| 364.
You must create image copies of all DB2 objects, probably several times, before the
archive log data sets are discarded. If you fail to retain an adequate number of
archive log data sets for all the image copies, you might need to cold start or
reinstall DB2. In both cases, data is lost.
Specify whether to send a message to the operator and wait for an answer before
attempting to mount an archive log data set. Other DB2 users can be forced to wait
while the mount is pending. They are not affected while DB2 is waiting for a
response to the message.
Specify NO if you use a device that does not have long delays for mounts. Specify
YES if you use a device for storing archive log data sets, such as tape, that requires
long delays for mounts. Field 5 (DEVICE TYPE 1) specifies the device type or unit
name.
Specify the list of route codes from messages from the archive log data sets to the
operator. You can specify from 1 to 16 route codes. Separate numbers in the list by
commas only, not by blanks.
For descriptions of the routing codes, see z/OS MVS System Codes. The routing
codes are also discussed in the description of the WTO macro in z/OS MVS
Programming: Assembler Services Reference, Volumes 1 and 2.
Specify the number of days that DB2 is to retain archive log data sets. The
retention period is often used in tape management systems to control the reuse
and scratching of data sets and tapes. DB2 uses the value as the value for the
dynamic allocation parameter DALRETPD when archive log data sets are created.
The retention period set by the DFSMSdfp storage management subsystem (SMS)
can be overridden by this DB2 parameter. Typically, the retention period is set to
the smaller value that is specified by either DB2 or SMS. The storage administrator
and database administrator should agree on a retention period value that is
appropriate for DB2.
The retention period is added to the current date to calculate the expiration date.
For information about the archive log data sets and how they can be managed by
using the change log inventory utility (DSNJU003), refer to Part 4 (Volume 1) of
DB2 Administration Guide.
Specify the maximum amount of time, in seconds, that DB2 is allowed to attempt a
full system quiesce.
This parameter requires some tuning. If you specify too short an interval, the
quiesce period expires before a full quiesce is accomplished. If you specify too long
an interval, the quiesce period might cause unnecessary DB2 lock contention and
time-outs. For more information about the quiesce mode of the ARCHIVE LOG
command, see Part 4 (Volume 1) of DB2 Administration Guide.
# Specify whether data that is written to archive logs should be compacted. This
# option only applies to data written to a 3480 or 3490 device that has the improved
# data recording capability (IDRC) feature. When this feature is turned on, hardware
# in the IDRC-compliant tape control unit writes data at a much higher density than
# normal, allowing for more data on a volume. Specify NO if you don’t want your
# data compacted or do not use a 3480 or 3490 device with the IDRC feature. Specify
# YES if you use a 3480 or 3490 device with the IDRC feature and you want the data
# to be compacted.
If you use compression or auto-blocking on the tape unit, you need to ensure that
you do not read backwards on the tape unit. You can do this by increasing the size
and number of active log data sets and by monitoring long-running units of
recovery with the UR CHECK FREQ (panel DSNTIPN) or another monitor. The
alternative to monitoring the units of work and increasing active log space is
archiving to disk and then using another facility, such as DFSMShsm to archive the
archive log from disk to tape. Be aware that data that is compressed to tape can
only be read with a device that supports the IDRC feature. This could be a concern
when you send archive tapes to another site for remote recovery.
| When archiving to disk, DB2 will use the number of online storage volumes for the
| specified UNIT name to determine a count of candidate volumes, up to a
| maximum of 15 volumes. Specify YES if you want DB2 to specify a unit and
| volume count of 1 when allocating a new archive log data set on disk. You may
| want to do this when SMS manages the archives.
Updating the parameters: You can update all parameters on this panel by using
their subsystem parameter name.
1. RESTART OR DEFER
Specify whether DB2 is to restart or defer processing for the objects that are listed
in fields 2 through 37 when DB2 is started. RESTART causes DB2 to perform
restart processing for the listed objects. DEFER causes DB2 not to perform restart
processing for the objects.
Specify the names of the databases, table spaces, and index spaces for which you
want to control restart processing. Enter one of the following values for these
fields:
v ALL on field 2 (leaving fields 3 - 37 blank) to restart or defer all DB2 databases
and spaces. This is the default.
To use DDF, you must have VTAM installed, even if you are using only TCP/IP
connections. If you do not have VTAM installed, see “Installing support for a
communications network” on page 279 for instructions on installing VTAM.
Specify whether to load DDF and, if DDF is loaded, how to start it.
NO signifies that you do not want the DDF to be loaded at DB2 startup and that it
cannot be started with a command. If you specify NO, the remaining fields on this
panel are ignored and the stored procedures sample application and DDF sample
jobs (DSNTEJ6S, DSNTEJ6P, DSNTEJ6, DSNTEJ6D, DSNTEJ6T, DSNTEJ63,
DSNTEJ64, and DSNTEJ65) are not edited. You must enter values in the remaining
fields, so you can accept the defaults.
AUTO specifies that this facility is automatically initialized and started when the
DB2 subsystem is started.
Specify the unique name that requesters use to connect to this DB2 subsystem. The
name must begin with a letter and must not contain special characters. Acceptable
characters are A-Z, 0-9, and underscore.
Specify the logical unit name (LU name) for this DB2 subsystem. This name
uniquely identifies this DB2 subsystem to VTAM. It is also used to uniquely
identify logical units of work within DB2 trace records. The name must begin with
a letter and must not contain special characters.
This optional field specifies the password that VTAM uses to recognize this DB2
subsystem. This password must also be supplied to VTAM on the VTAM APPL
definition statement. The password must begin with a letter and must not contain
special characters.
Specify what action DB2 is to take if the governor encounters a condition that
prevents it from accessing the resource limit specification table, or if DB2 cannot
NORUN terminates all dynamic SQL statements immediately with an SQL error
code.
A number from 1 to 5000000 is the default limit; if the limit is exceeded, the SQL
statement is terminated. For guidelines in choosing the default limit, see Part 5
(Volume 2) of DB2 Administration Guide.
For more information about using the governor for remote queries, see Part 5
(Volume 2) of DB2 Administration Guide.
6. RESYNC INTERVAL
Acceptable values: 1 to 99
Default: 2
| Update: option 24 on panel DSNTIPB
DSNZPxxx: DSN6FAC RESYNC
7. DDF THREADS
If you specify ACTIVE, the thread remains active. This provides the best
performance but consumes system resources. If your installation must support a
large number of connections, specify INACTIVE.
If you specify INACTIVE, DB2 supports two different types of inactive concepts:
| v An inactive DBAT (previously called a type 1 inactive thread), which has the
| same characteristics as inactive threads that were available in releases prior to
| DB2 UDB for z/OS Version 8. In this case, the thread remains associated with
| the connections, but the thread’s storage utilization is reduced as much as
| possible. However, this still potentially requires a large number of threads to
| support a large number of connections.
| v An inactive connection (previously called a type 2 inactive thread), which uses
| less storage than an inactive DBAT. In this case, the connections are
| disassociated from the thread. The thread is allowed to be pooled and reused for
| Because they use less storage, inactive connections are preferable. However, not all
| threads can become inactive connections. Table 45 summarizes the conditions
| under which you can have an inactive DBAT or an inactive connection. If a thread
| is to become inactive, DB2 tries to make it an inactive connection. If DB2 cannot
| make it an inactive connection, it tries to make it a inactive DBAT. If neither
| attempt is successful, the thread remains active.
Table 45. Requirements for inactive DBATs and inactive connections
If the event is... Inactive connection can Inactive DBAT can be
be created created
A hop to another location Yes Yes
A connection using DB2 private No Yes
protocols
A package bound with Yes Yes
RELEASE(COMMIT)
A package bound with Yes No
RELEASE(DEALLOCATE)
A held cursor, a held LOB locator, or a No No
package bound with
KEEPDYNAMIC(YES)
# See DB2 Administration Guide for more information about active and inactive
threads.
| Specify the number of inactive DBATs that DB2 is to allow. This limit is defined
| because a large number of inactive DBATs might adversely affect system
| performance. Inactive DBATs are used for private protocol. DRDA uses inactive
| connections.
# A value of 0 indicates that inactive DBATs are not allowed. If a thread meets the
# requirement of an inactive DBATs, and MAX INACTIVE DBATS is 0, the thread
# remains active.
| If you want to allow inactive DBATs, set this value to the maximum number of
| concurrent connections that you want to allow to go inactive that access another
| remote location with three-part names.
A value that is equal to the value in the MAX REMOTE CONNECTED field from
panel DSNTIPE allows all remote threads to become type 1 inactive threads.
Specify a generic LUNAME to identify this DB2 subsystem or data sharing group
in a network. You can use a generic LU name only if DB2 is running as part of a
z/OS Sysplex. Using a generic LUNAME helps you control the distributed
workload among the servers in a data sharing group. Previously, you could
associate only one LUNAME with a LOCATION name. Now, you can associate
multiple NETID.LUNAME values with a single LOCATION name. When an
application requests access to a particular location, DB2 uses the
SYSIBM.LOCATIONS and SYSIBM.LULIST tables to find the available network
destinations (LUNAMEs) for that location. See Chapter 12, “Connecting distributed
database systems,” on page 451 for more information about setting up a generic
LU name.
| Specify the approximate time, in seconds, that an active server thread should be
| allowed to remain idle before it is canceled. The thread is canceled after the
| timeout value expires; its locks and cursors are released. Inactive and indoubt
| threads are not subject to time-out. The value that you specify for DDF THREADS
| determines whether a thread can become inactive, and thus not subject to time-out.
| Threads are checked every two minutes to see if they have exceeded the time-out
| value. If the time-out value is less than two minutes, the thread might not be
| canceled if it has been inactive for more than the time-out value but less than two
| minutes.
# Specifying NO returns generic error codes to the clients and prevents RACF users
# from changing their passwords.
1. DRDA PORT
Specify the TCP/IP port number that is to be used for accepting TCP/IP
connection requests from remote DRDA clients. If you are enabling data sharing,
each member must have the same DRDA port number. You must specify a value if
you plan to use TCP/IP. Leaving this field blank means that you are not using
TCP/IP. A blank field is equivalent to using 0 in the change log inventory
(DSNJU003) utility. See Section 3 of DB2 Utility Guide and Reference for more
information about the change log inventory utility.
2. RESYNC PORT
Specify the TCP/IP port number that is to be used to process requests for
two-phase commit resynchronization. This value must be different than the value
that is specified for DRDA PORT. If you are enabling data sharing, each member
must have a unique resynchronization port. Leaving this field blank means that
you are not using TCP/IP. A blank field is equivalent to using 0 in the change log
inventory (DSNJU003) utility. See Section 3 of DB2 Utility Guide and Reference for
more information about the change log inventory utility.
Specify whether TCP/IP connection requests that contains only a user ID (no
password, RACF PassTicket, or Kerberos ticket) are to be accepted by DB2. YES
means a connection request is accepted with a user ID only. This value must be the
same for all members of a data sharing group. This option applies to all incoming
requests that use TCP/IP regardless of the requesting location. See Part 3 (Volume
1) of DB2 Administration Guide for more information.
Specify an upper limit on the number of extra DRDA query blocks DB2 requests
from a remote DRDA server. This does not limit the size of the SQL query answer
set. It simply controls the total amount of data that can be transmitted on any
given network exchange.
Specify an upper limit on the number of extra DRDA query blocks DB2 returns to
a DRDA client. This does not limit the size of the SQL query answer set. It simply
controls the total amount of data that can be transmitted on any given network
exchange.
6. DATABASE PROTOCOL
# Specify the default protocol (DRDA or PRIVATE) that is to be used when option
# DBPROTOCOL BIND is not explicitly specified for the bind of a plan or a package.
# The default value for DATABASE PROTOCOL is DRDA.
# The BIND commands for DB2-supplied applications are in job DSNTIJSG. For
# information on job DSNTIJSG, see “Migration step 23: Bind SPUFI and DCLGEN
# and user-maintained database activity: DSNTIJSG” on page 343.
| An application that uses DB2 private protocol access cannot include SQL
| statements that were added to DB2 after Version 7.
BOTH, the default, means that the package owner’s authorization is checked for
static SQL, and the runner’s authorization ID is checked for dynamic SQL.
RUNNER means that both static and dynamic SQL use the runner’s authorization.
8. TCP/IP KEEPALIVE
In cases where the TCP/IP KeepAlive value in the TCP/IP configuration is not
appropriate for the DB2 subsystem, you can use this field as an override. You can
specify the following values:
v ENABLE: Do not override the TCP/IP KeepAlive configuration value.
v DISABLE: Disable KeepAlive probing for this subsystem.
v 1 to 65534: Override the TCP/IP KeepAlive configuration value with the entered
number. This value is specified in seconds. Consider setting this value close to
the IDLE THREAD TIMEOUT value on installation panel DSNTIPR or the IRLM
RESOURCE TIMEOUT value on installation panel DSNTIPI.
Specify the approximate time, in seconds that a database access thread (DBAT) can
remain idle in the pool before it is terminated. A database access thread in the pool
counts as an active thread against MAX REMOTE ACTIVE and can hold locks, but
does not have any cursors.
Threads are checked every three minutes to see if they have exceeded the time-out
value. If the time-out value is less than three minutes, the thread might not be
cancelled if it has been inactive for more than the time-out value but less than
three minutes.
Specifying 0 causes a DBAT to terminate rather than go into the pool if the pool
has a sufficient number of threads to process the number of inactive DBATs (type 2
inactive threads) that currently exist.
Specify a name for the stored procedures JCL procedure that is generated during
installation. This procedure is used for a WLM-established stored procedures
address space.
If this field has a blank, the JCL procedure is still generated. In this case, the JCL
procedure will be named by appending the string WLM to the DB2 subsystem name
(specified on panel DSNTIPM in the field SUBSYSTEM NAME).
Specify a name for the JCL procedure that is used to start the DB2-established
address space. If you replace the default value with blanks, you cannot start the
DB2-established stored procedures address space until you update the subsystem
parameter.
3. NUMBER OF TCBS
5. TIMEOUT VALUE
Specify the number of seconds before DB2 is to stop waiting for an SQL CALL or
invocation of a user-defined function to be assigned to one of the task control
blocks (TCBs) in a DB2 stored procedures address space. If the time interval
expires, the SQL statement fails. The default is a reasonable waiting time for most
sites. You might want to choose a higher value if your system has long queues.
You might want to choose a lower value if you want to minimize the waiting time
for end-user requests. The NOLIMIT value means that DB2 waits indefinitely for
the SQL request to complete, while the thread is active.
6. WLM ENVIRONMENT
Changing this value does not change existing routines because the value is stored
in the catalog when the function or procedure is created.
| Specify the maximum number of cursors, including allocated cursors, that are open
| at a given DB2 site per thread. RDS will keep a total of currently open cursors. If
| an application attempts to open a thread after the maximum is reached, the
| statement will fail.
Specify what action is taken for DDL that names an unregistered object. If the
ACCEPT option is specified, the DDL is accepted. If the REJECT option is
specified, the DDL is rejected. If APPL is specified, the DDL is rejected if the
current application is not registered.
Specify the escape character that is to be used in the application registration table
(ART) or object registration table (ORT). Sets of names in the ART and ORT can be
represented by patterns that use the underscore(_) and percent sign (%) characters
in the same way as in an SQL LIKE predicate.
If you enter a character in this field, it can be used in those patterns in the same
way as an escape character is used in an SQL LIKE predicate. See Part 3 (Volume
1) of DB2 Administration Guide for examples of using the percent and underscore
characters and the escape character.
6. REGISTRATION OWNER
Specify the owner of both the application registration table and the object
registration table.
Specify the name of the database that contains the registration tables.
| Establishing system affinity for installation jobs: You must ensure that the
| installation jobs run on the z/OS system where the appropriate DB2 subsystem is
| running. To do this, you can choose between these methods:
| v For JES2 multi-access spool (MAS) systems, use the following JCL statement:
| /*JOBPARM SYSAFF=cccc
| In this statement, cccc is the JES2 name. You can specify an asterisk (SYSAFF=*)
| to indicate that the job should run on the system from which it was submitted.
| v For JES3 systems, use the following JCL statement:
| //*MAIN SYSTEM=(main-name)
| In this statement, main-name is the JES3 name.
| z/OS MVS JCL Reference describes the preceding JCL statements. You can edit the
| jobs manually, or you can enter the preceding statements on installation panel
| DSNTIPY and have DB2 insert these statements for you.
| Your installation might have other mechanisms for controlling where batch jobs
| run, such as by using job classes.
| Ensuring that installation jobs access the right JCL procedures: If your z/OS
| system has more than one procedure library, you need to ensure that your
| installation jobs access the correct set of procedures. One way to do this is to use a
| JCLLIB statement to specify the order for procedure libraries.
| The JCLLIB statement must follow the JOB statement and precede the first EXEC
| statement in the job. If you enter this statement on panel DSNTIPY, DB2 inserts it
| into your JCL.
| For more information on the JCLLIB statement, see z/OS MVS JCL Reference.
|
| Specify the location name of another DB2 subsystem to be used by the COBOL
| preparation sample job (DSNTEJ3C), the DDF remote location update sample job
| (DSNTEJ6), and the stored procedures sample jobs (DSNTEJ6S, DSNTEJ6P,
| DSNTEJ6T, DSNTEJ6D, DSNTEJ63, DSNTEJ64, and DSNTEJ65). The name must
| begin with a letter and must not contain special characters. A remote location name
| is accepted only if you have also entered a DB2 location name for DB2 LOCATION
| NAME (field 2 on installation panel DSNTIPR).
| Specify the job statements that are to be used in all the installation and sample
| application jobs.
The messages show that most of the needed virtual storage is in extended private
storage (including the buffer pool, the EDM pool, most of the code, and a
significant amount of working storage).
During the tailoring session, a warning message is issued to the tailoring terminal.
This message is always issued if you accept the default.
DSNT438I WARNING, IRLM LOCK MAXIMUM SPACE = irlmreg K, AVAILABLE = irlmav K
This message indicates that the IRLM could request a total amount of space that is
larger than the available space, causing an abend. The message is based
v The maximum number of data or row locks per user specified on installation
panel DSNTIPJ (LOCKS PER USER)
v The number of users specified on installation panel DSNTIPE for MAX USERS
and MAX REMOTE ACTIVE during the tailoring session
The formula is:
(MAX USERS + MAX REMOTE ACTIVE) * LOCKS PER USER * 250 bytes per lock
| The CLIST assumes that the private region that is available for IRLM locks is
| estimated as 60000 KB, if extended private address space is used.
1. DSMAX
| Specify the maximum number of data sets that can be open at one time. Although
| the maximum number of data sets is 100 000, the practical limit may be less than
| 30 000, depending on available storage below the line. For z/OS Version 1 Release
| 6 or earlier, specify a value that is less than or equal to 65 041. The value that you
# enter can substantially influence the performance of DB2; see Part 5 (Volume 2) of
# DB2 Administration Guide for more information.
| When a secondary index is nonpartitioned, the number of data sets that are
| required for the index is dependent on the total required space to contain the tree
| structure and on the size limit of each data set. When a secondary index is
| data-partitioned, the number of data sets that are required for the index is equal to
| the number of data partitions in the table space that contains the table. Unless a
| small piece size is used for nonpartitioned secondary indexes, partitioning
| generally results in an increase in the number of data sets for the index.
# If the partitioning of secondary indexes causes the number of data sets to increase
# or decrease appreciably, you can modify the value of DSMAX. The default value
# for DSMAX is calculated by DB2 and does not count partitioned objects. Choose
# the value for DSMAX according to the impact partitioning secondary indexes have
# on the number of data sets for those objects. DB2 defers closing and deallocating
# table spaces or indexes until the number of open data sets reaches the operating
# system limit or 99% of the value that is specified in DSMAX.
Specify the size of the environmental descriptor manager (EDM) pool that is
| calculated by the CLIST in kilobytes. This value is used at DB2 start time as the
| minimum value. It can be increased and subsequently decreased with the SET
| SYSPARM command. The EDM pool is located below the 2-GB bar. You have a
choice of:
v Accepting the value in the Calculated column of panel DSNTIPC ; the CLIST
calculates this value based on input from previous panels. If there is a value in
the Override column, you must erase the override value in order to accept the
calculated value.
v Typing your own value in the Override column of panel DSNTIPC.
For information on how DB2 calculates the EDM pool size, see “EDM pool size
calculation” on page 36.
| The default value for EDM STATEMENT CACHE is taken from the EDMPOOL
| STORAGE SIZE field on panel DSNTIPC, or 5000 K, whichever is larger.
| Specify the size (in KB) of the statement cache that can be used by the EDM. This
| value is used at DB2 startup time as the minimum value. This value cannot be
| decreased below the value that is specified at DB2 startup. The CLIST calculates a
| statement cache size. This storage pool is located above the 2-GB bar. You have a
| choice of:
| v Accepting the value in the Calculated column of panel DSNTIPC; the CLIST
| calculates this value based on input from previous panels. If a value is in the
| Override column, you must erase the override value in order to accept the
| calculated value.
| v Entering your own value in the Override column of panel DSNTIPC.
For information on how DB2 calculates the EDM data space pool size, see “EDM
pool size calculation” on page 36.
| The default value for EDM DBD CACHE is the larger of the EDM calculated value
| or 5000 K.
| Specify the minimum size (in KB) of the DBD cache that can be used by the
| environmental descriptor manager (EDM). This value is used at DB2 startup time
Specify the buffer pool size that is calculated by the CLIST. This field is protected
and cannot be changed during update processing. If you want to change the size
of a buffer pool, you must use the command ALTER BUFFERPOOL, as described
in DB2 Command Reference.
Specify the amount of storage that is needed for the sort pool. You have a choice
of:
v Accepting the default value in the Calculated column of panel DSNTIPC. If a
value is in the Override column, you must erase the override value in order to
accept the default value.
v Typing your own value in the Override column of panel DSNTIPC.
If you decide to change this field, estimate the sort pool value by using the
following formula:
32000 * (12 + sort key length + sort data length
+ 4 (if ESA hardware sort assist))
Specify the amount of storage needed for the RID pool as calculated by the CLIST.
You have a choice of:
| If you decide to change this field, estimate the storage that is required for the RID
| pool with the following formula:
| Number of concurrent RID processing activities *
| average number of RIDs * 2 * 5 (bytes per RID)
| Choosing 0 disables the use of the RID pool. In this case, DB2 does not use access
paths or join methods that depend on RID pool storage.
| Twenty-five percent of this storage pool is located below the 2-GB bar and 75% is
| located above the 2-GB bar.
See Part 5 (Volume 2) of DB2 Administration Guide for how to choose a RID pool
size for optimal performance.
Specify sizes that are calculated by the CLIST. Fields 8 through 13 are protected
and cannot be changed by the user.
Indicate the results of the calculations described in Figure 37 on page 239. These
fields are protected and cannot be changed by the user.
Responding to messages
You first receive the following message:
DSNT478I BEGINNING EDITED DATA SET OUTPUT
The CLIST is checking the parameter values that you entered. If it detects a
problem, you receive an error or warning message indicating the name of the
parameter and the type of problem. If you receive an error message, the CLIST
cannot edit the installation or migration jobs properly. If you receive a warning
message, check the conditions. A warning message can sometimes be issued even
when the conditions are normal or acceptable. If you specify several large numbers
in the panels, the CLIST might send a message indicating an overflow in CLIST
arithmetic.
At this point the CLIST displays the Main Panel again. You can proceed through
the panels, rechecking or changing parameter values.
If the CLIST does not find any errors, you receive messages that indicate the
amount of required disk storage and virtual storage. For information about
Important: If an error occurs while the installation CLIST edits your jobs, you will
receive this message:
IKJ52555I NOTHING SAVED
ENTER SAVE OR END-
Enter END to prevent modification of the original copies of your installation jobs.
After the CLIST finishes tailoring the jobs, it displays the Main Panel again. If you
need to continue your tailoring at another time, conclude this session. Then, when
you start a new session, use the value that you specified for OUTPUT MEMBER
NAME during this session as the value for INPUT MEMBER NAME during the
new session. Enter these values on the Main Panel.
If you receive a message from the editor, such as TEXT NOT FOUND, enter END
NOSAVE to exit. That message can indicate an error. You can rerun the CLIST with
the trace control parameter set to CONTROL(SYMLIST) to learn what caused the
problem. In some cases, specifying CONTROL(LIST) as the trace control parameter
may provide enough information for you to find the source of the problem.
The installation CLIST uses the values that you specify on the installation panels to
tailor and load the installation or migration jobs. Each job is composed of one or
more JCL procedures or job steps. The CLIST loads each job as a separate member
of the newly created prefix.NEW.SDSNSAMP. Before you run any of these jobs,
however, you might want to perform some editing that the CLIST does not do. If
disk allocation is completely controlled by SMS for your installation, verify that the
input to IDCAMS from the install jobs does not conflict with the requirements for
SMS.
This topic identifies several items you might want to add or change in the jobs.
These changes are general; that is, they apply to all the jobs processed by the
CLIST. Later chapters explain changes that you can make for specific jobs.
Which jobs you edit depends on the task that you are performing: installation,
migration, or update. In data sharing environments, you edit different jobs
depending on the data sharing function: group, member, or enable. The installation
CLIST tailors a different set of jobs for each task.
If you have activated DDF, the CLIST also tailors job DSNTEJ6.
| If you have specified a default WLM environment name in field 6 of install panel
| DSNTIPX, the CLIST edits DSNTEJ6D, DSNTEJ6S, DSNTEJ6P, DSNTEJ6R,
| DSNTEJ6T, DSNTEJ6U, DSNTEJ6V, DSNTEJ6W, DSNTEJ6Z, DSNTEJ63, DSNTEJ64,
| and DSNTEJ65.
If you are using data sharing, the CLIST edits DSNTIJGF and DSNTIJFT.
The installation CLIST tailors the DSNHC, DSNH, DSNU, and DSNEMC01 CLISTs
for installation.
The CLIST also tailors the DSNH, DSNHC, DSNU, and DSNEMC01 CLISTs for
migration.
If you are updating, the CLIST tailors only one job: DSNTIJUZ.
# If you are converting to new-function mode, the CLIST tailors the following jobs:
# DSNTIJEN, DSNTIJMC, DSNTIJNE, DSNTIJNF, DSNTIJNG, DSNTIJNH,
# DSNTIJNR.
All of these jobs are described in the following chapters. Recovery information is
provided, along with a description of each job. Unless otherwise stated in the job
description, a return code of 0 or 4 from any of the jobs indicates successful
completion. Some of the jobs contain statements that could fail without causing the
job to fail. For instance, delete commands for data sets, drop statements for SQL
objects, and stop commands could fail when you first run a job because the data
sets or objects do not exist. Unless otherwise stated, you can ignore these failures.
The statements are needed to allow you to rerun the job (if necessary) without
performing the deletes, drops, and stops manually; they are merely for cleanup or
initialization processing.
When a job fails, follow the instructions that are provided in the recovery
information for the job. If you need further recovery information, refer to DB2
Messages, and examine the descriptions of the messages that the job generated.
Before you begin editing, you might want to print or back up the jobs. You can
print the JCL for these jobs by using IEBPTPCH or any other print facility that is
available at your site.
Consider the following suggestions for possible changes or additions to the jobs:
v Tailor the jobs to suit the needs of your site. You should edit the jobs to conform
to any unique requirements that you might have. Also, you might want to make
any minor JCL changes for items that the ISPF panels did not handle.
CICSOPT(NONE) LOPTION(NONE)
COPTION(NONE) PASS(DEFAULT)
– Check print and work space defaults. If the default allocation sizes are not
acceptable for your site, change them. The print and work space defaults
follow:
PSECSPAC(20) WSECSPAC(20)
PSPACE(20) WSPACE(20)
WORKUNIT(DEFAULT)
| Job DSNTIJUZ also generates the data-only load module DSNHDECP. It contains
| the application programming defaults. DB2 is shipped with a default DSNHDECP
| for compatibility with older applications. You cannot start DB2 or precompile
| applications with the default DSNHDECP. During DB2 start-up processing or for
| jobs that precompile a DB2 application, you must ensure that the DSNHDECP
| module that was created by job DSNTIJUZ resides in a library, usually
| prefix.SDSNEXIT, that is concatenated before the prefix.SDSNLOAD library where
| the DB2-supplied DSNHDECP resides.
| Job DSNTIJUZ also creates the data-only load module DSNHMCID, which
| contains the EBCDIC CCSIDs for text conversion in offline messages. When you
| install DB2, job DSNTIJUZ creates DSNHMCID in prefix.SDSNEXIT and
| prefixSDSNLOAD.
The update process does not generate a complete set of installation or migration
jobs, as the installation and migration process does. It generates only one job:
DSNTIJUZ. This job assembles and link-edits the DB2 data-only subsystem
During the update process, you can access all of the installation panels from this
panel so that you can view the values that you specified during installation or
migration. Parameters that you can update are highlighted. Panels whose fields
cannot be updated are marked with an asterisk.
On the command line, enter a number to select the family of parameters that you
want to update. These numbers correspond to the installation panels in Table 46.
Table 46. Panel identifiers
Panel ID Panel title See
1. DSNTIPA2 Data Parameters 101
2. DSNTIPK Define Group or Member 106
3. DSNTIPH System Resource Data Set Names 109
When the panel that you selected is displayed, enter the new parameters; press the
Enter key to return to the Update Selection Menu Panel. Make another panel
selection or press Enter again to process. Press End to leave the Update Selection
Menu Panel and return to the Main Panel.
Before you begin, you must perform SMP/E steps 1-12. They are described in
Chapter 3, “Loading DB2 libraries,” on page 47. You must also run the installation
CLIST. It is described in Chapter 6, “Installing, migrating, and updating system
parameters,” on page 79.
If you plan to have data sharing enabled (Enable option on panel DSNTIPP1), you
should save all your jobs from the original installation or migration in a different
data set than the enable jobs. If you save them in prefix.NEW.SDSNSAMP, the jobs
might be overwritten. For more information, see DB2 Data Sharing: Planning and
Administration.
Before proceeding with the installation steps, refer to the DB2 Program Directory,
which is shipped with the product, for keyword specifications used for Preventive
Service Planning (PSP). Use Information/Access or the ServiceLink facility of
IBMLink to check the most current information about DB2 and other products.
Contact the IBM Support Center if you do not have access to IBMLink.
You must not use secondary authorization IDs to perform any of the following
installation steps.
| After you have completed the following installation steps, your DB2 subsystem
| will be in new-function mode. In new-function mode, all DB2 Version 8 function is
| available for use.
z/OS requirements: Each DB2 and each IRLM that you define to z/OS in the
IEFSSNxx PARMLIB member requires a z/OS system linkage index (LX). The
default number of these indexes that z/OS reserves is 165. If you place all of your
DB2 and IRLM subsystem definitions in a single IEFSSNxx member, you might
need more than 165 LXs; otherwise your subsystems might not start. If you need
more than 165 LXs, use the NSYSLX option on the z/OS IEASYSxx PARMLIB
member to increase this number. See z/OS MVS Initialization and Tuning Guide for
more information.
You must have the prerequisite level of z/OS installed. Do not overwrite the
z/OS-supplied entries for DB2 and IRLM in the program properties tables (PPT).
The operating system supplies default values for the modules. You should not
change these values. If you have modified or deleted the default values, you must
enter the original values in the PPT by modifying the SYS1.PARMLIB member
SCHEDxx. Refer to the diagram of the PPT entry in z/OS MVS Initialization and
Tuning Reference.
Table 47. Parameters for DSNYASCP, DXRRLM00, and DSNUTILB
Entries Parameters
DSNYASCP CANCEL KEY(7) NOSWAP NOPRIV DSI PASS SYST AFF(NONE)
DXRRLM00 CANCEL KEY(7) NOSWAP NOPRIV DSI PASS SYST AFF(NONE)
DSNUTILB CANCEL KEY(7) SWAP NOPRIV DSI PASS NOSYST AFF(NONE)
IRLM requirements: For later diagnosis of IRLM problems, also ensure that:
v The IRLM dump formatting module name is in control table BLSCECT in
SYS1.PARMLIB.
v Load modules DXRRL186 and DXRRLFTB, and the print dump formatting
modules DXRRLM50, DXRRLM55, and DXRRLS55 are in SYS1.LINKLIB. If these
modules are not in SYS1.LINKLIB, the job that prints the dump must contain a
JOBLIB or STEPLIB statement that specifies the library that does contain the
modules.
You must do additional editing for the SYS1.PARMLIB updates. If you are editing
DSNTIJMV, rather than making the changes directly, you have a choice: either
include your additional entries for the SYS1.PARMLIB members (IEAAPFxx and
LNKLSTxx) at the end of the existing list of entries, or place them earlier in the
list.
If you include them at the end of the existing SYS1.PARMLIB entries, ensure that
commas (the continuation character) delimit each entry except the last.
The IOP parameter is another SYS1.PARMLIB change to consider at this time. DB2
can schedule I/O priority. To enable this, you must:
v Use the IOP parameter to set the I/O priority for the address space of a
performance group. The IOP parameter is in the IEAIPSxx member of
SYS1.PARMLIB.
v Enable z/OS I/O priority scheduling by specifying IOQ=PRTY in the IEAIPSxx
member of SYS1.PARMLIB.
You must issue an IPL command for z/OS for the PARMLIB updates to take effect.
To avoid issuing an IPL command for z/OS during DB2 installation, you can make
these updates and issue the IPL in advance of your DB2 installation or migration
session. See Part 5 of DB2 Administration Guide for more information about I/O
priority scheduling.
Examine the SYS1.PROCLIB updates carefully. You might want to use a procedure
library other than SYS1.PROCLIB for the procedures. Four of the procedures are
used for start-up tasks; the other procedures are used to prepare application
programs for execution and to invoke DB2 utilities. The program preparation
procedures are required for the sample applications and can be helpful in
generating other JCL procedures.
Change any data set names that differ at your site. If you specified a suffix on
panel DSNTIPA1, that suffix is appended to data sets &USER..DBRMLIB.DATA,
&USER..RUNLIB.LOAD, and &USER..SRCLIB.DATA. To override these data set
names, you must edit the updates to SYS1.PROCLIB.
Examine the size of the private area on the DB2 start procedures. If necessary,
modify the procedures to satisfy the requirements for environmental descriptor
manager (EDM) pool size, buffers, number of data sets open, and amount of
available private address space. For more information about private address
spaces, refer to “Working storage calculation” on page 42.
Running DSNTIJCA is optional. If you specified YES for the DEFINE CATALOG
option on installation panel DSNTIPA2, you must run this job to create the catalog.
Before running this job, examine the DEFINE UCAT statement carefully to ensure
that the parameters are appropriate for your needs.
Do not run this job if you want to use an existing ICF catalog and alias (that is,
you specified NO for the DEFINE CATALOG parameter on installation panel
DSNTIPA2). However, ensure that the ICF catalog you are going to use is created
and that you defined an ICF catalog alias.
Check the DEFINE CLUSTER statements in job DSNTIJIN to ensure that they
allocate adequate disk space for your system. See Part 5 (Volume 2) of DB2
Administration Guide for guidance on allocating and extending data sets.
Recommendation: For recovery purposes, place system data sets such as the DB2
recovery log and the VSAM catalog on different disk volumes. Because these data
sets are used frequently, do not migrate them by using DFSMShsm.
If job DSNTIJIN fails or abends, remove the z/OS catalog delete statements from
job DSNTIJDE, run DSNTIJDE (to delete the data sets that are created by
DSNTIJIN), and rerun DSNTIJIN.
Deleting DB2 data sets (DSNTIJDE): Job DSNTIJDE is not part of the normal
installation process; use this job only for rerunning part of the process. Do not run
this job during migration or fallback.
This job deletes the previously created data sets for the DB2 directory and DB2
catalog. If a job fails or abends, you might need to run this job before restarting the
DB2 installation process.
In most cases, you must remove or comment out the delete statement in this job
for the ICF catalog (if the statement is present). The ICF catalog probably does not
need to be deleted and redefined.
Deletes might fail for data sets that do not exist. This does not necessarily indicate
that the job failed. If you receive other messages, check them carefully.
Job DSNTIJDE does not work properly if job DSNTIJSG has been executed. This
job does not delete the resource limit specification table or the data sets that are
used by the distributed data facility.
If job DSNTIJDE fails or abends, correct the error conditions and rerun the job. If
you want to delete the ICF catalog, first list its contents and delete the data sets
that are cataloged there. This could include sample data sets, user-defined data
sets, or subsystem data sets that were not deleted properly. You can use a FORCE
command to delete the user catalog.
If you delete the catalog using FORCE before deleting all the data sets, you can use
the RECATALOG option of DEFINE CLUSTER and delete the data sets.
Seven macros expand to form the data-only subsystem parameter load module. It
contains the DB2 execution-time parameters that you selected using the ISPF
panels. These seven macros are DSN6ARVP, DSN6ENV, DSN6FAC, DSN6LOGP,
DSN6SPRM, DSN6SYSP, and DSN6GRP.
The DSNTINST CLIST performs calculations on some of the parameter values that
you enter during an installation session. The results of these calculations appear in
the macro descriptions.
If you added a STEPLIB statement to the DB2 start procedures, modify the
SYSLMOD steps to point to the library in the STEPLIB statement instead of to the
library in prefix.SDSNEXIT.
Recommendation: Use the default value of YES. A value of NO means that each
parallel task produces its own accounting trace record.
Before you set the data class system parameters, you need to define the data
classes for your table space data sets and index data sets. You also need to code
SMS automatic class selection (ACS) routines to assign indexes to one SMS storage
class and table spaces to a different SMS storage class. For more information on
creating data classes, see z/OS DFSMS: Implementing System-Managed Storage.
The subsystem parameter NPGTHRSH, in macro DSN6SPRM, lets you specify that
DB2 is to use special access path selection for tables under a given size. The
default value is 0, which means that no special access path selection is used. See
Part 5 (Volume 2) of DB2 Administration Guide for more information on how to set
NPGTHRSH.
| The subsystem parameter SMF89, in macro DSN6SYSP, lets you specify whether
| DB2 is to do detailed tracking for measured usage pricing. The default value is
| NO, which means that DB2 does not do detailed measured usage tracking. If the
| SMF type 89 record is activated, only high-level tracking is recorded in the SMF
| type 89 record. Selecting NO reduces CPU usage, but also increases the amount of
| time spent in DB2 as measured by SMF 89. If you select YES, DB2 does detailed
| measured usage tracking if SMF type 89 records are activated. When SMF89 is set
| to YES, DB2 invokes a z/OS service on every entry or exit into or out of DB2 to
| ensure accurate tracking.
| Recommendation: Select SMF89 YES only if you use measured usage pricing.
If the DB2 distribution library prefix is different from the target library prefix, edit
DSNTIJUZ to correct the data set name for prefix.ADSNLOAD.
# If you have not run the SMP/E ACCEPT job (DSNACEP1) of FMID HDB8810, edit
# DSNTIJUZ so that the SMP/E temporary data set (SMPTLIB) is included in the
# concatenation for the ADSNLOAD DD statement in steps DSNTIZQ. SMPTLIB is
# hlq.HDB8810.F2, where hlq is from the GLOBAL SMP/E zone. Use the following
# SMP/E statements to get DSPREFIX:
# SET BOUNDARY (GLOBAL).
# LIST DDDEF ( SMPTLIB ).
You might receive message GIM65001 when you run steps DSNTLOG and
DSNTIMQ, or you might receive a return code of 4 when you run step DSNTIMQ.
You can ignore these messages.
If job DSNTIJUZ fails or abends, correct the problem and rerun the job.
If job DSNTIJID runs successfully, it produces return codes of 0. If you receive any
VSAM messages, check them carefully. If DSNTIJID fails or abends, remove the
catalog delete statements from job DSNTIJDE, run job DSNTIJDE, and then rerun
DSNTIJIN and DSNTIJID.
The sample authorization exit routines are not the same as the default
authorization exit routines that are supplied by DB2. By implementing the sample
authorization exit routines, you can provide group names as secondary
authorization IDs. By modifying the sample authorization exit routines, you can
tailor authorization processing for your subsystem.
DSNXSXAC is a copy of the default access control authorization exit routine that
users can modify. This exit routine allows you to bypass some or most of DB2
authorization checking to specify your own authorization checking. If you do not
modify it, this step is not needed and you should delete it.
# DSNACICS is a stored procedure that invokes user exit routine DSNACICX, which
# you can use to modify CICS parameters that the DSNACICS caller specifies. If you
# do not need to modify the caller’s parameter values, you can use the default
# DSNACICX exit routine. However, if you need to modify the caller’s parameter
# values, you need to perform the following tasks:
# 1. Write a user exit routine in assembler, COBOL, C, or PL/I
# 2. Assemble or compile the source code
# 3. Link-edit the object code into the DB2 exit routine library
# Installation job DSNTIJEX includes a step to assemble and link-edit the sample
# version of DSNACICX. You can use this step as a model for your program
# preparation job.
| If you will use the RACF/DB2 external security module (DSNXRXAC) as your
| DB2 access control authorization exit, modify DSNTIJEX to refer to DSNXRXAC
| instead of DSNXSXAC. See DB2 RACF Access Control Module Guide for more
| information.
If job DSNTIJEX fails or abends, correct the problem and rerun the job.
See DB2 Command Reference to see what kind of data DB2 can collect and pass to
SMF.
You must make some additional updates if, during installation, you requested that
DB2 pass accounting and statistics data to SMF. Specifically, you must update the
SMFPRMxx member of SYS1.PARMLIB as follows:
v Specify the ACTIVE parameter.
v Specify the proper TYPE subparameter of SYS and SUBSYS.
During DB2 execution, you can use the SMF SET or SS command to alter the SMF
parameters. For example, you can record the statistics trace class 1 IFCIDs 0001,
0002, and 0202 (SMF record type 100); accounting trace class 1 IFCIDs 0003 and
For DB2 to pass data to SMF, you must allocate an adequate supply of SMF
buffers. The default buffer settings are probably insufficient.
You can specify SMF buffering on the VSAM BUFSP parameter of the Access
Method Services DEFINE CLUSTER statement. Do not use the default settings if
DB2 data is sent to SMF. Specify CISZ(4096) and BUFSP(81920) on the DEFINE
CLUSTER statement for each SMF VSAM data set. These values for CISZ and
BUFSP are the minimum requirement for DB2. You might need higher values for
CISZ and BUFSP, depending on the requirements of all your z/OS subsystems.
You can also code an IEFU84 SMF exit routine to process the records that are
produced.
Detailed information about starting and stopping DB2 traces for performance,
accounting, audit, and statistics data is provided in Part 5 (Volume 2) of DB2
Administration Guide.
For more information about SMF, refer to z/OS MVS Initialization and Tuning
Reference and z/OS MVS Initialization and Tuning Guide.
If you have previously installed DB2 and are performing that task again, your
database and system administrators are probably already familiar with DB2. In this
case, you can connect IMS, CICS, or both, at the same time that you connect TSO.
You can then run the sample applications that require CICS and IMS at the same
time that you run the sample applications for TSO and batch.
If you use fixed-block format for your CLIST libraries, modify job DSNTIJVC as
follows:
v Change the SYSIN DD statement to DUMMY.
v Change the allocation of prefix.NEW.SDSNCLST to match the data control block
(DCB) attributes of your other CLIST libraries.
A CLIST that has been converted from fixed-block to variable-block format cannot
be used as input to the DSNTINST CLIST; use the unedited version of the
SDSNCLST data set, as created by SMP/E.
To make the CLISTs available to TSO and batch users, you must either concatenate
prefix.NEW.SDSNCLST with your existing CLIST libraries or copy
prefix.NEW.SDSNCLST into an existing CLIST library.
If you need to rerun this job, first delete data set prefix.NEW.SDSNCLST, which is
created by this job.
If the macro pass is used, the following options are also needed:
MACRO MDECK SYNTAX
DB2I uses the ISPF PROFILE and SHARED variable pools for most panel variable
fields. As a result, you can easily re-enter a panel when panel variables have
previously been specified. For the DB2 subcommands that permit lists of plan
names, package names, DBRMs, and ENABLE and DISABLE statements, DB2I
provides ISPF to contain all the user-specified variables for these subcommand
keywords.
DB2I creates and maintains a set of ISPF tables in a user-defined TSO data set that
is allocated to a data set with a ddname of DSNETBLS. The DB2I-generated tables
in this library are DSNCONNS, DSNDBRMS, and DSNPLPKN. Table 48 shows the
library table member names and their contents.
Table 48. The DB2 ISPF table library
DSNCONNS ENABLE or DISABLE connection type and connection name
variables that are referenced by plan or package name
DSNDBRMS Subcommand DBRM member and LIBRARY name variables that are
referenced by plan name
DSNPLPKN Package list variables that are referenced by package name
DSNPATHS Schema name variables that are referenced by plan or package
name and that are to be included in the PATH keyword
When allocating this data set, you should assign the following DCB attributes,
where n is any integer:
DSORG(PO) RECFM(F B) LRECL(80) BLKSIZE(n*LRECL)
The following example shows how to set up an ALLOCATE statement to create the
data set:
ALLOC DA(DSNSPFT) NEW SP(1 1) TR DIR(10) +
DSORG(PO) RECFM(F B) LRECL(80) BLKSIZE(800)
F(DSNETBLS) REUSE
The following example shows how to allocate an existing data set to the data set
with the DSNETBLS ddname:
ALLOC DA(DSNSPFT) F(DSNETBLS) REUSE
DB2I uses ISPF table services to maintain individual ISPF tables within the
DSNETBLS data set. For performance reasons, ISPF keeps this table library in an
open state once an individual table has been updated. Attempts to close this data
set by using the TSO FREE command results in error message IKJ56861I.
For additional information on this TSO error message and how to close this data
set, refer to z/OS ISPF Messages and Codes.
If you want to run the ISPF/CAF sample application that is provided with DB2,
ensure that the data set prefix.RUNLIB.LOAD is included in the logon procedures
or in the ISPLLIB concatenation. If you chose IBMCOB for your LANGUAGE
DEFAULT on panel DSNTIPF, you should also include the data set
prefix.CEE.SCEERUN. For more information about the ISPF/CAF sample
application, see “Running dynamic SQL and the ISPF/CAF application” on page
386.
Two example panels are provided here. Their names are DSNTIPRM (the DB2
version of an ISPF primary options panel) and DSNTIPTU (the DB2 version of a
tutorial table of contents). Using the TSO RENAME command, give DSNTIPRM an
alias of ISR@PRIM, and give DSNTIPTU an alias of ISR00003. For example:
RENAME ’prefix.SDSNSPFP(DSNTIPRM)’ (ISR@PRIM) ALIAS
RENAME ’prefix.SDSNSPFP(DSNTIPTU)’ (ISR00003) ALIAS
If the DB2 panel library is concatenated before the standard ISPF library, the
connection is made.
If your site has made changes to either of these panels, change your existing panels
rather than use the following examples. The panels in Figure 40 on page 268 and
Figure 41 on page 269 display the needed modifications.
Figure 40. ISPF primary option panel (DSNTIPRM), edited to include DB2I
Figure 40 shows panel DSNTIPRM. Notice the added lines in boldface type.
Adding these lines allows you to invoke the DB2 Interactive (DB2I) functions. The
added lines include one displayed line:
% 8 +DB2I - Perform DATABASE 2 Interactive functions
The displayed line lets the user choose DB2I. Both of the undisplayed lines invoke
the DB2I main panel (DSNEPRI). If you use the first undisplayed line, you accept
the default for the subsystem identifier (SSID) parameter. If you use the second
undisplayed lines, you can specify a different SSID parameter.
DSNECPRI is a CLIST and can be invoked directly from another user CLIST. It is
an alternative way to invoke DSNEPRI without updating the primary ISPF panel.
Using a NEWAPPL name other than DSNE: You can define any valid ISPF
application name. If you define an application name to be something other than
DSNE and you plan to use DB2 online help, you must create a new command
table member that corresponds to your application name. You can create a new
command table name by using the TSO Command Table Utility and specifying the
Verb as Help and the Action as Select Panel(&Helppan) after defining your new
ISPF application name.
)ATTR
/**********************************************************************/
/* COPYRIGHT = 5740-XYR (C) COPYRIGHT IBM CORP 1982, 1985, 1990, 2003 */
/* REFER TO COPYRIGHT INSTRUCTIONS FORM NUMBER G120-2083 */
/* STATUS = VERSION 8, LEVEL 0 */
/**********************************************************************/
)BODY
%TUTORIAL -------------------- TABLE OF CONTENTS ------------------ TUTORIAL
%OPTION ===>_ZCMD
----------------------------------------------
| ISPF PROGRAM DEVELOPMENT FACILITY TUTORIAL |
| TABLE OF CONTENTS |
----------------------------------------------
The following topics are presented in sequence, or can be selected by
entering a one-character selection code in the option field on line 2:
%G+ GENERAL - General information about ISPF
%0+ ISPF PARMS - Specify terminal and user parameters
%1+ BROWSE - Display source data or output listings
%2+ EDIT - Create or change source data
%3+ UTILITIES - Perform utility functions
%4+ FOREGROUND - Invoke language processors in foreground
%5+ BATCH - Submit job for language processing
%6+ COMMAND - Enter TSO command or CLIST
%7+ DIALOG TEST - Perform dialog testing
%8+ DB2 - Information about DB2
%X+ EXIT - Terminate ISPF using log and list defaults
The following topics are presented only if explicitly selected:
%A+ APPENDIX A - Dynamic allocation interface routine (DAIR) errors
%B+ APPENDIX B - ISPF listing formats
%I+ INDEX - Alphabetic index of tutorial topics
)PROC
&ZSEL = TRANS(&ZCMD
G,ISR01000
0,ISP05000
1,ISR10000
2,ISR20000
3,ISR30000
4,ISR40000
5,ISR50000
6,ISR60010
7,ISR70000
8,DSN4V2DB
X,ISP90100
A,*ISP93030
B,*ISR95000
I,*ISR91000
)
)END
Figure 41. ISPF program development facility tutorial panel (DSNTIPTU), edited to include
DB2 tutorial
Figure 41 shows panel DSNTIPTU. Notice the two added lines in boldface type.
Adding these lines allows you to invoke the DB2 tutorial panels. One of the two
added lines is displayed:
%8+ DB2 - Information about DB2
For information about ISPF, see ISPF V4 Dialog Developer's Guide and Reference and
ISPF V4 User's Guide.
The load module library SDSNLINK contains the early code. SDSNLINK contains
modules that must be placed in the link list look-aside address space (LLA)
because they are loaded at subsystem initialization during the IPL.
The z/OS IPL is necessary because installation job DSNTIJMV makes changes to
SYS1.PARMLIB that are not recognized by z/OS until the next IPL. DSNTIJMV
makes the following changes to the SYS1.PARMLIB library:
v Creates new subsystem definitions in the IEFSSNxx member
v Creates new APF libraries in the IEAAPFxx member
During the z/OS IPL, message DSN3100I appears on the z/OS console, stating that
DB2 is ready for the START command.
where irlmproc is the name that you specified for the PROC NAME option on
IRLM Panel 1 (DSNTIPI).
If you specified YES for the AUTO START option on IRLM Panel 1 (DSNTIPI),
DB2 starts the IRLM automatically.
2. Start DB2 from the z/OS console. Use the following command:
-DSN1 START DB2
where (-DSN1) is the subsystem command prefix that you defined for DB2.
DB2 uses the subsystem parameter module that is specified in the start-up JCL
procedure in SYS1.PROCLIB:
//IEFPROC EXEC PGM=DSNYASCP,PARM='ZPARM(DSNZPxxx)', ...
where DSNZPxxx is the value that you specified for PARAMETER MODULE
on panel DSNTIPO.
If you need to change the DSNZPxxx, you can edit SYS1.PROCLIB.
Alternatively, you can override the DSNZPxxx by using the PARM option as
follows:
-DSN1 START DB2, PARM(DSNZPxxx)
If DB2 starts successfully, two to four address spaces also start. These address
spaces are ssnmMSTR and ssnmDBM1, and possibly ssnmDIST, and irlmproc,
where ssnm is the DB2 subsystem name and irlmproc is the IRLM procedure
name.
If DB2 starts successfully, the series of RESTART messages that you receive
concludes with these two messages:
DSNR002I RESTART COMPLETED
DSN9022I DSNYASCP ’-DSN1 START DB2’ NORMAL COMPLETION
# You must run job DSNTIJTC to complete the tailoring of the DB2 catalog. In a
# data sharing environment, do not run DSNTIJTC after installing
# non-originating members. See “Installation step 14: Tailor the DB2 catalog” on
# page 272 for more information about tailoring the DB2 catalog.
# When you start DB2 Version 8 for the first time, DB2 issues message DSNT501I
# with reason code 00C900A6. This message is expected. When you run job
# DSNTIJTC in “Installation step 14: Tailor the DB2 catalog” on page 272, the
# cause of this message is corrected.
After you start DB2, identify unusual conditions for databases with the
command:
You must ensure that the installation jobs run on the same z/OS system on which
the appropriate DB2 subsystem is running. See 235 for more information.
The DSNTIJTM job creates data sets in the work file database. These data sets are
to be used as working storage for table spaces that require 4-KB and 32-KB
buffering.
To create these data sets, the DSNTIJTM job uses as input the values that you
specified for the TEMP 4K SPACE option and the TEMP 32K SPACE option on the
Sizes Panel (DSNTIPD).
To specify the number of 4-KB and 32-KB table spaces, the DSNTIJTM job uses as
input the values that you specified for TEMP 4K DATA SETS and TEMP 32K
DATA SETS on the same panel. The naming convention for these data sets is
provided by the installation CLIST:
vcatalog.DSNDBC.DSNDB07.DSNkknn.I0001.A001
where vcatalog is the catalog alias name that you specified for the CATALOG
ALIAS field on installation panel DSNTIPA2, DSNDB07 is the name of the work
file database, kk is either 4K or 32K, nn is the number of the data set, and y is I or
J. For example, if you specify 2 as the number of temporary 4-KB data sets and 1
as the number of temporary 32-KB data sets in a non-data-sharing environment,
DSNTIJTM defines the following table spaces:
vcatalog.DSNDBC.DSNDB07.DSN4K01.y0001.A001
vcatalog.DSNDBC.DSNDB07.DSN4K02.I0001.A001
vcatalog.DSNDBC.DSNDB07.DSN32K01.I0001.A001
You can increase the number of additional temporary work file table spaces,
increasing the values that you specify for the TEMP 4K DATA SETS or TEMP 32K
DATA SETS options, particularly if you expect a great deal of sorting at your site.
Additional temporary work file table spaces can improve DB2 performance by
reducing device contention among applications. These additional work files also
can be used for sorting indexes on large tables during index creation. For more
information on adding temporary work files, see “Work file database storage
requirements” on page 22. You can choose to have job DSNTIJTM create these
additional table spaces, or you can create them after you run the job.
To create the temporary work file table spaces after you run job DSNTIJTM,
comment out all steps except DSNTTMP and DSNTIST from the job. Remove the
COND statements, and change DSN4K01, DSN32K01, or both, to the table space
names that you want to use. Then, run the edited steps.
The first time that you run the DSNTIJTM job, you will probably receive a return
code of 12 for step DSNTIAS. This is because step DSNTIAS issues a command to
stop DSNDB07 (the work file database), which has not yet been defined. A return
code of 0 is issued if the job failed the first time and needs to be rerun. When
migrating, you also might receive a return code of 12 if the work file database
DSNDB07 was dropped before job DSNTIJTM runs.
You might receive a return code of 12 for step DSNTTMP if you have already run
it.
Because this is the first use of DB2, errors from earlier steps might be detected
here.
If you receive an abend reason code from the data manager (X'00C9'XXXX) or buffer
manager (X'00C2'XXXX), carefully recheck jobs DSNTIJIN and DSNTIJID.
Installation step 16: Define and bind DB2 objects and user-maintained
databases: DSNTIJSG
The default storage group is for user-defined DB2 tables that are not specifically
assigned to a storage group. To create the default storage group and to bind DB2
plans for DCLGEN and SPUFI, run job DSNTIJSG. DSNTIJSG also defines the
DB2-supplied stored procedures and binds packages for them.
| Before you run this job, you must specify the name of the WLM environment for
| each DB2-supplied stored procedure. You also can change the following items:
| v The volume for the default storage group.
| v The authorization level. You can make it more restrictive.
| v Miscellaneous authorizations. You can add additional authorization to other
| buffer pools.
If you use a product that uses a semicolon as a delimiter: The CLIST adds SQL
statements to job DSNTIJSG. Products that use a semicolon as a delimiting
character cause semicolons to be removed from the installation CLIST before it is
executed. To correct the problem, replace the semicolons at the end of each SQL
statement in job DSNTIJSG before you run the job.
If you want to use the Data Facility Storage Management Subsystem to control the
placement of data across volumes, edit job DSNTIJSG to replace the volume serial
with ’*’, as in the following statement:
CREATE STOGROUP SYSDEFLT VOLUMES (’*’) ...
The DSNTIJSG job also does the following actions for user maintained database
activity:
v Creates the resource limit facility database. See Part 5 (Volume 2) of DB2
Administration Guide for more information.
v Creates the data definition control support database. For more information, see
Part 3 (Volume 1) of DB2 Administration Guide.
The DSNTIJSG job inserts a blank row into the communication database (CDB)
table SYSIBM.LUNAME. The CDB holds tables that contain information about
your connection with remote DB2 subsystems. A blank row allows all SNA clients
| to access DDF. TCP/IP remote clients cannot be controlled by using the CDB. If
| you run DSNTIJSG again, you will receive an SQLCODE -803 from the INSERT
| request because the blank row already exists.
For more information about starting DDF, see “Distributed data facility panel 2:
DSNTIP5” on page 225. Field 3 of panel DSNTIP5, TCP/IP ALREADY VERIFIED,
defines the minimum security requirements for all TCP/IP clients because inbound
security requirements cannot be established on individual clients. For instructions
on how to populate these tables, see “Step 4: Populate the communications
database” on page 466 for VTAM information and “Step 4: Populate the
communications database” on page 503 for TCP/IP information.
If the DSNTIJSG job runs successfully, it produces return codes of 0. It can also
produce a return code of 4 because a step within this job attempts to delete a row
from a table that might not exist at the time this job runs. Expect the following
messages from the BIND statement for each object DB2 provides:
DSNE932I WARNING, ONLY IBM-SUPPLIED PLAN NAMES SHOULD BEGIN WITH DSN
If the DSNTIJSG job fails or abends, be sure that the user that is specified on the
JOB statement is authorized. Use the same name that you specified for either the
SYSTEM ADMIN 1 option or the SYSTEM ADMIN 2 option on installation panel
DSNTIPP.
Correct any other problems with the DSNTIJSG job and rerun it. If you do not
have enough resources to run the job, review the values you specified for the DB2
installation parameters (see job DSNTIJUZ). Use the standard update procedure to
make any necessary modifications. Refer to “The update process” on page 247 for
information on the standard update procedure. Then stop DB2, rerun the
DSNTIJUZ job, start DB2, and rerun the DSNTIJSG job.
Installation step 18: Bind the packages for DB2 REXX Language
Support: DSNTIJRX (optional)
Before you can use DB2 REXX Language Support, you must bind the DB2
packages that DB2 REXX Language Support uses. Run job DSNTIJRX to do this.
Before you run DSNTIJRX, make the following changes:
v Add a job statement.
v Change DSN SYSTEM(DSN) to DSN SYSTEM(ssid), where ssid is the name of the
DB2 subsystem on which you plan to use DB2 REXX Language Support.
v Change all instances of DSN!!0 to your DB2 data set name prefix.
v Change all instances of DSNTIA!! to the plan name for the DSNTIAD program.
This job is not edited by the CLIST and is not in the SAMPLE LIBRARY from
panel DSNTIPT (prefix.NEW.SDSNSAMP). DSNTIJRX is included in the target
library if you have ordered DB2 REXX Language Support.
Installation step 19: Back up the DB2 directory and catalog: DSNTIJIC
Attention: You need to create a backup copy of the DB2 directory and catalog. DB2
starts if you do not have backup copies. However, if errors occur in the directory
or catalog that require you to reinstall DB2 and you do not have backup copies,
you lose all your tables and data.
Recommendation: Copy the catalog and directory at least daily if you make any
changes in them. Recovery time for these databases is longer if the copies are not
current, and the entire subsystem is affected.
For data sharing considerations, see DB2 Data Sharing: Planning and Administration.
To create a copy of the DB2 directory and catalog, run the DSNTIJIC job. Before
you run the DSNTIJIC job, examine the job for the following information:
v The tape unit name. The job lists the tape unit name as TAPE. If this is incorrect
for your site, correct it. The name TAPE is also the unit name for the default
archive log data sets.
v Expiration date or retention period. You can add a retention period or an
expiration date to the job.
v The user on the JOB statement. Ensure that the user is authorized. This must be
the same user that you specified for either the SYSTEM ADMIN 1 option or the
SYSTEM ADMIN 2 option on installation panel DSNTIPP.
The DSNTIJIC job contains a list of all the DB2 directory and catalog table spaces.
When you run job DSNTIJIC, it invokes the DB2 image copy utility to copy these
278 Installation Guide
table spaces to tape. Having copies of table spaces enables you to recover the DB2
catalog and DB2 directory in case of a failure.
If the DSNTIJIC job fails or abends, verify that no problems exist with the tape
setup for image copy. If you find no problems with the tape setup, examine the
utility job output (JOBLOG) or the console log for problems. For example, look for
I/O errors or incorrect sizes.
Run the DSNTIJIC job periodically, perhaps daily or weekly, to reduce the amount
of time required for recovering the directory or catalog. The copied data and log
data sets are needed for recovery.
After you complete all the preceding steps, DB2 is available to TSO.
During the ISPF tailoring session, you named one or two IDs to have installation
SYSADM authority. One of these users can now grant various levels of authority to
other users. You can use SPUFI or a job similar to DSNTIJSG (described on page
274) to perform the authorization. For suggestions about using DB2 authorities and
privileges, see Part 3 (Volume 1) of DB2 Administration Guide.
The first step in accessing distributed data is to install VTAM if it is not installed
already. The minimum VTAM release that DDF supports is Version 3 Release 3.
For information about planning your network configuration, see Planning for
NetView, NCP, and VTAM. For information about installing your VTAM system, see
VTAM for MVS/ESA Network Implementation Guide. For factors that you should
consider before installing or customizing VTAM, see Part 4 (Volume 1) of of DB2
Administration Guide. For information about customizing VTAM to work optimally
with DB2, see “Step 1: Customize VTAM for DB2” on page 457.
Installing NetView®: If you use DDF, you might want to install NetView so that
DB2 can send alerts to NetView if DB2 detects security exposures or protocol
errors. For information about installing NetView, see Tivoli NetView for z/OS
Installation: Getting Started.
Planning considerations
The primary consideration in planning for a second DB2 subsystem is its purpose.
Using a second subsystem has a substantial impact on your environment. Second
DB2 subsystems are not uncommon; organizations use a second DB2 subsystem to:
v Run separate service levels of the code. This can provide more extensive testing
of preventive service before use with a production system.
v Run separate releases of the code. However, two different releases of DB2 on the
same system must have separate libraries.
v Separate test and production activities. This setup can improve DB2’s
performance and availability for production.
For example, suppose the processor that runs your production subsystem fails. If
your test subsystem is on another processor, you can stop the test subsystem
and start the production subsystem on that processor. This only works if the
requisite DB2 data sets are on shared storage devices and you have used global
resource serialization (GRS) (or an equivalent) to protect the production DB2
data sets.
v Prevent access by one class of users to certain data. If this is your primary
purpose, reconsider the DB2 authorization scheme.
In an environment in which DB2 uses shared disk storage, use different data set
names for the active and archive log data sets if possible. If using different names
is not possible, include those data sets in the GRS inclusion list. See “Enabling
multiple DB2 subsystems to share disk storage” on page 284 for more details.
Installation procedure
This topic describes the principal steps to take when installing a second DB2
subsystem.
If you are using RACF, you can define new user profiles and IDs to provide a
separate level of security for each DB2 subsystem. See Part 3 (Volume 1) of DB2
Administration Guide for information.
Connecting the TSO attachment facility: The following list shows the procedures
to follow when connecting the TSO attachment facility.
Procedure Comments
Logon procedure Add STEPLIB statements if you are using a
separate library for the second subsystem or are
managing two different SDSNEXIT data sets. The
STEPLIB statement must be authorized using the
authorized program facility (APF).
A DB2 logon procedure can use only one set of
DB2 libraries.
Concatenate CLISTs Update the SYSPROC library if you decide to have
a separate library for the second subsystem.
Concatenate panels Update the ISPPLIB library if you decide to have a
separate library for the second subsystem.
Concatenate messages Update the ISPMLIB library if you decide to have a
separate library for a second subsystem.
Customize panel You must update the ISPF primary option panel
(ISR@PRIM) if you decide to have a separate
library for the second subsystem.
Authorize users Grant authorization on both subsystems as
necessary.
DB2I defaults panel Specify the new subsystem name as required.
Connecting the IMS attachment facility: The following list shows the procedures
to follow when connecting a second IMS attachment facility.
Procedure Comments
DB2 stored procedures address space has been deprecated. Only stored procedures
that were defined Version 7 can be run in the DB2-established stored address
procedure space. All new stored procedures must be run in a WLM-managed
stored procedure address space.
| Recommendation: Use Table 52 to determine the value that you should use for
| NUMTCB in your WLM environment for DB2-supplied stored procedures. If your
| system resources are constrained, you may need to choose a lower value.
# Table 52. Recommended NUMTCB values for DB2-supplied stored procedures
# DB2-supplied stored procedure Recommended value of NUMTCB
# DSN8EXP 1
# DSNACCOR 15
# DSNACICS 40
# DSNTBIND 1
# DSNTJSPP 60
# DSNTPSMP 1
# DSNUTILS 1
# DSNUTILU 1
# DSNWZP 1
# SQLJ.INSTALL_JAR 15
# SQLJ.REMOVE_JAR 15
# SQLJ.REPLACE_JAR 15
# SQLJ.DB2_INSTALL_JAR 15
# SQLJ.DB2_REPLACE_JAR 15
# SQLJ.DB2_REMOVE_JAR 15
For more information about stored procedures, see Part 6 of DB2 Application
Programming and SQL Guide.
| See Application Programming Guide and Reference for Java for more information about
| setting up DB2 Java support to work with DB2 Development Center.
| For more information about stored procedures, see Part 6 of DB2 Application
| Programming and SQL Guide.
For more information about stored procedures, see Part 6 of DB2 Application
Programming and SQL Guide.
# If you did not create these procedures during installation, you need to customize
# and run job DSNTIJMS to define stored procedures that provide support for JDBC
# and ODBC client functions. These stored procedures run in a WLM-managed
# stored procedure address space. You must set up a WLM environment for these
# stored procedures. The name of this environment must match the WLM
# ENVIRONMENT parameter value in the CREATE PROCEDURE statement for each
# stored procedure. If you create stored procedures after migration to Version 8
# new-function mode, run DSNTIJMS again.
For more information about stored procedures, see Part 6 of DB2 Application
Programming and SQL Guide. For more information about enabling stored
procedures for JDBC support, see DB2 Application Programming Guide and Reference
for Java.
# After you set up the WLM application environment, create a JCL startup procedure
# for the stored procedure address space.
# Customize and run job DSNTIJIM to define DSNAIMS to DB2. See the prolog of
# DSNTIJIM for instructions.
# For information about how to set up a WLM environment and associate an address
# space startup procedure with that environment, see z/OS MVS Planning: Workload
# Management and DB2 Administration Guide. For information about running the IMS
# transaction invocation stored procedure, see DB2 Application Programming and SQL
# Guide.
# After you set up the WLM application environment, create a JCL startup procedure
# for the stored procedure address space. Installation job DSNTIJMV contains a
# sample startup procedure for a stored procedure address space for running
# DSNACICS called DSNCICS. When you run the installation or migration CLIST,
# DB2 customizes DSNTIJMV with data set names that you specify. Running
# DSNTJMV installs the startup procedure in your SYS1.PROCLIB data set. Use
# panel DSNTIPW to specify CICS data set names. You can specify the library that
# contains the load modules for the CICS EXCI interface in the CICS EXCI LIBRARY
# field of panel DSNTIPW. DSNACICS uses this library to connect to CICS and call
# CICS programs.
# For information about how to set up a WLM environment and associate an address
# space startup procedure with that environment, see z/OS Planning: Workload
# Management and DB2 Administration Guide.
# This example assumes that you use the DB2-supplied load module for
# DSN8EXP, which is in the prefix.SDSNLOAD library. If you create your own
# DSN8EXP module from the source code in prefix.SDSNSAMP, you need to add
# the library that contains your load module to the STEPLIB concatenation, ahead
# of prefix.SDSNLOAD.
# 3. Define a PLAN_TABLE for each user. See member DSNTESC in
# prefix.SDSNSAMP for sample SQL statements.
# 4. Grant authorization for users to execute the package for DSN8EXP. For
# example:
# GRANT EXECUTE ON PROCEDURE DSN8.DSN8EXP TO user;
# For more information on installing or configuring these products, see the following
# books:
#
# Product Reference
# After you install the prerequisite products, you need to perform the following
# steps before you can use MQSeries user-defined functions:
# 1. Move your old MQSeries user-defined functions to the new format. See
# “Moving from previous versions of the MQSeries user-defined functions.”
# 2. Edit the MQSeries Application Messaging Interface configuration files. See
# “Editing the MQSeries configuration files” on page 294.
# 3. Implement cache files for the AMI repository file and the AMI local host file.
# This is an optional but recommended step. See “Using caches for AMI files
# (recommended)” on page 295.
# 4. To use publish/subscribe user-defined functions, create and configure a broker
# domain. See “Creating and configuring a broker domain” on page 295.
# 5. Start the queue manager. See “Starting the queue manager” on page 296.
# 6. To use publish/subscribe user-defined functions, start the broker. See “Starting
# the broker” on page 296.
# 7. Customize WLM for running MQSeries user-defined functions. See
# “Customizing WLM for running MQSeries user-defined function support” on
# page 296.
# 8. Define MQSeries user-defined functions to DB2. See “Defining the MQSeries
# user-defined functions to DB2” on page 297.
# 9. Start the address space in which the MQSeries user-defined functions run. See
# “Starting the WLM address spaces for MQSeries user-defined functions” on
# page 298.
# 10. Verify the installation. See “Verifying the DB2 and MQSeries setup” on page
# 298.
# To install the new versions of the MQSeries user-defined functions, complete the
# following steps:
# 1. Apply PK14474. PK14474 provides the PARAMETER VARCHAR STRUCTURE
# parameter for MQSeries user-defined functions in two schemas, DB2MQ1N and
# DB2MQ2N.
# 2. If you use one-phase commit, modify and submit installation job DSNTIJN1 at
# prefix.SDSNSAMP library to install and grant the execution of the MQSeries
# user-defined functions. If you use two-phase commit, modify and submit
# installation job DSNTIJN2. at prefix.SDSNSAMP library to install and grant the
# execution of the MQSeries user-defined functions.
# Recommendation: To edit these files, use the MQSeries AMI Administration Tool.
# You can download the MQSeries AMI Administration Tool at www.ibm.com/
# software/integration/support/supportpacs/individual/ma0f.html
# You can also edit these files using a plain text editor.
# The unedited copies of these files are in prefix.SDSNSAMP library. They are XML
# files that are in the UTF-8 encoding scheme.
# To edit these files, use the MQSeries AMI Administration Tool. If you do not use
# the MQSeries AMI Administration Tool, follow these steps to edit the files using a
# plain text editor:
# 1. Download the files via FTP in binary mode from the prefix.SDSNSAMP data set
# to a workstation.
# 2. Edit the files. Change the following items:
# v In the DSNAMT file:
# – Change all instances of MQND to the name of your queue manager.
# – If you plan to use the two-phase commit functions, in the
# GeneralAttributes_syncpoint
# entry, change value='No' to value='Yes'.
# For more information about creating and configuring a broker domain, see
# WebSphere MQ Integrator for z/OS: Customization and Administration Guide.
# For example, if the command prefix string for your MQSeries subsystem is
# –MQND, issue this command:
# –MQND START QMGR
# To check whether the queue manager is available, issue the following command
# from the TSO Command Processor panel, which is option 6 of the ISPF/PDF
# primary options menu:
# CSQOREXX
# <broker-name> is the name of the broker that you that you created to use the
# publish/subscribe user-defined functions.
# For more information about starting the broker, see WebSphere MQ Integrator for
# z/OS: Customization and Administration Guide.
# After you set up the WLM application environment, you need to create JCL startup
# procedures for the stored procedure address spaces.
# Change the data set names to match the data sets that contain your edited
# DSNAMT and DSNAMTHT files.
| v If you use the AMI repository file and the AMI host file, add the following DD
| statements to your STEPLIB concatenation:
| // DD DSN=MQSERIES.SCSQLOAD, DISP=SHR
| // DD DSN=MQSERIES.SCSQAUTH, DISP=SHR
| // DD DSN=MQSERIES.SCSQANLE, DISP=SHR
| Change the data set name to match the name of your MQSeries load library.
| v If you use caches instead of the AMI repository file, add the following DD
| statements to your STEPLIB concatenation:
| // DD DSN=MQSERIES.ASM.LOAD,DISP=SHR
| Change the data set name to match the name of the data set that contains the
| caches.
# Before you execute the CREATE FUNCTION statements for MQSeries user-defined
# functions, you might need to make the following changes to the statement:
# v Change the WLM ENVIRONMENT parameter value to match the name of the
# WLM application environment that you created for running the MQSeries
# functions. Ensure that you specify different WLM environments for functions in
# DSNTIJM1 and DSNTIJM2.
# v If you want the functions to run under the authorization ID of the stored
# procedure address space, change the SECURITY parameter to SECURITY DB2. If
# you want the functions to run under the authorization ID of the process that
# invokes the functions, change the security parameter to SECURITY USER.
# v Change the CCSID clauses for input and output parameters to the encoding
# schemes that you use for your data. Possible values are CCSID EBCDIC, CCSID
# ASCII, or CCSID UNICODE.
# If WLM address spaces are already started, you might need to restart them
# manually. For MQSeries user-defined functions, you need to restart the address
# spaces if you add AMI file caches. To restart WLM address spaces for an
# application environment, issue this z/OS command:
# VARY WLM,APPLENV=WLM-environment-name,REFRESH
# To verify that your MQSeries environment is set up correctly for invoking DB2
# MQSeries publish/subscribe user-defined functions, customize and run jobs
# DSNTEJSQ and DSNTEJSV. Instructions for customizing these jobs are in the job
# prolog.
# where:
# v ssid is the DB2 subsystem ID
# v wlmName is the WLM environment name
# v ccsid is the CCSID of the parameters of the MQSeries XML stored procedure
# (ASCII, EBCDIC, or UNICODE)
# v security is the security that is used for running the routines (DB2 or USER)
# v phase specifies whether single-phase commit or two-phase commit routines are to
# be installed (ONE or TWO)
# v ENBLPUB specifies whether publish and subscribe functions are enabled
# v EXCLPUB specifies to disable publish and subscribe functions
# All parameters except -f ENBLPUB|EXCLPUB are required. If you do not include this
# parameter, ENBLPUB is assumed.
# If you want to run this program from UNIX System services, you must complete
# the following steps
# v Create a dummy module for DSNMXADM and turn on the sticky bit for this
# module. Issue the following command in UNIX System Services:
# chmod 1755 dsnmxadm
# v Include the prefix.SDSNLOAD library in the STEPLIB concatenation in your
# profile file.
# Enabling DB2 as a Web service provider allows you to create Web services on
# z/OS with your DB2 data and applications. Enabling DB2 as a Web service
# consumer allows you to receive Web service data in your DB2 applications.
# To use DB2 Web Services Object Runtime Framework (WORF), you need to make
# the runtime services available to WebSphere Application Server (WAS). By default,
# WORF is installed in the HFS directory:
# /usr/lpp/db2810_worf/
# The base install directory contains the lib/ subdirectory that contains the runtime
# JAR file worf.jar. To begin using WORF, copy worf.jar, mail.jar, and
# activation.jar to a WAS shared library directory that you have already set up
# and restart WAS.
# Modify the dbDriver, dbURL userID, and password fields to have the
# following values:
# dbDriver=com.ibm.db2.jcc.DB2Driver
# dbURL=jdbc:db2://server:port/database
# userID=DB2 userid
# password=DB2 userid password
# d. Jar the files by issuing the following command:
# jar -cvf services.war *
# 3. Use a Web browser to connect to your WAS Administrative Console.
# 4. Under ″Applications″, select ″Install New Application″.
# 5. Select the ″Server Path″ option, and type the location of the services.war file in
# the text box. If you installed WORF in the default location, the server path is:
# /usr/lpp/db2810_worf/lib/services.war
# 6. Fill in a context root for the application (for example, services). Click ″Next″.
# 7. On the following screens, respond as necessary for your local setup. You can
# accept the default settings.
# 8. On the last screen, click ″Finish″. Click ″Save to Master Configuration″ to apply
# your changes.
# After you set up the WLM application environment, create a JCL startup procedure
# for the stored procedure address space.
# To create load modules that are used by the Web service consumer, customize job
# DSNTIJWL as indicated in its prolog and run the job.
# To define the Web service consumer user-defined functions to DB2, customize job
# DSNTIJWS as indicated in its prolog and run the job.
# If the BIND PACKAGE command fails, the package already exists. See if the time
# and date formats returned by the existing packages are satisfactory. If they are, the
# existing packages can be used without any change to the package list in the SPUFI
# plans. If you need to change the time and date formats returned by the existing
# packages, you must bind new packages with different collection identifiers that
# have been agreed to by the database server.
# For example, if the collection identifiers are PRIVATCS and PRIVATRR, the
# commands for doing a remote bind are as follows:
# BIND PACKAGE (location_name.PRIVATCS) MEMBER(DSNESM68)
# ACTION(ADD) ISOLATION(CS) LIB(’prefix.SDSNDBRM’)
#
# BIND PACKAGE (location_name.PRIVATRR) MEMBER(DSNESM68)
# ACTION(ADD) ISOLATION(RR) LIB(’prefix.SDSNDBRM’)
# The SPUFI plans at the DB2 system must be rebound because the location name
# parameter (which is usually optional) must be explicitly specified for the remote
# access functions to construct the correct package name. (SPUFI does not use the
# SQL statement SET CURRENT PACKAGESET.) The location name entry in the
# package list must precede any pattern-matching character entry. For example, the
# package list for the DSNESPCS plan is as follows:
# location_name.PRIVATCS.DSNESM68
# *.DSNESPCS.DSNESM68
# Example: Suppose that when you install DB2, you create the SPUFI plans and
# packages using ENCODING(EBCDIC), and the default subsystem CCSID for
# EBCDIC data, as specified on installation panel DSNTIPF in the EBCDIC CCSID
# field. Most of the people in your organization use this CCSID as their terminal
# CCSID, so they do not encounter errors. However, a large group of DB2
# application programmers code in the C language and prefer CCSID 1047 as their
# terminal CCSID. You can prevent this group from corrupting DB2 data and
# receiving errors by completing the following tasks:
Before you begin migration to compatibility mode, you need to load the DB2
libraries. This process is described beginning on page 47. You also need to run the
installation CLIST. The process is described beginning on page 80. Also see
“Migration considerations” on page 306 for information about changes that might
affect your migration process.
| When you migrate to Version 8, you cannot use new DB2 facilities until you are in
| new-function mode. When you are in compatibility mode or enabling-new-function
| mode, you cannot use the new Version 8 facilities.
| Ensure that your Version 7 subsystem is at the proper service level. Before you
| migrate to Version 8 compatibility mode, you must have a maintenance level on
| Version 7 that contains the fallback SPE. If you do not have the fallback SPE
| applied, your Version 8 compatibility mode migration process will fail.
When you start DB2, the code level of the starting DB2 is compared to the code
level required by the current DB2 catalog. If the starting DB2 has a code level
mismatch with the catalog, DB2 does not start and a message is issued.
Refer to DB2 Program Directory, which is shipped with the product, for keyword
specifications for preventive service planning (PSP). Check Information/Access or
the ServiceLink facility of IBMLink for PSP information before you migrate. Also
check monthly for the most current information about DB2.
Before migrating the first member to Version 8, check the service levels of any
coupling facilities running with coupling facility control code (CFCC) at
CFLEVEL=7 or CFLEVEL=8. Coupling facilities at CFLEVEL=7 should have service
level 1.06 or higher, and coupling facilities at CFLEVEL=8 should have service
level 1.03 or higher. If these service levels are not installed, data corruption can
occur. No service level requirements exist for the other CFLEVELs.
You can use the z/OS DISPLAY CF command to display the service level of
coupling facilities.
Migration considerations
Be aware of the following changes that might affect your migration to Version 8
| compatibility mode. For information about how migration might affect your DB2
operations, see “Make adjustments for release incompatibilities” on page 319.
| Exception: If you use RESTORE SYSTEM with the LOGONLY option, you do not
| need the preceding requirements. You can perform the restoration manually by
| using your preferred method, and then run RESTORE to complete the recovery.
| The default values for secondary space allocations can now use a sliding scale. If
| you specify a value of YES for the field OPTIMIZE EXTENT SIZING on panel
| DSNTIP7, DB2 uses a sliding scale to determine the secondary allocations for
| DB2-managed data sets if you explicitly specify SECQTY (with a valid value that is
| not -1) in the CREATE TABLESPACE or CREATE INDEX statement or in any of
| the subsequent ALTER TABLESPACE or ALTER INDEX statements.
| Using a sliding scale for secondary space allocations might result in increased disk
| space usage. However, overall, this method generally results in better space
| utilization and fewer situations in which the maximum number of extents are
| reached.
| Recommendation: Change the DESCSTAT setting to YES if your DB2 UDB for
| z/OS subsystem is used as a server for applications that use either of these drivers.
| Example: Assume that you created a table in Version 7 with the following SQL
| statement:
| CREATE TABLE T1 (C1 CHAR(5));
| Now, after converting to Version 8 new-function mode, assume that you create a
| new table with the following SQL statement:
| CREATE TABLE T2 (C1 CHAR(5));
| Assume that you then issue the following statements in Version 8 new-function
| mode:
| SELECT LENGTH(NAME) FROM SYSIBM.SYSTABLES WHERE NAME = ’T1’;
| SELECT LENGTH(NAME) FROM SYSIBM.SYSTABLES WHERE NAME = ’T2’;
| In this example, DB2 returns a value of 8 for the first statement, because the
| padding characters from Version 7 are not stripped during migration to Version 8.
| DB2 returns value of 2 for the second statement because T2 was created in Version
| 8.
| You must specify a valid language option when issuing any ALTER
| PROCEDURE statement for a procedure that was defined with LANGUAGE
| COMPJAVA. If you do not, DB2 issues an error.
| 2. Ensure that the WLM environment is configured and that the required JVM is
| installed.
| 3. Ensure that the .class file that is identified in the EXTERNAL NAME clause of
| the ALTER PROCEDURE is present in one of the following places:
| v In a JAR that was installed to DB2 by an invocation of the INSTALL_JAR
| stored procedure
| v In a directory in the CLASSPATH ENVAR of the data set that is named on
| the JAVAENV DD statement of the WLM stored procedures address space
| JCL
| Example: Suppose that a CHAR(5) column contains the value ’ABCDE’. You select
| the value into a C host variable that is defined as char hv. In previous releases of
| DB2 and DB2 UDB in non-z/OS environments, after you performed the SELECT,
| the value in hv was X'C1C2C3C4C500'. In Version 8, if you do not change the
| installation default, the value in hv is X'C1C2C3C4C5404040404000'.
# To determine whether your RLF tables are updated, issue the following SQL
# statement:
# SELECT TBCREATOR, TBNAME, COUNT(*) AS NUM_COLS
# FROM SYSIBM.SYSCOLUMNS
# WHERE TBNAME LIKE ’DSNRLS%’
# GROUP BY TBCREATOR, TBNAME
# HAVING COUNT(*) <> 11
# If this SQL statement returns results, this means that the RLF tables are not yet
# updated. Use the following SQL statement to update the returned RLF table:
# ALTER TABLE table
# ADD RLFASUERR INTEGER;
# ALTER TABLE table
# ADD RLFASUWARN INTEGER;
# ALTER TABLE table
# ADD RLF_CATEGORY_B CHAR(1) NOT NULL WITH DEFAULT;
| If you specify SMFSTAT=YES, DB2 starts traces for SMF classes 1, 3, 4, 5, and 6. In
| DB2 Version 7, specifying SMFSTAT=YES only started traces for SMF classes 1, 3, 4,
| and 5.
| If the values that you specified for these parameters are lower than the new
| default values, you might want to increase your values.
| Start only one DB2 member for migration processing. During the migration, other
| group members can be active. However, other active group members may
| experience delays or timeouts if they attempt to access catalog objects that are
| locked by migration or enabling-new-function mode processing. After migration
| completes on the first member, you can migrate the other data sharing group
| members.
| Table 54 shows the indexes that are new and changed for existing catalog tables.
| Table 54. Indexes that are added or updated sequentially using the work file database
| Catalog table name Index name Column names
# If you choose to use a local DATE or TIME exit, ensure that each of the three
# DB2-supplied exits has been replaced with your local copy of the exit.
IRLM
As you apply IRLM service to members of a data sharing group, some members
run with the newer service level, and some run with the older service level. A mix
of service levels can raise issues that you must consider. For more information
about IRLM coexistence, see DB2 Data Sharing: Planning and Administration.
| The coupling facility batching commands RFCOM and WARM are not used in a
| coexistence environment.
Distributed environment
DB2 UDB for z/OS communicates in a distributed data environment with Version
6 and Version 7 of DB2, using either DB2 private protocol access or DRDA access.
However, the distributed functions that are introduced in Version 8 of DB2 UDB
for z/OS can be used only when using DRDA access.
Other DRDA partners at DRDA level 4 can also take advantage of the functions
that are introduced in Version 8 of DB2 UDB for z/OS.
Data sharing
| DB2 can support both Version 7 and Version 8 members in compatibility mode in a
data sharing group. To support both releases, you must first apply the fallback SPE
to all Version 7 members of the group. Release coexistence begins when you
migrate the first data sharing member to Version 8. You must successfully migrate
the first data sharing member to Version 8 before attempting to migrate the other
data sharing members.
For the best availability, you can migrate the members to Version 8 one member at
| a time. When developing your migration plan, remember that most new functions
| that are introduced in Version 8 are not available to any members of the group
| until all members are migrated to Version 8 and until all members are in
| new-function mode.
TSO, CAF, and RRSAF logon procedures: You can attach to either release of DB2
with your existing TSO, CAF, or RRSAF logon procedures, without changing the
load libraries for your applications. After you migrate completely to the latest level
of DB2, you must update those procedures and jobs to point to the latest level of
DB2 load libraries. If you forget to update those procedures and jobs before
migrating to any release subsequent to Version 8, those procedures and jobs can no
longer work in that subsequent release.
For a detailed list of considerations for a data sharing group with multiple DB2
releases, see Chapter 3 of DB2 Data Sharing: Planning and Administration.
Adjust user-defined function calls for new built-in functions: Several new built-in
functions are available. If you have user-defined functions, invoke them with a
fully qualified name to avoid calling built-in functions that might have the same
name. If the user-defined functions are not invoked with a fully qualified name
and SYSIBM is earlier in the SQL path, the built-in function is selected instead of
the user-defined function.
| Changed defaults for utilities: The default values for several utilities’ options have
| changed in Version 8. SORTKEYS is the default for the REORG, LOAD, and
| REBUILD utilities. SORTDATA is the default for the REORG utility.
| Changed behavior for TRANSLATE function: If your query references the catalog,
| uses the TRANSLATE built-in function, and specifies a translate table, you might
| need to change the translate table. In some cases, the TRANSLATE functions might
| not have the same behavior as in Version 7. For example, some accented characters
| which had a single-byte EBCDIC value in Version 7 have a double-byte Unicode
| value. If you perform a TRANSLATE function on a string that contains such a
| character, the function will not return the expected results.
| Changed parameter length for BLOB, CLOB, and DBCLOB functions: The lower
| limit for these functions is now 1 for consistency with the VARCHAR and
| VARGRAPHIC functions. You cannot invoke these built-in functions with an
| explicit parameter length of 0. If you specify 0, DB2 returns an error. If the input
| string is empty and an explicit length is not specified, the length attribute of the
| result is 1.
| Changed input for GRAPHIC, VARGRAPHIC, and DBCLOB: The input string for
| the GRAPHIC, VARGRAPHIC, and DBCLOB functions cannot be BIT data,
| regardless of the encoding scheme of the data. If the input string is EBCDIC BIT
| data, DB2 returns an error.
| Changed rules for procedure and function names: In Version 8, DB2 enforces the
| following rules for procedure and function names:
| v If your routine is written in a language other than Java, the external name is a
| load module which must be less than or equal to 8 bytes. The external name
| must contain characters that are valid for a z/OS load module.
| v A procedure name cannot consist of a single asterisk.
| SQLDA might contain truncated data: In Version 8, the length of many names has
been extended. However, for compatibility with prior releases, the length of name
fields in the SQLDA is not changing. Truncation of names that are stored in the
SQLDA might occur with distinct name types. To avoid truncation of distinct type
names in the SQLDA, you should not use distinct name types longer than 30 bytes.
| For more information, refer to DB2 SQL Reference.
Restriction on DB2 private protocol applications: DB2 limits the SQL statements
that a private protocol application can include to statements that were added to
DB2 before Version 8.
SQL reserved words: Version 8 has several new SQL reserved words. Refer to DB2
SQL Reference for the list, and adjust your applications accordingly.
| Savepoint names cannot begin with ’SYS’: A savepoint name cannot begin with
| SYS. If your application has a savepoint with a name beginning with SYS, DB2
| issues an error message.
| Changed behavior for ALTER INDEX: If you do not specify an option following
| the ALTER PARTITION clause, a warning is issued.
| Invalid uses of host variables are not supported: Validation of the attributes of
| host variables used in PREPARE statements is improved. You may need to update
| your application programs.
| Example: If the defined length of the host variable is less than the length of the
| actual data, DB2 issues an error message. Update your application program to
| specify the correct length of the host variable.
# Important: Because type 2 indexes often take more space than type 1 indexes, you
# should first determine if you need to allocate more space for the indexes. Refer to
# Section 1 of DB2 Administration Guide for more information. Based on these
# calculations, if your index space is not large enough, delete and redefine your data
# sets with a larger allocation. For more information about increasing your data set
# allocations, see z/OS DFSMSdfp Storage Administration Reference.
Migration step 2: Run the link checker on DB2 Version 7 table spaces
(optional)
The link checker utility, DSN1CHKR, verifies the integrity of the DB2 directory and
catalog table spaces. DSN1CHKR scans the specified table space for broken links,
hash chains, and orphans (records that are not part of any link or chain). You need
to run DSN1CHKR only on catalog and directory table spaces that contain links or
hashes. You must issue the STOP DATABASE command on these table spaces
before running DSN1CHKR on them. These table spaces include:
v DSNDB06.SYSDBASE
v DSNDB06.SYSDBAUT
v DSNDB06.SYSGROUP
v DSNDB06.SYSPLAN
v DSNDB06.SYSVIEWS
v DSNDB01.DBD01
# In addition, run DSN1COPY with the CHECK option on all catalog table spaces to
# ensure that the table space pages are physically correct and that the catalog table
# spaces are clustered. When you run this utility on segmented table spaces, you
# might receive message DSN1985I. The segmented table spaces in the catalog and
# directory are: DSNDB06.SYSPACKAGE, DSNDB06.SYSSTR, DSNDB06.SYSSTATS,
# DSNDB06.SYSDDF, DSNDB06.SYSOBJ, DSNDB01.SYSUTILX, and DSNDB01.SPT01.
# You can ignore this message. See the description of DSN1985I in DB2 Messages for
# details.
Recommendation: Run DSN1COPY and DSN1CHKR with the catalog and the
directory table spaces stopped, or with DB2 stopped. Also run the CHECK INDEX
utility. For more information on DSN1CHKR and DSN1COPY, see Part 3 of DB2
Utility Guide and Reference. For more information about CHECK INDEX, see Part 2
of DB2 Utility Guide and Reference.
You should run the following query on your Version 7 catalog tables to ensure that
you do not have a STOGROUP that is defined with both specific and non-specific
volume IDs.
If the query returns any rows, the identified STOGROUPs have both specific and
non-specific volume IDS. Table spaces in databases that use these STOGROUPs
cannot be image copied or recovered until ALTER STOGROUP is used to remove
volumes so that the STOGROUP has either specific or non-specific volume IDs.
Migration step 3: Determine which plans and packages are invalid after
migration (optional)
Migrating to Version 8 compatibility mode renders some plans and packages
invalid. Find out which ones are invalid by running the following queries on your
Version 7 subsystem:
|
End of Product-sensitive Programming Interface
These two queries are commented out in the Version 8 member DSNTESQ of
prefix.SDSNSAMP. You can run these queries from SPUFI or from a dynamic SQL
program like DSNTEP2.
After migration, you can explicitly rebind these plans and packages or let DB2
rebind them automatically. See Part 4 of DB2 Application Programming and SQL
Guide for suggestions on rebinding these plans and packages.
The DSNTESQ queries check the logical correctness of the DB2 catalog. You can
execute the SQL statements in DSNTESQ from SPUFI or from a dynamic SQL
program like DSNTEP2.
Before you run these queries, you should have already followed step 2 in
migration. In this step, you run the DSN1CHKR utility and the CHECK INDEX
| utility, and the DSN1COPY utility with the CHECK option.
You can run the queries on the actual catalog tables or on “mirror” copies of the
catalog tables. If you run the queries on the copies, use the comment lines in
member DSNTESQ for guidance. By running queries on copies of the catalog table,
you reduce contention on the catalog.
To create a copy of the Version 7 catalog and directory, run Version 7 job
DSNTIJIC. Before you run DSNTIJIC, examine the job for:
v The tape unit name. The job lists the tape unit name as TAPE. If this is incorrect
for your site, correct it. The name TAPE is also used as the unit name for the
default archive log data sets.
v Expiration date or retention period. You can add a retention period or an
expiration date to the job.
v The USER option on the JOB statement. Ensure that the user is authorized. This
must be the same user that you specified for either SYSTEM ADMIN 1 or
SYSTEM ADMIN 2 on installation panel DSNTIPP.
Job DSNTIJIC contains a list of all the DB2 directory and catalog table spaces.
When you run DSNTIJIC, it invokes the DB2 image copy utility to copy these table
spaces to tape. The copied table spaces allow you to recover the DB2 catalog and
directory in case of a failure.
If job DSNTIJIC fails or abends, look for problems with the tape that is set up for
image copy. If you do not find a problem, examine the log for problems. For
example, look for incorrect size or I/O errors.
After migration, periodically run the Version 8 job DSNTIJIC against the Version 8
directory and catalog, perhaps daily or weekly. This action reduces the amount of
time that is required for recovering the DB2 directory or catalog. The copied data
and log data sets are needed for recovery.
If you are remigrating, you need to take one of the following actions:
Save your TSO logon procedures and JCL from Version 7 in case you need to fall
back from DB2 UDB for z/OS Version 8.
You can attach to multiple releases of DB2 with your existing TSO or CAF logon
procedures, without changing the load libraries for your applications. After you
migrate completely to the latest level of DB2, you must update those procedures
and jobs to point to the latest level of DB2 load libraries.
The DSNEMC01 CLIST uses the values that are specified on installation panel
DSNTIPF and stores the results in the ISPF profile member DSNEPROF. You can
migrate any customized DSNEPROF members from Version 7 to Version 8
compatibility mode. However, you need to examine any new or changed default
panel values to ensure that your customized values are still valid.
If you use fixed-block CLIST libraries, modify the DSNTIJVC job as follows:
v Change the SYSIN DD to DUMMY.
v Change the allocation of prefix.SDSNCLST to match the data control block (DCB)
attributes of your other CLIST libraries.
A CLIST that has been converted from fixed-block format to variable-block format
cannot be used as input to the DSNTINST CLIST; use the unedited version of the
SDSNCLST data set, as created by SMP/E.
To make the CLISTs available to TSO and batch users, you must either concatenate
prefix.NEW.SDSNCLST with your existing CLIST libraries or copy
prefix.NEW.SDSNCLST into an existing CLIST library.
If you need to rerun this job, first delete data set prefix.NEW.SDSNCLST, which is
created by this job.
DB2I uses the ISPF PROFILE and SHARED variable pools for most panel variable
fields. You can easily re-enter a panel when panel variables have previously been
specified. For the DB2 subcommands that permit lists of plan names, package
names, DBRMs, and ENABLE and DISABLE statements, DB2I provides ISPF tables
that contain all the user-specified variables for these subcommand keywords.
DB2I creates and maintains a set of ISPF tables in a user-defined TSO data set that
is allocated to a DDNAME of DSNETBLS. Table 48 on page 266 shows the library
table member names and their contents.
When allocating this data set, assign the following DCB attributes, where n is any
integer:
DSORG(PO) RECFM(F B) LRECL(80) BLKSIZE(n*LRECL)
The following example shows how you might set up an ALLOCATE statement to
create the data set:
The following example shows how you might allocate an existing data set to the
DSNETBLS DDNAME:
ALLOC DA(DSNSPFT) F(DSNETBLS) REUSE
If you do not allocate the DSNSPFT data set and connect it to ISPF, DB2I allocates
a temporary data set for the ISPF table library members at DB2I startup. DB2I
deletes this temporary data set when the ISPF session is terminated.
DB2I uses ISPF table services to maintain individual ISPF tables within the
DSNETBLS data set. For performance reasons, ISPF keeps this table library in an
open state after an individual table has been updated. Attempts to close this data
set using the TSO FREE command results in error message IKJ56861I.
For additional information about this TSO error message and how to close this
data set, refer to z/OS ISPF Messages and Codes.
If you want to run the ISPF-CAF sample application that is provided with DB2,
ensure that the data set prefix.RUNLIB.LOAD is included in the STEPLIB
concatenation of the logon procedure or in the ISPLLIB concatenation list. For more
information about the ISPF-CAF sample application, see “Running dynamic SQL
and the ISPF/CAF application” on page 386.
Refer to 328 for more information about using your TSO and CAF logon
procedures.
Ensure that you coordinate the attachment facility connection with your CICS
support group. To connect the CICS attachment facility, you must:
1. Recalculate space requirements for the CICS attachment facility.
2. Define your CICS attachment facility parameters using the RCT.
3. Update the CICS system tables.
4. Update the CICS initialization JCL.
330 Installation Guide
5. Coordinate DB2 and CICS security if necessary.
6. Prepare new CICS applications for DB2 if necessary.
CICS Transaction Server for z/OS DB2 Guide describes these tasks.
| All utilities must be restarted or terminated on the version on which they were
| started. If you do not use data sharing, ensure that all utilities are completed or
| terminated on Version 7. Issue the following command:
| -DSN1 DISPLAY UTILITY(*)
| After you have determined the utilities that are running, you can let them
| complete processing or you can terminate the utility. To stop all utilities, issue the
| following command:
| -DSN1 TERM UTILITY(*)
| Ensure that no table spaces and index spaces in the DB2 directory (DSNDB01) or
| the DB2 catalog (DSNDB06) have write error ranges or deferred restart states. You
| can determine existing restrictions by issuing the following commands:
| -DSN1 DISPLAY DATABASE(DSNDB01) SPACENAM(*) RESTRICT
| -DSN1 DISPLAY DATABASE(DSNDB06) SPACENAM(*) RESTRICT
| You must have system administrator or system operator privileges to issue this
| command.
| If you have table spaces or index spaces that have write error ranges or deferred
| restart rates, issue a RECOVER command.
Save your Version 7 subsystem parameter module so that it is available in case you
need to fall back.
The DSNTINST CLIST performs calculations by using the values that you specified
for some of the parameter values that you entered on the panels. These
calculations appear in the macro descriptions.
DSNTIJUZ actions
In addition to defining the subsystem parameter module, job DSNTIJUZ:
| v Link-edits the DSNHDECP module into the prefix.SDSNEXIT data set.
v Link-edits the assembled subsystem parameter module, DSNZPxxx, into the
prefix.SDSNEXIT library.
# Insert the DSPREFIX value after SDSNLOAD and ADSNLOAD. The linkage
# editor issues a return code of 8, along with message IEW0342 for the following
# CSECTs:
#
# DSNFSYSP DSNJARVP DSNJLOGP DSNTSPRM
# DSNVDIR1 DSNZMSTR DSN3DIR1
#
Recommendation: Add a second BSDS because having two BSDSs makes recovery
much easier in most situations. In cases that normally require recovery and restart,
a second BSDS allows you to continue working. Also, the required storage is small,
and the data set is relatively inactive.
You might receive message GIM65001W when running steps DSNTLOG and
DSNTIMQ, or you might receive a return code of 4 when running step DSNTIMQ.
You can ignore these messages.
If DSNTIJUZ fails or abends, correct the problem and rerun the job, using the same
subsystem parameter name.
For more information about access method services, see z/OS DFSMS Access
Method Services for Catalogs.
Because your Version 8 system reuses the data objects from your Version 7 system,
you have probably already supplied the protection that those objects need.
However, you probably want to protect the new (Version 8) DB2 data objects.
Because different sites have different requirements for identifying DB2 to z/OS,
DSNTIJMV cannot anticipate all the necessary updates. For this reason, the
updates that job DSNTIJMV makes in SYS1.PARMLIB and SYS1.PROCLIB are
incomplete. You might have additional procedures of your own to rename, or you
might have to provide procedures for both releases, using alias names to indicate
the current release. You can complete these updates either by making the updates
directly in SYS1.PARMLIB and SYS1.PROCLIB or by editing DSNTIJMV.
Regardless of whether you make the updates directly or edit DSNTIJMV to make
the updates, you might first want to review “Choosing link list options” on page
53.
DSNTIJMV actions
# Job DSNTIJMV does the following updates to SYS1.PARMLIB and SYS1.PROCLIB
# to help identify DB2 to z/OS:
1. Job DSNTIJMV updates the following SYS1.PARMLIB members:
v IEFSSNxx
This member contains an entry for every z/OS subsystem. Unless you
change the DB2 subsystem name or the DB2 command prefix, you do not
need to change this member. If you change the subsystem name or the
command prefix, either change the current member or create a new member.
Place the primary system’s record (JES2 or JES3) record as the first line in an
IEFSSNxx member. However, if you use SMS, place the SMS line before the
primary system. There might also be other products that change position
during system initialization. The DB2 line should come after SMS, the JES
subsystem, and other vendor products.
v IEAAPFxx or PROGxx
Before starting DB2, check the private area sizes in the SYS1.PROCLIB update
section to ensure that you have enough user private area.
Also, examine the size of the private area on the DB2 startup procedures. If
necessary, modify them to satisfy the requirements for EDM pool size, buffers,
numbers of open data sets, and the amount of available private address space. For
more information about private address spaces, see “Working storage calculation”
on page 42.
The job also defines the new VSAM data sets for the table spaces and indexes of
the catalog and directory.
Recommendation: For recovery purposes, keep system data sets on different disk
volumes. Because these data sets are in use frequently, do not migrate them with
DFSMShsm.
If DSNTIJIN runs successfully, it produces return codes of 0 for all steps. Check
any VSAM messages carefully.
The sample authorization exit routines are not the same as the default
authorization exit routines that are supplied by DB2. By implementing the sample
authorization exit routines, you can provide group names as secondary
authorization IDs. For information about writing exit routines, see Appendix B of
DB2 Administration Guide. For more information on controlling data access, see Part
3 (Volume 1) of DB2 Administration Guide.
If job DSNTIJEX fails or abends, correct the problem, and rerun the job.
DSNXSXAC is a copy of the default access control authorization exit routine that
you can modify. This exit routine allows you to bypass some or most of DB2
authorization checking and to specify your own authorization checking. If you do
not change the exit routine, you should delete this step.
DSNACICS is a stored procedure that invokes user exit routine DSNACICX, which
you can use to modify CICS parameters that the DSNACICS caller specifies. If you
do not need to modify the caller’s parameter values, you can use the default
DSNACICX exit routine. However, if you need to modify the caller’s parameter
values, you need to perform the following tasks:
1. Write a user exit routine in assembler, COBOL, C, or PL/I
2. Assemble or compile the source code
3. Link-edit the object code into the DB2 exit routine library
Installation job DSNTIJEX includes a step to assemble and link-edit the sample
version of DSNACICX. You can use this step as a model for your program
preparation job.
If you are at the appropriate service level for Version 7, you can plan ahead, do
PARMLIB updates (which are necessary at least to update the APF authorization
list), and IPL z/OS whenever convenient, before you begin your migration. The
z/OS IPL is necessary because migration job DSNTIJMV makes changes to
SYS1.PARMLIB that are not recognized by z/OS until the next IPL. The DSNTIJMV
job makes the following changes to the SYS1.PARMLIB library:
v Creates new subsystem definitions in the IEFSSNxx member
v Creates new APF libraries in the IEAAPFxx member
v Creates new load module libraries in the LNKLSTxx member
Complete these changes before performing the IPL.
You must IPL before or during migration, but IPLs are not necessary for fallback or
remigration. For more information, refer to “Migration step 13: Define DB2 Version
8 to z/OS: DSNTIJMV” on page 335 and “Choosing link list options” on page 53.
After you IPL z/OS, message DSN3100I appears on the z/OS console, stating that
DB2 is ready for the START command.
The irlmproc is the value that you specified for the PROC NAME option on
installation panel DSNTIPI.
If you specified YES for the AUTO START option on installation panel
DSNTIPI, DB2 starts the IRLM automatically.
2. Start DB2 from the z/OS console with the following command, where -DSN1 is
the subsystem command prefix that you defined for DB2, and DSNZPxxx is the
name of the DB2 initialization parameter module:
-DSN1 START DB2 PARM(DSNZPxxx)
If you omit the PARM parameter, the name that is used is the one that you
specified in the field PARAMETER MODULE on panel DSNTIPO. If you did
not specify a parameter module on panel DSNTIPO, DB2 uses the default,
DSNZPARM.
| You must run job DSNTIJTC to complete the tailoring of the DB2 catalog. In a data
# sharing environment, do not run DSNTIJTC after installing non-originating
# members. When you start DB2 Version 8 for the first time, you might receive
# message DSNT501I with reason code 00C900A6. You can ignore this message.
# Running job DSNTIJTC corrects the cause of this message.
| DSNTIJTC contains one step. DSNTIJTC creates new catalog and directory objects,
| adds columns to existing catalog tables, and creates and updates indexes on the
| catalog tables to accommodate new Version 8 objects. All IBM-supplied indexes are
| created or updated sequentially during the execution of DSNTIJTC.
If job DSNTIJTC fails, save the output and verify that you are at the correct
maintenance level. If you are not, you need to install the appropriate maintenance.
If you are at the correct maintenance level, correct the problem, and rerun the job.
If you run the job again and the job still fails, return to Version 7. Because
CATMAINT failures roll back all Version 8 changes, the catalog and directory are
in Version 7 format. Altered indexes are not rolled back. Determine if any index is
in a pending status by using the CHECK INDEX utility. To return to Version 7 you
need to:
v Rename procedures to use Version 7 libraries.
v Reconnect TSO, IMS, and CICS to Version 7 libraries.
See “Falling back” on page 346 for details on these steps.
When you remigrate, run the DSNTIJTC job again. To execute DSNTIJTC, you
must have installation SYSADM authority.
Migration step 19: Ensure that the catalog has no problems (optional)
Check the integrity of your DB2 UDB for z/OS Version 8 catalog and directory by
following, in any order, these steps:
| v Run CHECK INDEX on all the indexes in the catalog and directory by using job
| DSNTIJCX. In Version 8, DSNTIJCX will indicate that there are no indexes in the
| SYSALTER tablespace because these objects are not created until you commence
| enabling-new-function mode.
| If you have a routine that references the ASCII or Unicode CCSID fields in
| DBINFO, you must recompile and rebind it in Version 8 to correctly reference these
| fields. Additionally, you must recompile and rebind applications that invoke these
| routines at the same level as the routine. To identify routines that must be
| recompiled and rebound because they reference the ASCII or Unicode CCSID fields
| in DBINFO, issue the following query:
| SELECT SCHEMA, NAME
| FROM SYSIBM.SYSROUTINES
| WHERE DBINFO = ’Y’;
| If the routine is written in C and includes the SQLUDF.H file, you can recompile
| and rebind it. If the routine does not include SQLUDF.H, or if it is written in
| another language, you must update the application code to meet the new structure
| of the CCSID information in DBINFO. See DB2 Application Programming and SQL
| Guide for more information about the structure of DBINFO. After you have
| updated the application code, recompile and rebind these routines. After you have
| recompiled and rebound the routines, you must recompile and rebind the
| applications that invoke these routines.
| Exception: If your routine references only the EBCDIC CCSID field in DBINFO,
| you do not need to update, recompile, or rebind.
# If you bound special SPUFI packages and plans in Version 7, you need to bind
# those packages again in Version 8. You do not need to bind the plan again. To bind
# the special SPUFI packages again, issue the following commands:
# BIND PACKAGE(SPCS1047) MEMBER(DSNESM68) -
# ACTION(REPLACE) ISOLATION(CS) ENCODING(1047) -
# LIBRARY(’prefix.SDSNDBRM’)
# BIND PACKAGE(SPRR1047) MEMBER(DSNESM68) -
# ACTION(REPLACE) ISOLATION(RR) ENCODING(1047) -
# LIBRARY(’prefix.SDSNDBRM’)
# If you did not bind special SPUFI packages and plans in Version 7, you can bind
# new ones now with the following commands:
# BIND PACKAGE(SPCS1047) MEMBER(DSNESM68) -
# ACTION(REPLACE) ISOLATION(CS) ENCODING(1047) -
# LIBRARY(’DSN!!0.SDSNDBRM’)
# BIND PLAN(SPCS1047) -
# PKLIST(SPCS1047.DSNESM68) -
# ISOLATION(CS) ENCODING(1047) ACTION(REPLACE)
# BIND PACKAGE(SPRR1047) MEMBER(DSNESM68) -
# ACTION(REPLACE) ISOLATION(RR) ENCODING(1047) -
# LIBRARY(’DSN!!0.SDSNDBRM’)
# BIND PLAN(SPRR1047) -
# PKLIST(SPRR1047.DSNESM68) -
# ISOLATION(RR) ENCODING(1047) ACTION(REPLACE)
# For more information, see “Special packages and plans for SPUFI” on page 301.
See Appendix B of DB2 Utility Guide and Reference for information about invoking
utilities from a stored procedure. Stored procedures can be enabled after
installation or migration. See “Enabling stored procedures after installation” on
page 285 for the specific steps that are required to accomplish this.
| Requirements:
| v Stored procedure DSNWZP now requires a WLM-managed stored procedures
| address space.
| Important: You must set NUMTCB=1 in your WLM environment for DSNWZP.
# When tailored for migration, DSNTIJSG binds the packages for use by the DB2
# ODBC and JDBC metadata methods in Version 8 compatibility mode. DSNTIJSG
# does not create the database and global temporary tables needed by the metadata
# methods because these are presumed to have been migrated from DB2 Version 7. If
# these objects do not exist in your DB2 subsystem, or you otherwise do not use the
# DB2 ODBC and JDBC metadata methods, remove all BIND
# PACKAGE(DSNASPCC) statements from job step DSNTIRU before running this
# job.
When you migrate the first member of the data sharing group to Version 8,
DSNTIJSG rebinds SPUFI in Version 8. The Version 7 members cannot use a
Version 8 SPUFI. If you attempt to run an SQL statement in a data sharing member
at Version 7 with SPUFI at Version 8, expect the following messages:
DSNT408I SQLCODE = -904, ERROR: UNSUCCESSFUL EXECUTION
CAUSED BY AN UNAVAILABLE RESOURCE. REASON 00E7009E
DSNT418I SQLSTATE = 57011 SQLSTATE RETURN CODE
If job DSNTIJSG fails or abends, ensure that the user that is specified on the JOB
statement is authorized. Use the name that you specified for either the SYSTEM
ADMIN 1 option or the SYSTEM ADMIN 2 option on installation panel DSNTIPP.
(The RESTART parameter on the JOB statement can be useful.)
Correct any other problems, and rerun DSNTIJSG. If you encounter resource
shortages, review the parameters in job DSNTIJUZ, making any necessary
modifications. Then stop DB2, rerun DSNTIJUZ, start DB2, and rerun DSNTIJSG
from the last successful step.
| Recommendation: Alter your DB2 Version 8 buffer pools that have frequent page
| reads or frequent page writes to use PGFIX YES if you have sufficient real storage
| available for the these buffer pools. Fixing the buffer pages in real storage once
| and keeping them fixed avoids the processing time that DB2 needs to fix and free
| pages each time there is an I/O. In some cases, this processing time can be as
| much as 10% for I/O intensive workloads. To use this option, issue the following
| command:
| ALTER BPOOL(bpname) VPSIZE(vpsize) PGFIX(YES)
| Where bpname is the name of the buffer pool and vpsize is the size of the virtual
| pool.
| If any views have view regeneration errors, issue the following query:
| ALTER VIEW view REGENERATE
# The “Ensure that Version 7 sample objects are available” on page 323 topic
# discusses making the Version 7 sample jobs available before migration.
# If all of the local DB2 objects from Version 7 still exist (that is, if you have not run
# job DSNTEJ0), follow these steps:
# 1. Change the JOBLIB statements to point to prefix.SDSNLOAD.
# 2. Ensure that the DSN8EAE1 module that you created when you originally ran
# the Version 7 sample jobs is copied to prefix.SDSNEXIT. DSN8EAE1 is an
# EDITPROC that is used by the employee sample table.
Falling back
| Falling back is the process of returning to DB2 Version 7 after migrating your
| catalog and directory to DB2 UDB for z/OS Version 8 compatibility mode. You can
| fall back to Version 7 only after successfully migrating the catalog to Version 8
| compatibility mode by using job DSNTIJTC. However, you cannot fall back to
| Version 7 or return to Version 8 compatibility mode after you enter
| enabling-new-function or new-function mode.
Fall back if you have a severe error while operating Version 8 compatibility mode
and you want to return to operation on Version 7. After fallback, the catalog
remains a Version 8 catalog.
Data sharing
There are additional considerations for falling back if any member of a data
sharing group falls back. See DB2 Data Sharing: Planning and Administration for
these details.
Frozen objects
Falling back does not undo changes that the migration process made to the catalog.
DB2 uses the migrated catalog after fallback. Some objects in this catalog that have
been affected by Version 8 function might become frozen objects after fallback.
Frozen objects are unavailable, and they are marked with the release dependency
marker L. If an object is marked with a release dependency, it remains marked
forever. The release dependency marker is listed in the IBMREQD column of
catalog tables. Table 55 lists the objects that are frozen when falling back to Version
7.
| Table 55. Objects that are frozen when falling back to Version 7
| RELEASE DEPENDENT MARK = L
| v Plans, packages, or views that use any new syntax, objects, or bind options
| v DBRMs that are produced by a precompile in Version 8 with a value of YES for the
| NEWFUN option
| v User-defined functions created in Version 8 with the PARAMETER CCSID option
| v User-defined SQL procedures and functions created in Version 8 with the PARAMETER
| CCSID option
|
Plans and packages become frozen objects when they use new SQL syntax, use
new BIND options and attributes, or reference frozen objects. When plans and
packages become frozen objects, the automatic rebind process is adversely affected.
While operating in Version 7, you can determine if any of your objects are frozen
by issuing some SELECT statements. Job DSNTESQ contains these statements.
Automatic rebind
After fallback, plans or packages that are bound in Version 8 are automatically
rebound on their first execution in Version 7. See DB2 Application Programming and
SQL Guide for more details about automatic rebind.
After fallback, if you try to use plans or packages that are frozen, the automatic
rebind in Version 7 that takes place the first time that you try to run the plan in
Version 7 fails. To make the plans and packages that were not automatically
rebound on Version 7 available, change the SQL statements or remove the reference
to a frozen object, precompile the application programs, and explicitly bind the
plans and packages on Version 7.
| Buffer pools: DB2 Version 8 maintains the Version 7 virtual buffer pool and
| hiperpool definitions at migration so that they can be used if you fall back.
| NEWFUN precompiler option: You cannot execute a plan or package that uses a
| DBRM that was produced by precompiling in DB2 Version 8 with a value of YES
| for the NEWFUN precompiler option. You cannot BIND a DBRM that was
| precompiled with a value of YES for the NEWFUN precompiler option on Version
| 7 or earlier.
| Page-fixes for buffer pools: If you defined a buffer pool using PGFIX YES in
| Version 8, it is defined with PGFIX NO after fallback. When you remigrate to
| Version 8, the buffer pool is defined with PGFIX YES.
Fallback procedure
Because the structure of the DB2 UDB for z/OS Version 8 catalog is used in
Version 7 after falling back, the fallback procedure involves only a few steps:
1. Stop Version 8 activity.
2. Terminate all utilities that are running on Version 8.
3. Reactivate Version 7.
4. Reconnect TSO, IMS, and CICS to Version 7.
5. Start Version 7.
6. Verify fallback.
You can save your Version 8 TSO logon procedures and JCL for remigration to
Version 8.
Then, either allow utilities to complete before proceeding, or stop all utility
processing with the following command:
-DSN1 TERM UTILITY(*)
v Ensure that no table spaces and index spaces in the DB2 directory
(DSNDB01) or the DB2 catalog (DSNDB06) have write error ranges or
deferred restart states. Issue the following command:
-DSN1 DISPLAY DATABASE(DSNDB01) SPACENAM(*) RESTRICT
-DSN1 DISPLAY DATABASE(DSNDB06) SPACENAM(*) RESTRICT
A user with SYSADM or SYSOPR authority also must enter this command.
If IRLM does not stop automatically when DB2 stops, stop IRLM manually. To
stop IRLM, issue the following command, where irlmproc is the name you
assigned to the IRLM startup procedure:
STOP irlmproc
You might want two sets of procedures, such as DSN1xxxx and DSN2xxxx, at all
times, with an alias for the current release level.
If DSNTIJFV fails or abends, rerun only the renames that failed. If some of the
procedures already exist, check carefully to ensure that procedures for the two
releases are not mixed.
If you overwrote the load module during migration to DB2 UDB for z/OS Version
8, re-assemble the RCT with the Version 7 libraries.
If you did not overwrite the load module, change the STEPLIB statements for CICS
and IMS jobs so that they refer to the Version 7 libraries.
This is the value that you specified for the PROC NAME option on installation
panel DSNTIPI.
If you specified YES for the AUTO START option on installation panel
DSNTIPI, DB2 starts the IRLM automatically.
2. Start DB2 from the z/OS console by using the following command:
-DSN1 START DB2,PARM(DSNZPxxx)
In this command, -DSN1 is the subsystem command prefix that you defined for
DB2, and DSNZPxxx is the name of the Version 7 subsystem parameter
module. If you used the default name, DSNZPARM, you can omit the PARM
parameter.
If DB2 starts successfully, two to five address spaces also start. These address
spaces are ssnmMSTR and ssnmDBM1, and possibly ssnmSPAS, ssnmDIST, and
irlmproc, where ssnm is the DB2 subsystem name and irlmproc is the IRLM
procedure name.
If DB2 starts successfully, the series of restart messages that you receive
concludes with these two messages:
DSNR002I RESTART COMPLETED
DSN9022I DSNYASCP ’-DSN1 START DB2’ NORMAL COMPLETION
3. If you have done distributed processing with your DB2 UDB for z/OS
Version 8 subsystem, check message DSNR005I for the number of indoubt
threads after you start DB2.
If you find no indoubt threads, continue falling back as if you had not done
any distributed processing. If you find indoubt threads, issue the following
command:
-DSN1 DISPLAY THREAD(*) TYPE(INDOUBT)
If the number of indoubt threads that are reported in the DSNV408I messages
is equal to the number of threads that are reported in the DSNR005I message,
continue falling back as if you had not done any distributed processing. If
fewer indoubt threads are reported by DSNV408I messages than in message
DSNR005I, proceed as follows:
a. Stop Version 7.
b. Determine which units of work are incomplete by scanning the DB2
recovery log with the DB2 Version 8 DSN1LOGP utility. Use the SUMMARY
option of this utility.
c. Examine the DSN1LOGP output to find all the DSN1162I messages that
have a COORDINATOR name in a remote location. Each of these messages
identify an indoubt DBAT. Record the LUWID that is displayed in each
message.
d. Decide whether to commit or abort each indoubt DBAT. One way to do this
is by contacting the COORDINATOR location. If it is another DB2
subsystem, use the DISPLAY THREAD command to help you decide.
You can start some of these databases at this time. For more information on
starting restricted databases, see Part 4 (Volume 1) of of DB2 Administration
Guide.
5. If DB2 does not start properly, it usually abends with a reason code that
indicates where the error occurred. To find the error, check the set of definitions
for the associated resource. A common cause of startup failure is that the BSDS
does not match the subsystem parameter values; ensure that the startup
procedure is pointing to the correct BSDS and subsystem parameter. Also,
check that the subsystem parameter member that you specified (or is used by
default) when you started DB2 is the one that job DSNTIJUZ built. Check the
JCL for the DB2 startup procedure.
6. Optionally, start TSO. If you want to use the TSO SUBMIT command to do
housekeeping and fallback verification, you must start TSO (if it is not already
started).
Remigrating
Migrating after falling back (remigrating) is simpler than the migration process that
is described in this chapter.
| Important: All members of a data sharing group must have migrated to Version 8
| compatibility mode successfully before you begin the enabling-new-function mode
| process.
# A point of consistency needs to be created for the catalog and directory before
# enabling new-function mode. The Quiesce Utility should be used to establish a
# point of consistency for the catalog and directory table spaces; note that
# DSNDB01.SYSUTILX should be quiesced by itself. Updates to the DB2 catalog and
# directory should be avoided while in enabling new-function mode.
| Generally, you must complete the following steps to complete conversion of the
| catalog:
# 1. Run the installation CLIST using the enabling-new-function mode option.
# Several installation panels will be presented in which you indicate space
# requirements. Refer to Chapter 6, “Installing, migrating, and updating system
# parameters” for information about running the CLIST. During
# enabling-new-function mode processing, the CLIST generates installation jobs
# DSNTIJMC, DSNTIJNE, DSNTIJNF, DSNTIJNG, DSNTIJEN, DSNTIJNH, and
# DSNTIJNR, and customizes the Version 8 IVP jobs.
| 2. Create a copy of the DB2 UDB for z/OS Version 8 compatibility mode catalog
| and directory for back-up purposes. See “Migration step 5: Take image copies
| of the directory and catalog: DSNTIJIC” on page 327 for information on job
| DSNTIJIC.
| 3. Run installation job DSNTIJNE. Job DSNTIJNE performs several functions:
| v Saves the current RBA or LRSN in the BSDS.
| v Changes types and lengths of existing catalog columns.
| v Converts catalog data to Unicode.
| v Changes buffer pools for several catalog table spaces.
| v Changes catalog indexes with varying length columns to NOT PADDED.
| v Changes page size of several catalog table spaces.
| 4. Run installation job DSNTIJNF. DSNTIJNF puts the DB2 subsystem in
| new-function mode.
# 5. Run installation job DSNTIJMC. DSNTIJMC converts the stored procedures for
# JCBC and ODBC support for use in new-function mode.
# Important: Run this step only if the stored procedures were defined in DB2
# Version 7 or earlier.
| 6. Run installation job DSNTIJNG. DSNTIJNG rebuilds the DSNHDECP module
| to specify new-function mode as the default. The precompiler will now accept
| program source code that uses new Version 8 function.
| Attention: You cannot fall back from Version 8 new-function mode. Do not convert
| to Version 8 new-function mode until you are certain that you will not need to fall
| back to Version 7.
| Allocate more space for SYSSTATS table space: You may need to allocate more
| space for the SYSSTATS table space. In Version 8, the SYSCOLDISTSTATS and
| SYSCOLDIST catalog tables contain more data than in previous versions. Increase
| the size of the shadow data sets on panel DSNTIP01.
| Increase VSAM data set size: You should increase the size of the catalog table
| space and index space VSAM data sets because of the increased length of names in
| the catalog in Version 8. Increase the size of the shadow data sets on panel
| DSNTIP01.
| New utility for converting BSDSs: In Version 8, you can convert BSDSs with a new
| utility (DSNJCNVB) to support more data sets, up to 10000 per copy for archive
| logs and 93 per copy for active logs. You can run the conversion utility once DB2 is
| in new-function mode. Converting the BSDS allows support for a larger number of
| active log data sets and archive log data sets. For information about converting
| BSDSs, see “Considerations for the BSDS” on page 364.
| CCSIDs for IFCID records: All SQL statements that are written into IFCID records
| are in Unicode UTF-8, not in EBCDIC. See “Tracing parameters panel: DSNTIPN”
| on page 149 for more information IFCID records.
| SQL statements parsed in Unicode: DB2 parses SQL statements in Unicode UTF-8.
| If an application program uses a different CCSID (for example, an EBCDIC
| CCSID), DB2 converts the application program internally to Unicode for
| processing. This conversion occurs for the entire application program, including
| host language statements. Message DSNH330I might be issued if errors are
| encountered, such as an invalid code point, a mismatch between shift-in and
| shift-out characters, and an absence of half of a DBCS character.
| String constants have new maximum lengths: To check the length of a string
| constant, DB2 uses the Unicode representation of the string constant even if the
| eventual destination of the constant does not use Unicode. This length might differ
| from the length that you entered, if you entered the string constant in a CCSID
| other than UTF-8. In some cases, a string that was valid in Version 7 might be
| flagged as too long in Version 8, and message DSNH102I or SQLCODE -102 is
| generated. This incompatibility can occur only if the string contains one or more
| The following strings might be flagged as too long in compatibility mode and
| enabling-new-function mode, but not in new-function mode, because new-function
| mode allows longer strings:
| v CASE expression
| v CALL procedure-name (expression)
| v Expression in a predicate
| v Expression in a WHERE clause
| v Expression in a HAVING clause
| v Expression in a SELECT clause in a subselect
| v Join expression
| v Expression specified in a built-in function
| Dropped catalog tables: Two catalog tables are dropped during Version 8
| enabling-new-function mode processing: SYSIBM.SYSLINKS and
| SYSIBM.SYSPROCEDURES. When you are in new-function mode, you can delete
| the VSAM data set to the SYSPROCEDURES index, DSNKCX01.
# Some plans and packages might be invalidated more than once during the
# enabling-new-function mode processing. For example, assume that you have an
# application that queries table information in two different table spaces. If
# enabling-new-function mode processing is halted after it processes the first table
# space, the plans and packages that reference tables or indexes in the first table
# space are invalidated during the enabling-new-function mode processing. If the
# program is run, DB2 rebinds it automatically. When enabling-new-function mode
# processing resumes and processes the second table space, the plans and packages
# that reference tables or indexes in the second table space are invalidated. If the
# program is run, DB2 again rebinds it automatically.
| To determine which plans and packages are no longer valid, use the following
| queries:
| SELECT DISTINCT DNAME
| FROM SYSIBM.SYSPLANDEP
| WHERE BCREATOR = ’SYSIBM’
| AND ((BTYPE = ’I’ AND BNAME = ’DSNKCX01’)
| OR (BTYPE = ’T’ AND BNAME IN
| (SELECT T.NAME
| FROM SYSIBM.SYSTABLES AS T
| WHERE T.DBID =6
| AND T.OBID<>0
| AND T.NAME NOT IN (’SYSCOPY’,’SYSOBDS’))))
| ORDER BY DNAME;
| SELECT DISTINCT COLLID, NAME,
| FROM SYSIBM.SYSPACKDEP, SYSIBM.SYSPACKAGE
| WHERE ((BTYPE = ’I’ AND BNAME = ’DSNKCX01’)
| OR (BTYPE = ’T’ AND BNAME IN
| (SELECT T.NAME
| FROM SYSIBM.SYSTABLES AS T
| WHERE T.DBID =6
| AND T.OBID<>0
| AND T.NAME NOT IN (’SYSCOPY’,’SYSOBDS’))))
| AND LOCATION = ’ ’
| AND BQUALIFIER = ’SYSIBM’
| AND COLLID = DCOLLID
| AND NAME = DNAME
| AND CONTOKEN = DCONTOKEN
| ORDER BY COLLID, NAME, VERSION;
| These two queries are commented out in the Version 8 member DSNTESQ of
| prefix.SDSNSAMP. You can run these queries from SPUFI or from a dynamic SQL
| program like DSNTEP2.
| The following topics describe the three Version 8 modes and the specific steps you
| must take to complete catalog conversion.
| The CLIST calculates preliminary space allocations for shadow data sets and
| displays these recommendations on panel DSNTIP00, as shown in Figure 43. This
| panel lists the 18 DB2 directory and catalog table spaces that are transformed
| during enabling-new-function mode processing. It also lists the CLIST-determined
| device types, volumes, and space allocations that are used for the shadow data set
| during enabling-new-function mode processing. When you run DSNTIJNE, the
| shadow data sets replace the current data sets for the table and index spaces being
| converted.
| Update the device type, volume, and space settings as needed by overtyping in the
| appropriate fields. Your entries must conform to the following specifications:
| v DASD DEVICE entries must be 1-8 alphanumeric characters (including A-Z, 0-9,
| $, #, and @). Shadow data sets must be on disk.
| v VOL/SERIAL entries must be 1-6 alphanumeric characters.
| v PRIMARY RECS and SECONDARY RECS entries must be 1-6 numeric
| characters, indicating the number of records.
| You must leave the DATA SHARING and DATA SET NAME(MEMBER) fields
| blank when enabling new-function mode. The INPUT MEMBER NAME that you
| After you have specified ENFM on panel DSNTIPA1, panel DSNTIPT appears.
| Choose the output SDNSAMP data set on installation panel DSNTIPT. If you use
| the same data set name, it is not deleted or reallocated. You can only change the
| value of SAMPLE LIBRARY on this panel. See “Data set names panel 1: DSNTIPT”
| on page 113 for more information.
|
# DSNTIP00 ENABLE NEW FUNCTION MODE FOR DB2 - SHADOW DATA SET ALLOCATIONS
# ===>
#
# OBJECT DASD DEVICE VOL/SERIAL PRIMARY RECS SECONDARY RECS
# 1 SPT01 ==> SYSDA ==> DSNV01 ==> 114 ==> 30
# 2 SYSDBASE ==> SYSDA ==> DSNV01 ==> 114 ==> 30
# 3 SYSDBAUT ==> SYSDA ==> DSNV01 ==> 114 ==> 30
# 4 SYSDDF ==> SYSDA ==> DSNV01 ==> 114 ==> 30
# 5 SYSGPAUT ==> SYSDA ==> DSNV01 ==> 114 ==> 30
# 6 SYSGROUP ==> SYSDA ==> DSNV01 ==> 114 ==> 30
# 7 SYSGRTNS ==> SYSDA ==> DSNV01 ==> 114 ==> 30
# 8 SYSHIST ==> SYSDA ==> DSNV01 ==> 114 ==> 30
# 9 SYSJAVA ==> SYSDA ==> DSNV01 ==> 114 ==> 30
# 10 SYSOBJ ==> SYSDA ==> DSNV01 ==> 114 ==> 30
# 11 SYSPKAGE ==> SYSDA ==> DSNV01 ==> 114 ==> 30
# 12 SYSPLAN ==> SYSDA ==> DSNV01 ==> 114 ==> 30
# 13 SYSSEQ ==> SYSDA ==> DSNV01 ==> 114 ==> 30
# 14 SYSSEQ2 ==> SYSDA ==> DSNV01 ==> 114 ==> 30
# 15 SYSSTATS ==> SYSDA ==> DSNV01 ==> 10 ==> 10
# 16 SYSSTR ==> SYSDA ==> DSNV01 ==> 10 ==> 10
# 17 SYSUSER ==> SYSDA ==> DSNV01 ==> 10 ==> 10
# 18 SYSVIEWS ==> SYSDA ==> DSNV01 ==> 10 ==> 10
# 19 INDEXES ==> SYSDA ==> DSNV01 Catalog and directory index shadows
# PRESS: ENTER to continue RETURN to exit HELP for more information
#
#
# Figure 43. DSNTIP00: Enable New Function Mode for DB2 - shadow data set allocations
#
| Panel DSNTIP01, which appears after panel DSNTIP00 and is shown in Figure 44
| on page 359, lists the name and target device type for the image copy data sets.
| Update the data set name and target volume settings as needed by overtyping in
| the appropriate fields. Your entries must conform to the following specifications:
| v The COPY DATA SET NAME PREFIX value must follow z/OS standards for
| data set names.
| v The COPY DATA SET DEVICE TYPE value must be 1-8 alphanumeric
| characters, including A-Z, 0-9, $, #, and @. You can enter either tape or disk
| devices as targets for image copy data sets. If TAPE, 3480, or 3490 is specified
| for a table space, the CLIST customizes the enabling-new-function mode job
| with no SPACE parameter for the corresponding image copy data set; otherwise,
| the CLIST uses the same space settings as specified for that table space’s shadow
| data set.
|
| Important: After you begin enabling-new-function mode, you cannot fall back to
| Version 7 or return to Version 8 compatibility mode.
| Take an image copy of the DB2 catalog and directory after job DSNTIJNE has
| completed processing.
| If you run the CLIST again after you have entered enabling-new-function mode
| and if you did not accept the calculated space allocations on panel DSNTIP00, the
| CLIST displays panel DSNTIP03 as shown in Figure 46. To use the calculated space
| allocations, press ENTER. To use the saved values from your input member, press
| RETURN.
|
| DSNTIP03
|
| ENABLE NEW FUNCTION MODE:
|
| WARNING: Calculated values for ENFM space
| allocations will replace one or more values
| saved from a previous session
|
| PRESS: ENTER to overwrite previous space settings
| RETURN to retain previous space settings
||
| Figure 46. DSNTIP03
||
| New-function mode
| New-function mode begins after job DSNTIJNF completes successfully. When in
| new-function mode, the DB2 catalog has been converted to Unicode and all
| Version 8 function is available for use. You cannot fall back to Version 7 or return
| to Version 8 compatibility mode. A Version 8 new-function mode or Version 8
| enabling-new-function mode DB2 subsystem cannot coexist with a Version 7 DB2
| subsystem.
# You can the following DDL statement to modify the stored procedures that use
# the DSNWZPR external module to use the DSNWZP external module:
# ALTER PROCEDURE schema.procedurename SET EXTERNAL NAME ’DSNWZP’;
# For more information, see “Special packages and plans for SPUFI” on page 301.
| DSNTIJNG consists of the following job steps. Do not run DSNTIJNG until
| DSNTIJNF has completed successfully.
| DSNTIZP
| Assembles the DSNHDECP data-only load module.
| DSNTIZQ
| Link-edits the DSNHDECP load module.
| DSNTIMQ
| Performs SMP/E processing for DSNHDECP.
# Important: You cannot re-enable DATA CAPTURE until your DB2 subsystem is in
| Version 8 new-function mode.
| Two DB2 catalog tables are deleted during enabling-new-function mode processing
| because they are not used in Version 8. When you are in new-function mode, you
| can delete the VSAM data set for index DSNKCX01.
| Optionally, you can use job DSNTIJNR to convert a Version 7 RLST to a Version 8
| RLST. You can continue to use an RLST that has been defined from a release earlier
| Recommendation: Use the ALTER INDEX statement with the NOT PADDED
| option to modify user-defined indexes on catalog tables if either of the following
| conditions is true:
| v A column of the user-defined index key was altered to VARCHAR during the
| enabling-new-function mode process.
| v The length of a column of the user-defined index was extended during the
| enabling-new-function mode process.
| v The user-defined index has a pre-existing VARCHAR column in the index.
| After you modify the index so that the NOT PADDED option is in effect, you must
| rebuild the index.
| Recommendation: Alter your DB2 Version 8 buffer pools that have frequent page
| reads or frequent page writes to use PGFIX YES if you have sufficient real storage
| available for the these buffer pools. Fixing the buffer pages in real storage once
| and keeping them fixed avoids the processing time that DB2 needs to fix and free
| pages each time there is an I/O. In some cases, this processing time can be as
| much as 10% for I/O intensive workloads. To use this option, issue the following
| command:
| ALTER BPOOL(bpname) VPSIZE(vpsize) PGFIX(YES)
| Where bpname is the name of the buffer pool and vpsize is the size of the virtual
| pool.
|
| Returning from new-function mode to enabling-new-function mode
| If you are in new-function mode but do not want users to use new Version 8
| functions, you can return to enabling-new-function mode.
| When you are ready to return to new-function mode, you must complete the
| following steps:
| 1. Run job DSNTIJNF.
| 2. Run job DSNTIJNG. You must ensure that the DSNHDECM invocation specifies
| NEWFUN=YES in this job.
| 3. If you are in a data sharing environment and you use more than one
| DSNHDECP module, modify and run the jobs that you use to maintain these
| DSNHDECP modules to specify NEWFUN=YES.
| Once you are in new-function mode, take the following steps to prepare to run the
| utility:
| 1. Rename your existing BSDS copy 1 data set. Retain the original copy of the
| BSDS in order to restore it in case of a failure during conversion.
| 2. Allocate a larger BSDS data set using the VSAM DEFINE statement in
| installation job DSNTIJIN, using the original BSDS name.
| 3. Use VSAM REPRO to copy the original data set to the new, larger data set.
| 4. Repeat steps 1-3 for copy 2 if you are using dual-BSDSs.
| SYSUT1 and SYSUT2 DDNAMES specify the BSDS copy 1 and copy 2 data sets,
| respectively, as input to this program. (SYSUT2 is optional.) DB2 must be stopped
| to run the conversion utility.
| Recommendation: Change the number of archive log data sets by running the
| DSNJU003 utility. For information about changing the maximum number of
| archive log data sets that can be allocated, see “Archive log data set parameters
| panel: DSNTIPA” on page 210.
| Attention: Do not run the Version 8 IVP while in Version 8 compatibility mode or
| Version 8 enabling-new-function mode.
To help you perform the verification procedure, DB2 provides several jobs that
invoke sample applications. You run the same jobs regardless of whether you are
| installing DB2 for the first time or converting your Version 8 catalog to
| new-function mode.
# Recommendation: Run the IVP jobs with DB2 started in unrestricted mode because
# restricted mode (ACCESS(MAINT)) does not allow use of stored procedures and
# user-defined functions.
The installation CLIST tailored and loaded these jobs into prefix.NEW.SDSNSAMP
that you created during your installation or conversion to new-function mode.
Sometimes the verification jobs access information from the untailored
prefix.SDSNSAMP library that existed before installation or conversion to
new-function mode.
If you are installing a data sharing group, run the installation verification
procedure (IVP) after you install or convert the originating system. You do not
need to run the IVP after you enable the originating system or after you install a
new data sharing member. See the installation procedures in DB2 Data Sharing:
Planning and Administration for more information about verifying that your data
sharing definitions are correctly established and that Sysplex parallelism is
enabled.
Do not delete the fallback release sample objects from your subsystem. You need
| them to verify the success of a migration to Version 8 compatibility mode and to
fall back to Version 7 in case of a Version 8 failure. If you are migrating, you can
run the fallback release sample programs on Version 8 compatibility mode without
any preparation to test the migration process.
The JCL that is provided for CICS and IMS sets up transaction identifiers for the
sample applications.
Run Phase 0 (job DSNTEJ0) only if you want to remove all the verification
processing that you have completed so that you can begin the verification
procedure again. Phases 1-3 test the TSO and batch environments, including
user-defined functions. Phase 4 is for IMS users only, and Phase 5 is for CICS users
only. Phase 6 sets up the sample tables and stored procedures for distributed
processing. Phase 7 tests the LOB feature with sample tables, data, and programs.
prefix.SDSNSAMP contains the program source. Details about how to print it are
provided in “Printing the sample application listings” on page 413.
The jobs that are listed in Table 56 are designed to run with minimal interaction on
your part. However, before running these jobs, make any modifications that are
suggested either in this chapter or in “Completing the CLIST processing” on page
243.
After running the verification jobs, you can still fall back. See “Falling back” on
page 346 for details.
Table 56. Relationship of IVP phases to programs
Phase Job Program Description
0 DSNTEJ0 DSNTIAD Remove sample applications and
sample schema authorizations
1 DSNTEJ1 DSNTIAD Create tables
DSN8CA Assembler interface to call attach
facility
DSN8EAE1 Edit exit routine
DSN8HUFF Huffman compression exit routine
DSNUTILB Utilities
DSNTEJ1L DSNTEP2 Dynamic SQL program
DSNTEJ1P DSNTEP2 Dynamic SQL program
1
DSNTEJ1S DSNHSP See note 1
2
DSNTEJ1T DSNUPROC See note 2
DSNTEJ1U DSNTIAD Create Unicode table
DSNUTILB Load Unicode table
DSNTEP2 Select Unicode table
2 DSNTEJ2A DSNTIAD Grant execution
DSNTIAUL Unload and load tables
DSNUTILB Utilities
DSNTEJ2C DCLGEN Generate declarations
DSNTIAD Grant execution
DSN8BC3 COBOL phone application
DSNTEJ2D DSNTIAD Grant execution
DSN8BD3 C phone application
DSNTEJ2E DSN8MDG Prepare error message routine
DSN8BECL Prepare classes used by C++ phone
application
DSNTIAD Grant execution
DSN8BE3 C++ phone application
DSNTEJ2F DSNTIAD Grant execution
DSN8BF3 Fortran phone application
DSNTEJ2P DCLGEN Generate declarations
DSNTIAD Grant execution
DSN8BP3 PL/I phone application
| If you would like information on the language CLIST (DSNH), refer to the DB2
| Command Reference.
# For more detailed instructions, see Enterprise COBOL for z/OS Programming Guide
# and z/OS Language Environment Programming Guide.
If you want to run your samples applications with C++ for z/OS, but you selected
an earlier version of that language on the installation panel, make the changes
shown in Table 60.
Table 60. Required changes to run samples applications with C++ for MVS/ESA V3R2 when an earlier version of C++
is selected on the installation panel
In sample Change all occurrences of To
Job DSNTEJ2E PARM.CP=’SOURCE XREF,MARGINS’, PARM.CP=’/CXX SOURCE XREF,MARGINS’,
Procedure DSNHCPP2 //CP EXEC PGR=CBC320PP, //CP EXEC PGR=CBC320PP,
COND=((4,LT,PC1),(4,LT,PC2)), COND=((4,LT,PC1),(4,LT,PC2)),
REGION=4096K REGION=4096K,PARM=’/CXX’
| The installation CLIST tailors the PL/I sample programs for the following
| compilers, depending on the values that you entered in the PL/I COMPILER
| MODULE field on panel DSNTIPU:
| v Enterprise PL/I
| v IBM PL/I for MVS & VM
To use IMS from Enterprise PL/I or IBM PL/I for MVS & VM, you must use the
SYSTEM(IMS) compile-time option when compiling your application program. In
addition, you must also specify entry point PLISTART when your application is
link-edited. For more information, see PL/I for MVS & VM Programming Guide or
IBM PL/I MVS & VM Programming Guide.
If a sample application abends while running a utility, ensure that the utility is
terminated before attempting to rerun the job. For information about the -TERM
UTILITY command, see DB2 Command Reference.
Even when DSNTEJ0 runs successfully, some of the FREE, DROP, and DELETE
commands often fail because the object was not created earlier. You can ignore
these errors, even though they might generate return codes of 8 or 12. Check other
errors.
If DSNTEJ0 runs successfully, it produces the return codes that are shown in
Table 62.
Table 62. DSNTEJ0 return codes
Step PROCSTEP Return code
PH00S01 0000, 0008, or 0012
PH00S02 0000, 0004, or 0008
PH00S03 DSNUPROC 0004 or 0008
PH00S04 0000, 0004, or 0008
If this job fails or abends, ensure that the user that is specified on the JOB
statement is an authorized ID. If the name that you specified for either SYSTEM
ADMIN 1 or SYSTEM ADMIN 2 on installation panel DSNTIPP is a primary
authorization ID, use this name. If the sample authorization exit routine and RACF
are installed, and if the SYSTEM ADMIN 1 and SYSTEM ADMIN 2 are known to
DB2 as secondary authorization IDs, you can run these jobs under a user ID in
either of these RACF groups. Then correct any other problems, and rerun the job
from the last successful step.
If the subsystem data sets were deleted before the DB2 sample objects are deleted,
you must delete the data sets by using access method services commands or TSO
commands. In all of the following examples, vcatalog is the catalog alias name that
you specified for the CATALOG ALIAS field on installation panel DSNTIPA2. The
y is either I or J.
The following access method services commands, which can be executed under
TSO, delete the Version 8 sample data sets:
DELETE ’vcatalog.DSNDBD.DSN8D81A.*.y0001.*’
DELETE ’vcatalog.DSNDBC.DSN8D81L.*.y0001.*’
DELETE ’vcatalog.DSNDBD.DSN8D81P.*.y0001.*’
DELETE ’vcatalog.DSNDBC.DSN8D81U.*.y0001.*’
DELETE ’vcatalog.DSNDB04.STAFF.y0001.A001’
DELETE ’vcatalog.DSNDB04.TESTSTUF.y0001.A001’
DELETE ’vcatalog.DSNDBC.DSN8D81E.*.y0001.*’
DELETE ’vcatalog.DSNDBC.DSN8D81Y.*.y0001.*’
DSNTEJ1L and DSNTEJ1P prepare and invoke program DSNTEP2, which lists the
contents of the sample tables. The difference between the jobs is that DSNTEJ1P
requires the PL/I compiler and allows you to customize DSNTEP2.
Job DSNTEJ1
Job DSNTEJ1 consists of the steps that are listed in Table 63.
Table 63. Steps in job DSNTEJ1
Step Function
1-4 Creates all objects (storage group, databases, table spaces, tables,
indexes, and views) that are used by the samples.
5 Drops synonyms.
If DSNTEJ1 runs successfully, it produces the return codes that are shown in
Table 64 on page 377.
DB2 issues the following message for every SQL statement, except for the drop
synonym and insert statements:
DSNT400I SQLCODE = 0, SUCCESSFUL EXECUTION
If the synonyms in the DROP SYNONYM statements are not defined, SQL return
codes of -204 result. The INSERT statements violate a check constraint on the EMP
table. This results in an SQL return code of -545.
| DSNTEJ1L also binds and runs programs DSNTEP2 and DSNTEP4. DSNTEP2 lists
| the sample database tables and views. DSNTEP2 is a dynamic PL/I program that
| accepts SQL statements. DSNTEP2 produces a listing of the results of SELECT
| statements. DSNTEP4 is identical to DSNTEP2, except that it uses multi-row fetch
| Job DSNTEJ1L requires the Language Environment link-edit and run-time libraries.
| DSNTEJ1L does not require the PL/I compiler.
| If DSNTEJ1L runs successfully, it produces the return codes that are shown in
| Table 65.
| Table 65. DSNTEJ1L return codes
| Step PROCSTEP Return code
| PH01PS01 0000
| PH01PS02 0000 or 0004
| PH01PS03 0000
| PH01PS04 0000 or 0004
|
| You can compare the output from this job with the sample output for DSNTEJ1L,
| which is found in member DSN8TJ1L in your prefix.SDSNIVPD data set.
| If you run DSNTEJ1P before DSNTEJ1L, you can expect step PH01PS02 of job
| DSNTEJ1L to produce a return code of 0004 and the following message:
| SQLWARNING ON GRANT COMMAND, EXECUTE FUNCTION
| RESULT OF SQL STATEMENT:
| DSNT404I SQLCODE = 562, WARNING: A GRANT OF A PRIVILEGE WAS IGNORED
| BECAUSE THE GRANTEE ALREADY HAS THE PRIVILEGE FROM THE GRANTOR
| If either DSNTEJ1 or DSNTEJ1L fails or abends, ensure that the user that is
| specified in the JOB statements is an authorized ID. If the name that you specified
| for either SYSTEM ADMIN 1 or SYSTEM ADMIN 2 on installation panel DSNTIPP
| is a primary authorization ID, use this name. If the sample authorization exit
| routine and RACF are installed, and if the SYSTEM ADMIN 1 and SYSTEM
| ADMIN 2 are known to DB2 as secondary authorization IDs, you can run these
| jobs under a user ID in either of these RACF groups.
| Then, correct any other problems. Before rerunning DSNTEJ1, run DSNTEJ0 to
| drop the sample data. If you rerun DSNTEJ1L, rerun it from the last successful
| step.
Job DSNTEJ1P
If you have run DSNTEJ1L, you do not need to run DSNTEJ1P because they
produce the same results. The major difference is that DSNTEJ1P uses the PL/I
compiler and allows you to customize DSNTEP2 and DSNTEP4. DSNTEP2 and
DSNTEP4 are described in Appendix D of DB2 Utility Guide and Reference.
DSNTEJ1P precompiles, compiles, and link-edits PL/I program DSNTEP2. This
If DSNTEJ1P runs successfully, it produces the return codes that are shown in
Table 66.
Table 66. DSNTEJ1P return codes
Step PROCSTEP Return code
PH01PS01 PPLI 0000
PC 0000
PLI 0004
PLKED 0004
LKED 0000
PH01PS02 0000 or 0004
PH01PS03 PPLI 0000
PC 0000
PLI 0004
PLKED 0004
LKED 0000
PH01PS04 0000 or 0004
You can compare the output from this job with the sample output for DSNTEJ1P,
which is found in member DSN8TJ1P in your prefix.SDSNIVPD data set.
If you run DSNTEJ1L before DSNTEJ1P, you can expect step PH01PS02 of job
DSNTEJ1P to produce a return code of 0004 and the following message:
SQLWARNING ON GRANT COMMAND, EXECUTE FUNCTION
RESULT OF SQL STATEMENT:
DSNT404I SQLCODE = 562, WARNING: A GRANT OF A PRIVILEGE WAS IGNORED
BECAUSE THE GRANTEE ALREADY HAS THE PRIVILEGE FROM THE GRANTOR
If either DSNTEJ1 or DSNTEJ1P fails or abends, ensure that the user that is
specified in the JOB statements is an authorized ID. If the name that you specified
for either SYSTEM ADMIN 1 or SYSTEM ADMIN 2 on installation panel DSNTIPP
is a primary authorization ID, use this name. If the sample authorization exit
routine and RACF are installed, and if the SYSTEM ADMIN 1 and SYSTEM
ADMIN 2 are known to DB2 as secondary authorization IDs, you can run these
jobs under a user ID in either of these RACF groups.
Then, correct any other problems. Before rerunning DSNTEJ1, run DSNTEJ0 to
drop the sample data. If you rerun DSNTEJ1P, rerun it from the last successful
step.
Job DSNTEJ1U
DSNTEJ1U creates a database, table space, and table with CCSID Unicode.
DSNTEJ1U loads data into the table from a data set that contains a full range of
characters in an EBCDIC Latin-1 code page, which results in a mix of single and
double-byte characters in the Unicode table. It then runs DSN1PRNT on the table
to dump the hex image, revealing which characters are stored in single bytes and
which in double bytes.
If DSNTEJ1U runs successfully, it produces the return codes that are shown in
Table 67 on page 380.
If any of the Phase 2 jobs fail or abend, be sure that the user specified in the JOB
statements is authorized. Use the name you specified for either the SYSTEM
ADMIN 1 option or the SYSTEM ADMIN 2 option on installation panel DSNTIPP.
Then correct any other problems, and rerun the jobs from the last successful step.
Job DSNTEJ2A
DSNTEJ2A tests the assembler program preparation procedures. This job prepares
and invokes program DSNTIAUL, which demonstrates the use of dynamic SQL in
assembler to unload the data from tables or views. It also generates LOAD utility
statements so the data can be loaded into another table. DSNTEJ2A then uses the
LOAD utility to put data into copies of the unloaded tables. DSNTIAUL is
described in Appendix D of DB2 Utility Guide and Reference.
If DSNTEJ2C runs successfully, it produces the return codes that are shown in
Table 68.
Table 68. DSNTEJ2A return codes
Step PROCSTEP Return code
PREPUNL PC 0000
ASM 0000 or 0004
LKED 0000 or 0004
BINDUNL 0000
DELETE 0000
CREATE 0000
UNLOAD 0000
EDIT 0000
LOAD DSNUPROC 0004
You can compare the output from this job with the sample output for DSNTEJ2A
found in member DSN8TJ2A in your prefix.SDSNIVPD data set.
Job DSNTEJ2C
Job DSNTEJ2C tests the COBOL program preparation procedures. This job runs the
phone application.
If DSNTEJ2C runs successfully, it produces the return codes that are shown in
Table 69.
Table 69. DSNTEJ2C return codes
Step PROCSTEP Return code
PH02CS01 0000
# PH02CS02 PC 0004
# COB 0000 or 0004
# PLKED1 0004
# LKED 0000 or 0004
# PH02CS03 PC 0000
# COB 0000 or 0004
# PLKED1 0004
# LKED 0000
PH02CS04 0000
You can compare the output from this job with the sample output for DSNTEJ2C
found in member DSN8TJ2C in your prefix.SDSNIVPD data set.
Job DSNTEJ2D
Job DSNTEJ2D tests the C program preparation procedures. You must have
sequence numbering on to run this job from an ISPF session. The C job runs only
the phone application. See the phone application description under DSNTEJ2C on
page 380.
If DSNTEJ2D runs successfully, it produces the return codes that are shown in
Table 70.
Table 70. DSNTE2D return codes
Step PROCSTEP Return code
PH02DS01 PC 0004
C 0000
PLKED 0000 or 0004
LKED 0004
PH02DS02 PC 0000
C 0000
PLKED 0000 or 0004
LKED 0000 or 0004
PH02DS03 0000
You can compare the output from this job with the sample output for DSNTEJ2D
found in member DSN8TJ2D in your prefix.SDSNIVPD data set.
Job DSNTEJ2E
Job DSNTEJ2E tests the C++ program preparation procedures. You must have
sequence numbering on to run this job from an ISPF session. The C++ job runs
only the phone application, “Job DSNTEJ2C” on page 380.
If DSNTEJ2E runs successfully, it produces the return codes that are shown in
Table 71 on page 382.
You can compare the output from this job with the sample output for DSNTEJ2E
found in member DSN8TJ2E in your prefix.SDSNIVPD data set.
Job DSNTEJ2F
Job DSNTEJ2F tests the Fortran program preparation procedures. The FORTRAN
job runs only the phone application. See the phone application description under
DSNTEJ2C on page 380.
If DSNTEJ2F runs successfully, it produces the return codes that are shown in
Table 72.
Table 72. DSNTE2F return codes
Step PROCSTEP Return code
PH02FS01 PC 0004
ASM 0000
LKED 0004
PH02FS02 PC 0000
FORT 0000
LKED 0000
PH02FS03 0000
You can compare the output from this job with the sample output for DSNTEJ2F
found in member DSN8TJ2F in your prefix.SDSNIVPD data set.
Job DSNTEJ2P
Job DSNTEJ2P tests the PL/I program preparation procedures. The PL/I job runs
the phone application.
If DSNTEJ2P runs successfully, it produces the return codes that are shown in
Table 73.
Table 73. DSNTEJ2P return codes
Step PROCSTEP Return code
PH02PS01 0000
# PH02PS02 PPLI 0000
# PC 0004
# PLI 0004
# PLKED 0004
# LKED
You can compare the output from this job with the sample output for DSNTEJ2P
found in member DSN8TJ2P in your prefix.SDSNIVPD data set.
Job DSNTEJ2U
DSNTEJ2U prepares and tests several sample user-defined functions, as well as a
driver program to exercise them.
In order for the Install CLIST to generate Job DSNTEJ2U, you must complete the
following steps during installation:
v Specify that the host has access to C/C++ for z/OS on Install Panel DSNTIPU
v Specify the name of the default WLM environment on install panel DSNTIPX
If you do not have C++ installed, skip steps PH02US08 and PH02US09. Also
remove all statements that refer to DAYNAME and MONTHNAME from part
DSNTESU in the prefix.SDSNSAMP library.
Job DSNTEJ2U consists of the steps that are listed in Table 75.
Table 74. Steps in job DSNTEJ2U
Step Function
1 Drops all specific sample user-defined functions.
2 Creates and registers all sample user-defined functions. Grants
EXECUTE authority to PUBLIC for the sample user-defined
functions.
3-10 Prepares the eight external programs used by specific user-defined
functions.
11 Binds the package for the TABLE_NAME, TABLE_SCHEMA, and
TABLE_LOCATION functions. These are the only sample functions
that issue SQL statements. This step also grants EXECUTE authority
on these two samples to PUBLIC.
12 Invokes DSNTEP2 to exercise the sample user-defined functions.
13 Prepares DSN8DUWF, the external module for the sample user
defined table function, WEATHER.
14 Prepares DSN8DUWC, a sample client function for statically
invoking the WEATHER user-defined table function.
15 Binds the package and plan for DSN8DUWC and grants the
necessary authorities.
16 Invokes DSN8DUWC.
If DSNTEJ2U runs successfully, it produces the return codes that are shown in
Table 75.
Table 75. DSNTEJ2U return codes
Step PROCSTEP Return code
PHO2US01 0000
PH02US02 0000 or 0004
PH02US03 - PH02US07 PC 0004
C 0000
PLKED 0004
LKED 0000
PH02US08 - PH02US09 PC 0004
CP 0000
PLKED 0004
LKED 0000
PH02US10 PC 0000
C 0000
PLKED 0004
LKED 0000
PH02US11 0000
PH02US12 0004
You can compare the output from this job with the sample output for DSNTEJ2U
found in member DSN8TJ2U in your prefix.SDSNIVPD data set.
SPUFI (SQL Processor Using File Input) is a facility of DB2I. “Testing SPUFI”
provides instructions for testing it. You can only run SPUFI under ISPF. You can
run dynamic SQL whether or not you have ISPF.
Testing SPUFI
You can test SPUFI by following the steps below:
1. Log on to TSO.
2. Enter ISPF (this might be done for you, depending on your site’s standard
practice).
3. On the DB2I defaults panel, change the DB2 name to the DB2 subsystem name
you entered on panel DSNTIPM during installation. Then select DB2I on the
ISPF Primary Option Menu.
4. Select SPUFI on the DB2I menu.
5. Enter the library name ’prefix.NEW.SDSNSAMP(DSNTESA)’ as input to SPUFI
on line 1, the DATASET NAME parameter. If your site uses the comma as a
decimal point, the library name entered must be for the tailored version of job
DSNTESA that was modified by the installation CLIST.
6. Define an output data set name on line 4, the output DATASET NAME
parameter of the panel. This allows you to review the output.
7. Press ENTER, and examine the results. These SQL statements require a
significant amount of DB2 processing; you could have to wait for the output.
If any step fails or abends, be sure that the DB2 subsystem name is specified in the
DB2 NAME field on the DB2I Defaults panel.
Also, make sure that the user ID you are using is authorized. If the name you
specified for either SYSTEM ADMIN 1 or SYSTEM ADMIN 2 on installation panel
DSNTIPP is a primary authorization ID, use this name. If the sample authorization
exit and RACF are installed, and both SYSTEM ADMIN 1 and SYSTEM ADMIN 2
are known to DB2 as secondary authorization IDs, you can run these jobs under a
user ID in either of these RACF groups. Then correct any other problems and
rerun the scenario from the last successful step.
# To run DSNTEJ3C with a type of COBOL other than the one you specified on field
# 2 of panel DSNTIPY, see “Special considerations for COBOL programs” on page
# 372. Remember that you must use the same type of COBOL to prepare DSNTEJ2C,
# DSNTEJ3C, DSNTEJ4C, and DSNTEJ5C.
Because DSNTEJ3C does a remote bind, you must set up your local and remote
systems for remote communication before running this job. The sample jobs
DSNTEJ1 and DSNTEJ6 must have been run on the remote system. For concurrent
installations at 2 DB2 locations, designate one location as the requester and the
If DSNTEJ3C runs successfully, it produces the return codes that are shown in
Table 76.
Table 76. DSNTEJ3C return codes
Step PROCSTEP Return code
# PH03CS01 PC 0004
# COB 0000 or 0004
# PLKED1 0004
# LKED 0000
# PH03CS02 PC 0004
# COB 0000 or 0004
# PLKED1 0004
# LKED 0000
# PH03CS03 PC 0000
# COB 0004
# PLKED1 0004
# LKED 0000
# PH03CS04 PC 0000 or 0004
# COB 0000 or 0004
# PLKED1 0004
# LKED 0000
PH03CS05 0000
PH03CS06 0000 or 0004
Step PH03CS06 can give a return code of 0004 if sample job DSNTEJ1 was not run
on the remote system. For testing, you should run job DSNTEJ1 on the remote
system. If DSNTEJ3P runs successfully, it produces the return codes that are shown
in Table 77.
Table 77. DSNTEJ3P return codes
Step PROCSTEP Return code
# PH03PS01 PPLI 0000
# PC 0004
# PLI 0000
# PLKED 0004
# LKED 0000
# PH03PS02 PPLI 0000
# PC 0000
# PLI 0004
# PLKED 0004
# LKED 0000
PH03PS03 0000
The three steps in job DSNTEJ3P, steps PH03PS01, PH03PS02, and PH03PS03,
prepare the ISPF/CAF sample application.
| Job DSNTEJ3M
| Job DSNTEJ3M creates, populates, and processes a database that demonstrates the
| use of DB2 materialized query tables (MQTs).
| Before you run job DSNTEJ3M, you must create a PLAN_TABLE. To create this
| table, specify the member DSNTESC as an input data set name to SPUFI.
To start the PL/I phone sample version of the connection manager, enter:
CALL ’prefix.RUNLIB.LOAD(DSN8SPM)’
After you enter one of these commands, DB2 displays the sample applications
panel, shown in Figure 47.
Select the proper job and define the applications and transactions to IMS. Member
DSN8FIMS in prefix.SDSNSAMP contains information to assist in the definition
step.
Recommendation: Use SSM error option R because the program handles any
errors. A resource translation table is not required.
Invoke the transaction by using the FORMAT command. The programs accept
several lines of input on the first panel and display the results after you press
ENTER.
# To use a type of COBOL other than the one you specified on field 2 of panel
# DSNTIPY, see “Special considerations for COBOL programs” on page 372.
# Remember, you must use the same type of COBOL to prepare DSNTEJ2C,
# DSNTEJ3C, DSNTEJ4C, and DSNTEJ5C.
If DSNTEJ4C runs successfully, it produces the return codes that are shown in
Table 79.
Table 79. DSNTEJ4C return codes
Step PROCSTEP Return code
# PH04CS01 PC 0004
# COB 0000
# PLKED1 0004
# LKED 0004
# PH04CS02 PC 0000
# COB 0000
# PLKED1 0004
# LKED 0004
For DSNTEJ4C, the warning code that is expected from the precompiler step
PH04CS01 is:
DB2 SQL PRECOMPILER MESSAGES
DSNH0531 W NO SQL STATEMENTS WERE FOUND
If DSNTEJ4P runs successfully, it produces the return codes that are shown in
Table 80.
Table 80. DSNTEJ4P return codes
Step PROCSTEP Return Code
# PH04PS01 PPLI 0000
# PC 0004
# PLI 0004
# PLKED 0004
# LKED 0004
# PH04PS02 PPLI 0000
# PC 0000
# PLI 0004
# PLKED 0004
# LKED 0004
# PH04PS03 PPLI 0000
# PC 0000
# PLI 0004
# PLKED 0004
# LKED 0004
# PH04PS04 PPLI 0000
# PC 0000
# PLI 0004
# PLKED 0004
# LKED 0004
# PH04PS05 PPLI 0000
# PC 0004
# PLI 0004
# PLKED 0004
# LKED 0004
# PH04PS06 PPLI 0000
# PC 0000
# PLI 0004
# PLKED 0004
# LKED 0004
For DSNTEJ4P, the warning code expected from the precompiler step PH04PS01 is:
DB2 SQL PRECOMPILER MESSAGES
DSNH0531 W NO SQL STATEMENTS WERE FOUND
If either job DSNTEJ4C or job DSNTEJ4P fails or abends, rerun the jobs from the
last successful step.
When you enter either of these two commands, the panel that is shown in
Figure 48 is displayed.
Job DSNTEJ5A
DSNTEJ5A assembles and link-edits DSNTIAC, the CICS SQLCA formatter
front-end. It also assembles and links the RCT and optionally adds the sample
definitions to the CSD. Use DSNTIAC as an alternative to DSNTIAR when you
want CICS services to do storage handling and program loading. If you are using
CICS Version 4 or CICS Transaction Server 1.1, you need to modify job DSNTEJ5A
to use steps DSN8FRCT and DSN8FRDO. You might need to tailor step
DSN8FRDO for your system.
If DSNTEJ5A runs successfully, it produces the return codes that are shown in
Table 81 on page 393.
# To use a type of COBOL other than the one you specified on field 2 of panel
# DSNTIPY, see “Special considerations for COBOL programs” on page 372.
# Remember, you must use the same type of COBOL to prepare DSNTEJ2C,
# DSNTEJ3C, DSNTEJ4C, and DSNTEJ5C.
Select the proper job, and define transactions, programs, and BMS maps to CICS.
If DSNTEJ5C runs successfully, it produces the return codes that are shown in
Table 82.
Table 82. DSNTEJ5C return codes
Step PROCSTEP Return code
MAPG ASSEM 0000
MAPD ASSEM 0000
DSNH 0000 or 0004
BIND 0000
MAPGP ASSEM 0000
MAPGL 0000
MAPDP ASSEM 0000
MAPDL 0000
If DSNTEJ5C fails or abends, rerun the job from the last successful step. To receive
more prepare-time detail from DSNTEJ5C, change the parameters TERM(LEAVE)
and PRINT(LEAVE) to TERM(TERM) and PRINT(TERM). See the discussion of the
DSNH CLIST in DB2 Command Reference for more information.
If DSNTEJ5P runs successfully, it produces the return codes that are shown in
Table 83 on page 394.
If DSNTEJ5P fails or abends, rerun the job from the last successful step. You might
find it convenient to break up DSNTEJ5P and run only the unsuccessful steps.
When these transaction codes are entered, the panels that are shown in Figure 51
and Figure 52 on page 396 are displayed.
ACTION SELECTION
MAJOR SYSTEM ...: O ORGANIZATION
ACTION .........:
OBJECT .........:
SEARCH CRITERIA.:
DATA ...........:
SELECT AN ACTION FROM FOLLOWING LIST
A ADD (INSERT)
D DISPLAY (SHOW)
E ERASE (REMOVE)
U UPDATE (CHANGE)
Figure 52 shows the initial panel for the CICS project application.
A ADD (INSERT)
D DISPLAY (SHOW)
E ERASE (REMOVE)
U UPDATE (CHANGE)
Refer to “Specifying values in the sample application panels” on page 413 for the
criteria you need to enter to run the organization and project applications.
You can change the transaction codes when you install DB2. Check with your
system administrator to find out if they have been changed from those shown.
The installation CLIST tailors the phase 6 sample jobs according to the information
you specify in field REMOTE LOCATION (field 1) of panel DSNTIPY. The
guidelines for this field are:
v If the field is blank, the installation CLIST only customizes phase 6 sample jobs
DSNTEJ63, DSNTEJ64, DSNTEJ65, and DSNTEJ6U, and DSNTEJ6V. Jobs
DSNTEJ63, DSNTEJ64, and DSNTEJ65 use the local location name when the
REMOTE LOCATION field is blank. Jobs DSNTEJ6U and DSNTEJ6V do not use
a remote location name.
v If the value in the field is the same as the location name for the DB2 subsystem
you are installing (field 2 of panel DSNTIPR), the stored procedures samples are
prepared and customized for local use. However, the DRDA access sample is not
prepared. This includes DSNTEJ6 and the DRDA access component of
DSNTEJ3C.
v If the value in the field is different from the DB2 location name, the installation
CLIST prepares the phase 6 samples assuming that the remote location is the
server and that the local system is the client.
If you are installing and testing two DB2 subsystems concurrently, you must
designate one as the server and the other as the client. If you change these
designations during your testing, your results will be unpredictable. Verify that
your VTAM APPL statement has the parameter SYNCLVL=SYNCPT defined. This
allows updates at several locations.
To set up your samples testing for concurrent installations at two DB2 locations,
follow these guidelines:
v Designate one location as the requester (the client) and the other location as the
server.
v Run the client version of DSNTEJ6 at the client site only; do not run the client
version of DSNTEJ6 at the server.
v Edit the server version of DSNTEJ6 at the remote server site; do not run the
server version of DSNTEJ6 at the client.
v Locate the following text in the server version of DSNTEJ6 within step PH06S01:
UPDATE DEPT SET LOCATION = (your remote location name) WHERE DEPTNO = ’F22’;
UPDATE DEPT SET LOCATION = (your location name) WHERE LOCATION = ’ ’;
Step Function
1 Updates the location column in the department table to the sample location
entered on installation panel DSNTIPY
If DSNTEJ6 runs successfully, it produces the return code that is shown in Table 84.
Table 84. DSNTEJ6 return codes
Step PROCSTEP Return code
PH06S01 0000
After job DSNTEJ6 has completed successfully, start the distributed application
scenario by following the instructions in “Starting an application in an ISPF/TSO
environment in phase 6” on page 399.
Step Function
1 Removes objects VPHONE and VEMPLP, which point to local tables, by
dropping VPHONE and VEMPLP views or dropping VPHONE and VEMPLP
aliases
2 Sets up sample table access by creating aliases VPHONE and VEMPLP, which
point to views DSN8810.VPHONE and DSN8810.VEMPLP at a remote location
Notes:
1. It is assumed that the views DSN8810.VPHONE and DSN8810.VEMPLP and their
underlying tables exist at the remote location. If they do not exist, run job DSNTEJ1 to
create them.
2. Step 1 always has one set of SQL statements that fail; it either drops the views or the
aliases, but not both.
3. If you want to point back to the local sample tables after executing this job, run a job
that drops the aliases VPHONE and VEMPLP.
If you specified DRDA as the default database protocol on panel DSNTIP5, you
must specify DBPROTOCOL(PRIVATE) to test DB2 private protocol access. After
running this job, re-run Phase 2 jobs DSNTEJ2C through DSNTEJ2P. The Phase 2
phone application jobs now reference data at the remote location through aliases.
Sample JCL statements for performing these functions are shown in Figure 53.
Figure 53. Sample JCL statements for DB2 private protocol access
After you enter this command, DB2 displays the sample applications panel, shown
in Figure 47. Choosing option 3 on the sample applications panel during Phase 6
invokes the COBOL organization application, which uses DRDA access for
distributed data. For more information, see “The distributed organization
application scenario” on page 425.
The stored procedure sample jobs are edited only when you specify selected fields
on the installation panels. For details on which fields are required for the sample
jobs, see the notes in Table 56 on page 367. To run these applications, you must
first start the WLM-established stored procedures address space (SPAS). See
“Routine parameters panel: DSNTIPX” on page 229 for information on generating
the JCL to start the SPAS. Before starting the SPAS, you must have Language
Environment and a Language Environment-compatible version of PL/I, C, or
COBOL installed (depending on the job) to run the stored procedure sample jobs.
Job DSNTEJ6S
Job DSNTEJ6S compiles and link-edits the sample stored procedure DSN8EP2. It
also updates the SYSIBM.SYSROUTINES catalog table with information about the
stored procedure. If you have SQL statements in your stored procedure, you must
remove the comment character in the JCL from the step that binds the stored
procedure package.
If DSNTEJ6S runs successfully, it produces the return codes that are shown in
Table 85 on page 401.
If SQLCODE -592 is received during the execution of DSNTEJ6T, ensure that SPA is
active.
Job DSNTEJ6P
Job DSNTEJ6P compiles, link-edits, binds, and runs a sample program, DSN8EP1,
that invokes the sample stored procedure.
Before you run DSNTEJ6P, run DSNTEJ6S to create the sample stored procedure.
If DSNTEJ6P runs successfully, it produces the return codes that are shown in
Table 86.
Table 86. DSNTEJ6P return codes
Step PROCSTEP Return code
# PH06PS01 PPLI 0000
# PC 0000
# PLI 0004
# PLKED 0004
# LKED 0000
PH06PS02 0004
PH06PS03 0000
You can compare the output from this job with the sample output for DSNTEJ6P
found in member DSN8TJ6P in your prefix.SDSNIVPD data set.
Job DSNTEJ6T
Job DSNTEJ6T registers, prepares, and binds the sample stored procedure,
DSN8ED2, on the server. It also defines a created temporary table to receive the IFI
output that is returned as a result set.
If DSNTEJ6T runs successfully, it produces the return codes that are shown in
Table 87.
Table 87. DSNTEJ6T return codes
Step PROCSTEP Return code
PH06TS01 0000
PH06TS02 0000
PH06TS03 PC 0004
C 0000
PLKED 0004
LKED 0000
PH06TS04 0000 or 0004
If SQLCODE -592 is received during the execution of DSNTEJ6T, ensure that SPA is
active.
Job DSNTEJ6D
Job DSNTEJ6D compiles, link-edits, binds, and runs sample program DSN8ED1,
that invokes the sample for using stored procedure result sets.
Before you run DSNTEJ6D, run DSNTEJ6T to create the sample stored procedure.
If DSNTEJ6D runs successfully, it produces the return codes that are shown in
Table 88.
Table 88. DSNTEJ6D return codes
Step PROCSTEP Return code
PH06DS01 PC 0000
C 0000 or 0004
PLKED 0000 or 0004
LKED 0000
PH06DS02 0004
PH06DS03 0000
You can compare the output from this job with the sample output for DSNTEJ6D
found in member DSN8TJ6D in your prefix.SDSNIVPD data set.
Job DSNTEJ6U
Job DSNTEJ6U compiles, link-edits, binds, and runs sample PL/I program
DSN8EPU, which invokes the DSNUTILS stored procedure to execute a utility.
Before you run DSNTEJ6U, verify that the DSNUTILS stored procedure was
successfully created in job DSNTIJSG. DSNTEJ6U requires a WLM procedure. See
Appendix B of DB2 Utility Guide and Reference for an example of how to customize
a WLM procedure for DSNUTILS.
If DSNTEJ6U completes successfully, it produces the return codes that are shown
in Table 89.
Table 89. DSNTEJ6U return codes
Step PROCSTEP Return code
PH06US01 PC 0000
PLI 0004
# PLKED 0004
LKED 0000
PH06US02 0004
PH06US03 0000
You can compare the output from this job with the sample output for DSNTEJ6U
found in member DSN8TJ6U in your prefix.SDSNIVPD data set.
| Job DSNTEJ6R
| Job DSNTEJ6R compiles, link-edits, binds, and runs sample C program DSN8ED8,
| which invokes the DSNUTILU stored procedure to execute a utility. For
| convenience on TSO, the utility control statement inputted to DSN8ED8 is encoded
| in EBCDIC and converted to Unicode before being passed to DSNUTILU.
| Before you run DSNTEJ6R, verify that the DSNUTILU stored procedure was
| successfully created in job DSNTIJSG. The DSNUTILU stored procedure must run
| as a WLM-managed stored procedure. See Appendix B of DB2 Utility Guide and
| Reference for an example of how to customize a WLM procedure for DSNUTILU.
| If DSNTEJ6R completes successfully, it produces the return codes that are shown in
| Table 90.
| You can compare the output from this job with the sample output for DSNTEJ6U
| found in member DSN8TJ6U in your prefix.SDSNIVPD data set.
Job DSNTEJ6V
Job DSNTEJ6V compiles, link-edits, binds, and runs sample C++ program
DSN8EE1, which invokes the DSNUTILS stored procedure to execute a utility.
DSNTEJ6V requires a WLM procedure. See Appendix B of DB2 Utility Guide and
Reference for an example of how to customize a WLM procedure for DSNUTILS.
If DSNTEJ6V completes successfully, it produces the return codes that are shown in
Table 91.
Table 91. DSNTEJ6V return codes
Step PROCSTEP Return code
PH06VS01 PC 0004
CP 0000
PLKED 0004
LKED 0004
PH06VS02 PC1 0000
CP1 0000
PC2 0000
CP2 0000
PLKED 0004
LKED 0000
PH06VS03 0000 or 0004
PH06VS04 0000
A successful execution of DSNTEJ6V unloads rows and columns from the PROJ
sample table. For more details about utilities and invoking utilities as a stored
procedure, see Appendix B of DB2 Utility Guide and Reference.
You can compare the output from this job with the sample output for DSNTEJ6V
found in member DSN8TJ6V in your prefix.SDSNIVPD data set.
The installation CLIST customizes DSNTEJ6W to run in and recycle the same
WLM environment, which is the environment you specified in the WLM
ENVIRONMENT field on installation panel DSNTIPX.
If you are not authorized to create special resource profiles, have your system
security administrator perform the first step of this job. The SQLID used to run
DSNTEJ6W needs READ access to this profile.
For more information about WLM, see DB2 Application Programming and SQL Guide.
If DSNTEJ6U completes successfully, it produces the return codes that are shown
in Table 92.
Table 92. DSNTEJ6W return codes
Step PROCSTEP Return code
PH06WS01 0000
PH06WS02 PC 0000
C 0000
PLKED 0004
LKED 0000
PH06WS03 0000 or 0004
PH06WS04 0000
Job DSNTEJ6Z
Job DSNTEJ6Z generates a report of current subsystem parameter settings. This
report is generated by DSN8ED7, a C-language caller of stored procedure
DSNWZP. You must have TRACE and MONITOR1 privileges to run DSNWZP.
If DSNTEJ6U completes successfully, it produces the return codes that are shown
in Table 93.
Table 93. DSNTEJ6Z return codes
Step PROCSTEP Return code
PH06ZS01 PC 0000
C 0000
PLKED 0004
LKED 0000
PH06ZS02 0000 or 0004
PH06ZS03 0000
This application consists of two jobs: DSNTEJ61 and DSNTEJ62. Job DSNTEJ61
must be run before DSNTEJ62. You must have COBOL for MVS and VM and
Language environment installed to run DSNTEJ61 and DSNTEJ62. You must start a
WLM-established stored procedure address space to run DSNTEJ61 and DSNTEJ62.
You need to update the startup procedure for the WLM-established stored
procedure address space to add the ODBA data set names to the STEPLIB and
DFSRESLB concatenations. An example of a data set name for ODBA is
IMSVS.RESLIB.
Job DSNTEJ61
Job DSNTEJ61 prepares a sample stored procedure DSN8EC1, that uses ODBA.
DSN8EC1 can add, update, delete, and display telephone directory records from
the IMS sample database, DFSIVD1. DSN8EC1 shows how the AERTDLI API is
used to issue IMS DL/I calls.
Before running DSNTEJ61, read the Dependencies information of the job prolog to
verify that the server site is correctly configured. If DSNTEJ61 runs successfully, it
produces the return codes that are shown in Table 94.
Table 94. DSNTEJ61 return codes
Step PROCSTEP Return code
PH061S01 0000
PH061S02 0000
PH061S03 PC 0004
COB 0000
PLKED 0004
LKED 0000
Job DSNTEJ63
Job DSNTEJ63 prepares the sample SQL procedure, DSN8ES1, which accepts a
department number and returns salary and bonus data.
Job DSNTEJ64
Job DSNTEJ64 prepares and executes DSN8ED3, a sample routine that calls the
sample SQL procedure, DSN8ES1. You must run job DSNTEJ63 before running job
DSNTEJ64.
You can compare the output from this job to the sample output for DSNTEJ64,
which is found in member DSN8TJ64 in data set named prefix.SDSNIVPD.
Job DSNTEJ65
Job DSNTEJ65 demonstrates program preparation of an SQL procedure using the
DB2 SQL procedures processor, DSNTPSMP. If you specified a remote location
name on installation panel DSNTIPY, then jobs DSNTPSMP and DSNTIJSG, and
the job DSNTIJRX should be run on the remote server site to bind DB2 REXX
language support. The major components of job DSNTEJ65 are:
v DSN8WLMP is a sample start-up procedure for a WLM-established stored
procedures address space in which DSNTPSMP runs. DSN8WLMP is located in
prefix.SDSNSAMP.
v DSN8ED4 is a sample C program that calls the DB2 SQL procedures processor.
v DSN8ES2 is a sample SQL procedure that calculates employee bonuses.
v DSN8ED5 is a sample C program that calls the SQL procedure DSN8ES2.
You can compare the output from this job to the sample output for DSNTEJ65,
which is found in member DSN8TJ65 in the data set named prefix.SDSNIVPD.
Job DSNTEJ75 and DSNTEJ78 are not tailored by the installation CLIST unless you
specify non-blank values for GDDM MACLIB and GDDM LOAD MODULES on
panel DSNTIPW.
After you run these jobs, you can use ISPF and GDDM to view the sample
employee resume and photo data.
Job DSNTEJ7
Job DSNTEJ7 demonstrates how to create a LOB table with all the accompanying
LOB table spaces, auxiliary tables, and indexes. It also demonstrates how to use
the DB2 LOAD utility to load a CLOB column of fewer than 32 KB.
Step Function
1 Drops sample LOB objects
2 Creates sample Employee Resume and Photo LOB table
3 Creates aliases for the table, then grants access to it
4 Uses the DB2 LOAD utility to load CLOB data
If DSNTEJ7 runs successfully, it produces the return codes that are shown in
Table 99.
Table 99. DSNTEJ7 return codes
JOBSTEP PROCSTEP Return Code
PH07S01 0000
PH07S02 0000
PH07S03 0000 or 0004
PH07S04 DSNUPROC 0000
PH07S05 DSNUPROC 0000
Job DSNTEJ71
Job DSNTEJ71 compiles, link-edits, and binds two sample applications that
manipulate LOB data. The DSN8DLPL sample application demonstrates how to
use LOB locators to populate a LOB column larger than 32KB. The DSN8DLTC
sample application validates the contents of the LOB table, verifying that it was
populated correctly.
If DSNTEJ71 runs successfully, it produces the return codes that are shown in
Table 100.
Table 100. DSNTEJ71 return codes
JOBSTEP PROCSTEP Return Code
PH071S01 PC 0000
C 0000
PLKED 0004
LKED 0000
PH071S02 PC 0000
C 0000
PLKED 0004
LKED 0000
PH071S03 0000
PH071S04 0000
PH071S05 0000
You can compare the output from this job with the sample output for DSNTEJ71
found in member DSN8TJ71 in your prefix.SDSNIVPD data set.
Job DSNTEJ73
Job DSNTEJ73 compiles the DSN8DLRV sample application, which demonstrates
how to use built-in functions like POSSTR and SUBSTR in order to traverse a
CLOB column and break out data from it.
If DSNTEJ73 runs successfully, it produces the return codes that are shown in
Table 101 on page 411.
After running DSNTEJ73, you can view sample employee resumes by invoking
DSN8DLRV, as described in “Starting an application in an ISPF/TSO environment
in phase 7” on page 413.
Job DSNTEJ75
Job DSNTEJ75 runs sample program DSN8DLPV, which demonstrates how to
manipulate BLOB data (employee photo images).
If DSNTEJ75 runs successfully, it produces the return codes that are shown in
Table 102.
Table 102. DSNTEJ75 return codes
JOBSTEP PROCSTEP Return Code
PH075S01 PC 0000
C 0000
PLKED 0004
LKED 0000
PH075S02 0000 or 0004
After running DSNTEJ75, you can view sample employee photo images by
invoking DSN8DLPV, as described in “Starting an application in an ISPF/TSO
environment in phase 7” on page 413.
| Job DSNTEJ76
| Job DSNTEJ76 compiles, link-edits, and binds two sample COBOL applications that
| manipulate LOB data. The DSN8CLPL sample application demonstrates how to
| use LOB locators to populate a LOB column that is larger than 32 KB. The
| DSN8CLTC sample application validates the contents of the LOB table, verifying
| that it was populated correctly.
| If DSNTEJ76 runs successfully, it produces the return codes that are shown in
| Table 103.
| Table 103. DSNTEJ76 return codes
| JOBSTEP PROCSTEP Return code
| PH076S01 PC 0000
| COB 0000
| PLKED 0004
| LKED 0000
| PH076S02 PC 0000
| COB 0000
| PLKED 0004
| LKED 0000
| After running DSNTEJ76, you can compare the output with the sample output for
| DSNTEJ76 found in member DSN8TJ76 in your prefix.SDSNIVPD data set.
| Job DSNTEJ77
| Job DSNTEJ77 compiles the DSN8CLRV sample COBOL application, which
| demonstrates how to use built-in functions, such as POSSTR and SUBSTR, to
| traverse a CLOB column and break out data from it. To run DSN8CLRV, you must
| run the first step of job DSNTEJ73 to compile DSN8SDM.
| If DSNTEJ77 runs successfully, it produces the return codes that are shown in
| Table 104.
| Table 104. DSNTEJ77 return codes
| JOBSTEP PROCSTEP Return Code
| PH077S01 PC 0000
| COB 0000
| PLKED 0004
| LKED 0000
| PH077S02 0000 or 0004
|
| After running DSNTEJ77, you can view sample employee photo resumes by
| invoking DSN8CLRV as described in “Starting an application in an ISPF/TSO
| environment in phase 7” on page 413.
| Job DSNTEJ78
| Job DSNTEJ78 runs sample COBOL program DSN8CLPV, which demonstrates how
| to manipulate BLOB data (employee photo images).
| If DSNTEJ78 runs successfully, it produces the return codes that are shown in
| Table 105.
| Table 105. DSNTEJ78 return codes
| JOBSTEP PROCSTEP Return Code
| PH078S01 PC 0000
| COB 0000
| PLKED 0004
| LKED 0000
| PH078S02 0000 or 0004
|
| After running DSNTEJ78, you can view sample employee photo images by
| invoking DSN8CLPV as described in “Starting an application in an ISPF/TSO
| environment in phase 7” on page 413.
After you enter this command, DB2 displays the sample applications panel, shown
in Figure 47.
Brief scenarios describe how to display, update, add, and delete information using
the sample applications. Another scenario describes how to view or change
information using a combination of organization and project applications. This
scenario contains problem-solving exercises based upon creating and staffing a new
department with new projects.
The output from the install verification steps discussed here appears in your
prefix.SDSNIVPD data set.
You might not want to print all members of prefix.SDSNSAMP because some of the
members are large and contain unprintable data. An alternative is to precompile
and compile the wanted program by specifying a cross-reference to the
precompiler and compiler. This provides a cross-reference for program variables
and is current.
These categories must be regarded as a family of values that, used together, specify
the task to be performed. For MAJOR SYSTEM, ACTION, OBJECT, and SEARCH
CRITERIA, a character code of one or two characters is used as a form of
shorthand to indicate the desired criteria. The system provides a list of these codes
with their meanings. A valid location name of 1 to 16 characters is used for
location. The value for data must be consistent with the data type and length of
search criteria. For information on valid location names, see Chapter 12,
“Connecting distributed database systems,” on page 451.
Major system specifies the major application area. In the sample application, there
are two major systems: organization and project. These major systems are
implemented in separate transactions to keep the plan sizes reasonable. If you are
running the DB2 distributed sample program, organization is the only system;
therefore, this criterion is not used.
Action specifies what you want to do with the object (specified on another line of
the panel). You can display, update, add (insert), or erase (delete) information
about the specified object.
Object specifies the object about which you want information. Normally, the action
is associated with the object. Examples of objects are information about an
employee (EM) or information about the relationship among departments (DS).
Objects can be specified with the following codes for the organization application:
DE Department—general department and manager information for department
specified
DS Department structure—hierarchy information for department specified
EM Employee—information concerning employee specified.
Objects can be specified with the following codes for the project application:
PS Project structure—information on projects and subprojects
AL Activity listing—information concerning the different activities that makes
up a project
PR Project—general project information
AS Activity staffing—information about the employees staffed for activities of
specified projects
AE Activity estimate—information concerning the estimated staffing and time
requirements of specified projects.
You are able only to add, update, or erase information about the selected object,
although you can search and display based on other criteria. Items that are added
or updated can be changed on the screen. Other fields are protected.
Search criteria helps to locate the specific item of information upon which to act.
The following codes can be specified for the search criteria field for the
organization application:
DI Department number
The following codes can be specified for the search criteria for the project
application:
DI Department number
DN Department name
EI Employee number
EN Employee name
PI Project number
PN Project name
RI Responsible person number
RN Responsible person name.
Location is used only for the distributed application. It describes the location
where the action is to take place. If this criterion is left blank, then the local
location is assumed.
Data further identifies the search criteria target. The data value specified must be
consistent with the data type and length of the search criteria code. If the search
criterion is an employee name (EN), manager name (MN), or responsible person
name (RN), the value of data must be a person’s last name. (See Specifying data
values for additional information on how data values can be specified.)
Data values can be specified using either primary selection or secondary selection.
Primary selection is the data value itself. Only one set of data values fulfills the
request. Secondary selection allows multiple sets of data values to fulfill the request.
A brief summary of the sets of data values appear on the screen. Each summary
has an associated line number. To display additional information about a certain
line, enter the line number in the DATA field. Secondary selection allows the
application to display a set of values and then provides a prompt to select a
specific DATA value. For example, you can display information about a department
(DE) (the OBJECT) with a department number (DI) (the SEARCH CRITERIA) with a
DATA value of D11.
Allowable combinations
The codes cannot be combined indiscriminately. For instance, manager number
(MI) is a valid search criterion for a department (DE), but employee number (EI)
and project number (PI) cannot be used to locate a department.
You can retrieve data by having the panels prompt you for the proper values. It is
not necessary to enter the values one line at a time. If you already know all the
values you want, they can be entered at the same time. If the values are only
partially entered, you must start with ACTION and enter each value in sequence,
not skipping over any values. For example, if you know all the values except
OBJECT, only ACTION can be entered. You are prompted for OBJECT. Then you
can enter OBJECT, SEARCH CRITERIA, and DATA.
If you know only part of a DATA value (for example, you know the department
number begins with D), you can specify it as a pattern. The pattern can contain any
character string with a special meaning, such as:
v The underscore character, _, represents any single character.
v The percent character, %, represents any string of zero or more characters.
These two special characters can be used in conjunction with other characters to
specify a DATA value. Table 106 demonstrates three ways to use these characters to
create a DATA value.
Table 106. Searching for data values
Data Value Search Criteria Description
%SMITH% EN (Employee name) Searches for any last name that
contains the word SMITH; for
example, BLACKSMITH,
SMITHSONIAN, or NESMITHA
E_1 DI (Department number) Searches for any department number
with E in position 1 and 1 in position
3; for example, E71, E21, or EB1
% Any All values qualify
The values entered on the SEARCH CRITERIA and DATA fields can choose only
one item to be displayed. However, the more usual case is that several items are
displayed as a list. When this is the case, a secondary selection can be made by
choosing the line number of the item of interest.
Function keys
The bottom line of the panel displays the function keys that are active for that
panel:
Function key 2—Resend: If the panel is blanked out (for example, you pressed the
CLEAR key) or you want to refresh the panel, press function key 2 to return
(resend) the display you were viewing to the terminal.
Function key 3—End: To terminate the application, press function key 3 to clear the
screen and continue with other transactions.
Function key 8—Next: Sometimes a display of information is too large to fit on one
panel. Press function key 8 to scroll forward (the lines move upward).
Function key 10—Left: Press function key 10 to move the field of vision up one
level in the department structure. For instance, in Figure 58 on page 419,
Department E01 is shown on the left, and its subdepartments are shown on the
right. When you press function key 10, the screen scrolls so that Department E01 is
moved from the left side of the panel to the right side and the department to
which it reports appears on the left. All other departments that report to the
department now on the left also appear along with Department E01 on the right.
Function key 10 performs this function only for IMS and CICS samples.
After you enter the appropriate transaction code, you see the first panel of the
project application. Enter the following values:
v On the MAJOR SYSTEM, enter P for project.
v On the ACTION line, enter D for display.
v On the OBJECT line, enter PS for project structure.
v On the SEARCH CRITERIA line, enter PI for project ID.
v On the DATA line, enter MA2100 as the project ID.
The panel below shows the selected project along with its corresponding
subprojects.
PROJECT STRUCTURE
MAJOR SYSTEM ...: P PROJECTS
ACTION .........: D DISPLAY (SHOW)
OBJECT .........: PS PROJECT STRUCTURE
SEARCH CRITERIA.: PI PROJECT ID
DATA ...........: MA2100
Updating an activity
Suppose you want to update activity information for a project with ID IF1000.
Enter the following values:
Press the ENTER key, and a list of project IF1000 activities appears on the panel.
Next, choose the activity to be updated. For instance, if you want to update the
first activity listed, enter 1 as the DATA value and press the ENTER key. The next
panel shows information about the estimated mean staffing requirements of this
activity as well as the start and completion dates. To change information about the
estimated end date, enter data over the existing information displayed on that
input line. After you have verified the change, press ENTER. The next panel
displays the updated information, as shown in Figure 56.
ACTIVITY ID : 90
KEYWORD : ADMQS
DESCRIPTION : ADM QUERY SYSTEM
EST MEAN STAFFING : 2.00
EST START DATE : 1982-01-01
EST END DATE : 1983-04-15
To terminate the project application, press the PF3 key. The APPLICATION
TERMINATED message is displayed. If you are using CICS, clear the screen and
enter a new transaction code. If you are using IMS, clear the screen and enter a
new transaction code or a /FORMAT command.
After you enter the appropriate transaction code, you see the first panel of the
project application. Enter the following values:
v On the MAJOR SYSTEM, enter O for organization.
v On the ACTION line, enter D for display.
v On the OBJECT line, enter DS for department structure.
v On the SEARCH CRITERIA line, enter DI for department number.
v On the DATA line, enter %, which enables you to display a list of all the
departments.
Each department entry is numbered on the far left side of the panel as shown in
the Figure 57 on page 419.
To retrieve further information, specify a line number as a data value. This method
is called secondary selection. Secondary selection provides prompts to aid in
finding the information to be displayed, added, erased, or updated. If only one
entry possibility exists, secondary selection is not offered.
The result of entering the data value of 7 is a display of Department E01 and its
departments as shown in Figure 58. The department manager for E01 is listed on
the left, and the departments of E01 are listed on the right. Employees of E01 are
listed below the subdepartments of E01.
Next, you can enter the details of the new department. The four department fields
are department number, department name, manager number, and administration
department number. Enter:
v INFORMATION SERVICES for department name
v 000130 for manager number
v C01 for the administration department number.
Press ENTER to display the panel shown in Figure 59. The panel shows the
successful addition of the new department.
Deleting an entry
Deleting an entry in the department table is also a function of the organization
major system. Following the process outlined in “Starting a new operation” on
page 419, replace the following values on the panel currently displayed on your
screen:
v On the MAJOR SYSTEM, enter O for organization.
v On the ACTION line, enter E for erase.
v On the OBJECT line, enter DE for department.
v On the SEARCH CRITERIA line, enter DI for department ID.
v On the DATA line, enter C11 for department name.
ERASING A DEPARTMENT
MAJOR SYSTEM ...: O ORGANIZATION
ACTION .........: E ERASE (REMOVE)
OBJECT .........: DE DEPARTMENT
SEARCH CRITERIA.: DI DEPARTMENT ID
DATA ...........: C11
PRESS ENTER TO ERASE A DEPARTMENT
DEPARTMENT ID : C11
NAME : INFORMATION SERVICES
MANAGER ID : 000130
ADMIN DEP ID : C01
MANAGER ID : 000130
FIRST NAME : DOLORES
MIDDLE INITIAL : M
LAST NAME : QUINTANA
WORK DEPT ID : C01
Press ENTER again to verify the erase action. The following message appears on
the panel:
DSN8013I csect DEPARTMENT SUCCESSFULLY ERASED
Transferring
The procedure for transferring one employee to another department and replacing
that employee involves several steps. In this scenario, John B. Geyer (manager of
the department for Support Services) is transferred to the staff of Spiffy Computer
Service Division. Bruce Adamson is assigned as manager of Support Services.
To move Adamson into his new position as manager of Support Services, you must
determine his employee number. Transferring an employee is a function of the
organization major system. Start the organization application as described in
“Starting a new operation” on page 419, and enter the following values:
v On the MAJOR SYSTEM, enter O for organization.
v On the ACTION line, enter D for display.
v On the OBJECT line, enter EM for employee.
v On the SEARCH CRITERIA line, enter EN for employee name.
v On the DATA line, enter ADAMSON as the specific employee name.
Press ENTER to display the panel showing that Adamson’s employee number is
000150.
The next step is for you to change the manager number for the Support Services
department to Adamson’s number, 000150. But first you must find the Support
Services department. To do this, change ACTION to U (update), OBJECT to DE
(department), and SEARCH CRITERIA to DN (department name). Change DATA
to %SUPPORT% to specify any department with the word SUPPORT in it.
Press ENTER, and a list of departments with support in their name is displayed.
Support Services has line number 01. Enter this number at DATA. (The leading
zero is not needed.)
Press ENTER to display the next panel. The only values that can be changed are
department name, manager ID, and administration department ID. Enter
Adamson’s employee number in the Support Services department after
MANAGER ID. At this point, the data on the manager still pertains to Geyer.
The final step is to move Geyer to the correct department. Change the SEARCH
CRITERIA and DATA to EN and GEYER, respectively. Press ENTER to obtain the
next panel. The employee ID, name, and work department ID can be changed on
this panel. However, the only change necessary in this case is to change Geyer’s
work department ID to his new one, A00. The panel in Figure 61 shows the
completed entry.
UPDATING AN EMPLOYEE
MAJOR SYSTEM ...: O ORGANIZATION
ACTION .........: U UPDATE (CHANGE)
OBJECT .........: EM EMPLOYEE
SEARCH CRITERIA.: EN EMPLOYEE NAME
DATA ...........: GEYER
DSN8004I DSN8MPF - EMPLOYEE SUCCESSFULLY UPDATED
DEPARTMENT ID : A00
NAME : SPIFFY COMPUTER SERVICE DIV.
MANAGER ID : 000010
ADMIN DEP ID : A00
EMPLOYEE ID : 000050
FIRST NAME : JOHN
MIDDLE INITIAL : B
LAST NAME : GEYER
WORK DEPT ID : A00
To terminate the application and return to the beginning of the operation, press the
PF3 key.
The phone application retrieves information from a phone directory and updates
employee phone numbers. The phone directory consists of data from a
combination (join) of the employee table (DSN8810.EMP) and the department table
(DSN8810.DEPT). This joined view is called VPHONE. The program also uses a
second view called VEMPLP to update the employee table, which does not affect a
view that joins tables.
On this panel, enter the first and last name of the employee whose telephone
number you want to view or change. To see an entire listing of employee numbers,
put an * next to the LAST NAME input line. If only part of a first or last name is
known, use the percent character (%) to qualify the list of names to appear in the
directory. For example, entering K% on the LAST NAME input line calls a list of
the telephone numbers of all employees whose last name begins with a K.
Similarly, the first name can be qualified.
To keep this sample program as simple as possible and to allow updating, scrolling
is not used with the IMS and CICS versions. Scrolling is used with the ISPF/CAF
version. Only the first panel of selected names and phone numbers can be
displayed. The second panel is the Telephone Directory itself. The employee
telephone number is highlighted. To update an employee telephone number, type
over the highlighted number and press ENTER. To update a phone number listed
under the name Heather A Nicholls, specify NICHOL% when you are not sure if
there are one or two Ls in Nicholls.
Press ENTER to display the panel on which the phone number is highlighted.
Suppose you want to change the phone number from 1793 to 1795. Just type over
the number to be changed. You can type over as many numbers as appear listed in
the current display. After you press ENTER, you get a message confirming the
If you want to update an employee phone number, create a data set that contains
information about the phone number to be updated. This data set works in
combination with another data set that contains JCL for processing information.
The first data set consists of card images in the format shown in Table 108.
Table 108. Format of phone application data set
Column Description
1 ACTION—U for update, L for list
2 Employee last name
17 Employee first name
29 Employee number
35 New phone number
The ACTION code in this card image indicates whether an employee number is to
be updated (U) or listed (L). When updating an employee phone number, only the
employee number and the new phone number are specified in the data set. When
listing phone numbers, the last name must be specified. Specifying the first name
is optional. The * and % can be used with the ACTION code just as they are used
with the panels.
Figure 64 on page 425 shows an example of an update data set and a list data set.
Each time a number is listed or updated, a new data set is created containing a
card image like the one in Figure 64. The first card in the data set shows the phone
number of employee number 000140 being updated (U) to 6767. The second card
shows a list (L) for Heather Nicholls. The last card shows a list (L) of all
employees whose first names begin with the letters MAR. The example shows the
letters MAR followed by a % in the first name column to indicate that only those
employees whose first names begin with MAR are to be listed.
The other data set that contains the JCL is supplied with DB2 and is contained in
DSNTEJ2P, which is part of prefix.SDSNSAMP. Figure 65 shows the data set that
contains the JCL with the card image data sets embedded.
The complete data set can be submitted to the system either through a card reader
or from a terminal through TSO. Figure 66 on page 425 is an example of the batch
output.
After you enter the appropriate transaction code, you see the first panel of the
organization application.
DATA ...........:a00
Press the ENTER key. The panel below shows the structure of the department
requested.
SUBDEPARTMENTS:
DATA ...........:a00
Press the ENTER key. The panel below shows the department information
requested.
DISPLAY A DEPARTMENT
DEPARTMENT ID : A00
NAME : SPIFFY COMPUTER SERVICE DIV.
MANAGER ID : 000010
ADMIN DEP ID : A00
LOCATION :
MANAGER ID : 000010
FIRST NAME : CHRISTINE
MIDDLE INITIAL : I
LAST NAME : HAAS
WORK DEPT ID : A00
DATA ...........:%
Press the ENTER key. The panel below lists the departments that can be updated.
Select the department to be updated by putting an S in the left margin by the
department number.
Press the ENTER key. The panel below displays the information relevant to the
selected department. Enter the information you want to update on this panel; in
this case, enter the name of the department.
UPDATE A DEPARTMENT
DEPARTMENT ID : E01
NAME : hardware support service
MANAGER ID : 000050
ADMIN DEP ID : A00
LOCATION :
MANAGER ID : 000050
FIRST NAME : JOHN
MIDDLE INITIAL : B
LAST NAME : GEYER
WORK DEPT ID : E01
Press the ENTER key to process the updated information. A message appears on
this panel that states the update was successful.
DEPARTMENT ID : E01
NAME : HARDWARE SUPPORT SERVICE
MANAGER ID : 000050
ADMIN DEP ID : A00
LOCATION :
MANAGER ID : 000050
FIRST NAME : JOHN
MIDDLE INITIAL : B
LAST NAME : GEYER
WORK DEPT ID : E01
Press ENTER to return to the previous panel or END to exit. If you return to the
previous panel, you can now select another department to update, or press ENTER
or END to exit. The same message appears on this panel, indicating the update
was successful.
DATA ...........:sj0100
Press the ENTER key. The panel below allows you to only enter information about
the employee. The department information on the panel is protected. Enter the
necessary information about the employee.
ADD AN EMPLOYEE
DEPARTMENT ID :
NAME :
MANAGER ID :
ADMIN DEP ID :
LOCATION :
EMPLOYEE ID : SJ0100
FIRST NAME : W
MIDDLE INITIAL :
LAST NAME : WALTERS
WORK DEPT ID : F22
Press the ENTER key to process or END to exit. If you press the ENTER key, a
message appears on the panel indicating that the employee has been added.
DEPARTMENT ID : F22
NAME : SPIFFY COMPUTER SERVICE DIV.
MANAGER ID :
ADMIN DEP ID : E01
LOCATION : SAN_JOSE
EMPLOYEE ID : SJ0100
FIRST NAME : W
MIDDLE INITIAL :
LAST NAME : WALTERS
WORK DEPT ID : F22
Press the ENTER key to return to the selection panel or END to exit.
DATA ...........:%
Press the ENTER key. The panel below lists the employees that can be erased.
Select the employee to be erased by putting an S in the left margin by the
employee ID.
Press the ENTER key. The panel below displays the information relevant to the
selected employee that is to be erased.
ERASE AN EMPLOYEE
DEPARTMENT ID : F22
NAME : BRANCH OFFICE F22
MANAGER ID :
ADMIN DEP ID : E01
LOCATION : SAN_JOSE
EMPLOYEE ID : SJ0100
FIRST NAME : W
MIDDLE INITIAL :
LAST NAME : WALTERS
WORK DEPT ID : F22
Press the ENTER key to erase the employee information. A message appears on the
panel stating the employee has been successfully erased. You can now erase
another employee or press ENTER or END to exit.
The batch portion consists of the following jobs: DSNTEJ7, DSNTEJ71, DSNTEJ73,
| DSNTEJ75, DSNTEJ76, DSNTEJ77, and DSNTEJ78. For more information about
these batch jobs see “Phase 7: Accessing LOB data” on page 409.
The optional online portion of the LOB sample application adds two additional
scenarios to the existing three scenarios provided in IVP phase 3. These scenarios
include the following activities by the user:
1. Invoking the DB2 sample connection manager to display the DB2 ISPF sample
application menu, DSN8SSM
2. Selecting and viewing sample employee resumes by using option 4 of
DSN8SSM
3. Selecting and viewing sample employee photo images by using option 5 of
DSN8SSM
| Application programs for the LOB sample are written in the C and COBOL
| languages. The resume viewer requires ISPF. The photo viewer requires ISPF and
| GDDM.
| If you ran DSNTEJ73, you can select option 4 on the sample applications panel. If
| you ran DSNTEJ77, you can select option 6 on the sample applications panel.
Prompt the user to select from the list of available resumes by displaying ISPF
panel DSN8SSE:
The employee serial numbers and names are hard-coded into the panel because the
data for this sample is predetermined. Display the formatted resume on ISPF panel
DSN8SSR:
This panel is designed around the sample data. It is assumed that all resume
DSN8SSR DB2 EMPLOYEE RESUME APPLICATION
===>_
EDUCATION:
1965 MATH AND ENGLISH B.A. 1960 DENTAL TECHNICIAN
ADELPHI UNIVERSITY FLORIDA INSTITUTE OF TECHNOLOGY
WORK HISTORY:
10/91 - PRESENT ADVISORY SYSTEMS ANALYST
PRODUCING DOCUMENTATION TOOLS FOR ENGINEERING DEPARTMENT
12/85 - 9/91 TECHNICAL WRITER
WRITER, TEXT PROGRAMMER, AND PLANNER
1/79 - 11/85 COBOL PAYROLL PROGRAMMER
WRITING PAYROLL PROGRAMS FOR A DIESEL FUEL COMPANY
information for an employee will fit predictably and no handling for special cases
is provided. The ″Interests″ section of the resume is not presented due to space
constraints on the panel.
DSN8DLRV is written in C language and linked with ISPF and DB2 Call Attach
Facility. The package name and plan name are both DSN8LRvr, where vr is the
DB2 version and release.
| DSN8CLVR is written in the COBOL language and linked with ISPF and DB2 Call
| Attach Facility. The package name and plan name are both DSN8CRvr, where vr is
| the DB2 version and release.
| If you ran job DSNTEJ75, you can select option 5 on the sample applications panel.
| If you ran job DSNTEJ78, you can select option 8 on the sample applications panel.
DSN8DLRV and DSN8CLRV show the following panels when selecting and
viewing sample employee photos. Prompt the user to select from the list of
available photos by displaying ISPF panel DSN8SSE:
Select END to exit.
DSN8SSE DB2 EMPLOYEE SELECTION PANEL
===>_
DSN8DLPV is a C language program linked with ISPF, GDDM and the DB2 Call
Attach Facility. The package name and plan name are both DSN8LPvr, where vr is
the DB2 version and release. To run DSN8DLPV you must include the GDDM load
module library (SADMMOD) in the logon procedure or in the ISPLLIB
concatenation.
| DSN8CLPV is a COBOL language program linked with ISPF, GDDM and the DB2
| Call Attach Facility. The package name and plan name are both DSN8CPvr, where
| vr is the DB2 version and release. To run DSN8CLPV you must include the GDDM
| load module library (SADMMOD) in the logon procedure or in the ISPLLIB
| concatenation.
The name of the edit exit routine is DSN8EAE1. When the employee table
(DSN8810.EMP) is changed by either an update or an add, the edit exit routine
encodes the salary amount that goes into the SALARY column. When the SALARY
column is read from the employee table, the amount is decoded. The encoding and
decoding of the salary column protects the confidentiality of the employee’s salary.
DSNTESA
The SQL statements in DSNTESA are run dynamically by SPUFI. DSNTESA is used
in Phase 3 of the verification process.
The first group of statements in DSNTESA create a temporary work file table space
and defines a created temporary table. The INSERT statements fill the table with
names, midterm scores, and final examination results, and the SELECT statement
then does a check of the averages. The UPDATE statements assign a grade
according to the formula in the first UPDATE statement: 60% for the final and 40%
for the midterm. The next SELECT statement produces the entire table. The
ROLLBACK statement removes the table space and the table within it.
The following statements make some administrative queries on the system tables:
v The following SELECT statements find all the plans and packages that are
owned by the current user, and the date they were bound.
SELECT NAME, BINDDATE
FROM SYSIBM.SYSPLAN
WHERE CREATOR = USER;
SELECT COLLID, NAME, VERSION, BINDTIME
FROM SYSIBM.SYSPACKAGE
WHERE OWNER = USER;
v The following SELECT statements find the plans and packages that require a
bind or rebind before they can be run, and the plans and packages that are
automatically rebound the next time they are run.
SELECT NAME, CREATOR, BINDDATE, VALID, OPERATIVE
FROM SYSIBM.SYSPLAN
WHERE OPERATIVE = ’N’ OR VALID = ’N’;
SELECT COLLID, NAME, VERSION, BINDTIME, VALID
FROM SYSIBM.SYSPACKAGE
WHERE OPERATIVE = ’N’ OR VALID = ’N’;
v The following SELECT statements find all objects required for the current user’s
programs.
SELECT DNAME, BTYPE, BCREATOR, BNAME
FROM SYSIBM.SYSPLANDEP
WHERE BCREATOR = USER
ORDER BY DNAME, BTYPE, BCREATOR, BNAME;
SELECT DCOLLID, DNAME, BTYPE, BQUALIFIER, BNAME
FROM SYSIBM.SYSPACKDEP
WHERE BQUALIFIER = USER
ORDER BY DCOLLID, DNAME, BTYPE, BQUALIFIER, BNAME;
v The second SELECT from SYSTABLES provides information about all the DEPT
tables regardless of the owner.
DSNTESQ
DSNTESQ contains a set of queries to check consistency between catalog tables.
The SQL statements are in a format available for input to SPUFI and DSNTEP2. If
SPUFI is not bound when you want to execute these queries, you can use the
Version 7 DSNTEP2.
Before running these queries, you should run the DSN1CHKR utility to make sure
the physical structure of the catalog is correct. You should also run the CHECK
INDEX utility.
The required and optional tasks are described in this topic. An IMS system
definition might be required to perform these steps. If RACF is installed, you also
need to define the IMS-to-DB2 connection to RACF. For information about how to
do this, see Part 3 (Volume 1) of DB2 Administration Guide.
In this topic:
v “Making DB2 load modules available to IMS.”
v “Defining DB2 to IMS” on page 442.
v “IMS attachment facility macro (DSNMAPN)” on page 447.
Connecting to more than one release of DB2: If any IMS region connects to more
than one release of DB2, then you must ensure that the DB2 load library used for
that region is compatible with each release. The IMS attachment facility is upward
compatible, but not downward compatible. This means you should use the oldest
release of the DB2 load library for the IMS region.
If you have not included the DB2 load libraries in your LNKLSTxx, you must add
STEPLIB statements to your startup procedures and add prefix.SDSNLOAD to the
DFSESL DD statement.
# v If all the data sets referred to in the JOBLIB or STEPLIB statement for an IMS
# region are APF-authorized, then add the DD statement for prefix.SDSNLOAD to
# the JOBLIB or STEPLIB statement. If the DYNAM option of COBOL is being
# used, the IMS RESLIB DD statement must precede the reference to
# prefix.SDSNLOAD in the JOBLIB or STEPLIB statement.
v Add the ddname DFSESL DD statement for prefix.SDSNLOAD. All libraries
specified on the DFSESL DD statement must be APF-authorized. The DFSESL
The DB2 identification for DL/I batch has more parameters than the control and
dependent regions. For information about DL/I batch, see Part 4 of DB2 Application
Programming and SQL Guide .
One SSM member can be shared by all of the IMS regions, or a specific member
can be defined for each region. This record contains as many entries as there are
connections to external subsystems. Each entry is an 80-character blocked or
deblocked record. The following examples show how to define fields for IMS.
Fields are keyword or positional and are delimited by commas. For more
information, see IMS Customization Guide from the appropriate release. The fields in
this record are:
SST=,SSN=,LIT=,ESMT=,RTT=,REO=,CRC=
where:
SST=DB2
is a required one-to eight-character name which defines the external
subsystem type. It must be set to DB2 for IMS to connect to DB2.
SSN= is a required one-to four-character DB2 subsystem name. This name must
be the name you specified for SUBSYSTEM NAME on installation panel
DSNTIPM. The default is DSN1.
LIT= is a required four-character alphanumeric option, specifying the language
interface token (LIT) supplied to IMS. The IMS-supplied language interface
module (DFSLI000) requires a value of SYS1 for this option.
If you need to define connections to different DB2 subsystems, you can
follow the procedure described in “Defining DB2 plans for IMS
applications (optional)” on page 446.
ESMT=
is a required one-to eight-character alphanumeric option specifying the
external subsystem module table. This module specifies which attachment
modules must be loaded by IMS. DSNMIN10 is the required value for this
field.
If a batch job fails, you must use a separate job to restart the batch job. The
connection name used in the restart job must be the same as the name used in
the batch job that failed. Or, if the default connection name is used, the restart
job must have the same job name as the batch update job that failed.
DB2 requires unique connection names for DB2 DL/I batch support. If two
applications try to connect with the same connection name, then the second
application is not allowed to connect to DB2. CONNECTION_NAME can be
1-8 characters long.
PLAN=
You can specify a DB2 plan name. If you do not specify a plan name, the
application program module name is checked against the optional resource
translation table. If a match is found, the translated name is used as the DB2
plan name. If no match is found, the application program module name is
used as the plan name. PLAN can be 1-8 characters long.
PROG=
You must specify the name of the application program to be loaded and to
receive control. PROG can be 1-8 characters long.
Providing IMS support for DB2 commands: You can enter DB2 commands through
the /SSR command of IMS. The /SSR command format is:
/SSR crc DB2 command
as in
/SSR -DISPLAY THREAD (*)
IMS supports this command; you must define the CRC in the SSM member of the
IMS control region. If the /SSR command is entered through the z/OS console, the
AUTHID WTOR needs to be granted the appropriate authority. If the /SSR
command is entered through an IMS terminal, the IMS LTERM name or the signon
ID (if active) needs to be granted the appropriate authority.
Specifying the SSM exec parameter: Specify the SSM EXEC parameter in the
startup procedure of the IMS control, MPP, BMP, or DL/I batch region. The SSM is
concatenated with the IMSID to form a member name in IMS.PROCLIB. The
IMSID comes from the IMSID option of the IMSCTRL generation macro or the
IMSID option in the control region startup procedure.
For DL/I batch regions, you can specify the DB2 connection parameters in the
DDITV02 data set instead of an SSM member. The DDITV02 data set and an SSM
member have the same format. See Part 4 of DB2 Application Programming and SQL
Guide for more information about the DDITV02 data set.
If you specify the SSM for the IMS control region, any dependent region running
under the control region can attach to the DB2 subsystem named in the
IMS.PROCLIB member specified by the SSM parameter. The IMS.PROCLIB
member name is the IMS ID (IMSID=xxxx) concatenated with the one to four
IMS allows you to define as many external subsystem connections as are required.
More than one connection can be defined for different DB2 subsystems. All DB2
connections must be within the same z/OS system. For a dependent region, you
can specify a dependent region SSM or use the one specified for the control region.
You can specify different region error options (REOs) in the dependent region SSM
member and the control region SSM member. Table 111 shows the different
possibilities of SSM specifications.
Table 111. SSM specifications options
SSM for Control SSM for Action Comments
Region Dependent
Region
No No None No external subsystem can be
connected
No Yes None No external subsystem can be
connected.
Yes No Use the control Applications scheduled in the
region SSM region can access external
subsystems identified in the
control region SSM. Exits and
control blocks for each attachment
are loaded into the control region
address space.
Yes Yes (NULL entry) No SSM is used Applications scheduled in this
for the dependent region can access DL/I databases
region only. Exits and control blocks for
each attachment are loaded into
the control region address space
and each dependent region
address space.
Yes Yes Check the Applications scheduled in this
dependent region region can access only external
SSM with the subsystems identified in both
control region SSMs. Exits and control blocks for
SSM. each attachment are loaded into
the control region and the
dependent region address space.
You can define new programs and transactions that access DB2 resources to your
IMS system. Coordinate with your IMS support group to install the programs and
transactions for Phase 4 of the verification process. For more information, see
Chapter 10, “Verifying installation with the sample applications,” on page 365.
The default is to have the DB2 plan name the same as the IMS application
program load module name. The recommendation is that you use the default.
If you assigned a different name to the plan, you need a resource translation table
(RTT). If you chose an error option different from the REO default, you also need
an RTT. DB2 provides the DSNMAPN macro in prefix.SDSNMACS to generate an
RTT. After it is assembled, the table must be link-edited as REENTRANT with
RMODE=24 into any authorized library that is concatenated with the library from
which IMS loads the DB2 IMS attach modules.
To provide this access, the SSM must contain one entry for each subsystem. Each
entry contains a different subsystem ID and its associated language interface token
(LIT). IMS provides the DFSLI macro to generate additional language interface
modules with unique LITs. The general format of the macro is shown in Table 113.
Table 113. DFSLI macro format and meaning
Macro Option Meaning
DFSLI TYPE Specifies the type of subsystem that
can be accessed through this language
interface module. DB2 is the only
value supported by this option
LIT Defines a name (called LIT) to relate a
language interface module with an
entry in the SSM for the dependent
region
When an IMS application issues a DB2 request, IMS knows the target subsystem
by the LIT used in the request. For example, consider the case of a dependent
region accessing two DB2 subsystems (DSN1 and DSN2):
Even though a region can communicate with two or more DB2 subsystems, an IMS
application can access only one—the DB2 subsystem referred to in the language
interface that is link-edited. You can alter the SSM to route application requests to
a different DB2 subsystem.
For more information on the RTT, refer to “Defining DB2 plans for IMS
applications (optional)” on page 446.
Notes:
1. The macro name must be followed by one or more blanks before options are
coded.
2. Multiple options must be separated by commas (with no blanks).
label DSNMAPN
DSNMAPN is the name of the macro. It must be coded exactly as it appears
here, and it must be separated from any optional options by one or more
blanks.
For label, substitute the CSECT name of your module. This name must match
the name of the module specified to the linkage editor. Label is optional except
for the first invocation of the DSNMAPN macro. The last invocation requires
END=YES.
APN=program-name
Specifies the name of an application load module scheduled by IMS. For
program-name, substitute an application name of up to eight characters.
PLAN=plan-name
Specifies an application plan name that is used (instead of the default
application name) when a thread is created. For plan-name, substitute an
application plan name of up to eight characters.
OPTION=R|Q|A
Specifies the action taken when an application program call cannot be
performed because there is some problem in communication between the
application program and the DB2 subsystem or if resources are unavailable.
Default: NO
Usage notes
v To enter more than one application name (with its corresponding plan name and
OPTION specification), you must use multiple invocations of the DSNMAPN
macro. The first invocation requires the label; the last invocation requires
END=YES.
v Invocations must be in ascending order by application name. If they are not, an
MNOTE macro error is generated.
See DB2 Data Sharing: Planning and Administration for information about connecting
data base management systems (DBMSs) with a data sharing group.
WebSphere
Application
TCP/IP Server
Java/JDBC
TCP/IP Web Servers
AIX
HP-UX
Solaris
Java Applets
Linux
with JDBC
Linux/390
Windows
Web Users Web Users
Attention: A requester cannot connect to a given location using both SNA and
TCP/IP protocols. For example, if your SYSIBM.LOCATIONS specifies a
LINKNAME of LU1, and if LU1 is defined in both the SYSIBM.IPNAMES and
SYSIBM.LUNAMES table, TCP/IP is the only protocol used to connect to LU1
from this requester for DRDA connections. For private protocol connections, the
SNA protocols are used. If you are using private protocol connections, the
SYSIBM.LUNAMES table must be defined for the remote location’s LUNAME
| DRDA enhancements
| Some of the DRDA enhancements in Version 8 include:
| v Long 255 IDs: Allows the flowing of long SQL identifier, package and procedure
| names.
| v Enhanced describe: Allows requesters to request additional SQLDA descriptive
| information about an SQL statement than the information returned in a standard
| SQLDA. JDBC and CLI clients exploit this enhancement for improved JDBC and
| CLI functionality.
| v Extended diagnostics: Adds and extends the existing SQLCA structure that
| flows between requesters and servers. The new SQLCA structure provides
| additional diagnostics for multi-row SQL operations, server-provided warning
| and error message texts, and additional serviceability information to help
| diagnose distributed data problems.
| v Multi-row fetch and insert: Supports the new multi-row SQL statements
| introduced in Version 8.
| v SQL cancel: Remote interrupt support allows a CLI or JDBC application the
| ability to cancel a long-running request running on a DB2 Server.
| v Scrollable cursors: Support for scrollable cursors has been enhanced in Version
| 8. See “Migration considerations” on page 306 for more information about
| scrollable cursors.
| v Cursor attributes: Allows additional cursor attributes to be provided at prepare
| time.
| v Monitoring: Provides the ability for a server to return how long it takes to
| process a request by DB2. This function is used by the DB2 Connect system
| monitoring feature.
Support for extended dynamic SQL: If this DB2 subsystem services requesters that
support extended dynamic SQL, such as SQL/DS™, enter YES in field DESCRIBE
FOR STATIC on installation panel DSNTIPF. This option lets applications from the
requesting system execute SQL DESCRIBE statements that appear as extended
dynamic SQL statements in the requesting system, but appear as static SQL in the
DB2 package. For the option to take effect, you must bind the package with
DESCRIBE FOR STATIC enabled.
Test your connections You should test systems with each other to ensure that their
communications setups are correct. If you are testing with another DB2 UDB for
z/OS, enter the location name of that other site in field REMOTE LOCATION of
installation panel DSNTIPY. The remote location must also have DDF installed and
active and must have run the first sample job, DSNTEJ1.
To prepare DB2 for communication using the distributed data facility (DDF), we
suggest the following steps. You can do steps 1, 2, and 3 after installing DB2. Steps
6 through 8 are optional.
“Step 1: Customize VTAM for DB2” on page 457
To make monitoring of the network easier, consider installing NetView. For
information about NetView, see Tivoli NetView for z/OS Installation: Getting
Started. For information about planning your network, see Planning for NetView,
NCP, and VTAM. For information about installing VTAM, see VTAM for
MVS/ESA Network Implementation Guide.
“Step 2: Choose names and a password” on page 457
You need to choose two names for the local DB2 subsystem: a location name
and a logical unit name (LU name). A location name distinguishes a specific
database management system in a network, so applications use this name to
direct requests to your local DB2 subsystem. Other systems use different terms
for a location name. For example, DB2 Connect calls this the target database
name. We use the DRDA term, RDBNAM, to refer to non-DB2 systems’
relational database names.
An LU name is the name by which VTAM recognizes this subsystem in the
network. You might need to know the LU names of other systems that can
request data from the local DB2 subsystem, or you can use a default LU name
of eight blanks.
If you plan to request data from other systems, you need the LU names and
location names for those serving systems. Most of the time, system
administrators and operators need to know both names, because they can use
both names in various commands, and DB2 uses both names in messages.
In addition to the names mentioned above, you can choose an optional
password to validate your local DB2 subsystem to VTAM. If the z/OS system
on which DB2 is running is part of an z/OS Parallel Sysplex, you can choose a
generic LU name to define a DB2 group to remote locations. For information
about using generic resources, see VTAM for MVS/ESA Network Implementation
Guide.
“Step 3: Define the DB2 subsystem to VTAM” on page 459
DB2 does not require you to use a password as long as you have not included one
in the VTAM APPL statement.
When your systems begin communicating, you and others involved in working
with distributed systems need to be aware of the LU name to DRDA RDBNAM
mappings. When you have obtained the necessary names, enter them in the CDB
as described in “Step 4: Populate the communications database” on page 466.
Transaction program names (TPNs): If a server is not a DB2 UDB for z/OS, it
might have an additional name that uniquely identifies it. In LU 6.2, this is known
as a transaction program name (TPN), and can be from 1 to 64 characters long. When
a DB2 UDB for z/OS subsystem communicates with other DB2 UDB for z/OS
subsystems, you do not need to supply TPN values. The DB2 subsystems
automatically choose the correct TPN values for both DRDA access and DB2
private protocol access.
When a TPN is necessary: You might need to supply TPN values when a DB2
subsystem requests data from a server that is not a DB2 UDB for z/OS subsystem.
For cases where the server does not accept the default TPN for DRDA access, enter
into your CDB the TPN chosen by that server. For DB2 for VM, for example, the
TPN is the SQL database machine ID.
TPN values accepted by DB2 UDB for z/OS: A requester that is not DB2 UDB for
z/OS must use either the TPN name X'07F6C4C2' or DB2DRDA, which are the
only values DB2 recognizes when it accepts a request from another system. Some
requesters enter the TPN as two separate fields: a 1-byte prefix (X'07') and a 3-byte
suffix ('6DB').
Spiffy uses the statement in Figure 88 for the USIBMSTODB21 DB2 subsystem:
For your convenience, the APPL statement example is provided in data set
DSN8VTAM, in the sample library, SDSNSAMP.
The topics that follow describe the APPL options that Spiffy uses and a few more
in which you might be interested. There are others you can use; for information
about those, see VTAM for MVS/ESA Resource Definition Reference.
You can create your own log mode table, or add mode names to the default mode
table, called ISTINCLM, that is shipped with VTAM. If you decide to add your
modes to the default mode table (ISTINCLM), you can find that table in
SYS1.SAMPLIB.
Spiffy decides to use the DB2 default modes at first, but also to go ahead and set
up a separate mode table for modes used by DB2 for distributed data processing.
They can then populate this table with additional modes as they are needed.
Default modes
There are the following default modes:
v SNASVCMG is an optional mode. It is reserved for use by VTAM for CNOS
processing (described in “Interpreting CNOS messages” on page 482) and exists
in the VTAM default log mode table. Because SNASVCMG is reserved for use
by VTAM, do not enter it as a mode name in the CDB. If you have decided to
set up a separate mode table for DB2, you can, if you choose, copy the
SNASVCMG mode entry into your DB2 mode table, or just use it as it exists in
the ISTINCLM mode table. See VTAM for MVS/ESA Resource Definition Reference
for a description of this mode.
v IBMRDB is a recommended mode entry because it is used as a default for
DRDA access whenever you do not explicitly assign a mode to a session. It does
not exist in the default table; to use it as a default you must add it to your mode
table.
v IBMDB2LM is a recommended mode entry because it is used as a default for
DB2 private protocol access whenever you do not explicitly assign a mode to a
session. It does not exist in the default table; to use it as a default you must add
it to your mode table.
Use the MODEENT macro to enter each mode into your mode table. When this
table is complete, you must assemble and link-edit it into SYS1.VTAMLIB. See
VTAM for MVS/ESA Resource Definition Reference for more information about
creating mode tables.
The samples in Figure 89 work for both dependent and independent LUs; however,
if you have no dependent LUs, it is not necessary to re-assemble your existing
mode table with the above options. For your convenience, a sample MODEENT is
included in data set DSN8VTAM, in SDSNSAMP. See Distributed Relational Database
Architecture: Connectivity Guide for more information about dependent LUs.
The ENCR option is ignored by LU 6.2 and is thus not included in our samples.
DB2MODES MODETAB
IBMDB2LM MODEENT LOGMODE=IBMDB2LM, DB2 DEFAULT MODE FOR SYS-DIR ACC X
TYPE=0, NEGOTIABLE BIND X
SSNDPAC=X’02’, SECONDARY SEND PACING COUNT X
SRCVPAC=X’00’, SECONDARY RECEIVE PACING COUNT X
RUSIZES=X’8989’, RUSIZES IN-4096 OUT-4096 X
FMPROF=X’13’, LU6.2 FM PROFILE X
TSPROF=X’07’, LU6.2 TS PROFILE X
PRIPROT=X’B0’, LU6.2 PRIMARY PROTOCOLS X
SECPROT=X’B0’, LU6.2 SECONDARY PROTOCOLS X
COMPROT=X’50A5’, LU6.2 COMMON PROTOCOLS X
PSERVIC=X’060200000000000000122F00’ LU6.2 LU TYPE
IBMRDB MODEENT LOGMODE=IBMRDB, DB2 DEFAULT MODE FOR APP-DIR ACC X
TYPE=0, NEGOTIABLE BIND X
SSNDPAC=X’02’, SECONDARY SEND PACING COUNT X
SRCVPAC=X’00’, SECONDARY RECEIVE PACING COUNT X
RUSIZES=X’8989’, RUSIZES IN-4096 OUT-4096 X
FMPROF=X’13’, LU6.2 FM PROFILE X
TSPROF=X’07’, LU6.2 TS PROFILE X
PRIPROT=X’B0’, LU6.2 PRIMARY PROTOCOLS X
SECPROT=X’B0’, LU6.2 SECONDARY PROTOCOLS X
COMPROT=X’50A5’, LU6.2 COMMON PROTOCOLS X
PSERVIC=X’060200000000000000122F00’ LU6.2 LU TYPE
MODEEND
END
Modeent options
When considering values for modes, realize that the partner system can choose
different values. If the partner has different values, VTAM negotiates the values to
limits acceptable to both systems when the session is established for the mode.
The options used in the MODEENT macro have the following meanings.
name The name option (IBMDB2LM and IBMRDB in the examples) is
optional and has no function in the specification of a logon mode
table.
LOGMODE Specifies the logon mode name to be used as a key for the session
options in this table entry. This logon mode name corresponds to
mode name columns in the CDB.
TYPE TYPE=0 indicates that DB2 is using a negotiable BIND, which is
required for communicating with dependent LUs.
Some of the above options can have a profound effect on performance because of
their impact on pacing. For more information about these pacing options, see
“Controlling pacing” on page 472.
The ENCR option is ignored by LU 6.2; thus it is not included in the sample
above.
However, if you intend to request data, you need to insert one row for each remote
system into SYSIBM.LOCATIONS and SYSIBM.LUNAMES. You do not need to
populate table SYSIBM.LULIST unless DB2 is acting as a requester of data that
resides in a data sharing group. See DB2 Data Sharing: Planning and Administration
for more information. Part 3 (Volume 1) of DB2 Administration Guide discusses the
requirements for the other tables.
After you populate these tables, you can write queries that access data at a remote
system. For instructions on sending SQL statements to other systems, see DB2
Application Programming and SQL Guide. For instructions on granting privileges to
users on remote DB2 subsystems, see Part 3 (Volume 1) of DB2 Administration
Guide.
SYSIBM.LOCATIONS table
The table LOCATIONS has the following purposes:
A row for the local location: You do not need a row for the local DB2 in the
LUNAMES and LOCATIONS tables. For example, Spiffy’s USIBMSTODB21
subsystem does not require a row that shows its own LU name and location name.
However, for convenience, Spiffy decides to populate one LUNAMES table and
one LOCATIONS table and to duplicate them entirely at each location. As a result,
each table contains a row for its own LU name or location name.
SYSIBM.LUNAMES table
LUNAMES defines the security and mode requirements for conversations with
other systems. Decisions about how to populate this table depend on how you
intend to use DB2:
v If you use this system only as a server, DB2 can use a blank in the LUNAME
column as a default. DB2 uses the values in the default row as defaults for LUs
that are not explicitly defined in LUNAMES. If you do not have a row with a
blank in the LUNAME column, DB2 rejects client connections that do not
explicitly state a valid LUNAME. The DSNTIJSG installation job creates the
default row in table SYSIBM.LUNAMES.
v If this DB2 requests data from other systems, you need to provide LU names for
those systems.If the remote LU exists in the same VTAM domain, specify the
APPL name, not the ACBNAME.
LUNAMES has the following columns:
LUNAME CHAR(8)
The LU name of the remote system. The default of 8 blanks indicates that
this row is used for serving the requests of any system that is not
specifically listed in the LUNAMES table. For example, because
USIBMSTODB21 acts strictly as a server for many OS/2 requesters, Spiffy
leaves the LUNAME column blank for those requesters and uses default
values for the entire row.
However, you must provide LU names for any remote system that uses
different values from the defaults.
SYSMODENAME CHAR(8)
The mode used to establish system-to-system conversations for DB2 private
protocol access. This column is ignored for DRDA access conversations. For
now, Spiffy leaves it blank to use the default mode, IBMDB2LM, which
they entered in step 3.
SECURITY_IN CHAR(1)
Defines the security options that are accepted by this DB2 subsystem when
an SNA client connects to DB2. The default, A, means that an incoming
connection request is accepted if it includes any of these:
Spiffy can use an SQL INSERT statement to add the appropriate rows. For
example, they add the LU name for USIBMSTODB22 with this statement:
INSERT INTO SYSIBM.LUNAMES (LUNAME)
VALUES (’LUDB22’);
You must start VTAM before starting DDF. For information on how to start VTAM,
see VTAM for MVS/ESA Network Implementation Guide.
There are two VTAM libraries that must contain definitions for DB2:
v SYS1.VTAMLST contains the definitions that define DB2 as a VTAM application.
“Step 3: Define the DB2 subsystem to VTAM” on page 459 contains more
information about these definitions.
You can use the following VTAM command to enable DB2, assuming that the
member DB2APPLS contains definitions for DB2:
V NET,ACT,ID=DB2APPLS
v SYS1.VTAMLIB contains mode table definitions used by DDF. This must be an
APF-authorized library, or in a concatenation of APF-authorized libraries. For
more information about modes and mode tables, see “The MODEENT macro”
on page 464.
Before you begin tuning the network, you must understand the relationship
between VTAM options and associated values in DB2’s CDB. Table 117 summarizes
the relationship.
Table 117. Relationship between DB2’s CDB and VTAM macros
Macro Name Option CDB table.column Relationship
APPL name LOCATIONS.LINKNAME The LU name used in VTAM
LUNAMES.LUNAME communication. This name maps 1:1 to
LUMODES.LUNAME the system’s location name in
MODESELECT.LUNAME LOCATIONS.
USERNAMES.LINKNAME
LULIST.LINKNAME
APPL DSESLIM LUMODES.CONVLIMIT CONVLIMIT overrides session limits
specified with DSESLIM. Session limit
values are used in CNOS processing.
MODEENT LOGMODE LUNAMES.SYSMODENAME MODENAME chooses the mode for the
system conversation in DB2 private
protocol access.
MODEENT LOGMODE LUMODES.MODENAME LUMODES creates session limits for
specific LU name and mode name
combinations.
MODEENT LOGMODE MODESELECT.MODENAME MODESELECT maps authorization IDs
and plans to specific modes.
You can monitor VTAM buffer pools using one of the following:
v The VTAM command DISPLAY NET,BFRUSE
v A VTAM trace, obtained by entering the following z/OS MODIFY command:
F procname,TRACE,TYPE=SMS,ID=VTAMBUF
Procname in the command is the VTAM start procedure name. The data is
collected by the generalized trace facility (GTF).
DB2 applications can consume a large number of VTAM IOBUF pool buffers,
depending on the VTAM options you choose and the volume of data being
transmitted between distributed systems. You can estimate the number of IOBUF
pool buffers, and the storage they use, by using the formula described in
“Calculating VTAM I/O buffer pool (IOBUF) storage” on page 481.
The VTAM IOBUF pool is an area of storage that VTAM uses to store messages
that are exchanged between network resources. The IOBUF pool is shared among
all VTAM resources. When you calculate the IOBUF storage required to satisfy DB2
requirements, keep in mind that the IOBUF pool must have enough space to
satisfy requests from other VTAM applications as well, such as TSO, CICS, and
IMS.
Tuning the IOBUF pool encompasses both base allocation and dynamic expansion
values. At installation, you can specify a base allocation for the IOBUF pool (in
number of buffers) and a dynamic expansion (in number of buffers). When storage
runs short in the buffer pool, VTAM temporarily expands the IOBUF pool by the
dynamic expansion value, based on a trigger which you can also specify in VTAM
definitions. Recommendation: Set a maximum size for the IOBUF pool size using
the xpanlim start option for the buffer pool. If you turn off pacing accidentally,
xpanlim prevents DB2 from causing VTAM to grab unlimited amounts of storage.
For more information about allocating buffer pools, see VTAM for MVS/ESA
Network Implementation Guide.
Because reducing the number of sessions and the RUSIZES value can adversely
affect performance, you should first consider increasing IOBUF buffers and
decreasing the session pacing count.
Controlling pacing
Session level pacing is the mechanism by which the receiver of data (DB2 in this
case) can control the pace at which the sender sends data (in the form of RUs). The
pacing size is the number of RUs VTAM sends across the line at one time, and you
set that value using the VPACING option of the VTAM APPL definition statement
described in “The APPL statement” on page 460. You set the RU size in the
MODEENT macro described in “The MODEENT macro” on page 464. The
receiving VTAM stores these RUs in its IOBUF pool; it uses pacing so that its
buffers do not become flooded with data.
The pacing process works as shown in Figure 90 on page 473. The system at the
sending side (let’s assume it is USIBMSTODB22) passes data to its VTAM system.
VTAM formats the data into RUs and sends those RUs across the network. If, for
example, the pacing size is 2, then it sends two RUs. A 29-byte network header is
sent with each RU.
After the USIBMSTODB22 VTAM system sends the specified number of RUs, it
does not send any more data on this session until it receives a pacing response
Although it is generally true that the receiving system can control inbound pacing,
both communicating systems negotiate final pacing values. For more information
about pacing negotiation, see VTAM for MVS/ESA Network Implementation Guide.
The VPACING value is used with the RUSIZES option of the MODEENT macro to
control the pacing window size. Thus, if VPACING is 2 and RUSIZES is 4–KB
(X'8989'), then about 2 × 4KB = 8KB are sent before waiting to receive a pacing
response. You should verify that your VTAM buffer pools are large enough to
accommodate the chosen pacing and RU sizes. See “Calculating VTAM I/O buffer
pool (IOBUF) storage” on page 481 for information about calculating buffer pool
sizes.
DB2 private protocol access can take advantage of more sessions. For best
performance, every read-only cursor in an application can use its own
conversation. However, there can be resource constraints that disallow so many
sessions. When conversation limits have been reached, DB2 begins sharing
available conversations, if the application already owns one or more VTAM
conversations. This means that, if an application has acquired its first conversation,
it is not rejected because of a shortage of conversations.
As you begin increasing the number of applications that use the distributed data
facility, you might find that your applications are waiting for conversations to
become available, thus increasing the network delay associated with the
application. Therefore, this topic also tells how to increase your default maximum
session limit to ensure enough resources for best performance.
If you have specified OPERCNOS=ALLOW in the VTAM APPL statement, you can
change the session limits dynamically with the VTAM command MODIFY
VTAM,DEFINE. See VTAM for MVS/ESA Operation for more information about
VTAM commands.
To specify a class of service for a specific mode, use the COS (class of service
name) option of the MODEENT macro. When you specify a name of a COS entry
in the mode description, you select the list of routes you want to be used for the
session. When VTAM establishes the session, it chooses the first available route in
the list of routes you tell it to use for that class.
If you do not specify a COS name, the mode gets the default list of routes from
VTAM.
As you tune your system, you can assign certain applications, such as a high
priority job, to the mode that is best suited for that job. You can also use a specific
mode assignment for an application that uses many conversations. You can assign
such an application to a mode that allows more conversations than the VTAM
DSESLIM value you entered in the APPL statement.
To associate a specific mode with a particular session, you need to update or insert
rows into three tables in the CDB: LUNAMES, LUMODES, and MODESELECT.
For information about when updates to the CDB are activated, see “Updating CDB
values” on page 478.
| System conversation: For DB2 private protocol access, the system conversation must
| be established before any processing can begin. To choose a system mode, DB2
| looks in the SYSMODENAME column of the row in the LUNAMES table that
| corresponds to the target DB2.
| Recommendation: You should define a separate mode name for the system
| conversation. Assign a mode name to the SYSMODENAME column rather than
| leaving it blank. At the same time, ensure that the SYSIBM.MODESELECT table is
| defined to prevent other applications from using this mode. This defines a mode
| exclusively for DB2 system processing. The specified system conversation mode
| should be defined with a minimum of 3 sessions, allowing for two system
| conversations that always exist once a remote system is accessed via private
| protocols, and a third for obtaining Parallel Sysplex balancing information. The
| advantage of doing this is that system conversations and SQL conversations will
| not contend with each other for sessions.
Spiffy wants to use the mode LOC2MODE for system conversations with
USIBMSTODB22’s DB2, using DB2 private protocol access. They also want to begin
setting up different modes for specific applications to use in conversations with
USIBMSTODB22. They enter into their DB2 mode table a mode named
Chapter 13. Connecting systems with VTAM 475
LOC2MODE. In a later step, they define LOC2MODE in MODESELECT; for now,
they update the LUDB22 row of LUNAMES as shown in Table 118.
Table 118. Spiffy’s LUNAMES table, after update
LUNAME SYSMODENAME USERSECURITY1 ... MODESELECT ...
LUDB22 LOC2MODE Y
Note: 1USERSECURITY represents SECURITY_IN and SECURITY_OUT
Spiffy can use the UPDATE statement below to make the change, which takes
effect the next time DDF is started. (It takes effect immediately if DDF is started
but USIBMSTODB22 is not yet accessed.)
UPDATE SYSIBM.LUNAMES
SET MODENAME=’LOC2MODE’, MODESELECT=’Y’
WHERE LUNAME=’LUDB22’;
LUMODES is accessed for negotiation of session limits with a remote DB2 for a
specific mode. This negotiation is called change number of sessions (CNOS), which is
discussed in “Interpreting CNOS messages” on page 482.
For example, suppose Spiffy wants to allocate 75 sessions instead of 50 (the value
in DSESLIM) for conversations to USIBMSTODB22, using the mode named
LOC2MODE. They can use the INSERT statement below to update the value in the
CONVLIMIT column to 75. The new session limit takes effect the next time DDF is
started, or in the initial connection to this LU for this mode.
INSERT INTO SYSIBM.LUMODES VALUES (’LUDB22’,’LOC2MODE’,75,’N’);
CNOS processing negotiates a value that is the lesser of the number of sessions
available at either system for that mode. Therefore, USIBMSTODB22 must also
increase its CONVLIMIT value to derive any benefit from the added sessions.
Use this table to make sure that certain authorization IDs using certain plans
always have a predefined class of service suited for that operation. For example,
the USIBMSTODB21 location might want to work with USIBMSTODB22 to set up a
high performance mode for DBADM to run queries to USIBMSTODB22. After the
following statement is committed, all subsequent threads to USIBMSTODB22 use
mode DB2MODE1 to process SQL processing conversations:
INSERT INTO SYSIBM.MODESELECT VALUES (’DBADM’,’ ’,’LUDB22’,’DB2MODE1’);
Populating this table is optional. If the remaining columns are blank for any given
LU name, then the mode name applies to all authorization IDs for all
PLANNAMEs accessing the given LU name.
The MODESELECT table of the CDB is used to choose a mode for an SQL
processing conversation (if the MODESELECT column of the LUNAMES table
contains Y for this LU name). Table 119 shows the search order of the
MODESELECT table.
Table 119. Precedence search order for MODESELECT table of CDB
AUTHID PLANNAME Result
Name Name The MODENAME applies to the named AUTHID for the
named PLANNAME accessing the named LU.
Plan name for remote bind operations: If you want to specify a particular mode for
remote bind operations, use the plan name DSNBIND in MODESELECT.
In all cases, existing conversations continue to operate as the table specified before
the update.
If you have applications that use both DRDA access and DB2 private protocol
access, first read this topic, then see “Considerations for mixed applications” on
page 480.
Example: Assume that Mode2 could possibly be running the three applications
described below concurrently.
This procedure has to be repeated for every mode to determine which mode uses
the greatest number of sessions. This, then, is the value of DSESLIM.
(A) For the requester, the requirement is 1, which is the only number of sessions that
can be used by an DRDA access application.
(B) The requirement is the value for DB2 private protocol access (connection from B
to C) plus 1 for the DRDA access connection from B to A.
(C) The requirement is the value for DB2 private protocol access only. No DRDA
access is possible at this site for this application.
v An application uses DRDA access to connect to one location, then drops that
connection using SQL RELEASE and COMMIT statements, then uses DB2
private protocol access to access another DB2. (This same method could be used
to access the same location; you would still have to drop your DRDA access
connection to access DB2 using DB2 private protocol access.)
This type of application is shown in Figure 92 on page 481.
(A) The session requirement is the same as for DB2 private protocol access because
only one type of access can be active at a time.
(B) The requirement is 1, for the DRDA access connection.
(C) The requirement is the value for DB2 private protocol access only.
Do the following to calculate the maximum number of buffers required for the
local DB2 subsystem:
1. Calculate the number of buffers that each PIU occupies, and call it PIUBUF.
PIUBUF = CEILING(( 29 + RUSIZE ) / BUFSIZE)
RUSIZE is the length of the RU in bytes. It is assumed to be the same for both
session directions. BUFSIZE is the value you specified in the IOBUF pool
definition.
Assume you have a buffer size of 441 bytes, and an RUSIZE of 4096. With these
values, PIUBUF would be 10 ((29+4096) / 441, rounded up).
When sessions are started: The AUTOSES option of the VTAM APPL determines
whether, and how many, sessions are started at the time CNOS is negotiated. If
AUTOSES is 0, then the sessions are not started at CNOS negotiation time; they are
started as they are needed. We do not recommend an AUTOSES of 0, because then
DB2 is not informed if CNOS fails, and you receive a “resource unavailable” SQL
code with the first SQL request to the remote system.
Each LU has its own value for the number of contention winner sessions to start.
The total number of sessions started on behalf of a CNOS negotiation request is
the sum of the sessions started at each site.
USIBMSTODB21 USIBMSTODB22
APPL Values APPL Values
DSESLIM 50 DSESLIM 40
DMINWNL 25 DMINWNL 20
DMINWNR 25 DMINWNR 20
AUTOSES 1 AUTOSES 1
Assume that USIBMSTODB21’s DDF is started first. CNOS processing fails because
USIBMSTODB22’s DDF has not yet started, and you get a message at the console.
When USIBMSTODB22’s DDF is started, CNOS processing can begin.
USIBMSTODB21 USIBMSTODB22
APPL Values APPL Values
Figure 94. Result of CNOS negotiation started by USIBMSTODB21. Overridden values are
noted with asterisks (*).
VTAM does not start all 40 sessions unless the two AUTOSES values total up to 40
or greater. Instead, VTAM delays starting the other sessions until they are needed.
USIBMSTODB21 USIBMSTODB22
APPL Values APPL Values
If the new negotiated value is smaller than the number already started by
USIBMSTODB21, then VTAM terminates the number of sessions that makes up the
difference. If the CONVLIMIT value at USIBMSTODB22 is 20, for example, VTAM
terminates 20 sessions on behalf of the request from USIBMSTODB22 because the
lowest negotiated value always wins. If a session is currently being used by a
conversation, the session is terminated as soon as the conversation is deallocated.
This set of definitions includes the basic definitions you need to connect two DB2s.
Additional options for channel-to-channel and Network Control Program (NCP)
connections are covered as well.
Basic definitions
The basic definitions here are required for all VTAM connections. For more
information about these definitions, see VTAM for MVS/ESA Resource Definition
Reference.
In many cases, the DB2 RU size is larger than any other PIUs used on existing
CTCs, which can mean you must examine your MAXBFRU values on existing CTC
definitions. If the values are too small, you get an SNA X'800A' sense code,
indicating that the PIU was truncated during transmission.
***********************************************************************
** CTC DEFINITIONS FOR SYSTEM 1 *
***********************************************************************
DB1CTC VBUILD TYPE=CA CTC MAJOR NODE DEFINITION
DB1GRPB GROUP LNCTL=CTCA, CTCA LINE TYPE X
MIH=YES,REPLYTO=10.0
DB1CTCL LINE ADDRESS=(500), CTC ADDRESS FOR THIS LINE X
DELAY=0, CTC DELAY X
MAXBFRU=8, MAX BUFFER USED X
ISTATUS=ACTIVE INITIAL STATUS IS ACTIVE
DB1CTCP PU ISTATUS=ACTIVE
***********************************************************************
** CTC DEFINITIONS FOR SYSTEM 2 *
***********************************************************************
DB2CTC VBUILD TYPE=CA CTC MAJOR NODE DEFINITION
DB2GRPB GROUP LNCTL=CTCA, CTCA LINE TYPE X
MIH=YES,REPLYTO=10.0
DB2CTCL LINE ADDRESS=(500), CTC ADDRESS FOR THIS LINE X
DELAY=0, CTC DELAY X
MAXBFRU=8, MAX BUFFER USED X
ISTATUS=ACTIVE INITIAL STATUS IS ACTIVE
DB2CTCP PU ISTATUS=ACTIVE
***********************************************************************
** PATH - NETWORK ROUTES FOR SYSTEM 1 *
***********************************************************************
MVSDB2 PATH DESTSA=2,ER1=(2,1),VR1=1, X
VRPWS10=(2,30),VRPWS11=(2,30),VRPWS12=(2,30)
***********************************************************************
** PATH - NETWORK ROUTES FOR SYSTEM 2 *
***********************************************************************
MVSDB1 PATH DESTSA=1,ER1=(1,1),VR1=1, X
VRPWS10=(2,30),VRPWS11=(2,30),VRPWS12=(2,30)
***********************************************************************
** CDRSC DEFINITIONS FOR SYSTEM 1 *
***********************************************************************
VBUILD TYPE=CDRSC
DB2APPL CDRSC CDRM=DB2CDRM,ISTATUS=ACTIVE
***********************************************************************
** CDRSC DEFINITIONS FOR SYSTEM 2 *
***********************************************************************
VBUILD TYPE=CDRSC
DB1APPL CDRSC CDRM=DB1CDRM,ISTATUS=ACTIVE
NCP-connected DB2s
The Advanced Communications Facility/Network Control Program (ACF/NCP) is
a product you use to generate a network control program load module, which is
loaded from the host into a communications controller. The network control
program controls the lines and devices attached to it. It transfers data to and from
the devices and handles any errors that occur, including retries after line errors.
When you are defining your NCP connections, remember the following:
v MAXBFRU must be large enough to handle the biggest PIU that is sent to the
NCP. In our example, DB2 is sending 4125 bytes per PIU (4096 + a 29-byte
network header). Given an IOBUF buffer size of 441 bytes, MAXBFRU must
therefore be at least 10 (10 × 441 = 4410, which is greater than 4125).
v The MAXDATA option must also be large enough to handle biggest PIU
(RUSIZE + 29 bytes).
If DB2 is using existing NCP definitions, you should make sure your MAXBFRU
and MAXDATA options are large enough. If these values are too small, you get an
SNA X'800A' sense code, indicating that the PIU was truncated during
transmission.
| You can add or delete aliases by respecifying the ALIAS names. The new list of
| names replaces the existing list.
For more information about the change log inventory utility, see Part 3 of DB2
Utility Guide and Reference.
The domain name (IP address) and service name (port number) uniquely identify a
DB2 subsystem in the TCP/IP network. The domain name and the service name of
the database server must be defined in the communications database (CDB) so that
a DB2 subsystem can connect to a remote location. The domain name and service
name must be defined to the TCP/IP host so that a DB2 subsystem can accept
connections from remote locations. When DDF is started, the DB2 subsystem binds
itself to the port.
DB2 obtains more information from the TCP/IP stack, therefore requiring more
configuration than many other daemons.
If you do not use VTAM to communicate with remote sites, you still must define
VTAM to DB2 as described in Chapter 13, “Connecting systems with VTAM,” on
page 455 because DB2 TCP/IP communications uses NETID and LUNAME to
identify units of work.
See DB2 Data Sharing: Planning and Administration for information about TCP/IP
and data sharing.
TCP/IP limitations
TCP/IP does not support DB2 private protocol connections, but you can use SNA
for DB2 private protocol connections while using TCP/IP for DRDA connections.
TCP/IP does not have built-in security features that SNA has, such as SNA partner
LU verification. Because IP addresses are not as reliable as LU names, DDF
support for TCP/IP differs from support for SNA in these ways:
v There is no support for inbound name translation.
v A DB2 subsystem parameter defines the minimum security requirements for all
TCP/IP clients because inbound security requirements cannot be established on
individual clients. See the description of the TCP/IP ALREADY VERIFIED field
on installation panel DSNTIP5 (“Distributed data facility panel 2: DSNTIP5” on
page 225).
v You cannot use the CDB for come from checking of TCP/IP clients.
DB2 uses the port specified on the RESYNC PORT field of installation panel
DSNTIP5 for 2-phase commit resynchronization. DB2 begins resynchronization
using the partner’s IP address and LOCATION name, and the RESYNC PORT
obtained at the time of initial connection. If the partner’s IP address changed, the
resynchronization fails. For example, if the partner was DB2 UDB for z/OS, the IP
address can change when the automatic restart manager (ARM) restarts a data
sharing member on a different CPC. The IP address can also change when an z/OS
adapter fails and virtual IP addresses were not used.
Although multiple TCP/IP stacks are not recommended for DB2, there may be
reasons why multiple stacks may be appropriate for your installation. A possible
reason for using multiple TCP/IP stacks could be to separate internet and intranet
traffic. The firewall on the stack handling external traffic can be configured only to
forward very selected traffic internally, whereas the internal stack does whatever is
indicated with internal traffic, including forwarding to the ″external″ stack. Second,
a denial-of-service attack on the stack handling external traffic will not affect traffic
on the stack handling internal traffic, so there is an element of resistance to attack
with two stacks.
# Use either of the following z/OS Security Server (RACF) commands to assign an
# OMVS segment to a z/OS user ID:
# v ADDUSER ddfuid OMVS(UID(nnn))...
# v ALTUSER ddfuid OMVS(UID(nnn))...
# where ddfuid is the z/OS user ID and nnn is any valid, unique identifier. If you set
# nnn to 0, the process has UNIX System Services superuser authorization.
# During initialization, DDF calls UNIX System Services to raise the maximum
# number of open files per process to 65535. UNIX System Services considers an
# open TCP/IP socket an open file. This interface call requires that the process be a
# UNIX System Services superuser (that is, UID(0)) to raise the current limit. DDF
# executes as an authorized program and is protected against any unauthorized use
# of this privilege.
# DDF obtains the current limit from the value of the MAXFILEPROC parameter.
# The MAXFILEPROC parameter is in the active z/OS UNIX System Services
# member (BPXPRMnnn) of the z/OS PARMLIB. Assuming the current value of
# MAXFILEPROC is 65535 or greater, the UNIX System Services call that DDF makes
# to set the limit to 65535 succeeds regardless of the value that you give to nnn.
# Because setting the MAXFILEPROC parameter within the active BPXPRMnn z/OS
# PARMLIB member to 65535 affects the entire system, any UNIX System Services
# process can open 65535 files or sockets concurrently. If you do not want to set the
# system-wide MAXFILEPROC parameter to 65535 and give the z/OS user ID
# superuser authority at the same time, you can explicitly authorize the z/OS user
# ID to raise the limit to 65535 itself by using one of the following z/OS Security
# Server (RACF) commands:
# v ADDUSER ddfuid OMVS(UID(nnn) FILEPROCMAX(65535))...
# v ALTUSER ddfuid OMVS(UID(nnn) FILEPROCMAX(65535))...
# where ddfuid is the z/OS user ID and nnn is any valid, unique identifier.
# The standard way to assign a z/OS userid and a z/OS group name to a started
# address space is to use the z/OS Security Server (RACF) STARTED resource class.
# This method enables you to dynamically assign a z/OS user ID by using
# commands instead of requiring an IPL to have the assignment take effect.
# If you actively administer the STARTED resource class, you can issue the following
# RACF commands to assign a z/OS user ID to the DDF started procedure:
# v RDEFINE STARTED (V81ADIST.*) STDATA(USER(ddfuid)) ...
# v RALTER STARTED (V81ADIST.*) STDATA(USER(ddfuid)) ...
# where V81ADIST.* is the DDF started procedure and ddfuid is the z/OS user ID.
# You can issue the following RACF commands to assign both a z/OS user ID and a
# z/OS group name to the DDF started procedure. DDF requires only a z/OS user
# ID; a z/OS group name is optional.
# v RDEFINE STARTED (V81ADIST.*) STDATA(USER(ddfuid) GROUP(ddfgnm)) ...
# v RALTER STARTED (V81ADIST.*) STDATA(USER(ddfuid) GROUP(ddfgnm)) ...
# where V81ADIST.* is the DDF started procedure, ddfuid is the z/OS user ID, and
# ddfgnm is the z/OS group name.
# Requirement: The profile name that you specify in the RACF command must be in
# the generic format; that is, the profile name must end with a period followed by an
# asterisk (.*). After one of the commands is executed, issue the following RACF
# command so that the changed profile takes effect:
# v SETROPTS RACLIST(STARTED) REFRESH
# For more information about using the RACF STARTED resource class, see z/OS
# Security Server RACF Security Administrator's Guide.
# The alternative method to assign a z/OS user ID and a z/OS group name to a
# started address space is to change the RACF started procedures table, ICHRIN03.
# For more information about this table, see z/OS Security Server RACF System
# Programmer's Guide.
Figure 99 shows some typical z/OS system configurations that demonstrate some
typical configurations.
v In SYSTEM1, there is only one DB2 subsystem, so the DRDA well-known port
(446) can be assigned to DB2. In the example, port number 5020 is assigned for
2-phase commit resynchronization.
v In SYSTEM2, there are two DB2 subsystems, making it impossible to assign the
port numbers 446 and 5020 to both DB2 subsystems, because TCP/IP can only
support one server at each port number. The problem is resolved by assigning
the 446 and 5020 port numbers to DB2C, and port numbers 5021 and 5022 to
DB2D.
For more detailed information on these steps see IBM TCP/IP for MVS:
Customization & Administration Guide.
The parameter PORT is the TCP/IP port number used by DDF to accept incoming
DRDA connection requests. The parameter RESPORT is the TCP/IP port number
used by DDF to accept incoming DRDA 2-phase commit resynchronization
requests. The values for each of these parameters must be a decimal number
between 0 and 65534, where zero indicates that DDF’s TCP/IP support is being
deactivated. The non-zero value for PORT must not be the same as the non-zero
value for RESPORT.
For data sharing, all the members of the DB2 data sharing group must have the
same value for PORT. RESPORT must be uniquely assigned to each DB2 member
so that no two DB2 members use the same TCP/IP port for 2-phase commit
resynchronization. The parameters PORT and RESPORT can be changed on any
DB2 member by running the utility change log inventory. After running the utility,
you must stop and then restart DDF. Since PORT is the same for all members of
the DB2 group, this process has to be repeated on every member of the group
when PORT is changed.
| If you use Dynamic VIPA to support a Parallel Sysplex environment, specify the
| DB2’s group Dynamic VIPA on the TCP/IP PORT statement for the DRDA PORT
| number. More information about using Dynamic VIPA in a Parallel Sysplex
| environment is available in DB2 Data Sharing: Planning and Administration.
| You can define an alias location for all or selected members of a data sharing
| group by using the ALIAS parameter. See DB2 Data Sharing: Planning and
| Administration for more information.
Remember, a zero value for either PORT or RESPORT is the same as deactivating
DB2’s TCP/IP support.
If you plan to use DB2 only as a server, you do not need to populate the CDB. For
example, Spiffy’s USIBMSTODB21 subsystem works as a server for many
requesters. It is not necessary for Spiffy to register those requesters in DB2’s CDB.
However, if you intend to request data, you need to enter port numbers or service
names in field PORT of table SYSIBM.LOCATIONS, and IP addresses or domain
names in field IPADDR of table SYSIBM.IPNAMES. The LINKNAME in table
SYSIBM.LOCATIONS is used to search tables SYSIBM.IPNAMES and
SYSIBM.LUNAMES (see Chapter 13, “Connecting systems with VTAM,” on page
455). If RACF PassTickets are used, the LINKNAME must match the LUNAME of
the remote site. Part 3 (Volume 1) of DB2 Administration Guide discusses the
requirements for the other tables.
After you populate these tables, you can write queries that access data at a remote
system. For instructions on sending SQL statements to other systems, see DB2
SYSIBM.LOCATIONS table
The table LOCATIONS is used to determine the port number or service name used
to connect to the remote location. The column LINKNAME maps to the
corresponding row in table IPNAMES.
A row for the local location: You do not need a row for the local DB2 in the
IPNAMES and LOCATIONS tables. For example, Spiffy’s USIBMSTODB21
subsystem does not require a row that shows its own LINKNAME and location
name.
| SYSIBM.IPLIST table
| IPLIST contains list of multiple IP addresses that are specified for a given location.
| IPLIST has the following columns:
| LINKNAME CHAR(8) NOT NULL
| This column is associated with the value of the
| LINKNAME column in SYSIBM.LOCATIONS and
| SYSIBM.IPNAMES. The values of the other
| columns in the SYSIBM.IPNAMES row apply to
| the server that is identified by the LINKNAME
| column in this row.
| IPADDR VARCHAR(256) NOT NULL
| This column contains the IP address or domain
| name of a remote TCP/IP host of the server. If
| using WLM domain name server workload
| balancing, this column must contain the
| member-specific domain name. If you use dynamic
| VIPA workload balancing, this column must
| contain the member-specific dynamic VIPA
| address.
| IBMREQD CHAR(1) NOT NULL WITH DEFAULT ’N’
| This columns indicates whether the row came from
| the basic machine-readable material (MRM) tape:
| N=no, Y=yes
SYSIBM.IPNAMES table
IPNAMES defines the outbound security and host names used to connect to other
systems using TCP/IP. IPNAMES has the following columns:
LINKNAME CHAR(8) This value matches that specified in the
LINKNAME column of the associated row in
SYSIBM.LOCATIONS.
SECURITY_OUT CHAR(1) Defines the security option that is used when local
DB2 SQL applications connect to any remote server
associated with this TCP/IP host. The default, A,
means that outgoing connection requests contain
an authorization ID without a password.
SYSIBM.USERNAMES table
USERNAMES contains information needed for outbound translation only.
Reminder: Inbound ID translation and come from checking are not done for TCP/IP
requesters.
TYPE CHAR(1) Whether the row is for outbound translation. The
value 'O' is valid for TCP/IP connections.
AUTHID CHAR(8) Authorization ID to translate. If blank, it applies to
all authorization IDs.
LINKNAME CHAR(8) Identifies the TCP/IP network location associated
with the row. A blank indicates it applies to all
TCP/IP partners. For nonblank values, this value
must match the LINKNAME value in
SYSIBM.IPNAMES.
NEWAUTHID CHAR(8) The translated value of AUTHID.
PASSWORD CHAR(8) The password to accompany an outbound request.
This column is ignored if RACF PassTickets, or
already verified USERIDs are used.
| Important: When using Dynamic VIPA, the group and member-specific addresses
| must be registered with the DNS.
If the nameserver is not present, or does not have an answer, then the local host
tables are used. The local host tables search order for the resolver as follows:
1. /etc/resolv.conf file
2. jobname.TCPIP.DATA
3. SYS1.TCPPARMS(TCPDATA)
4. TCPhlq.TCPIP.DATA
| More information about using Dynamic VIPA is available in DB2 Data Sharing:
| Planning and Administration
The CCSID is a two-byte binary number that uniquely identifies one or more pairs
of character sets and code pages. The coded character set defines how bit
configurations are mapped for character data. For a complete description of all
IBM-registered CCSIDs and conversion tables, see Character Data Representation
Architecture Reference and Registry. For general information about character
conversion, see Character Data Representation Architecture Overview.
| The CCSID of character strings at your site is determined by the CCSID that you
| specify on installation panel DSNTIPF. If this CCSID is not correct, character
| conversion produces incorrect results. The correct CCSID is the number that
| identifies the coded character set that is supported by your site’s I/O devices, local
| applications such as IMS and QMF, and remote applications such as CICS
| Transaction Server.
Unicode support
Unicode is a universal encoding scheme for written characters and text that
enables the exchange of data internationally. Unicode provides a character set
standard that can be used all over the world. Unicode uses a 16-bit encoding
scheme that provides code points for more than 65 000 characters. An extension
called UTF-16 allows for encoding as many as a million more characters. Unicode
provides the ability to encode all characters used for the written languages of the
world. Unicode treats alphabetic characters, ideographic characters, and symbols
equivalently because it specifies a numeric value and a name for each of its
characters. Unicode includes punctuation marks, mathematical symbols, technical
symbols, geometric shapes, and dingbats.
Unicode CCSIDs: The Unicode CCSID field of panel DSNTIPF is pre-filled with
1208. DB2 chooses the CCSIDs for double-byte and single-byte values (1200 for
DBCS and 367 for SBCS). CCSID 1200 corresponds to UTF-16 and CCSID 367 is for
7-bit ASCII.
| After performing these steps, you should now have an updated CUNJIUTL
| JCL member.
| 4. Submit the batch job in the CUNJIUTL member. At completion, the batch job
| writes its output to the SYSPRINT DD (that is, SYSOUT in this example).
| Expect a return code of zero from the CUNJIUTL program. If you receive
| anything other than return code zero, refer to the error situations in z/OS
| Support for Unicode: Using Conversion Services. This information helps you
| correct environmental, syntactical, and semantic errors that might occur.
# 5. After generating the conversion image, copy it to SYS1.PARMLIB or any other
# data set in the logical PARMLIB concatenation. In this example, you copy
# hlq.IMAGES(CUNIMG00) to SYS1.PARMLIB(CUNIMG00).
| 6. Calculate the storage that is needed for a conversion image. When the
| conversion image is created on disk, you need to determine the amount of
| virtual storage that the image is to occupy. You specify this number as the
| number of pages on the REALSTORAGE parameter in the CUNUNIxx
| PARMLIB member that you create in the next step. The REALSTORAGE
| parameter protects the system from a shortage of main storage caused by
| loading a conversion image that exceeds the amount of available storage. The
| minimum value for the REALSTORAGE parameter depends on how the
| image is activated.
| v If the image is activated during IPL, the needed storage is the size of the
| image plus one page.
| v If the image is activated using the SET UNI command (PARMLIB member
| with keyword IMAGE), the needed storage is the size of the currently active
| image plus the size of the new conversion image.
| If you set up a conversion environment before or if you are not activating a
| conversion environment during IPL, you must determine the amount of
| storage that the currently active image occupies. To do this, issue the
| following command:
| D UNI,STORAGE
For more information about Unicode and Unicode CCSIDs, see “Unicode support”
on page 512.
Then specify a mixed CCSID from Table 123 in the ASCII CCSID field on DSNTIPF.
By specifying a CCSID for mixed data (an MCCSID), you also receive system
CCSIDs for SBCS and DBCS (graphic) data.
Table 123. ASCII double-byte coded character set identifiers (CCSIDs)
User-defined
National language MCCSID SCCSID GCCSID characters
Japanese 932 897 301 1880
Japanese (Extended) 942 1041* 301 1880
# Japanese (Open 943 1041* 941 1880
# environment)
Japanese (HP) 5039 1041* 1351 940
Korean 949 1088 951 1880
Korean (EUC) 970 367 971 1880
Korean 1363 1126 1362 1880
Simplified Chinese 1381 1115 1380 1880
Simplified Chinese 1383 367 1382
(EUC)
Simplified Chinese 1386 5210 1385 1880
Traditional Chinese 938 904 927 6204
Traditional Chinese 948 1043 927 6204
Traditional Chinese 950 1114 947
(IBM Big-5)
In Table 122 on page 519 and Table 123 on page 519, four CCSIDs are listed for
Japanese to allow for all possible combinations of two single-byte code pages and
two double-byte character sets. The difference between the single-byte code pages
is in the code points for lowercase Latin letters and Katakana characters. In the
code page for Japanese (Extended English, SCCSID 1027), lowercase letters have
the same code points as other EBCDIC code pages.
Special considerations
Expanding conversions: An expanding conversion occurs when the length of the
converted string is greater than that of the source string. For example, an
expanding conversion occurs when an ASCII mixed data string that contains DBCS
characters is converted to EBCDIC mixed data. Because of the addition of shift
characters, an error occurs when an expanding conversion is performed on a
fixed-length input host variable that requires conversion from ASCII mixed data to
EBCDIC mixed data. The solution is to use a varying-length string variable with a
maximum length that is sufficient to contain the expansion. Expanding conversions
also can occur when string data is converted to or from Unicode.
| Before attempting to alter the CCSID of a system, obtain the following information:
| 1. Current CCSID
| 2. Planned CCSID
| 3. List of databases that are created with current CCSID
| 4. List of table spaces that are created with current CCSID
| 5. List of table spaces containing tables that define LOBs
| 6. List of LOB table spaces
| 7. List of views that are defined on tables in the table spaces that are to have the
| CCSID altered
| 8. Definitions of those views
| 9. List of all views created in Version 7 and Version 8
| 10. Authorization information on the views
| Two methods are available for changing CCSIDs. You might need to use one
| method to change the CCSID on one table space, and the other method to change
| the CCSID on another table space.
Use the first method if you are certain that your data does not contain the
international currency symbol.
1. Modify the CCSID data in DSNHDECP by running the installation CLIST and
specifying UPDATE on installation panel DSNTIPA1. From panel DSNTIPB,
select the OPERATOR FUNCTIONS panel and specify a unique name in the
PARAMETER MODULE field. After returning to panel DSNTIPB, select the
Applications Programming Defaults Panel 1. For details about the update
process, see “The update process” on page 247.
2. Edit member DSN6SPRC of the SDSNMACS library to change the setting for
SPRMCTU to 1. Save this change
3. Run the first six steps of job DSNTIJUZ, which you created in the preceding
steps.
4. Stop DB2.
5. Start DB2 using the system parameter module that you specified in step 2 to
use the new parameters.
6. Alter databases. This affects only the default for new table spaces that are
created in the altered database.
7. Drop any views on tables that exist in any table space that you want to alter.
8. Drop any views on tables that were created in Version 7 and Version 8.
9. Alter the CCSIDs on the table spaces. This invalidates any plans or packages
that reference these table spaces.
Important: If the table space contains LOBs, you cannot use the ALTER
TABLESPACE command. You must update the base table spaces and the AUX
table spaces.
10. Run the REPAIR utility. Issue the following command:
REPAIR DBD DIAGNOSE
Run the REPAIR utility again to verify that all changes were performed
successfully. Issue the following command:
REPAIR DBD DIAGNOSE
| 11. Run job DSNJU003 to delete CCSIDs that are in the BSDS.
12. Re-create views.
13. Re-create authorizations on the views.
14. Update the CCSID fields in SYSIBM.SYSPARMS to reflect the new CCSID.
15. Update the PARAMETER_CCSID field in SYSIBM.SYSROUTINES if necessary.
16. Edit member DSN6SPRC of the SDSNMACS library to return the setting of
SPRMCTU to 0. Save this change.
17. Rebind the invalidated plans and packages either manually or with autobind.
18. Stop DB2 and restart it using your usual system parameter module.
Recommendation: After you complete this process, run job DSNTIJIC to create an
image copy of the Version 8 catalog.
| If you are not certain if your data contains the international currency symbol, you
| must use the following method:
| 1. Modify the CCSID data in DSNHDECP by running the installation CLIST and
| specifying UPDATE on installation panel DSNTIPA1. From panel DSNTIPB,
| select the OPERATOR FUNCTIONS panel and specify a unique name in the
| PARAMETER MODULE field. After returning to panel DSNTIPB, select the
| Applications Programming Defaults Panel 1. For details about the update
| process, see “The update process” on page 247.
| 2. Edit member DSN6SPRC of the SDSNMACS library to change the setting for
| SPRMCTU to 1. Save this change
| 3. Run the first six steps of job DSNTIJUZ, which you created in the preceding
| steps.
| 4. Stop DB2.
| 5. Start DB2 using the system parameter module that you specified in step 2 to
| use the new parameters.
| 6. Unload data from the tables that you want to alter.
| 7. Alter databases. This affects only the default for new table spaces that are
| created in the altered database.
| 8. Alter the CCSIDs on the table spaces. This invalidates any plans or packages
| that reference these table spaces.
| Important: If the table space contains LOBs, you cannot use the ALTER
| TABLESPACE command. You must update the base table spaces and the AUX
| table spaces.
| 9. Run the REPAIR utility. Issue the following command:
| REPAIR DBD DIAGNOSE
| Run the REPAIR utility again to verify that all changes were performed
| successfully. Issue the following command:
| REPAIR DBD DIAGNOSE
The list of CCSIDs that you can modify are listed according to the encoding
scheme. Table 124 lists the EBCDIC CCSIDs, and Table 125 lists the ASCII CCSIDs.
Table 124. EBCDIC CCSID values that convert to euro CCSIDs
CCSIDs without euro symbol CCSIDs with euro symbol
37 1140
273 1141
277 1142
278 1143
280 1144
284 1145
285 1146
297 1147
500 1148
871 1149
You cannot convert other CCSIDs to the euro-supported CCSIDs. Alter all
databases and all table spaces within an encoding scheme at the same time.
For example, the row of SYSSTRINGS in which the value of INCCSID is 500 and
the value of OUTCCSID is 37 describes the conversion from CCSID 500 to CCSID
37. The row in which the value of INCCSID is 37 and the value of OUTCCSID is
500 describes the conversion from CCSID 37 to CCSID 500.
Table 126 lists the types of rows that are possible in SYSSTRINGS.
| Table 126. Types of rows in SYSSTRINGS
| The value of The value of The value of
| TRANSPROC is TRANSTAB is IBMREQD is The result is
| blank an empty string – No conversion is performed.
| not blank – NO Conversion is performed by the conversion procedure
| module name identified in the TRANSPROC column
| blank not empty – Conversion is performed by the DB2 module using the
| conversion table identified in TRANSTAB
| – – – Refer to z/OS C/C++ Programming Guide for additional
| conversions that are supported
|
The symbol for euro currency is supported through the modifier @EURO.
DB2 uses the SCEELKED and SCEERUN Language Environment (LE) libraries.
Both libraries are PDS libraries and are for non-XPLINK linkage only. If you need
to customize the locales using LE libraries, see z/OS C/C++ Programming Guide.
Table 127 shows a partial list of locales that are supplied with z/OS C/C++. For a
more complete list of locales, see z/OS C/C++ Programming Guide.
Table 127. Examples of locales supplied with z/OS C/C++. Excerpt of table from z/OS C/C++
Programming Guide
Locale Language Country Code set Load module name
De_CH.IBM-500 German Switzerland IBM-500 EDC$DCEO
De_CH.IBM-1047 German Switzerland IBM-1047 EDC$DCEY
De_DE.IBM-273 German Germany IBM-273 EDC$DDEB
De_DE.IBM-1047 German Germany IBM-1047 EDC$DDEY
Fr_CA.IBM-037 French Canada IBM-037 EDC$FCEA
Fr_CA.IBM-1047 French Canada IBM-1047 EDC$FCEY
It_IT.IBM-280 Italian Italy IBM-280 EDC$ITEG
It_IT.IBM-1047 Italian Italy IBM-1047 EDC$ITEY
Ja_JP.IBM-290 Japanese Japan IBM-290 EDC$JAEL
Ja_JP.IBM-930 Japanese Japan IBM-930 EDC$JAEU
Ja_JP.IBM-939 Japanese Japan IBM-939 EDC$JAEV
Ja_JP.IBM-1027 Japanese Japan IBM-1027 EDC$JAEX
# The three additional CASE statements provide the necessary infrastructure for the
# UPPER and LOWER functions to process Unicode data according to the Unicode
# Standard.
| All new Version 8 functions are unavailable when the subsystem is in compatibility
| mode or enabling-new-function mode.
| Syntax diagram
| For guidance in interpreting syntax diagrams, see “How to read the syntax
| diagrams” on page xiv.
|
| CATENFM START
COMPLETE
HALTENFM
ENFMON
CONVERT INPUT table-space-name
|
|
| Option descriptions
| DB2 Utility Guide and Reference provides general information about specifying
| options for DB2 utilities.
| After enabling-new-function mode completes, the DB2 subsystem can enter Version
| 8 new-function mode. All new Version 8 functions are unavailable until the DB2
| subsystem enters new-function mode.
| The DSNTIJNE job runs CATENFM START, which causes the DB2 subsystem to
| enter enabling-new-function mode. Run CATENFM START only when you are
| ready to begin the enabling-new-function mode conversion process.
| Syntax diagram
| For guidance in interpreting syntax diagrams, see “How to read the syntax
| diagrams” on page xiv.
|
| CATMAINT UPDATE
|
|
| Option descriptions
| DB2 Utility Guide and Reference provides general information about specifying
| options for DB2 utilities.
| UPDATE
| Indicates that you want to update the catalog. Run this option only when you
| migrate to a new release of DB2 or when IBM Software Support instructs you
| to do so.
| To calculate the size of the work file database, see “Work file database storage
| requirements” on page 22.
| Updating the catalog for a new release: When you install or migrate to a new
| release of DB2, you must update the catalog for the prior release to the new
| version. The DSNTIJTC job runs CATMAINT UPDATE to update the catalog. DB2
| displays migration status message DSNU777I at several points during CATMAINT
| execution.
| All other utilities are available as a separate product called the DB2 Utilities Suite
| (5655-K61, FMIDs JDB881K and JDB881M), which includes the following utilities:
| v BACKUP SYSTEM
| v CHECK DATA
| v CHECK INDEX
| v CHECK LOB
| v COPY
| v COPYTOCOPY
| v EXEC SQL
| v LOAD
| v MERGECOPY
| v MODIFY RECOVERY
| v MODIFY STATISTICS
| v REBUILD INDEX
| v RECOVER
| v REORG INDEX
| v REORG TABLESPACE
| v RESTORE SYSTEM
| v RUNSTATS
| v STOSPACE
| v UNLOAD
All DB2 utilities operate on catalog, directory, and sample objects, without
requiring any additional products.
The SMP/E RECEIVE job, DSNRECVS, loads the DB2 Diagnostic and Recovery
Utilities program modules, macros, and procedures into temporary data sets
(SMPTLIBs). The SMP/E RECEIVE job, DSNRECVK, loads the DB2 Operational
Utilities program modules, macros, and procedures into temporary data sets
(SMPTLIBs). If these jobs fail or abnormally terminate, correct the problem and
rerun the jobs. Use “SMP/E step 4: Run the RECEIVE jobs: DSNRECV1,
DSNRECV2, DSNRECV3, DSNRECV4” on page 61, as a guide to help you with the
RECEIVE job.
The SMP/E APPLY job, DSNAPPLS, copies and link-edits the program modules,
macros, and procedures for both the DB2 Diagnostic and Recovery Utilities and the
DB2 Operational Utilities into the DB2 target libraries. Use “SMP/E step 6: Run the
apply jobs: DSNAPPL1, DSNAPPL2” on page 62, as a guide to help you with the
APPLY job.
The SMP/E ACCEPT job, DSNACCPS, copies the program modules, macros, and
procedures for both the DB2 Diagnostic and Recovery Utilities and the DB2
Operational Utilities into the DB2 distribution libraries. Use “SMP/E step 7: Run
the accept jobs: DSNACEP1, DSNACEP2” on page 63, as a guide to help you with
the ACCEPT job.
With Version 7 and subsequent releases, each utility has separate load modules and
aliases. Table 131. lists the alias name and load module name or names for each
utility.
| Table 131. Relationship between utility names, aliases, and load modules
| Utility name Alias name Load module name
| BACKUP SYSTEM and DSNU81AV DSNU8RLV
| RESTORE SYSTEM
1
| CATMAINT and CATENFM DSNU81AA DSNU8CLA
| CHECK DSNU81AB DSNU8RLB
| COPY DSNU81AC DSNU8OLC or DSNU8RLC
| COPYTOCOPY DSNU81AT DSNU8RLT
You can view and search DB2 publications on the Web, or you can download and
print many of the most current DB2 books. Follow links to other Web sites with
more information about DB2 family and z/OS solutions. Access DB2 on the Web at
the following Web site: www.ibm.com/software/db2zos.
DB2 publications
The publications for DB2 UDB for z/OS are available in various formats and
delivery methods. IBM provides mid-version updates in softcopy on the Web and
on CD-ROM.
The DB2 Information Center for z/OS solutions is viewable at the following Web
site: http://publib.boulder.ibm.com/infocenter/db2zhelp.
The CD-ROM contains the collection of books for DB2 UDB for z/OS in PDF and
BookManager formats. Periodically, IBM refreshes the books on subsequent
editions of this CD-ROM.
PDF format
Many of the DB2 books are available in PDF (Portable Document Format) for
viewing or printing from CD-ROM or the Web. Download the PDF books to your
intranet for distribution throughout your enterprise.
BookManager format
You can use online books on CD-ROM to read, search across books, print portions
of the text, and make notes in these BookManager books. Using the IBM Softcopy
Reader, appropriate IBM Library Readers, or the BookManager Read product, you
can view these books in the z/OS, Windows, and VM environments. You can also
view and search many of the DB2 BookManager books on the Web.
DB2 education
IBM Education and Training offers a wide variety of classroom courses to help you
quickly and efficiently gain DB2 expertise. IBM schedules classes are in cities all
over the world. You can find class information, by country, at the IBM Learning
Services Web site: www.ibm.com/services/learning.
IBM also offers classes at your location, at a time that suits your needs. IBM can
customize courses to meet your exact requirements. For more information,
including the current local schedule, please contact your IBM representative.
You can also order books from the IBM Publication Center on the Web:
www.elink.ibmlink.ibm.com.
From the IBM Publication Center, you can go to the Publication Notification
System (PNS). PNS users receive electronic notifications of updated publications in
their profiles. You have the option of ordering the updates by using the
publications direct ordering application or any other IBM publication ordering
channel. The PNS application does not send automatic shipments of publications.
You will receive updated publications and a bill for them if you respond to the
electronic notification.
IBM may not offer the products, services, or features discussed in this document in
other countries. Consult your local IBM representative for information on the
products and services currently available in your area. Any reference to an IBM
product, program, or service is not intended to state or imply that only that IBM
product, program, or service may be used. Any functionally equivalent product,
program, or service that does not infringe any IBM intellectual property right may
be used instead. However, it is the user’s responsibility to evaluate and verify the
operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter
described in this document. The furnishing of this document does not give you
any license to these patents. You can send license inquiries, in writing, to:
IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.
For license inquiries regarding double-byte (DBCS) information, contact the IBM
Intellectual Property Department in your country or send inquiries, in writing, to:
IBM World Trade Asia Corporation
Licensing
2-31 Roppongi 3-chome, Minato-ku
Tokyo 106-0032, Japan
The following paragraph does not apply to the United Kingdom or any other
country where such provisions are inconsistent with local law:
INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS
PUBLICATION ″AS IS″ WITHOUT WARRANTY OF ANY KIND, EITHER
EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS
FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or
implied warranties in certain transactions, therefore, this statement may not apply
to you.
Any references in this information to non-IBM Web sites are provided for
convenience only and do not in any manner serve as an endorsement of those Web
sites. The materials at those Web sites are not part of the materials for this IBM
product and use of those Web sites is at your own risk.
IBM may use or distribute any of the information you supply in any way it
believes appropriate without incurring any obligation to you.
The licensed program described in this document and all licensed material
available for it are provided by IBM under terms of the IBM Customer Agreement,
IBM International Program License Agreement, or any equivalent agreement
between us.
This information contains examples of data and reports used in daily business
operations. To illustrate them as completely as possible, the examples include the
names of individuals, companies, brands, and products. All of these names are
fictitious and any similarity to the names and addresses used by an actual business
enterprise is entirely coincidental.
COPYRIGHT LICENSE:
Trademarks
The following terms are trademarks of International Business Machines
Corporation in the United States, other countries, or both:
AD/Cycle IBMLink
BookManager IMS
C/370 iSeries
CICS Language Environment
COBOL/370 MQSeries
CT MVS
DataPropagator MVS/ESA
DB2 NetView
DB2 Connect OS/2
DB2 Universal Database OS/390
DFSMSdfp Parallel Sysplex
DFSMSdss PR/SM
DFSMShsm QMF
DFSORT RACF
Distributed Relational Database RAMAC
Architecture Redbooks
DRDA SQL/DS
Enterprise Storage Server System/390
ES/3090 TotalStorage
eServer VTAM
FlashCopy WebSphere
GDDM z/Architecture
IBM z/OS
IBM Registry zSeries
ibm.com
Java and all Java-based trademarks and logos are trademarks of Sun Microsystems,
Inc. in the United States, other countries, or both.
Microsoft, Windows, Windows NT, and the Windows logo are trademarks of
Microsoft Corporation in the United States, other countries, or both.
Notices 549
UNIX is a registered trademark of The Open Group in the United States and other
countries.
archive log. The portion of the DB2 log that contains (2) A table containing a LOB column definition. The
log records that have been copied from the active log. actual LOB column data is not stored with the base
table. The base table contains a row identifier for each
ASCII. An encoding scheme that is used to represent row and an indicator column for each of its LOB
strings in many environments, typically on PCs and columns. Contrast with auxiliary table.
workstations. Contrast with EBCDIC and Unicode.
base table space. A table space that contains base
| ASID. Address space identifier. tables.
attachment facility. An interface between DB2 and basic predicate. A predicate that compares two values.
TSO, IMS, CICS, or batch address spaces. An
attachment facility allows application programs to basic sequential access method (BSAM). An access
access DB2. method for storing or retrieving data blocks in a
continuous sequence, using either a sequential-access or
attribute. A characteristic of an entity. For example, in a direct-access device.
database design, the phone number of an employee is
one of that employee’s attributes.
# binary large object (BLOB). A sequence of bytes in built-in function. A function that DB2 supplies.
# which the size of the value ranges from 0 bytes to Contrast with user-defined function.
# 2 GB−1. Such a string has a CCSID value of 65535.
business dimension. A category of data, such as
binary string. A sequence of bytes that is not products or time periods, that an organization might
associated with a CCSID. For example, the BLOB data want to analyze.
type is a binary string.
Glossary 553
catalog. In DB2, a collection of tables that contains | check pending. A state of a table space or partition
descriptions of objects such as tables, views, and | that prevents its use by some utilities and by some SQL
indexes. | statements because of rows that violate referential
| constraints, check constraints, or both.
catalog table. Any table in the DB2 catalog.
checkpoint. A point at which DB2 records internal
CCSID. Coded character set identifier. status information on the DB2 log; the recovery process
uses this information if DB2 abnormally terminates.
CDB. Communications database.
| child lock. For explicit hierarchical locking, a lock that
CDRA. Character Data Representation Architecture. | is held on either a table, page, row, or a large object
| (LOB). Each child lock has a parent lock. See also parent
CEC. Central electronic complex. See central processor
complex.
| lock.
check integrity. The condition that exists when each CLOB. Character large object.
row in a table conforms to the check constraints that
are defined on that table. Maintaining check integrity closed application. An application that requires
requires DB2 to enforce check constraints on operations exclusive use of certain statements on certain DB2
that add or change data.
coded character set. A set of unambiguous rules that command scope. The scope of command operation in
establish a character set and the one-to-one a data sharing group. If a command has member scope,
relationships between the characters of the set and their the command displays information only from the one
coded representations. member or affects only non-shared resources that are
owned locally by that member. If a command has group
coded character set identifier (CCSID). A 16-bit scope, the command displays information from all
number that uniquely identifies a coded representation members, affects non-shared resources that are owned
of graphic characters. It designates an encoding scheme locally by all members, displays information on
identifier and one or more pairs consisting of a sharable resources, or affects sharable resources.
character set identifier and an associated code page
identifier. commit. The operation that ends a unit of work by
releasing locks so that the database changes that are
code page. (1) A set of assignments of characters to made by that unit of work can be perceived by other
code points. In EBCDIC, for example, the character 'A' processes.
is assigned code point X'C1' (2) , and character 'B' is
assigned code point X'C2'. Within a code page, each commit point. A point in time when data is
code point has only one specific meaning. considered consistent.
code point. In CDRA, a unique bit pattern that committed phase. The second phase of the multisite
represents a character in a code page. update process that requests all participants to commit
the effects of the logical unit of work.
# code unit. The fundamental binary width in a
# computer architecture that is used for representing common service area (CSA). In z/OS, a part of the
# character data, such as 7 bits, 8 bits, 16 bits, or 32 bits. common area that contains data areas that are
# Depending on the character encoding form that is used, addressable by all address spaces.
# each code point in a coded character set can be
# represented internally by one or more code units. communications database (CDB). A set of tables in
the DB2 catalog that are used to establish conversations
coexistence. During migration, the period of time in with remote database management systems.
which two releases exist in the same data sharing
group. comparison operator. A token (such as =, >, or <) that
is used to specify a relationship between two values.
cold start. A process by which DB2 restarts without
processing any log records. Contrast with warm start. composite key. An ordered set of key columns of the
same table.
collection. A group of packages that have the same
qualifier. compression dictionary. The dictionary that controls
the process of compression and decompression. This
column. The vertical component of a table. A column dictionary is created from the data in the table space or
has a name and a particular data type (for example, table space partition.
character, decimal, or integer).
concurrency. The shared use of resources by more
# column function. See aggregate function. than one application process at the same time.
"come from" checking. An LU 6.2 security option that conditional restart. A DB2 restart that is directed by a
defines a list of authorization IDs that are allowed to user-defined conditional restart control record (CRCR).
connect to DB2 from a partner LU.
connection. In SNA, the existence of a communication
path between two partner LUs that allows information
Glossary 555
to be exchanged (for example, two DB2 subsystems transaction program over an SNA logical unit-to-logical
that are connected and communicating by way of a unit (LU-LU) session that allows communication while
conversation). processing a transaction.
connection context. In SQLJ, a Java object that coordinator. The system component that coordinates
represents a connection to a data source. the commit or rollback of a unit of work that includes
work that is done on one or more other systems.
connection declaration clause. In SQLJ, a statement
that declares a connection to a data source. | copy pool. A named set of SMS storage groups that
| contains data that is to be copied collectively. A copy
connection handle. The data object containing | pool is an SMS construct that lets you define which
information that is associated with a connection that | storage groups are to be copied by using FlashCopy
DB2 ODBC manages. This includes general status | functions. HSM determines which volumes belong to a
information, transaction status, and diagnostic | copy pool.
information.
| copy target. A named set of SMS storage groups that
connection ID. An identifier that is supplied by the | are to be used as containers for copy pool volume
attachment facility and that is associated with a specific | copies. A copy target is an SMS construct that lets you
address space connection. | define which storage groups are to be used as
| containers for volumes that are copied by using
consistency token. A timestamp that is used to | FlashCopy functions.
generate the version identifier for an application. See
also version. | copy version. A point-in-time FlashCopy copy that is
| managed by HSM. Each copy pool has a version
constant. A language element that specifies an | parameter that specifies how many copy versions are
unchanging value. Constants are classified as string | maintained on disk.
constants or numeric constants. Contrast with variable.
correlated columns. A relationship between the value
constraint. A rule that limits the values that can be of one column and the value of another column.
inserted, deleted, or updated in a table. See referential
constraint, check constraint, and unique constraint. correlated subquery. A subquery (part of a WHERE or
HAVING clause) that is applied to a row or group of
context. The application’s logical connection to the rows of a table or view that is named in an outer
data source and associated internal DB2 ODBC subselect statement.
connection information that allows the application to
direct its operations to a data source. A DB2 ODBC correlation ID. An identifier that is associated with a
context represents a DB2 thread. specific thread. In TSO, it is either an authorization ID
or the job name.
contracting conversion. A process that occurs when
the length of a converted string is smaller than that of correlation name. An identifier that designates a table,
the source string. For example, this process occurs a view, or individual rows of a table or view within a
when an EBCDIC mixed-data string that contains DBCS single SQL statement. It can be defined in any FROM
characters is converted to ASCII mixed data; the clause or in the first clause of an UPDATE or DELETE
converted string is shorter because of the removal of statement.
the shift codes.
cost category. A category into which DB2 places cost
control interval (CI). A fixed-length area or disk in estimates for SQL statements at the time the statement
which VSAM stores records and creates distributed free is bound. A cost estimate can be placed in either of the
space. Also, in a key-sequenced data set or file, the set following cost categories:
of records that an entry in the sequence-set index v A: Indicates that DB2 had enough information to
record points to. The control interval is the unit of make a cost estimate without using default values.
information that VSAM transmits to or from disk. A v B: Indicates that some condition exists for which DB2
control interval always includes an integral number of was forced to use default values for its estimate.
physical records.
The cost category is externalized in the
control interval definition field (CIDF). In VSAM, a COST_CATEGORY column of the
field that is located in the 4 bytes at the end of each DSN_STATEMNT_TABLE when a statement is
control interval; it describes the free space, if any, in the explained.
control interval.
coupling facility. A special PR/SM™ LPAR logical
conversation. Communication, which is based on LU partition that runs the coupling facility control program
6.2 or Advanced Program-to-Program Communication and provides high-speed caching, list processing, and
(APPC), between an application and a remote locking functions in a Parallel Sysplex.
created temporary table. A table that holds temporary cursor stability (CS). The isolation level that provides
data and is defined with the SQL statement CREATE maximum concurrency without the ability to read
GLOBAL TEMPORARY TABLE. Information about uncommitted data. With cursor stability, a unit of work
created temporary tables is stored in the DB2 catalog, holds locks only on its uncommitted changes and on
so this kind of table is persistent and can be shared the current row of each of its cursors.
across application processes. Contrast with declared
cursor table (CT). The copy of the skeleton cursor
temporary table. See also temporary table.
table that is used by an executing application process.
cross-memory linkage. A method for invoking a
cycle. A set of tables that can be ordered so that each
program in a different address space. The invocation is
table is a descendent of the one before it, and the first
synchronous with respect to the caller.
table is a descendent of the last table. A self-referencing
cross-system coupling facility (XCF). A component of table is a cycle with a single member.
z/OS that provides functions to support cooperation
between authorized programs that run within a D
Sysplex.
| DAD. See Document access definition.
cross-system extended services (XES). A set of z/OS
services that allow multiple instances of an application | disk. A direct-access storage device that records data
or subsystem, running on different systems in a Sysplex | magnetically.
environment, to implement high-performance,
high-availability data sharing by using a coupling database. A collection of tables, or a collection of table
facility. spaces and index spaces.
CS. Cursor stability. database access thread. A thread that accesses data at
the local subsystem on behalf of a remote subsystem.
CSA. Common service area.
database administrator (DBA). An individual who is
CT. Cursor table. responsible for designing, developing, operating,
safeguarding, maintaining, and using a database.
Glossary 557
| database alias. The name of the target server if Data Language/I (DL/I). The IMS data manipulation
| different from the location name. The database alias language; a common high-level interface between a
| name is used to provide the name of the database user application and IMS.
| server as it is known to the network. When a database
| alias name is defined, the location name is used by the data mart. A small data warehouse that applies to a
| application to reference the server, but the database single department or team. See also data warehouse.
| alias name is used to identify the database server to be
| accessed. Any fully qualified object names within any data mining. The process of collecting critical business
| SQL statements are not modified and are sent information from a data warehouse, correlating it, and
| unchanged to the database server. uncovering associations, patterns, and trends.
| database descriptor (DBD). An internal representation data partition. A VSAM data set that is contained
| of a DB2 database definition, which reflects the data within a partitioned table space.
| definition that is in the DB2 catalog. The objects that
data-partitioned secondary index (DPSI). A secondary
| are defined in a database descriptor are table spaces,
index that is partitioned. The index is partitioned
| tables, indexes, index spaces, relationships, check
according to the underlying data.
| constraints, and triggers. A DBD also contains
| information about accessing tables in the database. data sharing. The ability of two or more DB2
subsystems to directly access and change a single set of
database exception status. An indication that
data.
something is wrong with a database. All members of a
data sharing group must know and share the exception data sharing group. A collection of one or more DB2
status of databases. subsystems that directly access and change the same
data while maintaining data integrity.
| database identifier (DBID). An internal identifier of
| the database. data sharing member. A DB2 subsystem that is
assigned by XCF services to a data sharing group.
database management system (DBMS). A software
system that controls the creation, organization, and data source. A local or remote relational or
modification of a database and the access to the data non-relational data manager that is capable of
that is stored within it. supporting data access via an ODBC driver that
supports the ODBC APIs. In the case of DB2 UDB for
database request module (DBRM). A data set
z/OS, the data sources are always relational database
member that is created by the DB2 precompiler and
managers.
that contains information about SQL statements.
DBRMs are used in the bind process. | data space. In releases prior to DB2 UDB for z/OS,
| Version 8, a range of up to 2 GB of contiguous virtual
database server. The target of a request from a local
| storage addresses that a program can directly
application or an intermediate database server. In the
| manipulate. Unlike an address space, a data space can
DB2 environment, the database server function is
| hold only data; it does not contain common areas,
provided by the distributed data facility to access DB2
| system data, or programs.
data from local applications, or from a remote database
server that acts as an intermediate database server. data type. An attribute of columns, literals, host
variables, special registers, and the results of functions
data currency. The state in which data that is retrieved
and expressions.
into a host variable in your program is a copy of data
in the base table. data warehouse. A system that provides critical
business information to an organization. The data
data definition name (ddname). The name of a data
warehouse system cleanses the data for accuracy and
definition (DD) statement that corresponds to a data
currency, and then presents the data to decision makers
control block containing the same name.
so that they can interpret and use it effectively and
data dictionary. A repository of information about an efficiently.
organization’s application programs, databases, logical
date. A three-part value that designates a day, month,
data models, users, and authorizations. A data
and year.
dictionary can be manual or automated.
date duration. A decimal integer that represents a
data-driven business rules. Constraints on particular
number of years, months, and days.
data values that exist as a result of requirements of the
business. datetime value. A value of the data type DATE, TIME,
or TIMESTAMP.
DB2I Kanji Feature. The tape that contains the panels delete rule. The rule that tells DB2 what to do to a
and jobs that allow a site to display DB2I panels in dependent row when a parent row is deleted. For each
Kanji. relationship, the rule might be CASCADE, RESTRICT,
SET NULL, or NO ACTION.
DB2 PM. DB2 Performance Monitor.
delete trigger. A trigger that is defined with the
DB2 thread. The DB2 structure that describes an triggering SQL operation DELETE.
application’s connection, traces its progress, processes
resource functions, and delimits its accessibility to DB2 delimited identifier. A sequence of characters that are
resources and services. enclosed within double quotation marks ("). The
sequence must consist of a letter followed by zero or
DCLGEN. Declarations generator. more characters, each of which is a letter, digit, or the
underscore character (_).
DDF. Distributed data facility.
delimiter token. A string constant, a delimited
ddname. Data definition name. identifier, an operator symbol, or any of the special
characters that are shown in DB2 syntax diagrams.
deadlock. Unresolvable contention for the use of a
resource, such as a table or an index. denormalization. A key step in the task of building a
physical relational database design. Denormalization is
declarations generator (DCLGEN). A subcomponent the intentional duplication of columns in multiple
of DB2 that generates SQL table declarations and tables, and the consequence is increased data
COBOL, C, or PL/I data structure declarations that redundancy. Denormalization is sometimes necessary to
conform to the table. The declarations are generated minimize performance problems. Contrast with
from DB2 system catalog information. DCLGEN is also normalization.
a DSN subcommand.
dependent. An object (row, table, or table space) that
declared temporary table. A table that holds has at least one parent. The object is also said to be a
temporary data and is defined with the SQL statement dependent (row, table, or table space) of its parent. See
DECLARE GLOBAL TEMPORARY TABLE. Information also parent row, parent table, parent table space.
about declared temporary tables is not stored in the
DB2 catalog, so this kind of table is not persistent and
Glossary 559
dependent row. A row that contains a foreign key that distributed data. Data that resides on a DBMS other
matches the value of a primary key in the parent row. than the local system.
dependent table. A table that is a dependent in at distributed data facility (DDF). A set of DB2
least one referential constraint. components through which DB2 communicates with
another relational database management system.
DES-based authenticator. An authenticator that is
generated using the DES algorithm. Distributed Relational Database Architecture (DRDA
). A connection protocol for distributed relational
descendent. An object that is a dependent of an object database processing that is used by IBM’s relational
or is the dependent of a descendent of an object. database products. DRDA includes protocols for
communication between an application and a remote
descendent row. A row that is dependent on another relational database management system, and for
row, or a row that is a descendent of a dependent row. communication between relational database
management systems. See also DRDA access.
descendent table. A table that is a dependent of
another table, or a table that is a descendent of a DL/I. Data Language/I.
dependent table.
DNS. Domain name server.
deterministic function. A user-defined function whose
result is dependent on the values of the input | document access definition (DAD). Used to define
arguments. That is, successive invocations with the | the indexing scheme for an XML column or the
same input values produce the same answer. | mapping scheme of an XML collection. It can be used
Sometimes referred to as a not-variant function. | to enable an XML Extender column of an XML
Contrast this with an nondeterministic function | collection, which is XML formatted.
(sometimes called a variant function), which might not
always produce the same result for the same inputs. domain. The set of valid values for an attribute.
DFP. Data Facility Product (in z/OS). domain name. The name by which TCP/IP
applications refer to a TCP/IP host within a TCP/IP
DFSMS. Data Facility Storage Management Subsystem network.
(in z/OS). Also called Storage Management Subsystem
(SMS). domain name server (DNS). A special TCP/IP
network server that manages a distributed directory
| DFSMSdss™. The data set services (dss) component of that is used to map TCP/IP host names to IP addresses.
| DFSMS (in z/OS).
double-byte character large object (DBCLOB). A
| DFSMShsm™. The hierarchical storage manager (hsm) sequence of bytes representing double-byte characters
| component of DFSMS (in z/OS). where the size of the values can be up to 2 GB. In
general, DBCLOB values are used whenever a
dimension. A data category such as time, products, or double-byte character string might exceed the limits of
markets. The elements of a dimension are referred to as the VARGRAPHIC type.
members. Dimensions offer a very concise, intuitive
way of organizing and selecting data for retrieval, double-byte character set (DBCS). A set of characters,
exploration, and analysis. See also dimension table. which are used by national languages such as Japanese
and Chinese, that have more symbols than can be
dimension table. The representation of a dimension in represented by a single byte. Each character is 2 bytes
a star schema. Each row in a dimension table in length. Contrast with single-byte character set and
represents all of the attributes for a particular member multibyte character set.
of the dimension. See also dimension, star schema, and
star join. double-precision floating point number. A 64-bit
approximate representation of a real number.
directory. The DB2 system database that contains
internal objects such as database descriptors and downstream. The set of nodes in the syncpoint tree
skeleton cursor tables. that is connected to the local DBMS as a participant in
the execution of a two-phase commit.
# distinct predicate. In SQL, a predicate that ensures
# that two row values are not equal, and that both row | DPSI. Data-partitioned secondary index.
# values are not null.
drain. The act of acquiring a locked resource by
distinct type. A user-defined data type that is quiescing access to that object.
internally represented as an existing type (its source
type), but is considered to be a separate and drain lock. A lock on a claim class that prevents a
incompatible type for semantic purposes. claim from occurring.
Glossary 561
execution context. In SQLJ, a Java object that can be external subsystem module table (ESMT). In IMS, the
used to control the execution of SQL statements. table that specifies which attachment modules must be
loaded.
exit routine. A user-written (or IBM-provided default)
program that receives control from DB2 to perform
specific functions. Exit routines run as extensions of F
DB2.
failed member state. A state of a member of a data
expanding conversion. A process that occurs when sharing group. When a member fails, the XCF
the length of a converted string is greater than that of permanently records the failed member state. This state
the source string. For example, this process occurs usually means that the member’s task, address space,
when an ASCII mixed-data string that contains DBCS or z/OS system terminated before the state changed
characters is converted to an EBCDIC mixed-data from active to quiesced.
string; the converted string is longer because of the
addition of shift codes. fallback. The process of returning to a previous
release of DB2 after attempting or completing migration
explicit hierarchical locking. Locking that is used to to a current release.
make the parent-child relationship between resources
known to IRLM. This kind of locking avoids global false global lock contention. A contention indication
locking overhead when no inter-DB2 interest exists on a from the coupling facility when multiple lock names
resource. are hashed to the same indicator and when no real
contention exists.
exposed name. A correlation name or a table or view
name for which a correlation name is not specified. fan set. A direct physical access path to data, which is
Names that are specified in a FROM clause are exposed provided by an index, hash, or link; a fan set is the
or non-exposed. means by which the data manager supports the
ordering of data.
expression. An operand or a collection of operators
and operands that yields a single value. federated database. The combination of a DB2
Universal Database server (in Linux, UNIX, and
extended recovery facility (XRF). A facility that Windows environments) and multiple data sources to
minimizes the effect of failures in z/OS, VTAM , the which the server sends queries. In a federated database
host processor, or high-availability applications during system, a client application can use a single SQL
sessions between high-availability applications and statement to join data that is distributed across multiple
designated terminals. This facility provides an database management systems and can view the data
alternative subsystem to take over sessions from the as if it were local.
failing subsystem.
fetch orientation. The specification of the desired
Extensible Markup Language (XML). A standard placement of the cursor as part of a FETCH statement
metalanguage for defining markup languages that is a (for example, BEFORE, AFTER, NEXT, PRIOR,
subset of Standardized General Markup Language CURRENT, FIRST, LAST, ABSOLUTE, and RELATIVE).
(SGML). The less complex nature of XML makes it
easier to write applications that handle document field procedure. A user-written exit routine that is
types, to author and manage structured information, designed to receive a single value and transform
and to transmit and share structured information across (encode or decode) it in any way the user can specify.
diverse computing environments.
filter factor. A number between zero and one that
external function. A function for which the body is estimates the proportion of rows in a table for which a
written in a programming language that takes scalar predicate is true.
argument values and produces a scalar result for each
fixed-length string. A character or graphic string
invocation. Contrast with sourced function, built-in
whose length is specified and cannot be changed.
function, and SQL function.
Contrast with varying-length string.
external procedure. A user-written application
FlashCopy. A function on the IBM Enterprise Storage
program that can be invoked with the SQL CALL
Server® that can create a point-in-time copy of data
statement, which is written in a programming
while an application is running.
language. Contrast with SQL procedure.
foreign key. A column or set of columns in a
external routine. A user-defined function or stored
dependent table of a constraint relationship. The key
procedure that is based on code that is written in an
must have the same number of columns, with the same
external programming language.
descriptions, as the primary key of the parent table.
Glossary 563
pool. z/OS publications refer to these instances as the host structure. In an application program, a structure
"old" (for primary) and "new" (for secondary) that is referenced by embedded SQL statements.
structures.
host variable. In an application program, an
group level. The release level of a data sharing group, application variable that is referenced by embedded
which is established when the first member migrates to SQL statements.
a new release.
| host variable array. An array of elements, each of
group name. The z/OS XCF identifier for a data | which corresponds to a value for a column. The
sharing group. | dimension of the array determines the maximum
| number of rows for which the array can be used.
group restart. A restart of at least one member of a
data sharing group after the loss of either locks or the HSM. Hierarchical storage manager.
shared communications area.
HTML. Hypertext Markup Language, a standard
GTF. Generalized trace facility. method for presenting Web data to users.
heuristic decision. A decision that forces indoubt identify. A request that an attachment service program
resolution at a participant by means other than in an address space that is separate from DB2 issues
automatic resynchronization between coordinator and thorough the z/OS subsystem interface to inform DB2
participant. of its existence and to initiate the process of becoming
connected to DB2.
| hole. A row of the result table that cannot be accessed
| because of a delete or an update that has been identity column. A column that provides a way for
| performed on the row. See also delete hole and update DB2 to automatically generate a numeric value for each
| hole. row. The generated values are unique if cycling is not
used. Identity columns are defined with the AS
home address space. The area of storage that z/OS IDENTITY clause. Uniqueness of values can be ensured
currently recognizes as dispatched. by defining a unique index that contains only the
identity column. A table can have no more than one
host. The set of programs and resources that are identity column.
available on a given TCP/IP instance.
IFCID. Instrumentation facility component identifier.
host expression. A Java variable or expression that is
referenced by SQL clauses in an SQLJ application IFI. Instrumentation facility interface.
program.
IFI call. An invocation of the instrumentation facility
host identifier. A name that is declared in the host interface (IFI) by means of one of its defined functions.
program.
IFP. IMS Fast Path.
host language. A programming language in which
you can embed SQL statements. image copy. An exact reproduction of all or part of a
table space. DB2 provides utility programs to make full
host program. An application program that is written image copies (to copy the entire table space) or
in a host language and that contains embedded SQL incremental image copies (to copy only those pages
statements. that have been modified since the last image copy).
Glossary 565
instrumentation facility interface (IFI). A ISPF. Interactive System Productivity Facility.
programming interface that enables programs to obtain
online trace data about DB2, to submit DB2 commands, ISPF/PDF. Interactive System Productivity
and to pass data to DB2. Facility/Program Development Facility.
Interactive System Productivity Facility (ISPF). An iterator. In SQLJ, an object that contains the result set
IBM licensed program that provides interactive dialog of a query. An iterator is equivalent to a cursor in other
services in a z/OS environment. host languages.
inter-DB2 R/W interest. A property of data in a table iterator declaration clause. In SQLJ, a statement that
space, index, or partition that has been opened by more generates an iterator declaration class. An iterator is an
than one member of a data sharing group and that has object of an iterator declaration class.
been opened for writing by at least one of those
members. J
intermediate database server. The target of a request
from a local application or a remote application
| Japanese Industrial Standard. An encoding scheme
| that is used to process Japanese characters.
requester that is forwarded to another database server.
In the DB2 environment, the remote request is | JAR. Java Archive.
forwarded transparently to another database server if
the object that is referenced by a three-part name does Java Archive (JAR). A file format that is used for
not reference the local location. aggregating many files into a single file.
internationalization. The support for an encoding JCL. Job control language.
scheme that is able to represent the code points of
characters from many different geographies and JDBC. A Sun Microsystems database application
languages. To support all geographies, the Unicode programming interface (API) for Java that allows
standard requires more than 1 byte to represent a single programs to access database management systems by
character. See also Unicode. using callable SQL. JDBC does not require the use of an
SQL preprocessor. In addition, JDBC provides an
internal resource lock manager (IRLM). A z/OS architecture that lets users add modules called database
subsystem that DB2 uses to control communication and drivers, which link the application to their choice of
database locking. database management systems at run time.
| International Organization for Standardization. An JES. Job Entry Subsystem.
| international body charged with creating standards to
| facilitate the exchange of goods and services as well as JIS. Japanese Industrial Standard.
| cooperation in intellectual, scientific, technological, and
| economic activity. job control language (JCL). A control language that is
used to identify a job to an operating system and to
invalid package. A package that depends on an object describe the job’s requirements.
(other than a user-defined function) that is dropped.
Such a package is implicitly rebound on invocation. Job Entry Subsystem (JES). An IBM licensed program
Contrast with inoperative package. that receives jobs into the system and processes all
output data that is produced by the jobs.
invariant character set. (1) A character set, such as the
syntactic character set, whose code point assignments join. A relational operation that allows retrieval of
do not change from code page to code page. (2) A data from two or more tables based on matching
minimum set of characters that is available as part of column values. See also equijoin, full outer join, inner
all character sets. join, left outer join, outer join, and right outer join.
ISO. International Organization for Standardization. Kerberos. A network authentication protocol that is
designed to provide strong authentication for
isolation level. The degree to which a unit of work is client/server applications by using secret-key
isolated from the updating operations of other units of cryptography.
work. See also cursor stability, read stability, repeatable
read, and uncommitted read. Kerberos ticket. A transparent application mechanism
that transmits the identity of an initiating principal to
its target. A simple ticket contains the principal’s
latch. A DB2 internal mechanism for controlling LOB lock. A lock on a LOB value.
concurrent events or the use of system resources.
LOB table space. A table space in an auxiliary table
LCID. Log control interval definition. that contains all the data for a particular LOB column
in the related base table.
LDS. Linear data set.
local. A way of referring to any object that the local
leaf page. A page that contains pairs of keys and RIDs DB2 subsystem maintains. A local table, for example, is
and that points to actual data. Contrast with nonleaf a table that is maintained by the local DB2 subsystem.
page. Contrast with remote.
left outer join. The result of a join operation that locale. The definition of a subset of a user’s
includes the matched rows of both tables that are being environment that combines a CCSID and characters
joined, and that preserves the unmatched rows of the that are defined for a specific language and country.
first table. See also join.
local lock. A lock that provides intra-DB2 concurrency
limit key. The highest value of the index key for a control, but not inter-DB2 concurrency control; that is,
partition. its scope is a single DB2.
linear data set (LDS). A VSAM data set that contains local subsystem. The unique relational DBMS to
data but no control information. A linear data set can which the user or application program is directly
be accessed as a byte-addressable string in virtual connected (in the case of DB2, by one of the DB2
storage. attachment facilities).
linkage editor. A computer program for creating load | location. The unique name of a database server. An
modules from one or more object modules or load | application uses the location name to access a DB2
Glossary 567
| database server. A database alias can be used to logical lock (L-lock). The lock type that transactions
| override the location name when accessing a remote use to control intra- and inter-DB2 data concurrency
| server. between transactions. Contrast with physical lock
(P-lock).
| location alias. Another name by which a database
| server identifies itself in the network. Applications can logically complete. A state in which the concurrent
| use this name to access a DB2 database server. copy process is finished with the initialization of the
target objects that are being copied. The target objects
lock. A means of controlling concurrent events or are available for update.
access to data. DB2 locking is performed by the IRLM.
logical page list (LPL). A list of pages that are in error
lock duration. The interval over which a DB2 lock is and that cannot be referenced by applications until the
held. pages are recovered. The page is in logical error because
the actual media (coupling facility or disk) might not
lock escalation. The promotion of a lock from a row, contain any errors. Usually a connection to the media
page, or LOB lock to a table space lock because the has been lost.
number of page locks that are concurrently held on a
given resource exceeds a preset limit. logical partition. A set of key or RID pairs in a
nonpartitioning index that are associated with a
locking. The process by which the integrity of data is particular partition.
ensured. Locking prevents concurrent users from
accessing inconsistent data. logical recovery pending (LRECP). The state in which
the data and the index keys that reference the data are
lock mode. A representation for the type of access that inconsistent.
concurrently running programs can have to a resource
that a DB2 lock is holding. logical unit (LU). An access point through which an
application program accesses the SNA network in order
lock object. The resource that is controlled by a DB2 to communicate with another application program.
lock.
logical unit of work (LUW). The processing that a
lock promotion. The process of changing the size or program performs between synchronization points.
mode of a DB2 lock to a higher, more restrictive level.
logical unit of work identifier (LUWID). A name that
lock size. The amount of data that is controlled by a uniquely identifies a thread within a network. This
DB2 lock on table data; the value can be a row, a page, name consists of a fully-qualified LU network name, an
a LOB, a partition, a table, or a table space. LUW instance number, and an LUW sequence number.
lock structure. A coupling facility data structure that log initialization. The first phase of restart processing
is composed of a series of lock entries to support during which DB2 attempts to locate the current end of
shared and exclusive locking for logical resources. the log.
log. A collection of records that describe the events log record header (LRH). A prefix, in every logical
that occur during DB2 execution and that indicate their record, that contains control information.
sequence. The information thus recorded is used for
recovery in the event of a failure during DB2 execution. log record sequence number (LRSN). A unique
identifier for a log record that is associated with a data
| log control interval definition. A suffix of the sharing member. DB2 uses the LRSN for recovery in
| physical log record that tells how record segments are the data sharing environment.
| placed in the physical control interval.
log truncation. A process by which an explicit starting
logical claim. A claim on a logical partition of a RBA is established. This RBA is the point at which the
nonpartitioning index. next byte of log data is to be written.
logical data modeling. The process of documenting LPL. Logical page list.
the comprehensive business information requirements
in an accurate and consistent format. Data modeling is LRECP. Logical recovery pending.
the first task of designing a database.
LRH. Log record header.
logical drain. A drain on a logical partition of a
nonpartitioning index. LRSN. Log record sequence number.
logical index partition. The set of all keys that LU. Logical unit.
reference the same data partition.
| materialized query table. A table that is used to Multiple Virtual Storage. An element of the z/OS
| contain information that is derived and can be operating system. This element is also called the Base
| summarized from one or more source tables. Control Program (BCP).
MB. Megabyte (1 048 576 bytes). multisite update. Distributed relational database
processing in which data is updated in more than one
MBCS. Multibyte character set. UTF-8 is an example location within a single unit of work.
of an MBCS. Characters in UTF-8 can range from 1 to 4
bytes in DB2. multithreading. Multiple TCBs that are executing one
copy of DB2 ODBC code concurrently (sharing a
member name. The z/OS XCF identifier for a processor) or in parallel (on separate central
particular DB2 subsystem in a data sharing group. processors).
menu. A displayed list of available functions for must-complete. A state during DB2 processing in
selection by the operator. A menu is sometimes called a which the entire operation must be completed to
menu panel. maintain data integrity.
| metalanguage. A language that is used to create other mutex. Pthread mutual exclusion; a lock. A Pthread
| specialized languages. mutex variable is used as a locking mechanism to allow
serialization of critical sections of code by temporarily
migration. The process of converting a subsystem blocking the execution of all but one thread.
with a previous release of DB2 to an updated or
current release. In this process, you can acquire the | MVS. See Multiple Virtual Storage.
functions of the updated or current release without
losing the data that you created on the previous
release. N
mixed data string. A character string that can contain negotiable lock. A lock whose mode can be
both single-byte and double-byte characters. downgraded, by agreement among contending users, to
be compatible to all. A physical lock is an example of a
MLPA. Modified link pack area. negotiable lock.
Glossary 569
nested table expression. A fullselect in a FROM clause For Unicode UCS-2 (wide) strings, the null terminator
(surrounded by parentheses). is a double-byte value (X'0000').
NRE. Network recovery element. originating task. In a parallel group, the primary
agent that receives data from other execution units
NUL. The null character (’\0’), which is represented (referred to as parallel tasks) that are executing portions
by the value X'00'. In C, this character denotes the end of the query in parallel.
of a string.
OS/390. Operating System/390®.
null. A special value that indicates the absence of
information. outer join. The result of a join operation that includes
the matched rows of both tables that are being joined
NULLIF. A scalar function that evaluates two passed and preserves some or all of the unmatched rows of the
expressions, returning either NULL if the arguments tables that are being joined. See also join.
are equal or the value of the first argument if they are
not. overloaded function. A function name for which
multiple function instances exist.
null-terminated host variable. A varying-length host
variable in which the end of the data is indicated by a
null terminator.
Glossary 571
| partitioning index. An index in which the leftmost policy. See CFRM policy.
| columns are the partitioning columns of the table. The
| index can be partitioned or nonpartitioned. Portable Operating System Interface (POSIX). The
IEEE operating system interface standard, which
| partition pruning. The removal from consideration of defines the Pthread standard of threading. See also
| inapplicable partitions through setting up predicates in Pthread.
| a query on a partitioned table to access only certain
| partitions to satisfy the query. POSIX. Portable Operating System Interface.
partner logical unit. An access point in the SNA postponed abort UR. A unit of recovery that was
network that is connected to the local DB2 subsystem inflight or in-abort, was interrupted by system failure
by way of a VTAM conversation. or cancellation, and did not complete backout during
restart.
path. See SQL path.
PPT. (1) Processing program table (in CICS). (2)
PCT. Program control table (in CICS). Program properties table (in z/OS).
PDS. Partitioned data set. precision. In SQL, the total number of digits in a
decimal number (called the size in the C language). In
piece. A data set of a nonpartitioned page set. the C language, the number of digits to the right of the
decimal point (called the scale in SQL). The DB2 library
physical claim. A claim on an entire nonpartitioning uses the SQL terms.
index.
precompilation. A processing of application programs
physical consistency. The state of a page that is not in containing SQL statements that takes place before
a partially changed state. compilation. SQL statements are replaced with
statements that are recognized by the host language
physical drain. A drain on an entire nonpartitioning
compiler. Output from this precompilation includes
index.
source code that can be submitted to the compiler and
physical lock (P-lock). A type of lock that DB2 the database request module (DBRM) that is input to
acquires to provide consistency of data that is cached in the bind process.
different DB2 subsystems. Physical locks are used only
predicate. An element of a search condition that
in data sharing environments. Contrast with logical lock
expresses or implies a comparison operation.
(L-lock).
prefix. A code at the beginning of a message or
physical lock contention. Conflicting states of the
record.
requesters for a physical lock. See also negotiable lock.
preformat. The process of preparing a VSAM ESDS
physically complete. The state in which the
for DB2 use, by writing specific data patterns.
concurrent copy process is completed and the output
data set has been created. prepare. The first phase of a two-phase commit
process in which all participants are requested to
plan. See application plan.
prepare for commit.
plan allocation. The process of allocating DB2
prepared SQL statement. A named object that is the
resources to a plan in preparation for execution.
executable form of an SQL statement that has been
plan member. The bound copy of a DBRM that is processed by the PREPARE statement.
identified in the member clause.
presumed-abort. An optimization of the
plan name. The name of an application plan. presumed-nothing two-phase commit protocol that
reduces the number of recovery log records, the
plan segmentation. The dividing of each plan into duration of state maintenance, and the number of
sections. When a section is needed, it is independently messages between coordinator and participant. The
brought into the EDM pool. optimization also modifies the indoubt resolution
responsibility.
P-lock. Physical lock.
presumed-nothing. The standard two-phase commit
PLT. Program list table (in CICS). protocol that defines coordinator and participant
responsibilities, relative to logical unit of work states,
point of consistency. A time when all recoverable data recovery logging, and indoubt resolution.
that an application accesses is consistent with other
data. The term point of consistency is synonymous primary authorization ID. The authorization ID that
with sync point or commit point. is used to identify the application process to DB2.
principal. An entity that can communicate securely Pthread. The POSIX threading standard model for
with another entity. In Kerberos, principals are splitting an application into subtasks. The Pthread
represented as entries in the Kerberos registry database standard includes functions for creating threads,
and include users, servers, computers, and others. terminating threads, synchronizing threads through
locking, and other thread control facilities.
principal name. The name by which a principal is
known to the DCE security services.
Q
private connection. A communications connection that
is specific to DB2. QMF™. Query Management Facility.
private protocol access. A method of accessing QSAM. Queued sequential access method.
distributed data by which you can direct a query to
query. A component of certain SQL statements that
another DB2 system. Contrast with DRDA access.
specifies a result table.
private protocol connection. A DB2 private connection
query block. The part of a query that is represented
of the application process. See also private connection.
by one of the FROM clauses. Each FROM clause can
privilege. The capability of performing a specific have multiple query blocks, depending on DB2’s
function, sometimes on a specific object. The types of internal processing of the query.
privileges are:
query CP parallelism. Parallel execution of a single
explicit privileges, which have names and are held
query, which is accomplished by using multiple tasks.
as the result of SQL GRANT and REVOKE
See also Sysplex query parallelism.
statements. For example, the SELECT privilege.
implicit privileges, which accompany the query I/O parallelism. Parallel access of data, which
ownership of an object, such as the privilege to drop is accomplished by triggering multiple I/O requests
a synonym that one owns, or the holding of an within a single query.
authority, such as the privilege of SYSADM
authority to terminate any utility job. queued sequential access method (QSAM). An
extended version of the basic sequential access method
privilege set. For the installation SYSADM ID, the set (BSAM). When this method is used, a queue of data
of all possible privileges. For any other authorization blocks is formed. Input data blocks await processing,
ID, the set of all privileges that are recorded for that ID and output data blocks await transfer to auxiliary
in the DB2 catalog. storage or to an output device.
process. In DB2, the unit to which DB2 allocates quiesce point. A point at which data is consistent as a
resources and locks. Sometimes called an application result of running the DB2 QUIESCE utility.
process, a process involves the execution of one or more
programs. The execution of an SQL statement is always quiesced member state. A state of a member of a data
associated with some process. The means of initiating sharing group. An active member becomes quiesced
and terminating a process are dependent on the when a STOP DB2 command takes effect without a
environment. failure. If the member’s task, address space, or z/OS
system fails before the command takes effect, the
program. A single, compilable collection of executable member state is failed.
statements in a programming language.
Glossary 573
R columns, the record is a fixed-length record. If one or
more columns are varying-length columns, the record is
a varying-length column.
| RACF. Resource Access Control Facility, which is a
| component of the z/OS Security Server. Recoverable Resource Manager Services attachment
® facility (RRSAF). A DB2 subcomponent that uses
RAMAC . IBM family of enterprise disk storage
Resource Recovery Services to coordinate resource
system products.
commitment between DB2 and all other resource
RBA. Relative byte address. managers that also use RRS in a z/OS system.
RCT. Resource control table (in CICS attachment recovery. The process of rebuilding databases after a
facility). system failure.
RDB. Relational database. recovery log. A collection of records that describes the
events that occur during DB2 execution and indicates
RDBMS. Relational database management system. their sequence. The recorded information is used for
recovery in the event of a failure during DB2 execution.
RDBNAM. Relational database name.
recovery manager. (1) A subcomponent that supplies
RDF. Record definition field. coordination services that control the interaction of DB2
resource managers during commit, abort, checkpoint,
read stability (RS). An isolation level that is similar to and restart processes. The recovery manager also
repeatable read but does not completely isolate an supports the recovery mechanisms of other subsystems
application process from all other concurrently (for example, IMS) by acting as a participant in the
executing application processes. Under level RS, an other subsystem’s process for protecting data that has
application that issues the same query more than once reached a point of consistency. (2) A coordinator or a
might read additional rows that were inserted and participant (or both), in the execution of a two-phase
committed by a concurrently executing application commit, that can access a recovery log that maintains
process. the state of the logical unit of work and names the
immediate upstream coordinator and downstream
rebind. The creation of a new application plan for an
participants.
application program that has been bound previously. If,
for example, you have added an index for a table that recovery pending (RECP). A condition that prevents
your application accesses, you must rebind the SQL access to a table space that needs to be recovered.
application in order to take advantage of that index.
recovery token. An identifier for an element that is
rebuild. The process of reallocating a coupling facility used in recovery (for example, NID or URID).
structure. For the shared communications area (SCA)
and lock structure, the structure is repopulated; for the RECP. Recovery pending.
group buffer pool, changed pages are usually cast out
to disk, and the new structure is populated only with redo. A state of a unit of recovery that indicates that
changed pages that were not successfully cast out. changes are to be reapplied to the disk media to ensure
data integrity.
RECFM. Record format.
reentrant. Executable code that can reside in storage
record. The storage representation of a row or other as one shared copy for all threads. Reentrant code is
data. not self-modifying and provides separate storage areas
for each thread. Reentrancy is a compiler and operating
record identifier (RID). A unique identifier that DB2 system concept, and reentrancy alone is not enough to
uses internally to identify a row of data in a table. guarantee logically consistent results when
Compare with row ID. multithreading. See also threadsafe.
| record identifier (RID) pool. An area of main storage referential constraint. The requirement that nonnull
| that is used for sorting record identifiers during values of a designated foreign key are valid only if they
| list-prefetch processing. equal values of the primary key of a designated table.
record length. The sum of the length of all the referential integrity. The state of a database in which
columns in a table, which is the length of the data as it all values of all foreign keys are valid. Maintaining
is physically stored in the database. Records can be referential integrity requires the enforcement of
fixed length or varying length, depending on how the referential constraints on all operations that change the
columns are defined. If all columns are fixed-length data in a table on which the referential constraints are
defined.
registry. See registry database. repeatable read (RR). The isolation level that provides
maximum protection from other executing application
registry database. A database of security information programs. When an application program executes with
about principals, groups, organizations, accounts, and repeatable read protection, rows that the program
security policies. references cannot be changed by other programs until
the program reaches a commit point.
relational database (RDB). A database that can be
perceived as a set of tables and manipulated in repeating group. A situation in which an entity
accordance with the relational model of data. includes multiple attributes that are inherently the
same. The presence of a repeating group violates the
relational database management system (RDBMS). A requirement of first normal form. In an entity that
collection of hardware and software that organizes and satisfies the requirement of first normal form, each
provides access to a relational database. attribute is independent and unique in its meaning and
its name. See also normalization.
relational database name (RDBNAM). A unique
identifier for an RDBMS within a network. In DB2, this replay detection mechanism. A method that allows a
must be the value in the LOCATION column of table principal to detect whether a request is a valid request
SYSIBM.LOCATIONS in the CDB. DB2 publications from a source that can be trusted or whether an
refer to the name of another RDBMS as a LOCATION untrustworthy entity has captured information from a
value or a location name. previous exchange and is replaying the information
exchange to gain access to the principal.
relationship. A defined connection between the rows
of a table or the rows of two tables. A relationship is request commit. The vote that is submitted to the
the internal representation of a referential constraint. prepare phase if the participant has modified data and
is prepared to commit or roll back.
relative byte address (RBA). The offset of a data
record or control interval from the beginning of the requester. The source of a request to access data at a
storage space that is allocated to the data set or file to remote server. In the DB2 environment, the requester
which it belongs. function is provided by the distributed data facility.
remigration. The process of returning to a current resource. The object of a lock or claim, which could be
release of DB2 following a fallback to a previous a table space, an index space, a data partition, an index
release. This procedure constitutes another migration partition, or a logical partition.
process.
resource allocation. The part of plan allocation that
remote. Any object that is maintained by a remote deals specifically with the database resources.
DB2 subsystem (that is, by a DB2 subsystem other than
the local one). A remote view, for example, is a view that resource control table (RCT). A construct of the CICS
is maintained by a remote DB2 subsystem. Contrast attachment facility, created by site-provided macro
with local. parameters, that defines authorization and access
attributes for transactions or transaction groups.
remote attach request. A request by a remote location
to attach to the local DB2 subsystem. Specifically, the resource definition online. A CICS feature that you
request that is sent is an SNA Function Management use to define CICS resources online without assembling
Header 5. tables.
remote subsystem. Any relational DBMS, except the resource limit facility (RLF). A portion of DB2 code
local subsystem, with which the user or application can that prevents dynamic manipulative SQL statements
communicate. The subsystem need not be remote in from exceeding specified time limits. The resource limit
any physical sense, and might even operate on the facility is sometimes called the governor.
same processor under the same z/OS system.
resource limit specification table (RLST). A
reoptimization. The DB2 process of reconsidering the site-defined table that specifies the limits to be enforced
access path of an SQL statement at run time; during by the resource limit facility.
Glossary 575
resource manager. (1) A function that is responsible routine. A term that refers to either a user-defined
for managing a particular resource and that guarantees function or a stored procedure.
the consistency of all updates made to recoverable
resources within a logical unit of work. The resource row. The horizontal component of a table. A row
that is being managed can be physical (for example, consists of a sequence of values, one for each column of
disk or main storage) or logical (for example, a the table.
particular type of system service). (2) A participant, in
the execution of a two-phase commit, that has ROWID. Row identifier.
recoverable resources that could have been modified.
row identifier (ROWID). A value that uniquely
The resource manager has access to a recovery log so
identifies a row. This value is stored with the row and
that it can commit or roll back the effects of the logical
never changes.
unit of work to the recoverable resources.
row lock. A lock on a single row of data.
restart pending (RESTP). A restrictive state of a page
set or partition that indicates that restart (backout) | rowset. A set of rows for which a cursor position is
work needs to be performed on the object. All access to | established.
the page set or partition is denied except for access by
the: | rowset cursor. A cursor that is defined so that one or
v RECOVER POSTPONED command | more rows can be returned as a rowset for a single
v Automatic online backout (which DB2 invokes after | FETCH statement, and the cursor is positioned on the
restart if the system parameter LBACKOUT=AUTO) | set of rows that is fetched.
result table. The set of rows that are specified by a RRE. Residual recovery entry (in IMS).
SELECT statement.
RRSAF. Recoverable Resource Manager Services
retained lock. A MODIFY lock that a DB2 subsystem attachment facility.
was holding at the time of a subsystem failure. The
lock is retained in the coupling facility lock structure RS. Read stability.
across a DB2 failure.
RTT. Resource translation table.
RID. Record identifier.
RURE. Restart URE.
RID pool. Record identifier pool.
| schema. (1) The organization or structure of a self-referencing table. A table with a self-referencing
| database. (2) A logical grouping for user-defined constraint.
| functions, distinct types, triggers, and stored
| procedures. When an object of one of these types is | sensitive cursor. A cursor that is sensitive to changes
| created, it is assigned to one schema, which is | that are made to the database after the result table has
| determined by the name of the object. For example, the | been materialized.
| following statement creates a distinct type T in schema
| C: | sequence. A user-defined object that generates a
| sequence of numeric values according to user
| CREATE DISTINCT TYPE C.T ... | specifications.
| scrollability. The ability to use a cursor to fetch in sequential data set. A non-DB2 data set whose
either a forward or backward direction. The FETCH records are organized on the basis of their successive
statement supports multiple fetch orientations to physical positions, such as on magnetic tape. Several of
indicate the new position of the cursor. See also fetch the DB2 database utilities require sequential data sets.
orientation.
sequential prefetch. A mechanism that triggers
scrollable cursor. A cursor that can be moved in both consecutive asynchronous I/O operations. Pages are
a forward and a backward direction. fetched before they are required, and several pages are
read with a single I/O operation.
SDWA. System diagnostic work area.
serial cursor. A cursor that can be moved only in a
search condition. A criterion for selecting rows from a
forward direction.
table. A search condition consists of one or more
predicates. serialized profile. A Java object that contains SQL
statements and descriptions of host variables. The SQLJ
secondary authorization ID. An authorization ID that
translator produces a serialized profile for each
has been associated with a primary authorization ID by
connection context.
an authorization exit routine.
server. The target of a request from a remote
secondary group buffer pool. For a duplexed group
requester. In the DB2 environment, the server function
buffer pool, the structure that is used to back up
is provided by the distributed data facility, which is
changed pages that are written to the primary group
used to access DB2 data from remote applications.
buffer pool. No page registration or cross-invalidation
occurs using the secondary group buffer pool. The server-side programming. A method for adding DB2
z/OS equivalent is new structure. data into dynamic Web pages.
| secondary index. A nonpartitioning index on a service class. An eight-character identifier that is used
| partitioned table. by the z/OS Workload Manager to associate user
performance goals with a particular DDF thread or
section. The segment of a plan or package that
stored procedure. A service class is also used to classify
contains the executable structures for a single SQL
work on parallelism assistants.
statement. For most SQL statements, one section in the
plan exists for each SQL statement in the source service request block. A unit of work that is
program. However, for cursor-related statements, the scheduled to execute in another address space.
DECLARE, OPEN, FETCH, and CLOSE statements
reference the same section because they each refer to session. A link between two nodes in a VTAM
the SELECT statement that is named in the DECLARE network.
CURSOR statement. SQL statements such as COMMIT,
ROLLBACK, and some SET statements do not use a session protocols. The available set of SNA
section. communication requests and responses.
segment. A group of pages that holds rows of a single shared communications area (SCA). A coupling
table. See also segmented table space. facility list structure that a DB2 data sharing group uses
for inter-DB2 communication.
segmented table space. A table space that is divided
into equal-sized groups of pages called segments. share lock. A lock that prevents concurrently
Segments are assigned to tables so that rows of executing application processes from changing data,
different tables are never stored in the same segment. but not from reading data. Contrast with exclusive lock.
Glossary 577
shift-in character. A special control character (X'0F') source program. A set of host language statements
that is used in EBCDIC systems to denote that the and SQL statements that is processed by an SQL
subsequent bytes represent SBCS characters. See also precompiler.
shift-out character.
| source table. A table that can be a base table, a view, a
shift-out character. A special control character (X'0E') | table expression, or a user-defined table function.
that is used in EBCDIC systems to denote that the
subsequent bytes, up to the next shift-in control source type. An existing type that DB2 uses to
character, represent DBCS characters. See also shift-in internally represent a distinct type.
character.
space. A sequence of one or more blank characters.
sign-on. A request that is made on behalf of an
individual CICS or IMS application process by an special register. A storage area that DB2 defines for an
attachment facility to enable DB2 to verify that it is application process to use for storing information that
authorized to use DB2 resources. can be referenced in SQL statements. Examples of
special registers are USER and CURRENT DATE.
simple page set. A nonpartitioned page set. A simple
page set initially consists of a single data set (page set specific function name. A particular user-defined
piece). If and when that data set is extended to 2 GB, function that is known to the database manager by its
another data set is created, and so on, up to a total of specific name. Many specific user-defined functions can
32 data sets. DB2 considers the data sets to be a single have the same function name. When a user-defined
contiguous linear address space containing a maximum function is defined to the database, every function is
of 64 GB. Data is stored in the next available location assigned a specific name that is unique within its
within this address space without regard to any schema. Either the user can provide this name, or a
partitioning scheme. default name is used.
simple table space. A table space that is neither SPUFI. SQL Processor Using File Input.
partitioned nor segmented.
SQL. Structured Query Language.
single-byte character set (SBCS). A set of characters
SQL authorization ID (SQL ID). The authorization ID
in which each character is represented by a single byte.
that is used for checking dynamic SQL statements in
Contrast with double-byte character set or multibyte
some situations.
character set.
SQLCA. SQL communication area.
single-precision floating point number. A 32-bit
approximate representation of a real number. SQL communication area (SQLCA). A structure that
is used to provide an application program with
size. In the C language, the total number of digits in a
information about the execution of its SQL statements.
decimal number (called the precision in SQL). The DB2
library uses the SQL term. SQL connection. An association between an
application process and a local or remote application
SMF. System Management Facilities.
server or database server.
SMP/E. System Modification Program/Extended.
SQLDA. SQL descriptor area.
SMS. Storage Management Subsystem.
SQL descriptor area (SQLDA). A structure that
SNA. Systems Network Architecture. describes input variables, output variables, or the
columns of a result table.
SNA network. The part of a network that conforms to
the formats and protocols of Systems Network SQL escape character. The symbol that is used to
Architecture (SNA). enclose an SQL delimited identifier. This symbol is the
double quotation mark ("). See also escape character.
socket. A callable TCP/IP programming interface that
TCP/IP network applications use to communicate with SQL function. A user-defined function in which the
remote TCP/IP partners. CREATE FUNCTION statement contains the source
code. The source code is a single SQL expression that
sourced function. A function that is implemented by evaluates to a single value. The SQL user-defined
another built-in or user-defined function that is already function can return only one parameter.
known to the database manager. This function can be a
scalar function or a column (aggregating) function; it SQL ID. SQL authorization ID.
returns a single value from a set of values (for example,
SQLJ. Structured Query Language (SQL) that is
MAX or AVG). Contrast with built-in function, external
embedded in the Java programming language.
function, and SQL function.
SQL processing conversation. Any conversation that static SQL. SQL statements, embedded within a
requires access of DB2 data, either through an program, that are prepared during the program
application or by dynamic query requests. preparation process (before the program is executed).
After being prepared, the SQL statement does not
SQL Processor Using File Input (SPUFI). A facility of change (although values of host variables that are
the TSO attachment subcomponent that enables the specified by the statement might change).
DB2I user to execute SQL statements without
embedding them in an application program. storage group. A named set of disks on which DB2
data can be stored.
SQL return code. Either SQLCODE or SQLSTATE.
stored procedure. A user-written application program
SQL routine. A user-defined function or stored that can be invoked through the use of the SQL CALL
procedure that is based on code that is written in SQL. statement.
SQL statement coprocessor. An alternative to the DB2 string. See character string or graphic string.
precompiler that lets the user process SQL statements
at compile time. The user invokes an SQL statement strong typing. A process that guarantees that only
coprocessor by specifying a compiler option. user-defined functions and operations that are defined
on a distinct type can be applied to that type. For
SQL string delimiter. A symbol that is used to enclose example, you cannot directly compare two currency
an SQL string constant. The SQL string delimiter is the types, such as Canadian dollars and U.S. dollars. But
apostrophe ('), except in COBOL applications, where you can provide a user-defined function to convert one
the user assigns the symbol, which is either an currency to the other and then do the comparison.
apostrophe or a double quotation mark (").
structure. (1) A name that refers collectively to
SRB. Service request block. different types of DB2 objects, such as tables, databases,
views, indexes, and table spaces. (2) A construct that
SSI. Subsystem interface (in z/OS). uses z/OS to map and manage storage on a coupling
facility. See also cache structure, list structure, or lock
SSM. Subsystem member (in IMS). structure.
stand-alone. An attribute of a program that means Structured Query Language (SQL). A standardized
that it is capable of executing separately from DB2, language for defining and manipulating data in a
without using DB2 services. relational database.
star join. A method of joining a dimension column of structure owner. In relation to group buffer pools, the
a fact table to the key column of the corresponding DB2 member that is responsible for the following
dimension table. See also join, dimension, and star activities:
schema.
v Coordinating rebuild, checkpoint, and damage
star schema. The combination of a fact table (which assessment processing
contains most of the data) and a number of dimension v Monitoring the group buffer pool threshold and
tables. See also star join, dimension, and dimension table. notifying castout owners when the threshold has
been reached
statement handle. In DB2 ODBC, the data object that
contains information about an SQL statement that is subcomponent. A group of closely related DB2
managed by DB2 ODBC. This includes information modules that work together to provide a general
such as dynamic arguments, bindings for dynamic function.
arguments and columns, cursor information, result
values, and status information. Each statement handle subject table. The table for which a trigger is created.
is associated with the connection handle. When the defined triggering event occurs on this table,
the trigger is activated.
Glossary 579
subpage. The unit into which a physical index page system agent. A work request that DB2 creates
can be divided. internally such as prefetch processing, deferred writes,
and service tasks.
subquery. A SELECT statement within the WHERE or
HAVING clause of another SQL statement; a nested system conversation. The conversation that two DB2
SQL statement. subsystems must establish to process system messages
before any distributed processing can begin.
subselect. That form of a query that does not include
an ORDER BY clause, an UPDATE clause, or UNION system diagnostic work area (SDWA). The data that
operators. is recorded in a SYS1.LOGREC entry that describes a
program or hardware error.
substitution character. A unique character that is
substituted during character conversion for any system-directed connection. A connection that a
characters in the source program that do not have a relational DBMS manages by processing SQL
match in the target coding representation. statements with three-part names.
Sysplex. See Parallel Sysplex. table locator. A mechanism that allows access to
trigger transition tables in the FROM clause of SELECT
Sysplex query parallelism. Parallel execution of a statements, in the subselect of INSERT statements, or
single query that is accomplished by using multiple from within user-defined functions. A table locator is a
tasks on more than one DB2 subsystem. See also query fullword integer value that represents a transition table.
CP parallelism.
table space. A page set that is used to store the
system administrator. The person at a computer records in one or more tables.
installation who designs, controls, and manages the use
of the computer system.
Glossary 581
trigger. A set of SQL statements that are stored in a that are not written for the CICS or IMS environments
DB2 database and executed when a certain event can run under the TSO attachment facility.
occurs in a DB2 table.
typed parameter marker. A parameter marker that is
trigger activation. The process that occurs when the specified along with its target data type. It has the
trigger event that is defined in a trigger definition is general form:
executed. Trigger activation consists of the evaluation CAST(? AS data-type)
of the triggered action condition and conditional
execution of the triggered SQL statements. type 1 indexes. Indexes that were created by a release
of DB2 before DB2 Version 4 or that are specified as
trigger activation time. An indication in the trigger type 1 indexes in Version 4. Contrast with type 2
definition of whether the trigger should be activated indexes. As of Version 8, type 1 indexes are no longer
before or after the triggered event. supported.
trigger body. The set of SQL statements that is type 2 indexes. Indexes that are created on a release
executed when a trigger is activated and its triggered of DB2 after Version 7 or that are specified as type 2
action condition evaluates to true. A trigger body is indexes in Version 4 or later.
also called triggered SQL statements.
triggering SQL operation. The SQL operation that union. An SQL operation that combines the results of
causes a trigger to be activated when performed on the two SELECT statements. Unions are often used to
subject table. merge lists of values that are obtained from several
tables.
trigger package. A package that is created when a
CREATE TRIGGER statement is executed. The package unique constraint. An SQL rule that no two values in
is executed when the trigger is activated. a primary key, or in the key of a unique index, can be
the same.
TSO. Time-Sharing Option.
unique index. An index that ensures that no identical
TSO attachment facility. A DB2 facility consisting of key values are stored in a column or a set of columns
the DSN command processor and DB2I. Applications in a table.
unit of work. A recoverable sequence of operations UTF-8. Unicode Transformation Format, 8-bit
within an application process. At any time, an encoding form, which is designed for ease of use with
application process is a single unit of work, but the life existing ASCII-based systems. The CCSID value for
of an application process can involve many units of data in UTF-8 format is 1208. DB2 UDB for z/OS
work as a result of commit or rollback operations. In a supports UTF-8 in mixed data fields.
multisite update operation, a single unit of work can
include several units of recovery. Contrast with unit of UTF-16. Unicode Transformation Format, 16-bit
recovery. encoding form, which is designed to provide code
values for over a million characters and a superset of
Universal Unique Identifier (UUID). An identifier UCS-2. The CCSID value for data in UTF-16 format is
that is immutable and unique across time and space (in 1200. DB2 UDB for z/OS supports UTF-16 in graphic
z/OS). data fields.
unlock. The act of releasing an object or system UUID. Universal Unique Identifier.
resource that was previously locked and returning it to
general availability within DB2.
V
untyped parameter marker. A parameter marker that
is specified without its target data type. It has the form value. The smallest unit of data that is manipulated in
of a single question mark (?). SQL.
updatability. The ability of a cursor to perform variable. A data element that specifies a value that
positioned updates and deletes. The updatability of a can be changed. A COBOL elementary data item is an
cursor can be influenced by the SELECT statement and example of a variable. Contrast with constant.
the cursor sensitivity option that is specified on the
variant function. See nondeterministic function.
DECLARE CURSOR statement.
varying-length string. A character or graphic string
update hole. The location on which a cursor is
whose length varies within set limits. Contrast with
positioned when a row in a result table is fetched again
fixed-length string.
and the new values no longer satisfy the search
condition. DB2 marks a row in the result table as an version. A member of a set of similar programs,
update hole when an update to the corresponding row DBRMs, packages, or LOBs.
in the database causes that row to no longer qualify for A version of a program is the source code that is
the result table. produced by precompiling the program. The
program version is identified by the program name
update trigger. A trigger that is defined with the
and a timestamp (consistency token).
triggering SQL operation UPDATE.
A version of a DBRM is the DBRM that is
upstream. The node in the syncpoint tree that is produced by precompiling a program. The DBRM
responsible, in addition to other recovery or resource version is identified by the same program name and
managers, for coordinating the execution of a timestamp as a corresponding program version.
two-phase commit. A version of a package is the result of binding a
DBRM within a particular database system. The
UR. Uncommitted read. package version is identified by the same program
name and consistency token as the DBRM.
URE. Unit of recovery element. A version of a LOB is a copy of a LOB value at a
point in time. The version number for a LOB is
URID . Unit of recovery identifier. stored in the auxiliary index entry for the LOB.
URL. Uniform resource locator. view. An alternative representation of data from one
or more tables. A view can include all or some of the
user-defined data type (UDT). See distinct type.
columns that are contained in tables on which it is
user-defined function (UDF). A function that is defined.
defined to DB2 by using the CREATE FUNCTION
Glossary 583
view check option. An option that specifies whether | XML attribute. A name-value pair within a tagged
every row that is inserted or updated through a view | XML element that modifies certain features of the
must conform to the definition of that view. A view | element.
check option can be specified with the WITH
CASCADED CHECK OPTION, WITH CHECK # XML element. A logical structure in an XML
OPTION, or WITH LOCAL CHECK OPTION clauses of # document that is delimited by a start and an end tag.
the CREATE VIEW statement. # Anything between the start tag and the end tag is the
# content of the element.
Virtual Storage Access Method (VSAM). An access
method for direct or sequential processing of fixed- and | XML node. The smallest unit of valid, complete
varying-length records on disk devices. The records in | structure in a document. For example, a node can
a VSAM data set or file can be organized in logical | represent an element, an attribute, or a text string.
sequence by a key field (key sequence), in the physical
sequence in which they are written on the data set or | XML publishing functions. Functions that return
file (entry-sequence), or by relative-record number (in | XML values from SQL values.
z/OS).
X/Open. An independent, worldwide open systems
Virtual Telecommunications Access Method (VTAM). organization that is supported by most of the world’s
An IBM licensed program that controls communication largest information systems suppliers, user
and the flow of data in an SNA network (in z/OS). organizations, and software companies. X/Open's goal
is to increase the portability of applications by
| volatile table. A table for which SQL operations combining existing and emerging standards.
| choose index access whenever possible.
XRF. Extended recovery facility.
VSAM. Virtual Storage Access Method.
X
XCF. See cross-system coupling facility.
Bibliography 587
v Open Group Technical Standard; the Open Group v IMS Application Programming: Database Manager,
presently makes the following DRDA books SC27-1286
available through its Web site at v IMS Application Programming: Design Guide,
www.opengroup.org SC27-1287
– Open Group Technical Standard, DRDA Version v IMS Application Programming: Transaction
3 Vol. 1: Distributed Relational Database Manager, SC27-1289
Architecture v IMS Command Reference, SC27-1291
– Open Group Technical Standard, DRDA Version v IMS Customization Guide, SC27-1294
3 Vol. 2: Formatted Data Object Content v IMS Install Volume 1: Installation Verification,
Architecture GC27-1297
– Open Group Technical Standard, DRDA Version v IMS Install Volume 2: System Definition and
3 Vol. 3: Distributed Data Management Tailoring, GC27-1298
Architecture v IMS Messages and Codes Volumes 1 and 2,
GC27-1301 and GC27-1302
Domain Name System v IMS Open Transaction Manager Access Guide and
v DNS and BIND, Third Edition, Paul Albitz and Reference, SC18-7829
Cricket Liu, O’Reilly, ISBN 0-59600-158-4 v IMS Utilities Reference: System, SC27-1309
Bibliography 589
WebSphere family v z/OS MVS Planning: Workload Management,
v WebSphere MQ Integrator Broker: Administration SA22-7602
Guide, SC34-6171 v z/OS MVS Programming: Assembler Services
v WebSphere MQ Integrator Broker for z/OS: Guide, SA22-7605
Customization and Administration Guide, v z/OS MVS Programming: Assembler Services
SC34-6175 Reference, Volumes 1 and 2, SA22-7606 and
v WebSphere MQ Integrator Broker: Introduction and SA22-7607
Planning, GC34-5599 v z/OS MVS Programming: Authorized Assembler
v WebSphere MQ Integrator Broker: Using the Services Guide, SA22-7608
Control Center, SC34-6168 v z/OS MVS Programming: Authorized Assembler
Services Reference Volumes 1-4, SA22-7609,
z/Architecture SA22-7610, SA22-7611, and SA22-7612
v z/Architecture Principles of Operation, SA22-7832 v z/OS MVS Programming: Callable Services for
High-Level Languages, SA22-7613
z/OS v z/OS MVS Programming: Extended Addressability
v z/OS C/C++ Programming Guide, SC09-4765 Guide, SA22-7614
v z/OS C/C++ Run-Time Library Reference, v z/OS MVS Programming: Sysplex Services Guide,
SA22-7821 SA22-7617
v z/OS C/C++ User's Guide, SC09-4767 v z/OS MVS Programming: Sysplex Services
v z/OS Communications Server: IP Configuration Reference, SA22-7618
Guide, SC31-8875 v z/OS MVS Programming: Workload Management
v z/OS DCE Administration Guide, SC24-5904 Services, SA22-7619
v z/OS DCE Introduction, GC24-5911 v z/OS MVS Recovery and Reconfiguration Guide,
v z/OS DCE Messages and Codes, SC24-5912 SA22-7623
v z/OS Information Roadmap, SA22-7500 v z/OS MVS Routing and Descriptor Codes,
v z/OS Introduction and Release Guide, GA22-7502 SA22-7624
v z/OS JES2 Initialization and Tuning Guide, v z/OS MVS Setting Up a Sysplex, SA22-7625
SA22-7532 v z/OS MVS System Codes SA22-7626
v z/OS JES3 Initialization and Tuning Guide, v z/OS MVS System Commands, SA22-7627
SA22-7549 v z/OS MVS System Messages Volumes 1-10,
v z/OS Language Environment Concepts Guide, SA22-7631, SA22-7632, SA22-7633, SA22-7634,
SA22-7567 SA22-7635, SA22-7636, SA22-7637, SA22-7638,
v z/OS Language Environment Customization, SA22-7639, and SA22-7640
SA22-7564 v z/OS MVS Using the Subsystem Interface,
v z/OS Language Environment Debugging Guide, SA22-7642
GA22-7560 v z/OS Planning for Multilevel Security and the
v z/OS Language Environment Programming Guide, Common Criteria, SA22-7509
SA22-7561 v z/OS RMF User's Guide, SC33-7990
v z/OS Language Environment Programming v z/OS Security Server Network Authentication
Reference, SA22-7562 Server Administration, SC24-5926
v z/OS Managed System Infrastructure for Setup v z/OS Security Server RACF Auditor's Guide,
User's Guide, SC33-7985 SA22-7684
v z/OS MVS Diagnosis: Procedures, GA22-7587 v z/OS Security Server RACF Command Language
v z/OS MVS Diagnosis: Reference, GA22-7588 Reference, SA22-7687
v z/OS MVS Diagnosis: Tools and Service Aids, v z/OS Security Server RACF Macros and Interfaces,
GA22-7589 SA22-7682
v z/OS MVS Initialization and Tuning Guide, v z/OS Security Server RACF Security
SA22-7591 Administrator's Guide, SA22-7683
v z/OS MVS Initialization and Tuning Reference, v z/OS Security Server RACF System Programmer's
SA22-7592 Guide, SA22-7681
v z/OS MVS Installation Exits, SA22-7593 v z/OS Security Server RACROUTE Macro
v z/OS MVS JCL Reference, SA22-7597 Reference, SA22-7692
v z/OS MVS JCL User's Guide, SA22-7598 v z/OS Support for Unicode: Using Conversion
v z/OS MVS Planning: Global Resource Serialization, Services, SA22-7649
SA22-7600 v z/OS TSO/E CLISTs, SA22-7781
v z/OS MVS Planning: Operations, SA22-7601 v z/OS TSO/E Command Reference, SA22-7782
Bibliography 591
592 Installation Guide
Index
Numerics ASCII
conversion table 518
32-KB buffering 273 ASCII CODED CHARACTER SET field of panel
4-KB buffering 273 DSNTIPF 169
ASSEMBLER LIBRARY field of panel DSNTIPU 122
ASSISTANT field of panel DSNTIPK 107
A ATCSTRxx member of SYS1.VTAMLST library 472
ACBNAME option of APPL statement 463 attachment facility
ACCEPT job 51, 63 CICS 270, 330
active log See CICS
data set IMS
prefix 111 installation 270, 441
sharing DASD 284 migration 330
storage requirements 19 TSO 264, 328
dual logging 109 See TSO
installation 257 AUDIT TRACE field of panel DSNTIPN 149
size AUTH AT HOP SITE field of panel DSNTIP5 227
estimating 19, 131 AUTH EXIT LIMIT field of panel DSNTIPP 198
address space AUTH MEMBER field of panel DSNTIPM 201
allied agent 30 AUTH option
database services APPL statement 462
description 29 AUTH SEQUENCE field of panel DSNTIPM 202
working calculation 42 AUTHID
working storage calculation 43 column of MODESELECT table 477
DDF 29 column of USERNAMES catalog table 506
DSN1DIST 29 authorization ID
IRLM 29 RACF 270
system services 29 TSO 270
AGGREGATION FIELDS field of panel DSNTIPN 153 AUTO BIND
alias field of panel DSNTIPO 351
server location 458 AUTO BIND field of panel DSNTIPO 157
allied agent address space 30 AUTO START field of panel DSNTIPI 183
allocation job 59, 60 automatic
ALLOCATION UNITS field of panel DSNTIPA 210 recall 155
AMDPRECT module 253 AUTOSES option of APPL statement 460
APN option of DSNMAPN macro 446, 447
APPC option of APPL statement 462
APPL REGISTRATION TABLE field of panel DSNTIPZ 234 B
APPL statement 460 BACKOUT DURATION field of panel DSNTIPL 207
example 460 BACKUP SYSTEM utility
option requirements 308
description 460 BIND NEW PACKAGE field of panel DSNTIPP 197
options binding
DSESLIM 482 installation 274
LUNAME 492 migration
APPLICATION ENCODING field of panel DSNTIPF 170 DCLGEN 343
APPLICATION LOAD field of panel DSNTIPT 115 SPUFI 343
applications, adjusting for migration 319 remote package
APPLY job 62 plan name for 478
archive log relation to character conversion 525
cataloging options 102 BLOCK SIZE field of panel DSNTIPA 212
data set bootstrap data set (BSDS)
prefix 112 See BSDS (bootstrap data set)
sharing DASD 284 BP0 - BP38 fields of panel DSNTIP1 147
storage requirements 27 BP39 - BP32K9 fields of panel DSNTIP2 148
dual logging 109 BSDS (bootstrap data set)
ARCHIVE LOG FREQ field of panel DSNTIPL 205 adding a second 334
ARCHIVE LOG RACF field of panel DSNTIPP 194 installation 257
ART/ORT ESCAPE CHARACTER field of panel storage requirements 22
DSNTIPZ 233 buffer pool
storage requirement 33
Index 595
DB2I (DB2 Interactive) (continued) DFSORT (Data Facility Sort)
English panels, fall back 65 program library 255
Kanji panels, fall back 65 directory
DBADM CREATE AUTH field of panel DSNTIPP 197 installing 257
DBALIAS panel field names 86
column of LOCATIONS catalog table 467 panels 85
DBATs (database access threads) 314 storage requirements 19
DBCS (double-byte character set) DISCONNECT IRLM field of panel DSNTIPJ 192
identifiers 518 DISPLAY GROUPBUFFERPOOL command 318
DBD (database descriptor) DISPLAY NET,BFRUSE command of VTAM 471
size 40 DIST SQL STR DELIMTR field of panel DSNTIPF 167
DBRM LIBRARY field of panel DSNTIPT 115 distributed data
DBRMLIB.DATA library data set planning
DASD volume 104 DB2 private protocol access 451
device type 105 DRDA access 451
DSNTIJIN job 257 number of systems that can be connected 451
installing a second DB2 282, 284 programming
naming considerations 58 character conversion 511
DCLGEN (declarations generator) testing 398
installation 302 distributed environment 318
migration 343 distributed unit of work
DDCS (data definition control support) See DB2 private protocol access
creating database during installation 278 distribution libraries
storage estimation 27 manage use DFSMShsm 155
DDF (distributed data facility) SMP/E 49
address space 29 DL/I BATCH TIMEOUT field of panel DSNTIPI 186
overview 451 DMINWNL option of APPL statement 461
DDF STARTUP OPTION field of panel DSNTIPR 219 DMINWNR option of APPL statement 461
DDF THREADS field of panel DSNTIPR 221 domain name definition 495
DDF/RRSAF ACCUM field of panel DSNTIPN 153 domain name server
DDRAINL option of APPL statement 463 definition 495
deadlock DPROP SUPPORT field of panel DSNTIPO 159
cycles 190 DRDA
DEADLOCK CYCLE field of panel DSNTIPJ 190 distributed environment 318
DEADLOCK TIME field of panel DSNTIPJ 190 DRDA (Distributed Relational Database Architecture)
DEALLOC PERIOD field of panel DSNTIPA 213 remote access control 451
DECIMAL ARITHMETIC field of panel DSNTIPF 171 DRDA access
DECIMAL POINT IS field of panel DSNTIPF 165 definition 451
DECLARATION LIBRARY field of panel DSNTIPT 115 organization application 425
declared temporary table setting up 451
for scrollable cursor 24 specifying modes 475
declared temporary tables 308 updating 427
DEF ENCODING SCHEME field of panel DSNTIPF 169 DRDA PORT field of panel DSNTIP5 225
DEFAULT BUFFER POOL FOR USER DATA field of panel DRDA RDBNAM (relational database name)
DSNTIP1 146 See location name
DEFAULT BUFFER POOL FOR USER INDEXES field of panel DRESPL option of APPL statement 463
DSNTIP1 146 DSESLIM option of APPL statement
default database (DSNDB04) CNOS negotiation 482
storage estimation 24 description 461
default values DSMAX field of panel DSNTIPC 239
DESCRIBE FOR STATIC parameter 308 DSMAX limit on open data sets, description 41
migration of customized 311 DSN1CHKR utility
space allocation changes 308 migration preparation 325
DEFER field of panel DSNTIPA 217 DSN1COPY utility
DEFINE CATALOG field of panel DSNTIPA2 103 migration preparation 325
deleting DSN1DIST address space 29
data sets, DSNTIJDE 258 DSN3@ATH connection exit routine
DESCRIBE FOR STATIC field of panel DSNTIPF 172 See connection exit routine
DESCRIBE FOR STATIC parameter 308 DSN3@SGN sign-on exit routine
DEVICE TYPE 1 field of panel DSNTIPA 211 See sign-on exit routine
DEVICE TYPE 2 field of panel DSNTIPA 212 DSN3EPX load module 254
DFSESL DD statement 56, 442 DSN3INI load module 254
DFSMS (Data Facility Storage Management Subsystem) DSN6ARVP macro 259
installation 194 DSN6ENV macro 259
DFSMShsm (Data Facility Hierarchical Storage Manager) DSN6FAC macro 259
RECALL command 155 DSN6GRP macro 259
DSN6LOGP macro 259
Index 597
E global temporary tables
buffer pool size requirement 307
early code 53 global trace 150
EAS option of APPL statement 463 glossary 551
edit routine governor (resource limit facility)
DSN8HUFF 436 See resource limit facility (governor)
EDM pool 311 graphic coded character set identifiers 519
plan size 37 GROUP ATTACH field of panel DSNTIPK 107
size calculation 36 GROUP NAME FIELD of panel DSNTIPK 106
EDMPOOL STATEMENT CACHE field of panel
DSNTIPC 240
EDMPOOL STORAGE SIZE field of panel DSNTIPC 240
enabling-new-function mode processing, stopping 531 H
encoding schemes HALTENFM, option of CATENFM utility 530
migration considerations 323 HAVAIL option of APPL statement 463
new column for 312 help
parameters for 310 online 67
ENCR option of APPL statement 463 Hierarchical Storage Manager (DFSMShsm)
ENCRYPTPSWDS column of LUNAMES catalog table 469 See DFSMShsm (Hierarchical Storage Manager)
END history statistics 310
option of DSNMAPN macro host variables, string 312
description 448 Huffman compression
installation format 446 exit routine 436
ERLY code 53
euro currency support 526
EVALUATE UNCOMMITTED field of panel DSNTIP8 179 I
EXECUTED STMTS field of panel DSNTIPD 134 IBM LE LINK EDIT LIB field of panel DSNTIPU 121
EXIT LIBRARY field of panel DSNTIPT 116 IBM LE PRELINK MSG LIB field of panel DSNTIPU 122
exit routine IBM LE RUNTIME LIBRARY field of panel DSNTIPU 121
description 436 IBMDB2LM mode 464
exits IBMRDB mode 464
LOCAL DATE/TIME 317 IBMUSER authority, establishing authorization ID 270
EXPLAIN PROCESSING field of panel DSNTIPO 159 IDBACK parameter 310
extended English code page 520 IDLE THREAD TIMEOUT
extended Katakana code page 520 field of panel DSNTIPR 508
EXTENDED SECURITY field of panel DSNTIPR 224 IDLE THREAD TIMEOUT field of panel DSNTIPR 223
external storage IDRC 215
See storage IEAAPFxx member of SYS1.PARMLIB
EXTRA BLOCKS REQ field of panel DSNTIP5 226 DSNTIJMV job
EXTRA BLOCKS SRV field of panel DSNTIP5 226 installation 255
migration 335
DSNTIPM panel 199
F IEBCOPY utility 52
fallback IEBPTPCH utility 52
automatic rebind 347 IEFSSNxx member of SYS1.PARMLIB
description 348 DSNTIJMV job
frozen objects 347 installation 253
jobs 349 migration 335
release incompatibilities 347 DSNTIPM panel 199
remigration following 351 IFCID 197 314
steps 8 IMMEDIATE WRITE field of panel DSNTIP8 179
FMPROF option of MODEENT macro 466 IMS
FORMAT attachment facility 441
command in sample application 391, 392 connecting to DB2
FREQUENCY TYPE field of panel DSNTIPL 206 installation 270, 441
frozen objects 347 language interface module (DFSLI000)
function keys 416 generating 446
migration 330
operating
G starting 391
testing 389
GDDM LOAD MODULES field of panel DSNTIPW 129 IMS BMP TIMEOUT field of panel DSNTIPI 186
GDDM MACLIB field of panel DSNTIPW 129 IMS RESLIB field of panel DSNTIPW 128
GENERIC column of LUNAMES catalog table IMS.PROCLIB library
description 469 description 442
installation panel 458 IMSCTRL macro 442
global deadlock cycle 190 inactive connections 314
Index 599
IVP (installation verification procedure) (continued) location name
programs-phases relationship 366 description 457
updating the BSDS 492
lock
J object
request 183
JOB statement
usage, IRLM 29
description 53
LOCK ENTRY SIZE field of panel DSNTIPJ 191
locking
CATENFM utility 531
L CATMAINT utility 533
LANGUAGE COMPJAVA 311 LOCKS PER TABLE(SPACE) field of panel DSNTIPJ 189
LANGUAGE DEFAULT field of panel DSNTIPF 164 LOCKS PER USER field of panel DSNTIPJ 189
Language Environment run time 499 log
language interface token (LIT) 442 data set
LARGE EDM BETTER FIT field of panel DSNTIP8 179 sharing DASD 284
LEVEL ID UPDATE FREQ field of panel DSNTIPL 209 storage examples 19
library LOG APPLY STORAGE field of panel DSNTIPL 205
description 47 log mode table
distribution 49 See mode table
online 545 logical unit (LU) 455
prefix name 57 LOGLOAD 21
target 49 LOGMODE option of MODEENT macro 465
LIMIT BACKOUT field of panel DSNTIPL 207 logon mode table entries 464
link checker LU 6.2 communications protocols 451
See DSN1CHKR utility LUNAME
LINK LIST ENTRY field of panel DSNTIPM 202 column of LUMODES catalog table 476
LINK LIST LIBRARY field of panel DSNTIPT 116 column of LUNAMES catalog table 468
LINK LIST SEQUENCE field of panel DSNTIPM 202 column of MODESELECT catalog table 477
LINKNAME field of panel DSNTIPR 452
column of USERNAMES catalog table 506 option of APPL statement
LINKNAME column coding values 460
IPNAMES catalog table 505 naming conventions 458
LOCATIONS catalog table 452, 453, 467, 504 updating the BSDS 492
LIT (language interface token) 442
LLA (LNKLST lookaside)
description 53
installation 255
M
MACRO LIBRARY field of panel DSNTIPT 116
migration 336
main storage
LMDENT option of APPL statement 463
See storage
LNKLST lookaside (LLA)
MANAGE THREAD STORAGE field of panel DSNTIPE 145
See LLA (LNKLST lookaside)
MAX ABEND COUNT field of panel DSNTIPX 230
LNKLSTxx member of SYS1.PARMLIB
MAX BATCH CONNECT field of panel DSNTIPE 143
installation 199, 255
MAX DEGREE field of panel DSNTIP8 178
migration 336
MAX KEPT DYN STMTS field of panel DSNTIPE 144
LOAD DISTRIBUTION field of panel DSNTIPT 116
MAX REMOTE ACTIVE field of panel DSNTIPE 141
LOAD LIBRARY field of panel DSNTIPT 116
MAX REMOTE CONNECTED field of panel DSNTIPE 142
load module library
MAX STORAGE FOR LOCKS field of panel DSNTIPJ 189
DSNHDECP 259, 332
MAX TSO CONNECT field of panel DSNTIPE 142
SDSNEXIT 54
MAX TYPE 1 INACTIVE field of panel DSNTIPR 222
SDSNLINK 53
MAX USERS field of panel DSNTIPE 140
SDSNLOAD 54
MAXBFRU option of LINE statement 487
loading
MAXCSA
distribution libraries 47
setting parameter 29
target libraries 47
MAXDATA option of VTAM, considerations for NCP
LOCAL DATE LENGTH field of panel DSNTIP4 174
connections 488
local deadlock cycles 190
MAXIMUM LE TOKENS field of panel DSNTIP7 138
LOCAL TIME LENGTH field of panel DSNTIP4 174
MAXPVT option of APPL statement 463
locale
MEMBER IDENTIFIER field of panel DSNTIPJ 191
definition 526
MEMBER NAME field of panel DSNTIPK 106
specifying 526
migration
support for euro currency 526
application programs, adjusting 319
LOCALE LC_CTYPE field of panel DSNTIPF 170
cached dynamic statements, deprecation of 310
LOCATION
CLIST 4, 80
column of LOCATIONS catalog table 467
coexistence of DB2 releases 318
column of LOCATIONS table 504
considerations 306
customized default values 311
Index 601
phases of execution
utilities
Q
CATENFM 529 QUIESCE PERIOD field of panel DSNTIPA 215
phone application
data set format 424
format command 392 R
JCL 425 RACF (Resource Access Control Facility)
panels 423 option to specify at installation or migration 194
program description 422 RCT (resource control table)
transaction code 396 installation 270
using under batch 424 READ COPY2 ARCHIVE field of panel DSNTIPO 161
PIU (path information unit) READ TAPE UNITS field of panel DSNTIPA 212
description 481 reading
relationship to MAXBFRU 487 online book 71
PLAN real storage
option of DSNMAPN macro See storage
description 447 REAL TIME STATS field of panel DSNTIPO 162
installation format 446 rebinding
PLAN AUTH CACHE field of panel DSNTIPP 197 remote package 525
plan name for remote bind 478 RECALL DATABASE field of panel DSNTIPO 155
plan size, calculating 37 RECALL DELAY field of panel DSNTIPO 156
PLAN STATEMENTS field of panel DSNTIPD 133 RECEIVE job 61
PLANNAME column RECORDING MAX field of panel DSNTIPA 213
SYSIBM.MODESELECT catalog table 477 recovery job DSNTIJDE 258
plans bound prior to Version 2 Release 3 313 REGISTRATION DATABASE field of panel DSNTIPZ 234
PLANS field of panel DSNTIPD 133 REGISTRATION OWNER field of panel DSNTIPZ 233
POOL THREAD TIMEOUT field of panel DSNTIP5 228 relational database name 457
populating release coexistence, DB2 318
CDB release dependency marker 347
connecting subsystems 466, 503 release incompatibilities 319
installation 278 RELEASE LOCKS field of panel DSNTIP8 178
port remigration 9, 351
definition 495 REMOTE LOCATION field of panel DSNTIPY 236
ephemeral 495 remote unit of work
server 495 See DRDA access
well-known 495 REO (region error option)
PORT default OPTION of DSNMAPN macro 448
column of LOCATIONS table 504 installation 443
port numbers 500 REQUIRE FULL NAMES field of panel DSNTIPZ 233
port of entry, name 314 Resource Access Control Facility (RACF)
PPT (z/OS program properties table) 253 See RACF (Resource Access Control Facility)
precompiler RESOURCE AUTHID field of panel DSNTIPP 196
new for string host variables 312 resource control table (RCT)
prefix See RCT (resource control table)
active log 111 resource limit facility (governor)
archive log 112, 211 authorization ID 196
library 57 creating database during installation 278
log 112 specifying 156
PREFIX field of panel DSNTIPA1 97 storage estimation 27
PRIMARY QUANTITY field of panel DSNTIPA 210 RESOURCE TIMEOUT field of panel DSNTIPI 183
PRIPROT option of MODEENT macro 466 resource translation table (RTT)
private protocol access 318 See RTT (resource translation table)
PROC NAME field of panel DSNTIPI 184 RESTART field of panel DSNTIPA 217
program libraries 53 restarting
programming language support 315 utilities
PROGxx member of SYS1.PARMLIB 255, 335 CATMAINT 533
project application RESTORE SYSTEM utility
format command 391 requirements 308
panels 413 RESYNC INTERVAL field of panel DSNTIPR 221
using 417 RESYNC PORT
with IMS 391 field of panel DSNTIP5 497
PRTCT option of APPL statement 458, 461 RESYNC PORT field of panel DSNTIP5 225
PSERVIC option of MODEENT macro 466 RETAINED LOCK TIMEOUT field of panel DSNTIPI 187
PSTOP transaction type 448 RETENTION PERIOD field of panel DSNTIPA 214
PTASKROL 259 RID (record identifier) pool
size 36
RID blocks 36
Index 603
SPUFI stored procedure (continued)
access to remote systems 302 DB2 SQL Procedures Processor 343
binding DB2 UDB Control Center 288
migration 343 DB2 UDB Control Center catalog query 286
remotely 302 DB2 UDB Control Center partition information 286
testing 385 DB2-supplied 275, 286, 288, 289
SQL (Structured Query Language) enabling after installation 285
processing conversations JDBC support 290
description 475 ODBC support 290
specifying mode 477 running concurrently 32
SQL flagger 307 SQL procedures processor 275, 289
SQL STRING DELIMITER field of panel DSNTIPF 166 subsystem parameter 275, 286
SQLDA SQLNAME column 314 utilities 343, 402
SQLFLAG 307 utility invocation 275, 286
SRBEXIT option of APPL statement 462 Visual Explain 275, 286, 343
SRCLIB.DATA library stored procedure address space
DASD volume 104 customizing startup procedure for MQSeries user-defined
device type 105 functions 296
DSNTIJIN job 257 stored procedures
installing a second DB2 282, 284 running multiple instances 313
naming considerations 58 STRING DELIMITER field of panel DSNTIPF 165
SRCVPAC option of MODEENT macro strings
for VTAM 466 host variables 312
used to control pacing 473 subsystem
SSM (subsystem member) multiple 55, 280
entry in IMS.PROCLIB 442 name
execution parameter 444 IEFSSNxx member of SYS1.PARMLIB 253
SSNDPAC option of MODEENT macro SUBSYSTEM MEMBER field of panel DSNTIPM 201
for VTAM 466 SUBSYSTEM NAME field of panel DSNTIPI 183
recommended value 473 SUBSYSTEM NAME field of panel DSNTIPM 199
STAR JOIN MAX POOL field of panel DSNTIP8 181 subsystem parameter module
STAR JOIN QUERIES field of panel DSNTIP8 181 installation 259
STARJOIN 260 migration 332
START IRLM CTRACE field of panel DSNTIPI 186 option descriptions 110
START NAMES field of panel DSNTIPA 217 subsystem parameters
start options for VTAM 470 list 535
START, option of CATENFM utility 530 NPGTHRSH 537
starting PTASKROL 538
DB2 SUBSYSTEM SEQUENCE field of panel DSNTIPM 201
installation 271 SUFFIX field of panel DSNTIPA1 97
migration 339, 350 SUPPRESS SOFT ERRORS field of panel DSNTIPM 203
IRLM SUPPRESS_TS_CONV_WARNING 261
fallback, after 350 SYNCLVL option of APPL statement 462
installation, during 271 syntax diagram
migration, during 339 CATENFM utility 529
TSO CATMAINT utility 532
after fallback 351 how to read xiv
installation 272 SYS1.PARMLIB library
migration 340 updated by DSNTIJMV 252, 335
STATISTICS HISTORY parameter 310 SYS1.PROCLIB library 252, 335
STATISTICS ROLLUP field of panel DSNTIPO 161 SYS1.VTAMLST library 470
STATISTICS SYNC field of panel DSNTIPN 151 SYSADM authority
STATISTICS TIME field of panel DSNTIPN 151 establish authorization IDs 270
statistics, history 310 use 279
STD SQL LANGUAGE field of panel DSNTIP4 175 SYSIBM.IPNAMES table of CDB
STEPLIB statement of DB2 program libraries 55 description 505
storage SYSIBM.LOCATIONS table of CDB
calculating description 466, 504
external storage 17 example 467, 504
main 32, 43 SYSIBM.LUMODES table of CDB
predefined models 17 CONVLIMIT column 476
real 43 description 476
virtual constraints 43 LUNAME column 476
VTAM IOBUF 481 MODENAME column 476
working 42 updating 476
stored procedure SYSIBM.LUNAMES table of CDB
DB2 SQL procedures processor 286 description 468
Index 605
utilities verification testing (continued)
loading 541 LOB 409
migration considerations 323 VERIFY
mixed-release data sharing environment, operating in 542 option of APPL statement 462
packaging 541 VIEWS field of panel DSNTIPD 133
RUNSTATS VIPA (virtual IP address) 497
modifying jobs for migration 310 virtual sequential access method (VSAM)
SMP/E jobs 541 See VSAM (virtual storage access method)
suite virtual storage
installing 542 calculating constraints 43
types calculations 32
CATENFM 529 layout 28
CATMAINT 272, 341, 531 Virtual Telecommunications Access Method (VTAM)
UTILITY CACHE OPTION field of panel DSNTIPE 143 See VTAM (Virtual Telecommunications Access Method)
UTILITY TIMEOUT field of panel DSNTIPI 184 Visual Explain
stored procedure 275
VOLUME SERIAL 1 - VOLUME SERIAL 7 fields of panel
V DSNTIPA2 104
VPACING option of APPL statement 462
VARCHAR FROM INDEX field of panel DSNTIP8 177
VSAM (virtual storage access method)
VARY NET command of VTAM
clusters 257
ACTIVE option 470
VTAM (Virtual Telecommunications Access Method)
verification jobs
APPL statement 460
DSNTEJ0 367, 374
buffer pools
DSNTEJ1 367, 375
calculating storage 481
DSNTEJ1L 367, 375
increasing 472
DSNTEJ1P 367, 375
monitoring 471
DSNTEJ1U 367
performance effect 471
DSNTEJ2A 367, 380
commands
DSNTEJ2C 367, 380
DISPLAY BFRUSE 471
DSNTEJ2D 367, 381
MODIFY VTAM,DEFINE 474
DSNTEJ2E 367
defining a DB2 subsystem
DSNTEJ2F 367, 382
See also sample VTAM definitions
DSNTEJ2P 367, 382
log mode table, default 464
DSNTEJ2U 367, 368, 383
MODEENT macro 464
DSNTEJ3C 367, 368, 386
modes, default for DB2 464
DSNTEJ3P 367, 368, 386
sample definitions 484
DSNTEJ4C 367, 389
installing 279
DSNTEJ4P 367, 368, 389
libraries
DSNTEJ5A 367, 369, 392
SYS1.SAMPLIB 464
DSNTEJ5C 367, 369, 393
SYS1.VTAMLST 470
DSNTEJ5P 367, 369, 393
parallel sessions 460
DSNTEJ6 369, 398
password 458
DSNTEJ61 367, 369
specifying in APPL statement 461
DSNTEJ62 367, 369
updating the BSDS 492
DSNTEJ63 367, 369
planning considerations 457
DSNTEJ64 367, 369
session limit
DSNTEJ65 367, 369
See also session limit for VTAM
DSNTEJ6D 369
calculating 478
DSNTEJ6P 367, 369
default maximum for a mode 461
DSNTEJ6S 367, 369
start options 470
DSNTEJ6T 369
tracing 471
DSNTEJ6U 367, 369
VTAM (Virtual TelecommunicationsAccess Method)
DSNTEJ6V 369
commands
DSNTEJ6W 369
VARY NET 470
DSNTEJ6Z 369
VTAMFRR option of APPL statement 463
DSNTEJ7 367, 370, 409
DSNTEJ71 367, 370
DSNTEJ73 367, 370, 410
DSNTEJ75 367, 370, 411 W
DSNTEJ76 370, 411 WLM
DSNTEJ77 370, 412 configuring for MQSeries user-defined functions 296
DSNTEJ78 370, 412 WLM ENVIRONMENT field of panel DSNTIPX 231
DSNTESA 386 WLM PROC NAME field of panel DSNTIPX 229
DSNTESC 386 WLM_REFRESH stored procedure
DSNTESE 386 description 275
verification testing work file
DDF 396 installation job DSNTIJTM 272
X
X LOCK FOR SEARCHED U/D field of panel DSNTIPI 185
Z
z/OS
defining DB2 to 252
IPL 270
ZPARM
See subsystem parameters
Index 607
608 Installation Guide
Printed in USA
GC18-7418-05