DB2 Server for VM: System Administration


Using Saved Segments for Components

You can define database manager components in saved segments. This can be done after you have installed the product. Saved segments allow code to be shared among users. Code that is not in saved segments runs in the user free storage area of the user machine and database machine.

Code can be loaded into the following saved segments:

Notes:

  1. The DBSS and RDS components must both reside in saved segments or both reside in the user free storage area.

  2. Any segments that are within the database machine's virtual storage should be reserved using the SEGMENT RESERVE command. For more information on the SEGMENT RESERVE command, see the VM/ESA: CMS Command Reference.

Use the VMFSGMAP EXEC, which uses the VM/ESA CP DEFSEG command, to define each component in a saved segment. After defining the saved segments you must load them (using the VMFBLD EXEC, which uses the ARISAVES EXEC), and create a bootstrap package to use them (using the SQLGENLD EXEC). If you choose to have ARISAVES create the default (SQLDBA) bootstrap package, it is not necessary to run SQLGENLD.

In any bootstrap package there can be three bootstrap modules that correspond to the following components:

The bootstraps identify where the components reside. Only one bootstrap module is needed for the DBSS and RDS components. Because the DBSS and RDS components must both reside in saved segments or both reside in user free storage, only one module is needed to indicate the location of the code. (The DBSS and RDS code is often referred to as the DB2 Server for VM system code.) For a service machine, only the bootstrap modules for the resource adapter and ISQL need to be generated.

Each set of saved segments defined for the database manager usually has three bootstrap modules. (Typically, only one set of saved segments is defined for the code at an installation.) The bootstrap modules identify the corresponding saved segments. The database manager requires bootstrap modules for every saved segment except national language message repositories. National language message repository saved segments are identified in the ARISNLSC MACRO.

The bootstrap modules allow the database manager to use the code residing in the saved segments. The SQLBOOTS EXEC generates the appropriate bootstrap modules (the SQLDBA bootstrap package) for default saved segments. If you respond YES when the ARISAVES EXEC prompts you to use the saved segments you are loading as defaults, ARISAVES calls SQLBOOTS to create the SQLDBA bootstrap package. This bootstrap package specifies whether the database manager code runs as a default in saved segments or not. If not, the code runs in the user free storage area. ISQL and the resource adapter run in the user free storage area of the user machines, and the system code runs in the user free storage area of the database machines. Also, the resource adapter runs in the user free area of the database machine when in single user mode. To create other bootstrap packages, you use the SQLGENLD EXEC. You name the bootstrap package when you use SQLGENLD to create it. For more information on the SQLGENLD EXEC and the SQLBOOTS EXEC, see Defining Saved Segments.

Even though you have defined one or more saved segments for the database manager, they are used only in the following situations:

You indicate you want to use a particular saved segment by specifying the DCSSID parameter on various IBM-supplied EXECs (for example, the SQLSTART EXEC and the SQLINIT EXEC). Indicate that you want to use the saved segments by specifying the name of the corresponding bootstrap package. (Remember, you name a bootstrap package when you create it using SQLGENLD.) After you use the DCSSID parameter, the EXEC continues to use that bootstrap package until you specify another bootstrap package. If you do not specify anything on the DCSSID parameter, and have never used it, you use the SQLDBA bootstrap package. The SQLDBA bootstrap package identifies default saved segments, if you have them. If not, the SQLDBA bootstrap package specifies that the database manager code runs in the user free storage area.

If you omit the DCSSID parameter after defining additional bootstrap packages, the default rules are more complex. They are even more complex when you do not define all bootstrap modules in a bootstrap package. (Consider doing this if, for example, you want the system code to run in special saved segments, but want ISQL and the resource adapter to run in default saved segments.) The following sections describe the default rules.

If you want to keep things simple, define only one set of saved segments and generate three bootstrap modules. This is what is done for default saved segments. If you choose to have default saved segments, you define them, and the database manager creates a bootstrap package for them. If you have default saved segments, they are used when your users run EXECs without specifying the DCSSID parameter. This way, you always easily know where the database manager code is running. For an example of defining saved segments and generating bootstraps, see Defining Saved Segments.

Even if you have default saved segments, you should still define saved segments for national language messages that you expect to use. A default saved segment is not generated for national language messages. For more information, see Defining Message Repositories as Saved Segments.

You may want to define multiple saved segments for the database manager code. (For example, you want to run the code at different locations.) The above guideline still applies: if possible, generate all three bootstraps, and provide the users with specific instructions for DCSSID parameters.

For a service machine, you only need to generate the bootstrap modules for RA and ISQL. The DBSS and RDS code cannot run from a service machine.

If you need more details on the way bootstraps work, continue reading. If not, skip the rest of this section.

The bootstrap module identifies the name of the saved segment to be loaded into storage at run time. In addition, the bootstrap module for the resource adapter also contains the name of the database machine. This name is required to establish the communication link in multiple user mode. In a VM/ESA operating system, you do not need to specify the name of the database machine because APPC/VM is used for communication: only the RESID (resource) is needed. After installation, there is one bootstrap package made up of the following CMS files:

   SQLDBA SQLDBBT Q -- corresponds to the DB2 Server for VM system code
                       (not generated for a service machine)
   SQLDBA SQLISBT Q -- corresponds to the ISQL code
   SQLDBA SQLRMBT Q -- corresponds to the resource adapter code

The files are created at installation time and reside on the production minidisk. Collectively, they form the SQLDBA bootstrap package.

When you run the SQLGENLD EXEC to create a bootstrap package, you are prompted for the name to be specified in the DCSSID parameter and the name (or names) of the saved segment (or saved segments). The name to be specified in the DCSSID parameter is used to identify the bootstrap package. For example, if you generate a bootstrap package with the name MYBOOT for the system code, ISQL, and the resource adapter, these files are created on the production minidisk:

   MYBOOT SQLDBBT  -- DB2 Server for VM  system code bootstrap module
   MYBOOT SQLISBT  -- ISQL bootstrap module
   MYBOOT SQLRMBT  -- resource adapter bootstrap module

When you run the SQLSTART EXEC, the bootstrap for the system code and resource adapter are copied to the A-disk of the database machine. (Because you can run the database manager in single user mode, and it cannot determine the mode you will use, the resource adapter bootstrap is always copied.) Assume that you issue the following command, and DBNAME and RESID are the same:

   SQLSTART DBNAME(TEST1) DCSSID(MYBOOT) ...

The file TEST1 SQLDBN is either created or updated at this time, with the following information:

   DBMACHID = name of the database machine
   DCSSID   = MYBOOT
   DBNAME   = TEST1

When you run the SQLINIT EXEC for the user machine, the bootstraps for ISQL and the resource adapter are copied to the A-disk of the user machine. Assume that you issue the following command:

   SQLINIT DBNAME(TEST1) DCSSID(MYBOOT)

During processing, the resource adapter bootstrap is recreated with the name of the database machine. The TEST1 SQLDBN file is read to obtain the name of the database machine. This means you must have used the SQLSTART EXEC (or the SQLDBINS EXEC) to create the SQLDBN file for the database machine.

The resid SQLDBN file, containing the default DCSSID, cannot always be accessed; therefore, the default DCSSID in this file cannot be used. A user machine cannot access the resid SQLDBN file on a database machine in either of the following situations:

You must create a new file (SQLDCSID DEFAULT) on the production (Q) disk that is linked by these user machines to provide a default DCSSID for them. This file is created when the SQLGENLD EXEC is run. The SQLGENLD EXEC generates the bootstrap package for a particular saved segment. The EXEC prompts you to specify whether the DCSSID is to be the default for user machines that have a link to this Q-disk.

The following examples outline the above discussion. The examples assume that you have default saved segments identified in the SQLDBA bootstrap package.

Example 1

Assume that you have created four saved segments (one for each of the following): the DBSS code, the RDS code, the ISQL code, and for the resource adapter code. (Also assume that you used the names SQLSQLDS for the DBSS/DSC, SQLXRDS for the RDS, SQLISQL for ISQL, and SQLRMGR for the resource adapter as the names of the saved segments.) You then used SQLGENLD to create the three bootstrap modules and identified this bootstrap package with the name MYBOOT. Assume that the name of the database machine is SQLMACH1 and that both DBNAME and RESID are TEST1. Until you specify the DCSSID parameter on the SQLSTART EXEC (or unless you provided it when you generated the database using the SQLDBINS EXEC), the code is loaded as specified by the SQLDBA bootstrap modules. The SQLDBN file has the following information:

   DBMACHID = SQLMACH1
   DCSSID   = SQLDBA
   DBNAME   = TEST1

If a user machine that is linked to the database machine Q-disk containing the TEST1 SQLDBN file runs the SQLINIT EXEC, that EXEC is called to use the SQLDBA bootstrap modules. Assume that you run the SQLINIT EXEC as follows:

   SQLINIT DBNAME(TEST1) DCSSID(MYBOOT)

During processing, the bootstraps for ISQL and the resource adapter use the saved segments SQLISQL and SQLRMGR. These saved segments are used even though the database manager is using the default bootstrap modules.

When the SQLSTART EXEC (or SQLDBINS EXEC) has been run with the DCSSID parameter DCSSID(MYBOOT), the database manager uses the saved segments SQLSQLDS and SQLXRDS. The user only has to specify the DBNAME parameter on the SQLINIT EXEC, for example, SQLINIT DBNAME(TEST1), to use the SQLISQL and SQLRMGR code.

Example 2

Assume you have created a second resource adapter saved segment named SQLRMGR2 using the bootstrap name RMBOOT2, and the environment has already been established to use MYBOOT as shown in Example 1. Also assume that DBNAME and RESID are the same, and that you start the application server as follows:

   SQLSTART DBNAME(TEST1)

Notice that the DCSSID is not specified. The SQLSTART EXEC reads the TEST1 SQLDBN file and uses the MYBOOT bootstrap module to load the SQLSQLDS and SQLXRDS code into saved segments. In this situation, MYBOOT (rather than SQLDBA) has become the established default bootstrap package for server-name TEST1. When you run the SQLINIT EXEC specifying DCSSID (RMBOOT2) in a user machine that has a link to the Q-disk containing the TEST1 SQLDBN file, the bootstrap package exists for the resource adapter, but not for ISQL. For this example, run the SQLINIT EXEC as follows:

   SQLINIT DBNAME(TEST1) DCSSID(RMBOOT2)

During processing, the SQLINIT EXEC regenerates a resource adapter bootstrap to load the saved segment named SQLRMGR2. Because it does not find a bootstrap identified by RMBOOT2 for ISQL, it reads the TEST1 SQLDBN file, finds the DCSSID=MYBOOT entry, and uses the bootstrap identified by MYBOOT for ISQL.

Example 3

Assume that you have a second database (TEST2) that is owned by the SQLMACH2 database machine, and that the database has a bootstrap package (SQLBOOT2) for the DB2 Server for VM system code only. Also assume that DBNAME and RESID are the same.

The TEST2 SQLDBN file has the following entries:

   DBMACHID = SQLMACH2
   DCSSID   = SQLBOOT2
   DBNAME   = TEST2

Suppose that you run the SQLINIT EXEC using the DCSSID of RMBOOT2, as shown in Example 2:

   SQLINIT DBNAME(TEST2) DCSSID(RMBOOT2)

During processing the bootstrap package for the resource adapter exists and is created on the user's A-disk to communicate with the SQLMACH2 machine and server-name TEST2. If the SQLINIT EXEC does not find a bootstrap identified by RMBOOT2 for ISQL, or one identified by SQLBOOT2 (from TEST2 SQLDBN), or if the ARISISBT module is not found, it defaults to the SQLDBA ISQL bootstrap module.

Example 4

Note:This example only applies to systems with multiple databases in which default saved segments are not used.

Suppose you have users on a processor that does not have a database machine, and a service machine is defined as the owner of the Q-disk. You want the resource adapter and ISQL code to run in saved segments. When creating the bootstrap package (BOOTS), using the SQLGENLD EXEC, answer YES to the following prompt:

   Do you want BOOTS to be the default DCSSID for user machines?

When you answer YES, a new file, SQLDCSID DEFAULT, is created on the production (Q) disk with the following entry:

   DCSSID=BOOTS

If DBNAME and RESID are the same, and the users run the SQLINIT EXEC without specifying the DCSSID parameter, the DCSSID in the SQLDCSID DEFAULT file is used as the default. Assume that a user enters the following command:

   SQLINIT DBNAME (TEST2)

During processing, the bootstrap package BOOTS (for the resource adapter and ISQL) is copied to the user's A-disk.

When a user runs the SQLINIT EXEC without specifying DCSSID (BOOTS), and you have not specified that BOOTS is to be the default DCSSID for user machines, the SQLDBA bootstrap package is used.

You should specify that the bootstrap package for the resource adapter and ISQL (BOOTS in this example) is the default DCSSID when you create the bootstrap package (BOOTS) with the SQLGENLD EXEC. Doing this ensures that user machines not having a link to the Q-disk that contains the SQLDBN file for the database machine that they are accessing will have a default DCSSID. These user machines then do not have to specify the DCSSID parameter.

Defining Saved Segments

Table 14 shows the saved segment usage by virtual machine.

Table 14. Saved Segment Usage by Virtual Machine
  Saved Segment User Machine Database Manager in Multiple User Mode Database Manager in Single User Mode
ISQL X    
DBSS   X X
RDS   X X
RA X   X
DB2 Server for VM message repository X    
CMS DB2 Server for VM message repository X X X

It is possible to overlap saved segments that will not be used in the same machine. For example, in multiple user mode, the DBSS and RDS components are used only by the database machine, and ISQL and the resource adapter are used only by the user machine. Therefore, in multiple user mode, it is possible to overlay DBSS (or RDS) with ISQL (or the resource adapter).
Note:In single user mode, the resource adapter is used by the database machine, and must run in the same machine as DBSS and RDS, and therefore cannot overlap either RDS or DBSS.

Table 15 shows the components that can overlap when they are being run in multiple user mode only.

Table 15. Shared Segment Relationships in Multiple User Mode
Component Name Used By Default SYSNAME Segments This Component Can Overlap
Resource adapter End users SQLRMGR
SQLXRDS
SQLSQLDS

ISQL End users SQLISQL
SQLXRDS
SQLSQLDS

DBSS Database manager SQLSQLDS
SQLRMGR
SQLISQL
LANGS001

RDS Database manager SQLXRDS
SQLRMGR
SQLISQL
LANGS001

DB2 Server for VM Message Repository
End users
Database manager

LANGS001
SQLXRDS
SQLSQLDS

This section outlines the steps you must follow to put database manager code into saved segments. It is only a supplement to the information about defining saved segments in the manuals below. It assumes that you are familiar with saved segments and the procedures that must be followed to define them. For more information about saved segments, refer to the the VM/ESA: Planning and Administration manual.

To use saved segments for database manager component load modules, you must do the following:

  1. Log on to the installation user ID, 5697F42S.
  2. Run the VMFSGMAP command to add or change DB2 Server for VM segment definitions.
  3. Ensure that the machine's virtual storage is defined large enough to contain the segments to be loaded. It must have sufficient storage to contain the saved segment, loader tables, and CMS control block storage at the end of virtual storage.
  4. Ensure that you have write access to the database machine production disk or SFS directory.
  5. Issue the SET LANGUAGE command to ensure that the language repository is available.
  6. Verify and update the ARISSEGC macro file.
  7. Run VMFBLD EXEC, which calls ARISAVES EXEC, to load and save each segment.
  8. Run the IBM-supplied SQLGENLD EXEC to generate a bootstrap package for the saved segment.

    This step does not need to be performed if you are creating or modifying default saved segments (that is the saved segments used by the SQLDBA bootstrap package). When you run ARISAVES for default saved segments, the database manager automatically creates a bootstrap package (SQLDBA) for you. If you are defining other saved segments, after you run ARISAVES, you must run SQLGENLD.

  9. Reset the virtual storage to its original value or issue the SEGMENT RESERVE command for any segments that are within the database machine's virtual storage.

The following is an example of the process used to define saved segments for the components. With the VM/ESA operating system, you must define the segments with VMSES/E VMFSGMAP EXEC, which calls the DEFSEG command.

Step 1. Plan to Define and Build Segments

Before building and loading a DB2 Server for VM segment, you must obtain the following information:

Step 2. Log On to the Installation User ID

Log on to the installation user ID, 5697F42S.

Step 3. Access VMSES/E Code and Software Inventory Minidisks

To link and access the VMSES/E code and Software Inventory minidisks, enter the following commands. (You need R/W access to the Software Inventory minidisks.)

access 5e5 b
link maint 51d 51d mr
access 51d d

+----------------------Do these steps for each segment-----------------------+

 

Step 4. Prepare to Add DB2 Server for VM Segment Definitions

Enter the following command to display the Segment Map panel, which displays information about the segments defined on your system:

vmfsgmap segbld esasegs segblist

Figure 64. Segment Map Panel Example

+--------------------------------------------------------------------------------+
|                             VMFSGMAP - Segment Map                   More: +   |
|                                                            Lines 1 to nn of nn |
|                                                                                |
|               000-MB          001-MB          002-MB          003-MB           |
|  Name     Typ 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF |
|M CMS      SYS W-W-------------1...............2...............3............... |
|M GCS      SYS W---------------1...............2...............3............... |
|                                                                                |
|               004-MB          005-MB          006-MB          007-MB           |
|  Name     Typ 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF |
|  CMSPIPES DCS 4...............5...............6...............RRRR------------ |
|M GCS      SYS RRRRRRNNNNNNNNNNNNNNNNNNNNNNNNNN6...............7............... |
|M HLASM    DCS 4...............5...............RRRRRRRRRRRRRRRR7............... |
|                                                                                |
|               008-MB          009-MB          00A-MB          00B-MB           |
|  Name     Typ 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF |
|  DOSBAM   SPA 8...............9...............A...............====------------ |
|  CMSBAM   MEM 8...............9...............A...............BRRR............ |
|  CMSDOS   MEM 8...............9...............A...............R............... |
|  CMSVMLIB DCS RRRRRRRRRRRRRRRR9...............A...............B............... |
|  DOSINST  DCS 8...............R---------------A...............B............... |
|                                                                                |
|               00C-MB          00D-MB          00E-MB          00F-MB           |
|  Name     Typ 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF |
|  HELPINST DCS RRRRRRRRRRRRRRRRD...............E...............F............... |
|M CMS      SYS C...............D...............RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR> |
|                                                                                |
|================================= 16-MB Line ================================== |
|                                                                                |
|               010-MB          011-MB          012-MB          013-MB           |
| F1=Help     F2=Chk Obj   F3=Exit      F4=Chg Obj   F5=File       F6=Save       |
| F7=Bkwd     F8=Fwd       F9=Retrieve  F10=Add Obj  F11=Del Obj   F12=Cancel    |
|====> _                                                                         |
+--------------------------------------------------------------------------------+

Step 5. Add or Change the DB2 Server for VM Segment Definitions

To add segment definitions, press PF10 to display the Add Segment Definition panel. To change segment definitions, press PF4 to display the Change Segment Definition panel.

The following shows an example of the Add Segment Definition panel.

Figure 65. Add Segment Definition Panel Example

+--------------------------------------------------------------------------------+
|                               Add Segment Definition                           |
|                                                            Lines 1 to nn of nn |
|                                                                                |
| OBJNAME....:  segname                                                          |
| DEFPARMS...:                                                                   |
| SPACE......:                                                                   |
| TYPE.......:  SEG                                                              |
| OBJDESC....:                                                                   |
| OBJINFO....:                                                                   |
| GT_16MB....:  NO                                                               |
| DISKS......:                                                                   |
| SEGREQ.....:                                                                   |
| PRODID.....:  5697F42S compname                                                |
| BLDPARMS...:  UNKNOWN                                                          |
|                                                                                |
|                                                                                |
|                                                                                |
|                                                                                |
|                                                                                |
|                                                                                |
|                                                                                |
| F1=Help     F2=Get Obj   F3=Exit      F4=Add Line  F5=Map        F6=Chk MEM    |
| F7=Bkwd     F8=Fwd       F9=Retrieve  F10=Seginfo  F11=Adj MEM   F12=Cancel    |
|====>                                                                           |
+--------------------------------------------------------------------------------+

Step 6. Obtain the DB2 Server for VM Segment Definitions

To obtain the DB2 Server for VM segment definitions, you must fill in the appropriate fields on the Add Segment Definition panel.

OBJNAME....: segname
segname
Description
 
 
SQLRMGR
Resource adapter
SQLISQL
ISQL
SQLSQLDS
DBSS
SQLXRDS
RDS
LANGxxxx
DB2 Server for VM message repository, where xxxx is:

S001
English (mixed case)
S002
English (uppercase)
S003
French
S004
German
D001
Japanese
D003
Chinese_Simplified

PRODID.....: prodid compname
prodid is 5697F42S. (This is the prodid for the base, mixed case English, as well as all other NLS Languages.)

If you are building the NLS message repository segments, use the base prodid 5697F42S.

compname is DB2VM or DB2VMSFS. Use DB2VM for building segments from a minidisk. Use DB2VMSFS for building segments from SFS directories.

Press PF10 to obtain DB2 Server for VM segment information.

Notes:

  1. If you are setting initial segment definitions, you will receive message VMFSMD2038E. This is OK. You will fill in the DEFPARMS field on the next panel.

  2. If the segment is already defined, you will receive the following message:

    VMFSMD2044W Segment name segname already defined. Current segment definition will be replaced.

    You can change the name of the segment in the next step if you do not want to replace the current definition.

Step 7. Update the DB2 Server for VM Segment Definition

Fill in or update the Add Segment Definition panel.

Figure 66. Add Segment Definition Panel Showing the New Segment Information

+--------------------------------------------------------------------------------+
|                              Add Segment Definition                 More: +    |
|                                                            Lines 1 to nn of nn |
|                                                                                |
|                                                                                |
|                                                                                |
|                                                                                |
| OBJNAME....:  segname                                                          |
| DEFPARMS...:  ????-???? SR                                                     |
| SPACE......:                                                                   |
| TYPE.......:  SEG                                                              |
| OBJDESC....:  object_description                                               |
| OBJINFO....:  object_information                                               |
| GT_16MB....:  NO|YES                                                           |
| DISKS......:                                                                   |
| SEGREQ.....:                                                                   |
| PRODID.....:  5697F42S compname                                                |
| BLDPARMS...:  PPF(5697F42S compnameSEG bldlist_name)                           |
|                                                                                |
|                                                                                |
|                                                                                |
|                                                                                |
|                                                                                |
|VMFSMD2760I SEGINFO processing completed SUCCESSFULLY                           |
|                                                                                |
| F1=Help     F2=Get Obj   F3=Exit      F4=Add Line  F5=Map        F6=Chk MEM    |
| F7=Bkwd     F8=Fwd       F9=Retrieve F10=Seginfo   F11=Adj MEM   F12=Cancel    |
|====>                                                                           |
+--------------------------------------------------------------------------------+

OBJNAME....: segname
If you want to change the name of the segment, replace segname with the new name.

DEFPARMS...:
Fill in the beginning and ending page ranges you calculated in Step 1. Plan to Define and Build Segments.

SPACE......: spacename
Specifying spacename allows you to take advantage of segment packing by putting more than one component in a single segment space. Only segments that are used together (for example, ISQL and the Resource Adapter) should be put in a segment space together. This is because the entire segment space is loaded when one of the segments it contains is loaded. The DBSS segment must be below 16M, but the RDS segment is usually defined above 16M. Therefore, they cannot be in the same segment space. To place them in the same segment space, the RDS segment must be saved below 16M. It is highly recommended that this NOT be done and RDS be saved above 16M.

GT_16MB....:
Specify NO unless you are defining segments for the Resource Adapter or RDS components, which can (and usually should) be defined above 16M.

You can define and use the Resource Adapter and RDS saved segments above 16MB. To define the component above 16MB, specify the starting and ending pages above 16MB on the DEFPARMS field. If you define the component both above and below 16MB, give them different names.
Note:If you define the RDS segment above 16M, you CANNOT start the server with the "AMODE(24)" initialization parameter.

BLDPARMS...:
If you have your own PPF override, you must change the BLDPARMS field to reflect this.

Notice that the component name used in this field is DB2VMSEG or DB2VMSFSSEG. If you have a PPF override to the DB2VM or DB2VMSFS component name, you will also need to add an override to your PPF for DB2VMSEG or DB2VMSFSSEG before you build the segment in Step 14. Build the DB2 Server for VM Segments.

Note:The bldlist_name refers to the buildlist for each component of DB2 Server for VM that can be placed in a shared segment. A list of each component and its associated bldlist_name follows:

Table 18. Component and associated bldlist_name
Component bldlist_name
Upper Case American English NLS ARIBLASG
French NLS ARIBLBSG
Japanese NLS ARIBLFSG
German NLS ARIBLHSG
Chinese (Hanzi) NLS ARIBLJSG
Mixed Case American English ARIBLLNG
DBSS component ARIBLDBS
ISQL component ARIBLISQ
Resource Adapter component ARIBLMGR
RDS component ARIBLRDS

Step 8. Display Refreshed Segment Map Panel

Press F5 to display the refreshed Segment Map panel.

Figure 67. Segment Map Panel with Added Segments Example

+--------------------------------------------------------------------------------+
|                             VMFSGMAP - Segment Map                   More: -   |
|                                                            Lines nn to nn of nn|
|                                                                                |
|                                                                                |
|               000-MB          001-MB          002-MB          003-MB           |
|  Name     Typ 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF |
|M CMS      SYS W-W-------------1...............2...............3............... |
|M GCS      SYS W---------------1...............2...............3............... |
|                                                                                |
|               004-MB          005-MB          006-MB          007-MB           |
|  Name     Typ 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF |
|  CMSPIPES DCS 4...............5...............6...............RRRRRR---------- |
|M GCS      SYS RRRRRRNNNNNNNNNNNNNNNNNNNNNNNNNN6...............7............... |
|                                                                                |
|               008-MB          009-MB          00A-MB          00B-MB           |
|  Name     Typ 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF |
|  DOSBAM   SPA 8...............9...............------------==================== |
|  CMSBAM   MEM 8...............9...............A...............RRRR............ |
|  CMSDOS   MEM 8...............9...............A...............R............... |
|  SQLISQL  MEM RRRRRR..........9...............A...............B............... |
|  CMSVMLIB DCS RRRRRRRRRRRRRRRR9...............A..............WB........RRRRRRR |
| F1=Help     F2=Chk Obj   F3=Exit      F4=Chg Obj   F5=File       F6=Save       |
| F7=Bkwd     F8=Fwd       F9=Retrieve  F10=Add Obj  F11=Del Obj   F12=Cancel    |
|====>                                                                           |
+--------------------------------------------------------------------------------+

Step 9. Save the New Segment Information

Press F5 to save the changed information and exit from the panel.

+-------------------End of Do these steps for each segment-------------------+

 

Step 10. Verify Virtual Storage

To load the saved segment, the machine must have enough virtual storage to contain the saved segment, loader tables, and CMS control block tables at the end of virtual storage.

Step 11. Prepare to Build the DB2 Server for VM Segments

Before building the new DB2 Server for VM segment, following these steps:

  1. Clear your virtual machine by entering the following IPL command. This command bypasses loading the installation saved segment (CMSINST) and bypasses executing the System Profile EXEC.
    ipl cms parm clear nosprof instseg no
    

    Note:** DO NOT press ENTER at the VM READ!**

  2. Bypass the execution of the PROFILE EXEC by entering the following command:
    access (noprof
    
  3. Access the VMSES/E code by entering the following command:
    access 5e5 b
    
  4. Link and access the Software Inventory disk by entering the following commands:
     link MAINT 51d 51d mr
     access 51d d
    
  5. Access the database machine, SQLMACH, production minidisk or SFS directory by entering the following command:
    access vdev k
    

    vdev is the address the database machine production minidisk is linked as by the installation user ID, or vdev is the name of the database machine production SFS directory. You need write access to this minidisk or directory.

  6. Before running the ARISAVES EXEC to save the segments, activate the user language files by entering the following CMS command:
    set language ameng (add ari user
    

    ARISAVES is called by the VMFBLD command, in Step 14. Build the DB2 Server for VM Segments.

Step 12. Update the ARISSEGC Macro

Before you run the ARISAVES EXEC for each component to be defined in a saved segment, verify that the ARISSEGC macro contains the proper SYSNAME entry, origin, and saved segment choice for the component. Use XEDIT to change the ARISSEGC macro on the database machine, SQLMACH, production minidisk or SFS directory. (You should not use the VMSES/E local modification procedure.)

If the saved segment you defined is to become the new default, the SYSNAME value in the ARISSEGC macro should match the name you used to define the saved segment for the component. If not, edit the ARISSEGC macro and change the SYSNAME accordingly. The message ARI0365W will be issued if the SYSNAMEs do not match.

The ARISSEGC MACRO has a record length of 80, and its record format is fixed. The values in each record must be separated by one or more blanks and are interpreted in the order shown in the following list:

compid
is the component ID as specified in the ARISAVES EXEC. Values of compid are:

Yes|No
indicates whether a saved segment should be used for this component. Both Y and YES indicate that a saved segment is used for this component. Both N and NO indicate that a saved segment is not used for this component.

origin
is the hexadecimal load address of the saved segment, as specified in the DEFPARMS field of the Add Segment Definition panel.

segname
is the name of the saved segment as defined in the OBJNAME field of the Add Segment Definition panel.

ARISAVES EXEC only processes the first occurrence of the value of each compid. Other records are ignored. You could use them to store other information on saved segments.

Unless you have changed some values in it, the ARISSEGC MACRO contains the following information:

Figure 68. ARISSEGC MACRO

* ARISSEGC MACRO - Saved Segment Control File
*
* 1. Change the values in the columns at the bottom of this file
*    by overtyping them.  Descriptions of the columns and possible
*    values are:
*
*    Column                   Values
*    ------                   ------
*    COMPONENT ID           - RA, ISQL, DBSS, RDS.
*    SAVED SEG              - Y, YES, N, NO.  Answer YES to use saved
*                             segments for this component.  Answer
*                             NO to load this component into user
*                             free storage.
*    ORIGIN                 - hexadecimal starting location of
*                             components in save segments.
*                           - no meaning if component is loaded into
*                             user free storage.
*                           - must start from column 35.
*                           - can be 6 to 8 digits long.
*    SYSNAME                - As defined in the DEFSEG command.
*
* 2. Enter "FILE" on the command line to continue processing and save
*    your changes.
*
* 3. You can include comments in this file.  Place them at
*    the end of the file and make sure that the first column
*    contains an asterisk(*).
*
*COMPONENT         SAVED SEG      ORIGIN             SYSNAME
*
 RA                NO             ??????             SQLRMGR
 ISQL              NO             ??????             SQLISQL
 DBSS              NO             ??????             SQLSQLDS
 RDS               NO             ??????             SQLXRDS
 END ARISSEGC MACRO <--- THE REQUIRED LAST ENTRY IN ARISSEGC MACRO

Step 13. Release the Production Minidisk or SFS Directory

Release the database machine, SQLMACH, production minidisk or SFS directory by entering the following command:

release k

Step 14. Build the DB2 Server for VM Segments

For each segment that is to be built, enter the following command:

vmfbld ppf segbld esasegs segblist segname (serviced

segname
Description
 
 
SQLRMGR
Resource adapter
SQLISQL
ISQL
SQLSQLDS
DBSS
SQLXRDS
RDS
LANGxxxx
DB2 Server for VM message repository, where xxxx is:

S001
English (mixed case)
S002
English (uppercase)
S003
French
S004
German
D001
Japanese
D003
Chinese_Simplified

yourname
name specified on the Add Segment Definition panel in Step 7. Update the DB2 Server for VM Segment Definition.

You will be prompted asking you if you want the saved segments to be the new default saved segments. If you reply YES, ARISAVES updates the origin values in the ARISSEGC MACRO and generates bootstrap modules by calling the SQLBOOTS EXEC.

If you reply NO, you must create a bootstrap package yourself by using the SQLGENLD EXEC shown in Step 15. Create a Bootstrap Package.

Step 15. Create a Bootstrap Package

If you responded YES when prompted by the ARISAVES EXEC to use the saved segments you that loaded as defaults, you do not have to do this step, as ARISAVES would have generated a default bootstrap package (SQLDBA) for you.

If you answered NO to the prompt, you must run the SQLGENLD EXEC to create a bootstrap package for the saved segments you loaded. To run SQLGENLD EXEC, you must log off of the installation user ID and log on to the database machine (SQLMACH).

Because SQLGENLD prompts you for certain information about the new bootstrap, you should determine the contents of the bootstrap package before you run the SQLGENLD EXEC. For more information, see Contents of a Bootstrap Package.

Contents of a Bootstrap Package

A bootstrap package contains modules created by the SQLGENLD EXEC. SQLGENLD places the modules on the production minidisk (Q-disk). Note that, even though the DBSS and RDS components are loaded in different saved segments, there is only one bootstrap module for them. All of those components are needed to run the DB2 Server for VM system code in a database machine. Thus, one bootstrap identifies the location of the DBSS and RDS components.

Not all modules are needed because the database manager uses defaults when a module of a bootstrap is missing. For more information on the defaults, see Using SQLGENLD.

Figure 69 summarizes the different bootstrap modules that you can have.

Figure 69. Bootstrap Package Contents

                                  fn       ft       fm
 
          Resource adapter -->  dcssid  SQLRMBT  Q
          DBSS/RDS ....------>  dcssid  SQLDBBT  Q
          ISQL -------------->  dcssid  SQLISBT  Q

The dcssid (saved segment ID) is the name you give to the bootstrap package with SQLGENLD. It is the dcssid that you use in the DCSSID parameter of various IBM-supplied execs (such as, SQLSTART or SQLINIT). When dcssid is specified in a DCSSID parameter, the bootstrap package production disk entries are copied to the execution machine's A-disk as shown in Figure 70.

Figure 70. Bootstraps Copied to the Execution Machine A-disk

 
            Production        |             |  Execution Machine
           Q-disk Entry       |             |   A-disk Entry
        --------------------- |             |---------------------
          FN       FT      FM | COPY/RENAME |   FN       FT     FM
        ------   -------   -- |-------------| --------  ------  --
        dcssid   SQLRMBT   Q  |     TO      | ARISRMBT  MODULE  A
        dcssid   SQLDBBT   Q  |     TO      | ARISDBBT  MODULE  A
        dcssid   SQLISBT   Q  |     TO      | ARISISBT  MODULE  A

The resource adapter bootstrap is incomplete when it is copied to the A-disk of the user machine. It is completed when the user runs the SQLINIT EXEC, which supplies the missing server name to be accessed.

Use SQLGENLD to generate bootstrap packages for running the database manager in saved segments. You cannot use this EXEC to generate a bootstrap package for running the database manager in a default mode. The SQLDBA bootstrap package identifies the default mode, which can be default saved segments (if you have defined them) or user free storage.

Using SQLGENLD

When you identify the bootstraps to be contained in the package you are creating and the location where you want them to load the code, you can use the SQLGENLD EXEC. To use SQLGENLD, obtain read access to the service minidisk by entering the following command:

access 193 v

You can run SQLGENLD only from the database machine:

sqlgenld

When it runs, the SQLGENLD EXEC obtains both read and write access to the production minidisk. Both kinds of access are available to a defined database machine. You should ensure that no other machine has write access to the production minidisk when you run SQLGENLD.

If you are running SQLGENLD from a database machine that does not own the production minidisk, SQLGENLD prompts you for the write password.

The SQLGENLD EXEC prompts you for dcssid. This is the name of the new bootstrap package. If a bootstrap package with this name already exists, SQLGENLD replaces the existing bootstraps. The EXEC does not let you replace the initial SQLDBA bootstrap package. The SQLDBA bootstrap package is used as a default by many IBM-supplied execs. Do not modify or erase the SQLDBA bootstrap package.

When you supply dcssid, SQLGENLD prompts if you want to create a resource adapter bootstrap, a DBSS/RDS bootstrap, and an ISQL bootstrap. For each bootstrap that you choose to create, you are prompted for the saved segment name (or, in the case of DBSS/RDS, names). The name is the name you used in the OBJNAME field of the Add Segment Definition panel.

The database manager prompts if you want this bootstrap package to be the default DCSSID for user machines that have a link to this production (Q) disk. Specify this as the default if you have users linking to this Q-disk who will be accessing a database machine that does not own this production (Q) disk, and if you do not have saved segments identified by the SQLDBA bootstrap package. Because the database manager provides a default DCSSID, these users are not required to specify the DCSSID parameter when they run the SQLINIT EXEC.
Note:The SQLDCSID DEFAULT file cannot be used by a user if the file resid SQLDBN exists on the production (Q) disk they are linked to. This is because the default bootstrap package for a database is identified in the resid SQLDBN file. The SQLDCSID DEFAULT file is used by users that are accessing an application server other than the one that owns the Q-disk to which they are linked.

If you say that you want this bootstrap to be the default for users with a link to this production (Q) disk, a new file SQLDCSID DEFAULT will be created on the production (Q) disk to contain the default DCSSID. When the bootstraps are created, SQLGENLD places them on the production minidisk. They are then erased from the database machine A-disk.

Step 16. Verify the Virtual Storage Size

To run the database machine, you must ensure that its virtual storage is smaller than the load address of any of the saved segments that you loaded, or that the SEGMENT RESERVE command has been issued on the database machine for all segments that reside within the database machine virtual storage. The SEGMENT RESERVE commands should normally be placed in the Server's PROFILE EXEC.

Running in User Free Storage after Using Default Saved Segments

If you are using default saved segments and you want to run a component in user free storage, follow these steps:

  1. Edit the production (Q-disk) copy of the ARISSEGC MACRO. Change the Y or YES to an N or NO for the components that you want to run in user free storage.
  2. Run the SQLBOOTS EXEC for the components.
  3. Ensure that you are using the SQLDBA bootstrap package. On the database machine, specify DCSSID(SQLDBA) on the SQLSTART command. On the requester, specify DCSSID(SQLDBA) when you invoke the SQLINIT EXEC.

If you have secondary production disks, you must manually copy the ARISSEGC MACRO to them. Then, you must run the SQLBOOTS EXEC for each production disk. For information on the SQLBOOTS EXEC, see SQLBOOTS EXEC.

ARISNLSC MACRO

The ARISNLSC MACRO indicates the repository used for DB2 Server for VM messages. It has a record length of 80, and a fixed record format. The MACRO is shown in Figure 71.

Figure 71. The ARISNLSC MACRO


REQTEXT

For more information, see National Language Support for Messages and HELP Text.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]