Question & Answer
Question
DB2® Tools products that use a DB2 Java Stored Procedure require configured USS. This technote describes the steps that show you how to separate each product's HFS activity, and how to configure USS.
Answer
Each product's HFS activity must be separated from all other HFS activity -- each tool/product has its own unique HFS MVS dataset. This makes it easier and cleaner to keep tools from interfering with each other, and maintenance can be applied to one tool without affecting other tools. Each tool also has its own Read/Write sandbox to use.
Tool use activity is separated from tool maintenance/service activity by having two different mount points for each HFS dataset, only one of which can be in use at any point in time. There is a service directory, /s, which is used to contain the product root during initial installation and when maintenance is applied to the product. For example, product DB2 Data Archive Expert (DAE), the product root is ahxv1r1. Consequently, DAE is installed into /s/ahxv1r1. After the installation or application of service, the HFS dataset is unmounted from /s/ahxv1r1 and mounted at /ahxv1r1 for general use and testing. When service needs to be applied, the HFS dataset is unmounted from /ahxv1r1 and mounted at /s/ahxv1r1.
This technique allows the tools to be separated from each other and also assures that there is no conflict between general use and the application of service.
DB2 Data Archive Expert is the example product used for this document. The scenario detailed below should occur during SMP installation of the product shortly after the installer has performed the RECEIVE task. In the DAE Program directory, this is before Section 6.1.7.
- If this is the initial installation of the product, a new MVS HFS dataset is allocated for the product. The Program Directory (PD) is usually clear about the name of the product root directory it is requesting; in the case of DAE, it would be ahxv1r1. The product root name is allocated in the name of the HFS dataset.
The PD should, but doesn't always, specify how large the HFS dataset should be. The DAE PD specifies 544K bytes. ISPF 3.2 will allocate an HFS dataset for you, as follows:
Note that the Data set name type is HFS. The file was allocated to be 30 cylinders.
After your HFS dataset has been created, you can create mount points for it. This step is only required for the initial installation. You can use ISPF 6 to get into ish, which is easier and you are not required to know many USS commands.
- To create a directory, start from the initial ish screen and type the name of the directory you want to create. Note that there is already an a /s directory, so you can simply create a directory below it, as follows:
Note that a slightly different directory name is being used for this example, because we are already using a directory called /ahxv1r1.
Press Enter to get to the following screen. Scroll down to the File type field and enter "1", as shown:

Press Enter to create the ahyv1r1 as a subdirectory of /s. If you want to see the results of what you've done, you can list the service directory /s by removing the name of the directory you just created and pressing Enter. Start from this screen:

Press Enter and you get:

In this screen, you can see the directory you just created, ahyv1r1, which is under the service directory, /s. The procedure to create a use/run directory is similar.
- Next, proceed to mount the HFS file at the service mount point. At the initial ish screen, type the mount point you want to use, then move the cursor up to the File_Systems option at the top of the screen:

Press Enter to see the pull-down menu. Type "3", as shown:

- Pressing Enter brings you to the actual mount screen, where you can enter the dataset name. Specify HFS, as shown. If your installation uses shared HFS across multiple LPARs, you should specify automove(yes), as shown (automove will involve one screen following this one where you simply confirm that you want automove):

After completing the automove screen, you should have successfully mounted the HFS dataset at the service mount point, and have your HFS ready for installation. You should have allocated an HFS dataset and created two directories (one for installation/service, one for run/use/production).
- Section 6.1.7 in the DAE PD contains some information about the AHXISMKD job (which invokes AHXMKDIR to actually make the directories you need). Before you launch AHXISMKD, make some alterations to these two members of the sample library. The AHXISMKD member before launch looks like the following example. Notice that the job points to the service directory (the install will be done into a directory that hangs off of the service directory):

The AHXMKDIR exec is modified as below. Note that the PD is silent on this operation and there are insufficient instructions in the prologue of the exec about modification. However, this works fine. The only alteration to the exec is the setting of "idir", as shown:

Launching AHXISMKD invokes AHXMKDIR, which should create the directories that you need below /s/ahxv1r1. There is a sysout file produced during this step that reports your success or failure. Additionally, as another check, you can go back into ish and display the directories that now exist at /s/ahxv1r1. If you have trouble accessing the directories list with the exec, you can go into ish and create the directories shown in the AHXMKDIR exec by hand.
The normal allocate step (Section 6.1.7) can now be run.
- In the DEFPATH step, this is what you can use for modifications:

The statements at lines 320 and 321 actually were taken from the DEFPATH step for DB2 Query Monitor so for DAE you should be using the lines at 330 and 331. Example lines taken from the Grouper installation are at lines 327 and 328.
Having made the above modifications, proceed normally with the remainder of the SMP installation.
- Go into SYS1.PARMLIB (or whatever your systems are using at IPL time) and find the BPXPRMxx member being used for USS. You should have entries like the following to your BPXPRMxx member. Note that the following example specifies the run/use mount point during IPL, which is useful for everyday activity:

- Before the product can be used for non-service activities, unmount the HFS dataset from the service mount point and mount it at the run/use mount point. You can unmount by going into the mount table and requesting unmount for the dataset. This is how you get into the mount table:

Then, press Enter. The resulting screen should show you a complete list of the HFS datasets that are mounted. Find the one you're using and issue "U" (unmount) before the dataset name. Then you can mount it at the run/use mount point. From here, your product is ready to be customized.
Was this topic helpful?
Document Information
Modified date:
11 February 2021
UID
swg21181682