NetBase 10.0 Addendum Table of Contents NetBase 10.0 .................................................................................................................................................................3 Requirements .............................................................................................................................................................3 Benefits ......................................................................................................................................................................3 Features ......................................................................................................................................................................3 How NetBase 10.0 Works ............................................................................................................................................4 Overview....................................................................................................................................................................4 Procedure Exits ..........................................................................................................................................................4 What is a Procedure Exit? ......................................................................................................................................4 NetBase Procedure Exits........................................................................................................................................5 NM Shell ....................................................................................................................................................................6 Automatically NBDisabled Programs – XL List is Too Long ...............................................................................6 CM Shell ....................................................................................................................................................................9 Activating the NetBase CM and NM Shells.............................................................................................................10 AUTOINST Utility .....................................................................................................................................................11 AutoInstaller Installation..........................................................................................................................................11 Running the Shell AutoInstaller Automatically during System Start-Up .................................................................12 Shell AutoInstaller Operation Notes ........................................................................................................................12 AutoInstaller Pre-Installation Checks ......................................................................................................................14 Locking NM & CM Loaders while Autoinst Updates Library Files ........................................................................15 AUTOINST Parameters ...........................................................................................................................................16 AUTOINST INFO Keywords ..............................................................................................................................16 AUTOINST Flag Files .........................................................................................................................................17 AUTOINST Variables .............................................................................................................................................17 Monitoring Procedure Exits and AUTOINST.........................................................................................................18 PEUTIL ...................................................................................................................................................................18 PELIST ....................................................................................................................................................................18 NBLOG,LOD ..........................................................................................................................................................19 Bypassing NetBase .....................................................................................................................................................21 Turning the NetBase 10.0 Shell On or Off System-Wide ........................................................................................21 Turning the NetBase 10.0 Shell On or Off Locally..................................................................................................21 Bypassing the NetBase Shell by Allocating CM Programs ......................................................................................21 Disabling NetBase for a Particular Program or Set of Programs .............................................................................22 Bypassing NetBase for a Particular Program ...........................................................................................................22 NetBase 10.0 Multi-Threaded Post ...........................................................................................................................24 Overview..................................................................................................................................................................24 Configuration and Setup of Multi-Threaded Posting ...............................................................................................25 Implementation Notes ..............................................................................................................................................27 NetBase Support Notes:.............................................................................................................................................29 NBDIR – Creating Alternate Directories .................................................................................................................29 Same System Shadowing .........................................................................................................................................29 Third Party Shadowing (TPS) For TurboIMAGE Databases ..................................................................................30 IMPLEMENTING TPS SHADOWING ..................................................................................................................31 For Databases that are Currently Shadowed ........................................................................................................31 First Time Database Shadowing ..........................................................................................................................31 DATABASE STRUCTURE CHANGES – BRIDGE ..............................................................................................32 NBCTRL – DEFER .................................................................................................................................................32 NBCOPY Of A Database.........................................................................................................................................33 NBCOPY Of KSAM Files .......................................................................................................................................33 1 NetBase 10.0 Addendum MONITORING THE PROGRESS OF ROLL FORWARD ....................................................................................33 NetBase MPEX Interface .........................................................................................................................................34 Memory Mapped Files .............................................................................................................................................34 Disabling CI Access from NetBase Utilities ............................................................................................................34 System Operation And Maintenance ........................................................................................................................35 System Startup .........................................................................................................................................................35 HP Patches ...............................................................................................................................................................36 FOS Upgrades ..........................................................................................................................................................37 NetBase Updates ......................................................................................................................................................38 Removing NetBase...................................................................................................................................................39 Installing NetBase 9.8 Over NetBase 10.0 ...............................................................................................................40 Installation/Update Procedures For NetBase Release 10.0 ....................................................................................41 Overview ..................................................................................................................................................................41 Before Installing NetBase ........................................................................................................................................41 Updating From NetBase 9.8 .....................................................................................................................................42 Updating From NetBase 10.0 ...................................................................................................................................44 Installation Steps ......................................................................................................................................................46 Step 1. Restore NETACCT job and STREAM NETACCT .................................................................................55 Step 2. Install the NetBase Shell ..........................................................................................................................56 Step 3. Configure Network Nodes for NetBase ...................................................................................................57 Step 4. Modify System Startup Procedures ..........................................................................................................61 Implementation Notes ..............................................................................................................................................62 System Startup Procedures ...................................................................................................................................62 Bypassing NetBase ..............................................................................................................................................64 Post User Exits .....................................................................................................................................................65 2 NetBase 10.0 Addendum NetBase 10.0 Requirements MPE/iX 6.0 or greater MPEMX90x Operating System Patch from HP “Relinker Patch to NL” Enable Third Party Shadowing (TPS) for TurboIMAGE Databases Benefits Provides the ability to install or update the NetBase shell without a system reboot. A reboot will be required to remove the NetBase 9.8 shell, but the system will not need a reboot for any new or subsequent NetBase installations. Compatible with Stage/iX and Patch/iX. NetBase does not need to be removed for HP patches. We are no longer modifying the TurboImage intercepts in XL.PUB.SYS. Compatible with NetBase 9.8. Features New Implementation of the NetBase Shell. NetBase 10.0 makes use of HP’s Procedure Exit facility. With this release, the NetBase shell and system libraries now reside in the NETBASE group of the SYS account. They are no longer inserted in XL.PUB.SYS. A new NetBase shell autoinstall utility, AUTOINST.PUB.NETBASE, is provided. This utility creates the NetBase shell and associated libraries during installation, arms the procedure exits, enables the NM and CM shells, and displays status information. It takes the place of NBINST and many of the NBVERS functions used in NetBase 9.8. The NBLOG,LOD was expanded to track NBFLUSH, BRIDGE, AUTOINST and PEUTIL. NBPOST will now queue Omnidex errors instead of putting the database in a Discard state. NBPOST will now allow you to DEFER files in a DISCARD state. Performance is improved in NBEXPORT when dealing with large NBM files. Support for the NEWCI command. NBSPOOL’s default number of XEQ processes has increased from 8 to 40. Enhanced the Spoolcmd process to abort if more than one spoolcmd file is accessing a device. Access to the colon prompt from NBCTRL, NBDIR, NBSECURE, NBCONFIG and NBSPOOL can be restricted with a new jcw, NBNOCI. Multi-Threaded Post. 3 NetBase 10.0 Addendum How NetBase 10.0 Works Overview NetBase Version 10.0 uses a new methodology to implement the NetBase “shell”. The NetBase shell works by intercepting and looking at all calls and file requests to the file system. Using the NetBase directory, the shell decides what action to take. The shell has two components that operate very differently; one for compatibility mode (CM) and one for native mode (NM). The NetBase 10.0 shell now uses HP’s Architected Interface Facility Procedure Exits (AIF:PE) to intercept all attempts to create any NM or CM programs. These procedure exits will force NM programs to load through a new NetBase NM library file, NB1.NETBASE.SYS. For CM programs, the procedure exits will load non-system programs through RTMSL.PUB.SYS and system programs through SL.PUB.SYS. When NetBase 10.0 is installed using the new AUTOINST utility, the NM shell and libraries are built in the NETBASE.SYS group and HP’s NM system libraries in PUB.SYS are not modified. This strategy allows NetBase to avoid any modifications to XL.PUB.SYS as was done in prior versions. This eliminates the requirement to remove NetBase and reboot the system in order to perform HP’s Stage/iX and Patch/iX utilities. Another benefit of NetBase 10.0 is that when the NM and CM shells are disabled, the NB1.NETBASE.SYS and RTMSL.PUB.SYS files are not accessed by system processes, allowing NetBase updates to occur without system reboots. The primary changes to NetBase version 10.0 are in the shell. The underlying modules such as NBPOST, NBEXPORT, NBIMPORT, etc. remain functionally the same as in prior versions. Procedure Exits What is a Procedure Exit? The Procedure Exit facility is a subset of HP’s Architected Interface Facility (AIF). AIF procedures provide high-performance access, manipulation or interception of the HP operating system and subsystem processes. AIFs are a software layer between non-operating system software and internals, which provide access to MPE/iX internal functionality and data structures executing in privilege mode (PM). One of the advantages of using AIFs over intrinsics and undocumented system procedures is that AIFs will change to 4 NetBase 10.0 Addendum reflect changes to MPE/iX internals, and intrinsics and undocumented procedures can be operating system dependent. Procedure exits are user written routines that intercept designated target procedures. Upon interception, a user written procedure may be executed either prior to, in place of, or after the execution of the designated target procedure. The AIF:Procedure Exit facility must be turned on before any user written procedure exit routines can be ‘armed’ or activated. HP provides a utility called PEUTIL.PUB.SYS where procedure exits are either in an ‘ALLOW’ state or a ‘DISALLOW’ state. By default, procedure exits are allowed. Additional information about procedure exits can be found in HP’s MPE/iX Architected Interface Facility: Procedure Exits Reference Manual. NetBase Procedure Exits NetBase 10.0 intercepts procedures that will create new processes, and procedures that allow or disallow the activation of procedure exits. The NetBase procedure exit routines are located in the NBX.NETBASE.SYS library. The basic goal of the NetBase procedure exits is to insert the NetBase library, NB1.NETBASE.SYS, in front of the system libraries in all programs’ load list. This will ensure that the NetBase shell will capture all configured file activity. CM Programs For the creation of any CM programs, the NetBase procedure exits will load system processes through SL.PUB.SYS and non-system processes through RTMSL.PUB.SYS, where the NetBase CM shell resides. Programs loaded through SL.PUB.SYS will bypass the NetBase CM shell. This approach is different than NetBase 9.9 where all CM processes were loaded through RTMSL.PUB.SYS. NM Programs For the creation of NM programs, the NetBase procedure exits will modify the XL load list, in any format, to include NB1.NETBASE.SYS before XL.PUB.SYS. The NetBase NM shell resides in NB1.NETBASE.SYS. This is a dynamic change, and the program’s load list is not permanently changed. Programs fork/exec’d from Posix For any NM program fork/exec’d through the PosiX shell, the procedure exit will permanently modify the load list to include NB1.NETBASE.SYS. This can be seen with the :VERSION program_name command. This is only done the first time the program is fork/exec’d. CM programs will be loaded with RTMSL.PUB.SYS. PE Allow/Disallow Since procedure exits are critical to the operation of the NetBase 10.0 shell, NetBase has procedure exits to monitor and control the activity of the procedure exit facility. 5 NetBase 10.0 Addendum The procedure exit facility is turned on and off by using the PEUTIL.PUB.SYS program. The PEUTIL ‘ALLOW’ command is available to all users. Whenever someone issues the ‘ALLOW’ command in PEUTIL, a console warning is generated by the NetBase procedure exit. The PEUTIL ‘DISALLOW’ command is restricted by NetBase’s procedure exit to those users with either SM or OP capability. When the ‘DISALLOW’ command is issued by a user with the appropriate capabilities, a console warning is generated and a log record is written to the NetBase log file that can be seen by running NBLOG.PUB.NETBASE,LOD. It will have an identifier of ‘PeU’. NM Shell Previous releases of NetBase installed the NM Shell in XL.PUB.SYS and modified the names of Image procedures (DBOPEN, DBPUT, etc.) so that the NetBase routines would be invoked first. The NetBase routines would check the directory and performed the appropriate tasks, including calls to the ‘real’ Image routines. NetBase 10.0 creates separate libraries in a new group, NETBASE.SYS and no longer modifies the names of the Image routines in XL.PUB.SYS. When the Autoinst utility is run, it creates the new libraries. They include: NB1.NETBASE.SYS Contains the NM shell procedures along with run-time procedures derived from XL.PUB.SYS. NBX.NETBASE.SYS Contains the NetBase procedure exit routines Invoked by the AIF:PE facility. Process creation and use of PEUTIL are intercepted. NB0.NETBASE.SYS Special library used internally when running Vesoft’s MPEX product. When the NM shell is enabled by the Autoinst utility , the procedure exit routines are loaded into NBX.NETBASE.SYS and armed. When an NM program is run, the NM program is intercepted upon its creation, and it’s load list is dynamically modified to insert the NM shell library, NB1.NETBASE.SYS, in front of XL.PUB.SYS in its load list. This modification to the load list is transparent to the user and temporary. A call to an Image intrinsic will then resolve in NB1.NETBASE.SYS, invoking the NM shell logic. The requested NetBase processing is then carried out, such as shadowing or Network File Access. Automatically NBDisabled Programs – XL List is Too Long There are some native mode programs that cannot be supported under NetBase 10.0 at this time. If a program has an XL list that is too long, NetBase cannot insert ‘NB1.NETBASE.SYS’ into it’s list. The HP3000 has a limit of 256 characters for an XL list in LINK, LINKEDIT and Createprocess and a liblist limit of 130 characters for the RUN command. However, programs with an XL list longer than 256 characters can be loaded and executed. You might wonder then, ‘If I can’t create a program with an XL list greater than 256 characters on an HP3000, how can there be such a creature?’ The answer is, they were created on another platform and ported over to the HP3000. The only programs we have encountered so far with long XL lists are HP diagnostic programs found in the HFS domain, such as : 6 NetBase 10.0 Addendum /usr/sbin/stm/ui/bin/stmc This program has an XL list greater than 800 characters long. This program and others were developed under HP/UX on an HP9000 and then ported over to the HP3000. At this time, the procedure exits will automatically disable these programs for NetBase and continue their execution. Quest Software has several change requests in to HP to modify the tools on the HP3000 to handle large XL lists. Once these are available, we will remove this restriction from the NetBase procedure exits. Since these programs are for system diagnostics, it is unlikely that a user would want these programs to run under the NetBase shell. The automatic ‘nbdisable’ of these programs should not be an issue. 7 NetBase 10.0 Addendum NM Shell The following shows how a Native Mode program is intercepted by NetBase 10.0. :RUN NM program NBX.NETBASE.SYS procedure exit traps creation of NM program. :RUN NM program;XL=NB1.NETBASE.SYS NM program calls DBOPEN DBOPEN in NB1.NETBASE.SYS (nm shell) and Directory lookup DBOPEN in XL.PUB.SYS Image DB 8 NetBase 10.0 Addendum CM Shell Previous versions of NetBase made use of a global RTMSL flag for compatibility mode programs. Once the CM shell was enabled using NBVERS, the RTMSL flag was set, and any subsequent CM programs run would be loaded through RTMSL.PUB.SYS which contained the NetBase CM shell. The RTMSL flag would remain set until the CM shell was disabled. Only the CM programs listed in the file ALLOCATE.DATA.NETBASE would be allocated prior to the setting of the RTMSL flag, so that they would load through SL.PUB.SYS instead. The 10.0 version of the CM shell also makes use of the RTMSL.PUB.SYS library and the RTMSL flag, but in a slightly different way. The procedure exit routines in NBX.NETBASE.SYS will intercept any CM program creation, as it does with NM programs. The procedure exit will turn the RTMSL flag off if the program being loaded is a system process, so that it will load through SL.PUB.SYS. If it is not a CM system process, then it will load the program through RTMSL.PUB.SYS. The following compatibility mode file is installed in PUB.SYS during the Autoinst installation process: RTMSL.PUB.SYS Contains the NetBase CM shell as well as runtime procedures derived from SL.PUB.SYS :RUN CM program NBX.NETBASE.SYS procedure exit traps creation of CM program. CM program loaded using RTMSL.PUB.SYS CM program calls DBOPEN CM shell switches to NM. and Directory lookup DBOPEN in NB1 DBOPEN in XL.PUB.SYS Image DB 9 NetBase 10.0 Addendum Activating the NetBase CM and NM Shells After installing the NetBase Version 10.00 shell, whenever your system is restarted, neither the NM nor CM shells are active. You must run the AUTOINST.PUB.NETBASE utility program to activate the NM and CM shells. This step must be repeated every time that your system is restarted. To ensure that no user applications can get started before the NetBase shell is activated, it is required that you run the NetBase AutoInstaller from within your system’s SYSSTART file. Note: The NetBase Installation job does NOT modify your SYSSTART file: you will have to make this change manually. Refer to the Installation procedures at the end of this document for recommendations on how to modify your SYSSTART file. Prior NetBase releases used different installation techniques: the NM shell was immediately available whenever a system was restarted, while the CM shell had to be manually activated. The new NetBase Version 10.00 method is simpler, allows access to a system without the NM shell installed (if necessary), and unifies the enabling of the CM and NM shells. 10 NetBase 10.0 Addendum AUTOINST Utility A new NetBase Shell AutoInstaller utility program is supplied with Version 10.00: AUTOINST.PUB.NETBASE. The AutoInstaller utility is responsible for the following principal tasks: Ensuring that all required NetBase CM and NM shell library files in the SYS account are correctly installed. Checking if any MPE/iX system libraries have been updated since the NetBase shell libraries were last installed, and updating the NetBase libraries if necessary. Enabling CM and NM loaders so that all programs are run ‘through’ the NetBase shell. Displaying the current NetBase shell status on the system console. The AutoInstaller may be run at any time. Although AUTOINST is intended to be launched from the system SYSSTART file, any SM or OP capability user may run it at any time, if necessary. When updating CM and NM shell library files, the AutoInstaller extracts MPE/iX run-time support procedures from the MPE/iX system libraries (SL.PUB.SYS and XL.PUB.SYS), and copies these procedures into the equivalent NetBase shell libraries. The AutoInstaller ensures that the NetBase libraries always contain up-to-date copies of the MPE/iX system library routines. The AutoInstaller performs its tasks intelligently: it only rebuilds files that require updating, and it uses optimized logic when rebuilding libraries. In all cases, the Version 10.00 AutoInstaller is able to update NetBase CM and NM shell libraries considerably faster than the equivalent manual steps required when using prior NetBase releases, and it minimizes the possibility of operator error. AutoInstaller Installation The NetBase Version 10.00 standard installation procedure will install the shell AutoInstaller utility, together with all associated files, within the NETBASE account. The NetBase NM and CM shells are not enabled in the NetBase installation procedure, so in common with prior NetBase releases, a manual step is required to install the NetBase shell. Unlike past NetBase releases, this consists of a single run of the program AUTOINST.PUB.NETBASE. 11 NetBase 10.0 Addendum Running the Shell AutoInstaller Automatically during System Start-Up As neither the CM nor NM loader runs programs through the NetBase shell until the AutoInstaller program has been run, it is required that you modify your SYSSTART.PUB.SYS file to automatically execute the AutoInstaller program (AUTOINST.PUB.NETBASE) during every system start-up. See the Installation Instructions at the end of this document for details on how to modify SYSSTART.PUB.SYS to launch the NetBase AUTOINST program automatically during system start-up. Shell AutoInstaller Operation Notes The AutoInstaller utility performs the following steps whenever executed: NM shell installation checks Verifies that all required NetBase libraries are correctly installed and up-to-date. Verifies if optional intercepts are installed. Verifies that the AIF:PE (Procedure Exits) facility is enabled. Verifies that NetBase AIF:PE traps are active, and that the NM loader runs NM programs through the NetBase shell. CM shell installation checks Verifies that the NetBase CM library (RTMSL.PUB.SYS) is correctly installed and up-to-date. Verifies if optional intercepts are installed, and whether RTMSL has been OCTCOMP’d. Verifies that the NetBase procedures in SL.PUB.SYS are installed and up-to-date. Verifies that the NetBase patch has been applied to SL.PUB.SYS. Verifies that the CM loader runs CM programs through the NetBase shell. If all checks pass, and no further processing is required, execution stops at this point. In the event that processing is required, any (or all) of the following steps will be performed, depending on the environment that exists on a system: Pre-Installation checks Verifies that all required files exist and are accessible. Verifies that the user running AUTOINST has the ability to update all required files. Verifies that any pre-existing NetBase segments in SL.PUB.SYS are not currently in use. Verifies that sufficient disc space is available to allow the installation to complete. AIF:PE access is allowed Ensures that system-wide access to the AIF:PE facility is allowed. 12 NetBase 10.0 Addendum Lock CM and NM loaders Prevent users from launching new processes. Any attempt will display a warning and pause. Updates the NetBase NM Shell Analyzes the NetBase NM libraries located in NETBASE.SYS, and rebuilds any file(s) that are missing, or out-of-date. Ensures that the NM loader loads all new processes through the NetBase Shell libraries. Updates the NetBase CM Shell Deallocates any CM programs that are allocated. Analyzes the NetBase procedures located in SL.PUB.SYS, and reinstalls them if they’re missing or out-of-date. Verifies if the NetBase patch has been applied to SL.PUB.SYS, and applies if it necessary. Analyzes the NetBase CM library (RTMSL.PUB.SYS), and rebuilds it if it’s missing or out-of-date. As part of the rebuild processing, the library is processed using the OCTCOMP utility. Allocates various CM program files that must bypass the CM shell. Enables the CM loader to load all CM programs through the RTMSL.PUB.SYS library file. Allocate CM programs that don’t bypass the CM shell (this only occurs if CM programs were initially allocated) Displays a console message indicating that CM and NM shells are Installed and Enabled. A STDLIST from a sample run of the AutoInstaller follows. This example illustrates a ‘worst-case’ scenario, with all processing steps being required: :AUTOINST.PUB.NETBASE NetBase : Shell AutoInstaller [10.00] Update 35 (c) Quest Software, 1998 Phase 1: Checking NetBase NM shell installation... NB0.NETBASE.SYS module NOT currently installed NB1.NETBASE.SYS module NOT currently installed NBX.NETBASE.SYS module NOT currently installed XLNETBSE.NB.NETBASE module NOT currently installed NM Loader is NOT NetBase enabled Phase 2: Checking NetBase CM shell installation... RTMSL.PUB.SYS module NOT currently installed SL.PUB.SYS procedures NOT currently installed SL.PUB.SYS patch has NOT been applied CM Loader is NOT NetBase enabled Phase 3: Checking installation options... OCTCOMP phase of RTMSL.PUB.SYS rebuild will be inhibited Phase 4: Performing pre-installation tests... 13 NetBase 10.0 Addendum Pre-installation tests pass Phase 5: Updating NetBase NM Shell... Temporarily disabling NM Loader for NetBase Reinstalling NB0.NETBASE.SYS library Reinstalling NB1.NETBASE.SYS library Reinstalling NBX.NETBASE.SYS library NetBase NM libraries rebuilt Enabling NM Loader for NetBase Phase 6: Updating NetBase CM Shell... Temporarily disabling CM Loader for NetBase Temporarily deallocating CM programs Installing NetBase CM procedures in SL.PUB.SYS NetBase SL.PUB.SYS procedures updated Applying patch to SL.PUB.SYS Rebuilding NetBase CM library (RTMSL.PUB.SYS) OCTCOMPing RTMSL.PUB.SYS (this may take up to 5 minutes) RTMSL.PUB.SYS library rebuilt Allocating CM programs (bypassing CM shell) Enabling CM Loader for NetBase Allocating CM programs Status : CM CM NM NM Shell Shell Shell Shell [10.00 [10.00 [10.00 [10.00 Update Update Update Update 1] is Installed 1] is Enabled 14] is Installed 14] is Enabled A subset of these messages also appears on the system console and the actions are logged in NBLOG,LOD;parm=8, INSTLIST.DATA.NETBASE and INSTLOG.DATA.NETBASE. AutoInstaller Pre-Installation Checks Whenever AUTOINST determines that it’s necessary to reinstall any of the CM or NM libraries, it tries to ensure before starting that processing will be able to proceed to completion. Pre-installation tests verify the following: That all files required to perform the update are present and accessible. That the user has required capabilities and access to necessary MPE groups. That any pre-existing NetBase segments in SL.PUB.SYS may be updated. That sufficient free disc space exists to allow processing to complete. The verification that NetBase segments located in SL.PUB.SYS may be updated is one of the more critical tests. AUTOINST first identifies all CM processes currently being run on the system. If any of these processes are loaded through an existing RTMSL.PUB.SYS file, AUTOINST displays a process tree for the Job/Session containing the CM process, identifying the offending CM program(s), and aborts. The following AUTOINST STDLIST fragment illustrates this check failing: Phase 14 4: Performing pre-installation tests... NetBase 10.0 Addendum #S248 #S248 #S248 #S248 SANDY,MGR.NETBASE,PUB 157 :QED 159 (QEDIT.PUB.ROBELLE) 125 (WAKEUP.PUB.VESOFT) <<< CM program These CM program(s) must be stopped before SL.PUB.SYS can be updated Error : Unable to obtain update access to SL.PUB.SYS segments Status : Error detected: processing aborted (#2037) If this situation occurs, you should attempt to correct the problem and re-run AUTOINST as soon as possible. When the NetBase shell is not correctly installed, you risk out-of-sync conditions when applications run in these circumstances. Locking NM & CM Loaders while Autoinst Updates Library Files Allowing users to run programs while the AutoInstaller is in the process of updating its CM and NM libraries could cause the updates to fail, or could allow these programs to bypass the NetBase shell. To minimize this problem, the AutoInstaller prevents process creation during critical parts of its processing. It does this while it’s running by locking up any user (or job) that attempts to launch any new process. The CM loader lock will also lock up users who attempt to use the ALLOCATE, DEALLOCATE or SHOWALLOCATE commands. Users who attempt to run a program while the AutoInstaller is active will see the following, with NetBase messages shown in bold: :editor NetBase Shell AutoInstaller is running. This process will pause until the AutoInstaller has completed. This may take up to 5 minutes... ...processing resuming HP32201A.09.00 EDIT/3000 MON, NOV (C) HEWLETT-PACKARD CO. 1993 / 2, 1998, 1:34 PM Users who attempt to log on while the AutoInstaller is running will be allowed to proceed to the ‘:’ prompt, but they’ll be locked up as soon as they attempt to launch any program from within the Command Interpreter (CI). This includes programs launched on their behalf by logon UDCs. The loader locks are released as soon as possible. In most cases the NM loader lock is released after a few seconds, while the CM loader lock could be held (worst case) for a few minutes. 15 NetBase 10.0 Addendum The BREAK key is disabled while AUTOINST is running, to ensure that the program is not interrupted during critical phases of its processing. AUTOINST Parameters The AUTOINST utility may be run using several formats. If run with no parameters, the default behavior is to perform pre-installation checks, and then perform any required activities to install and enable the NM and CM shells: or :RUN AUTOINST.PUB.NETBASE :AUTOINST.PUB.NETBASE Under default conditions it should never be necessary for users to specify any INFO keywords other than STATUS. Multiple keywords may be specified when running AUTOINST and should be separated by spaces. The implied run format may also be used: :RUN AUTOINST.PUB.NETBASE;INFO=”STATUS” :AUTOINST.PUB.NETBASE :AUTOINST.PUB.NETBASE STATUS :RUN AUTOINST.PUB.NETBASE;INFO=”OMNI NOOCT” :AUTOINST.PUB.NETBASE ‘OMNI NOOCT NMONLY’ AUTOINST INFO Keywords The keywords that may be used with Autoinst can be seen online by typing AUTOINST HELP: :AUTOINST HELP NetBase : Shell AutoInstaller [10.00] Update 39 (c) Quest Software, 1998 The NetBase 10.0 AutoInstaller program performs the following tasks: 1. 2. 3. 4. Ensures that all files required to build the NM and CM shell libraries exist and then builds these libraries in the SYS account. Checks for updates to the MPE/iX system libraries since NetBase was installed and then updates the NetBase libraries as needed. Enables the NM and CM loaders so that all programs run through the NetBase shell. Displays the current NetBase shell status. The AUTOINST parameters include the following: (none) STATUS STATUS+ DISABLE DISABLECM DISABLENM REMOVE REMOVECM REMOVENM CMONLY 16 Perform all steps to install and enable NM and CM shells Display installed/enabled status of NM and CM shells Display detailed status of NM and CM shells Disable NM and CM shells Disable the CM shell - use SL.PUB.SYS not RTMSL Disable the NM shell - turn off procedure exits Disable and uninstalls all shell files, NM and CM Disables and uninstalls all CM shell files Disables and uninstalls all NM shell files Limits processing to CM shell NetBase 10.0 Addendum NMONLY NOOCT OMNI NOENABLE INUSE VERSION Limits processing to NM shell Inhibits OCTCOMPing of RTMSL.PUB.SYS Adds Omnidex support routines to NM shell on installation Installs NM and CM shells but does not enable them Shows any CM programs currently allocated through RTMSL Displays the version of the AUTOINST program AUTOINST Flag Files Certain aspects of the AUTOINST operation may also be configured by simply building empty ‘flag’ files within the AUTOINST.NETBASE group. These files, if they exist, will cause the following behavior: NOOCT.AUTOINST.NETBASE CMONLY.AUTOINST.NETBASE NMONLY.AUTOINST.NETBASE OMNI.AUTOINST.NETBASE PEARM.AUTOINST.NETBASE Inhibits the OCTCOMP phase of rebuilding RTMSL.PUB.SYS Inhibits installation of the NM shell Inhibits installation of the CM shell Enables adding OMNIDEX support procedures to the NM shell Enables case sensitivity for procedure exits;Time Machine Requires this to run with NetBase 10.0. AUTOINST Variables Several program variables are set whenever the AUTOINST utility is run. These are available if you want to check the status of the NetBase shell in a job. For example, if you did an AUTOINST STATUS, then you could check any of the five AUTOINST@ variables shown below: :autoinst status NetBase : Shell AutoInstaller Status : CM CM NM NM Shell Shell Shell Shell [10.00 [10.00 [10.00 [10.00 [10.00] Update 35 Update Update Update Update (c) Quest Software, 1998 0] is Installed 0] is Enabled 14] is Installed 14] is Enabled :showvar auto@ AUTOINST_ERROR = 0 AUTOINST_NM_INSTALL = TRUE AUTOINST_CM_INSTALL = TRUE AUTOINST_NM_ENABLE = TRUE AUTOINST_CM_ENABLE = TRUE 17 NetBase 10.0 Addendum Monitoring Procedure Exits and AUTOINST PEUTIL Every MPE/iX system has the AIF Procedure Exit facility. Procedure exits are global, and may be in one of two states, either ‘ALLOW’ or ‘DISALLOW’. The PEUTIL.PUB.SYS utility program is provided by HP to give users the ability to turn procedure exits on or off system-wide. NOTE: By default, procedure exits are ALLOWED on every system, even if there are no procedure exit routines defined or armed. PEUTIL has no help, or display of status. It knows three commands: ALLOW, DISALLOW, and EXIT. The syntax of the ALLOW command is: allow [;susp=true/false] This allows procedure exit use on the system. If susp=true is specified, it uses a suspended version of the procedure exits, else it discards all older bindings and reinitializes the product. By default, susp is true. The syntax of the DISALLOW command is: disallow [;susp=true/false] This disallows procedure exit use on the system and prevents any procedure exits from being ‘armed’. If susp=true is specified, it suspends the current version of the product, saving all current bindings. Otherwise all current bindings will be deleted and the product will be reinitialized. By default, susp is true. PELIST It’s not easy to determine the exact state of AIF:PE traps on a system. A DEBUG macro to display all active procedure exits is provided by HP, but this requires the user to be logged on with PM capability and that files in the TELESUP account be available. We supply a command file (PELIST.AUTOINST.NETBASE) that includes the DEBUG commands required to use the macro to display all active AIF:PE traps. An example of typical output follows: :PELIST.AUTOINST.NETBASE 18 NetBase 10.0 Addendum :debug env autoignore=true; env vars=#2003;env vars_loc=#997;var mac_options '1'; use macstart.dat.telesup;aif_pelist (#0);c DEBUG/iX C.25.06 HPDEBUG Intrinsic at: a.01086bd8 hxdebug+$c8 Welcome to the DAT Macro facility. RELEASE: C.65.00 MPE/iX HP31900 C.25.06 USER VERSION: C.65.00 OS Symbol file SYMOS.OSC25.TELESUP is now open. Next line maps VAMOS.OSC25.TELESUP 1 VAMOS.OSC25.TELESUP 3e9.0 Bytes = 186a00 OS Macros restored from file MOS.OSC25.TELESUP. OS DAT MACROS HP30357 C.23.01 Copyright Hewlett-Packard Co. 1987 PT RY OP CE -T HI T HI T HI T HI T HI T HI T HI S E Procedure Procedure Lib Prod Bind L B Name Library Pri Name ID F Q ------------------------------ ------------------------ ----- ---- ---- - hpgetprocplabel NL.PUB.SYS 1 0 hpgetprocplabel_i NBX.NETBASE.SYS 7 NetB 101 Y Y pe_allow_not NL.PUB.SYS 1 0 pe_allow_not_i NBX.NETBASE.SYS 7 NetB 101 Y Y pe_allow NL.PUB.SYS 1 0 pe_allow_i NBX.NETBASE.SYS 7 NetB 101 Y Y do_cx_switch NL.PUB.SYS 1 0 do_cx_switch_i NBX.NETBASE.SYS 7 NetB 101 Y Y px_execve NL.PUB.SYS 1 0 px_execve_i NBX.NETBASE.SYS 7 NetB 101 Y Y createprocess NL.PUB.SYS 1 0 createprocess_i NBX.NETBASE.SYS 7 NetB 101 Y Y create NL.PUB.SYS 1 0 create_i NBX.NETBASE.SYS 7 NetB 101 Y Y This command file requires that the system contain the correct SYMOS files inside the TELESUP account. If the files are absent, the above status will fail. This utility shows only the procedure exits that are currently ‘armed’. If the NetBase shell is disabled, the above procedure exits will be ‘disarmed’, and will not be listed. NBLOG,LOD NetBase 10.0 logs the activity of AUTOINST and PEUTIL ‘disallow’. Two parameters have been added to the NBLOG,LOD facility to display activity in these utilities. The NBLOG utility is described on page 13-5 of the NetBase for MPE Reference Guide. To see the history of a specific program, any of the following parm values may be entered: :RUN NBLOG.PUB.NETBASE,LOD;PARM=n Where n is one of the parms listed in the following table: 19 NetBase 10.0 Addendum Parm Heading Program 1 2 3 4 5 6 7 8 9 10 11 Dir Ctl Cfg Ver Spl Sec NBDIR NBCTRL NBCTRL – Config NBVERS NBSPOOL NBSECURE Not Currently Used AUTOINST PEUTIL.PUB.SYS NBFLUSH BRIDGE Aut PeU Fsh Brg The following is a sample output of AUTOINST and PEUTIL logging displayed by NBLOG,LOD: :run nblog.pub.netbase,lod;parm=8 NetBase Log Dump Facility [10.00] Update 2 (C) QUEST Software 1987 Enter Start Date (MM/DD/YY), <cr> for all:09/01/01 09/11/01 12:49:48.0 Aut #J182 <default options> SYSSTART,MGR.NETBASE Pin 83 Dev 16385 09/13/01 16:06:04.5 Aut #S273 DISABLE SANDY,MGR.NBSOURCE Pin 74 Dev 8 09/13/01 16:06:33.8 Aut #S273 REMOVE SANDY,MGR.NBSOURCE Pin 102 Dev 8 09/13/01 16:07:14.8 Aut #S273 <default options> SANDY,MGR.NBSOURCE Pin 107 Dev 8 :run nblog.pub.netbase,lod;parm=9 NetBase Log Dump Facility [10.00] Update 2 (C) QUEST Software 1987 Enter Start Date (MM/DD/YY), <cr> for all: 09/11/01 13:41:49.9 PeU #S259 SANDY,MGR.NETBASE Pin 150 Dev User disabled AIF:PE access 20 4 NetBase 10.0 Addendum Bypassing NetBase Turning the NetBase 10.0 Shell On or Off System-Wide In the event that the NetBase shell must be turned off system-wide for both NM and CM programs, the following commands should be used: :AUTOINST.PUB.NETBASE DISABLE :SETCATALOG NMCMDUDC.PUB.NETBASE;SYSTEM;DELETE This will prevent all new programs from loading through the NetBase shell. It does not affect any programs currently in use. To re-enable the NetBase shell, enter the following commands: :AUTOINST.PUB.NETBASE :SETCATALOG NMCMDUDC.PUB.NETBASE;SYSTEM;APPEND Turning the NetBase 10.0 Shell On or Off Locally As in prior NetBase versions, the NetBase shell can be turned off ‘locally’ within any job or session by issuing the following command: :SETJCW NBDISABLE FATAL To re-enable local access, issue the following command: :SETJCW NBDISABLE 0 Bypassing the NetBase Shell by Allocating CM Programs A CM program can bypass the NetBase shell if it is included in the ALLOCATE.DATA.NETBASE file. Autoinst will allocate the programs in this file before enabling the CM loader for NetBase. This will prevent the program from being loaded with RTMSL.PUB.SYS or pass through the CM shell. This function was available in prior versions of NetBase, but was performed when NBVERS,ENABLE was run to enable the CM shell. 21 NetBase 10.0 Addendum Disabling NetBase for a Particular Program or Set of Programs As with previous versions of NetBase, programs can bypass NetBase if a PROGRAM entry is made in the directory. This may be done for an individual program, or for a group of programs. (NBDIR does not support partial wildcards). For example, to set all programs in the PROG.PRODACCT group to be ‘NONB’d and bypass the NetBase shell: :RUN NBDIR.PUB.NETBASE NetBase Directory Program [10.00] Update 1 (C) QUEST Software 1987 D> PROGRAM @.PROG.PRODACCT;NONB D> LISTP @.PROG.PRODACCT Node: FOX Directory: NBD.DATA.NETBASE ------LOCAL PROGRAM------Program Group Account @ PROG PRODACCT -> ----REMOTE EQUIVALENT---Program Group Account Node B P S L U E H N O F N U B C F D T --Same-- local N - - - - D> NOTE: If the NONB feature is used, programs are still running thru NetBase libraries, however, NetBase is ignoring what they do. NONB works for both NM and CM programs. Bypassing NetBase for a Particular Program With version 10.0 update 26 or greater of AUTOLIB.USL installed, it is possible to run a single program without going through NetBase. (To see the version of AUTOLIB, type “RUN NBVERS,SHELL”). This is a different concept than NONB’ing a program or setting the NBDISABLE jcw to FATAL. The NONB parameter on a program entry in the NetBase directory will still load the program with the NetBase shell, it will just “fall through” the shell and not capture file activity. If you want to run a program that does not get loaded with the NetBase shell at all, you can “ALLOCATE” a compatibility mode program. The “Allocate” command isn’t available for native mode programs so we have created a special variable as described below that will prevent the procedure exits from appending nb1.netbase.sys to the program’s xl list. This is also different from setting the NBDISABLE jcw to fatal in your job or session where everything will bypass NetBase. The format of the variable is the full program name, substituting underscores for the periods, with “_nbdisable” at the end. Set this variable to 1 and the procedure exits will load the program without NetBase. This is especially beneficial if a parent process creates son processes and you want the son to bypass NetBase, but not the father. This could not be done with a setjcw nbdisable to fatal, since that will affect all processes in the session. For example, if we want program MYPROG.LIB.PROD to bypass NetBase, we set the variable as follows: :SETVAR MYPROG_LIB_PROD_NBDISABLE 1 22 NetBase 10.0 Addendum To reset, either log off, or type: :DELETEVAR MYPROG_LIB_PROD_NBDISABLE or :SETVAR MYPROG_LIB_PROD_NBDISABLE 0 23 NetBase 10.0 Addendum NetBase 10.0 Multi-Threaded Post Overview An optional feature of the NetBase Posting process was developed to address certain performance problems that some customers encountered when Posting was consistently backlogged on a shadow machine. Provided that a shadow machine was not CPU or IO bound, Multi-threaded Post was developed to improve posting throughput. This option, if enabled, increases net post overhead, of both CPU and IO, so should be used only when benefits are clear. For instance, when a small subset of Post IO is for a particular file or database, that file/db can be assigned a post queue so that it doesn’t have to wait in line for all the other posting to take place. Another possibility, is to assign post queues by volume, so all shadowed files and databases for a particular volume are assigned the same queue. If the shadow machine is IO and CPU bound, multiple post queues should not be enabled. Multi-threaded post will run more slowly than single post on a machine that is not backlogged since more processing takes place. Basically, multi-threaded post causes posting for a specific node to launch a “father” post process that creates up to 100 “child” post processes that can run simultaneously. Multi-threaded post is enabled on the shadow machine, in NBCTRL, CONFIG, with a modify node command for the master node where the records are coming from. The POST=p parameter, where p is 0 to 99, is used in the SHADOW statement in NBDIR to assign a post queue number to a file or database. Post child processes are created for each of these post queue numbers. A post queue number 0 is the default if not specified on a shadow statement. The father post process will act as a dispatcher and send transactions to each child post process based on the post queue number defined in the shadow statement. A new set of queue files of the format PCnnnppp is created by the father and read by the appropriate child where nnn is the shadow node number and ppp is the post queue number from the shadow statement. The PCnnnppp queue files are first built when a record is posted to a shadow file, and the nbpost program sees the “POST=p” in the shadow entry in the NetBase directory. Any time post is stopped and started again, Post will automatically start the post child processes for all PCnnnppp files present with an eof greater than 0. If there is no backlog for a Post child process, the child will be created when a record for that queue comes through. 24 NetBase 10.0 Addendum Configuration and Setup of Multi-Threaded Posting Multi-Threaded Post is turned on in NBCTRL, CONFIG on a shadow system on a node by node basis. The <node> that is specified is the node number/name of the Master system that will be sending transactions to the shadow system. This parameter takes affect when Post is started. 1) Stop Post on the shadow system for the master node. :NBCTRL ‘STOP POST 15’ 2) Enable Multi-Threaded Post by node. :NBCTRL *> CONFIG C> Modify 15 . . . SHADOW - MultiThread Post.......... [N] 3) Y Assign Post process queue numbers to shadowed files/databases. By default, shadow files without a post number will be queue 0. NBDIR will not let you assign or change a POST= nn if the queue for nn is busy or if the post queue you are changing from currently has a backlog. :NBDIR D> SHADOW BANNER.SANDY.NETBASE;PASS=CHANGE;POST=5 D> SHADOW CUSTDB.SANDY.NETBASE;PASS=CHANGE;POST=14 4) Start Post for the node so that the new configuration option is recognized. :NBCTRL ‘START POST 15’ 5) To display the post processes assigned to particular files. :NBDIR D> lists @.sandy.netbase,all Node: FOX Directory: EMPTY.PUB.NETBASE S Q U D S L ---LOCAL COPY REFERENCE--- Y U S I H O File Group Account N E R S R G --------TRANSPORT REFERENCE-------File Group Account Node BANNER SANDY NETBASE TAHOE Post Thread: 5 Last Update at 12/31/02 09:21:30 CUSTDB SANDY NETBASE TAHOE Post Thread: 14 Last Update at 12/31/02 09:09:29 -> --Same-- - - - - - - -> --Same-- - - - - - - 25 NetBase 10.0 Addendum 6) To see the post processes currently in use and the files posted since Post was last started: :NBCTRL 'SHOW POST' Node Name 4 NORWAY 7 BUGS 8 DAFFY 15 TAHOE 15. 0 15. 5 15.14 123 FOX Status Backlog Files IDLE IDLE IDLE 0 0 0 IDLE IDLE IDLE IDLE 0 1 1 0 Closes :NBCTRL 'SHOW POST 15' 7) File Type BANNER.SANDY.NETBASE CUSTDB.SANDY.NETBASE IMAGE IMAGE FILENAME CODE PC015000* PC015005* PC015014* 26 S Q D Y U I N E S 1 1 05/20/03 16:12:32 05/20/03 16:12:13 - - - - - To see the files used to communicate between the Post “Father” and the various child processes. :LISTF PC@.QUEUE.NETBASE,2 ACCOUNT= NETBASE GROUP= 8) Updates Time Stamp of Last Record Processed QUEUE ------------LOGICAL RECORD----------SIZE TYP EOF LIMIT R/B 14331W 14331W 14331W VBM VBM VBM 0 0 0 1025 1025 1025 1 1 1 ----SPACE---SECTORS #X MX 114800 114800 114800 1 32 1 32 1 32 To see the ‘father’ and ‘child’ processes running, find the job number of the NetBase job, and do a ‘showproc’. :SHOWPROC JOB=#J106 QPRI CPUTIME STATE JOBNUM PIN C152 B149 C152 C152 C152 C152 C152 J106 J106 J106 J106 J106 J106 J106 158 :RUN NBCOP.NB 115 (NBCOP.NB.NETBASE) 51 (NBIMPORT.NB.NETBASE) TAHOE 141 (NBPOST.NB.NETBASE) TAHOE 126 (NBPOST.NB.NETBASE) TAHOE:0 140 (NBPOST.NB.NETBASE) TAHOE:14 44 (NBPOST.NB.NETBASE) TAHOE:5 0:01.423 0:18.789 0:02.900 0:04.433 0:00.583 0:00.897 0:01.057 WAIT WAIT WAIT WAIT WAIT WAIT WAIT (PROGRAM) STEP NetBase 10.0 Addendum Implementation Notes Switching between Single Post processing and Multi-Threaded Post simply requires changing the multithreaded post flag in the node configuration and stopping and starting post for that node. If there are active records being posted for that node, then stop import for the node, let the records in the PCnnnppp file finish posting, then stop post for the node. 1) 2) Before using Multi-threaded Post do the following: a. Stop the Post process for the node :NBCTRL ‘STOP POST <node>’ b. Change the configuration and directory entries for Multi-Threaded Post as indicated in the setup instructions. c. Start the Post process for the node :NBCTRL ‘START POST <node>’ To switch from Multi-Threaded Post and a single Post do the following: a. Stop the Import process for the node :NBCTRL ‘STOP IMPORT <node>’ b. Make sure all the records in the PC queue files have been processed (eof = 0). :listf pc@.queue,2 ACCOUNT= NETBASE FILENAME PC015000* PC015005* PC015014* CODE GROUP= QUEUE ------------LOGICAL RECORD----------SIZE TYP EOF LIMIT R/B 14331W 14331W 14331W VBM VBM VBM 0 0 0 1025 1025 1025 1 1 1 ----SPACE---SECTORS #X MX 114800 114800 114800 c. Stop Post for the node: :NBCTRL ‘STOP POST <node>’ d. Change the configuration option to N for Multi Threaded Post. :NBCTRL *> CONFIG C> Modify 15 . . . SHADOW - MultiThread Post.......... [Y] 1 32 1 32 1 32 N 27 NetBase 10.0 Addendum e. Change the POST= option on the shadow statements in NBDIR from the post child number to the main post number, 0. Alternately, the RESET command can be entered to remove the shadow statement, and then the statement can be reentered without POST=0 and it will default to the POST=0: :NBDIR D> SHADOW BANNER.SANDY.NETBASE;PASS=CHANGE;POST=0 This file already defined. Replace? (Y/N) Y D> RESET CUSTDB.SANDY.NETBASE,S D> SHADOW CUSTDB.SANDY.NETBASE;PASS=CHANGE f. Start the Import and Post processes for the node :NBCTRL ‘START POST <node>’ :NBCTRL ‘START IMPORT <node>’ 3) To turn off one Post Queue process do the following steps. The post queue must be empty before it can be turned off. In this example, the master node number is 15 and the post queue number is 5: a. Stop the Import process for the node :NBCTRL ‘STOP IMPORT 15’ b. Make sure all the records in the PC015005.QUEUE.NETBASE file have been processed: :listf pc015005.queue.netbase,2 ACCOUNT= NETBASE GROUP= QUEUE FILENAME PC015005* c. CODE ------------LOGICAL RECORD----------SIZE TYP EOF LIMIT R/B 14331W VBM 0 1025 1 ----SPACE---SECTORS #X MX 114800 1 32 Stop the Post process for the node :NBCTRL ‘STOP POST 15’ d. Re-enter the shadow entry for the file with the post number equal to zero in NBDIR :NBDIR NetBase Directory Program [10.00] Update 5 D> SHADOW BANNER.SANDY.NETBASE;PASS=CHANGE;POST=0 This file already defined. Replace? (Y/N) Y D> E e. Start the Post and Import processes for the node :NBCTRL ‘START POST 15’ :NBCTRL ‘START IMPORT 15’ 28 NetBase 10.0 Addendum NetBase Support Notes: The following are a collection of notes from MPE Support. They are included here to clarify items from the NetBase Reference Guide, or to give helpful hints in problem situations. NBDIR – Creating Alternate Directories If you use an ASCII file as re-directed input into NBDIR to create an alternate directory, you may get some unexpected results. If the alternate directory file name that is on your BUILD statement already exists, the BUILD statement will fail. However, the re-directed input will continue processing and all the subsequent FILE, SHADOW, PROGRAM statements that follow will be executed, and they will be put into the current directory. NBDIR processes what is in your input file just as if you were typing the commands in one at a time. If you typed a BUILD command that failed, it would maintain the current directory and go on to the next input command. Remedy – Make sure the directory name specified on the BUILD statement doesn’t already exist! This process is described on page 12-10 of the reference manual. Same System Shadowing The following is an example of the directory commands needed to shadow a database to another location on the same machine. If your node name is FOX, and you’d like to shadow the BANNER.DATA.NETBASE database to the BANNER.TEST.NETBASE database you would type these commands in NBDIR: FOX:NBDIR NetBase Directory Program [10.00] Update 1 (C) QUEST Software 1987 D> FILE BANNER.DATA.NETBASE=BANNER.TEST.NETBASE,FOX,FOX;MASTER D> FILE BANNER.TEST.NETBASE=BANNER.DATA.NETBASE,FOX,FOX;SHADOW D> SHADOW BANNER.TEST.NETBASE;PASS=CHANGE 29 NetBase 10.0 Addendum Third Party Shadowing (TPS) For TurboIMAGE Databases Hewlett Packard added Third Party Shadowing (TPS) to IMAGE. This means that for every IMAGE DBPUT, DBUPDATE and DBDELETE, NetBase will be called from within the IMAGE transaction. The advantage to NetBase is that The write to the NBM file of the IMAGE transaction is performed within the IMAGE call. Since IMAGE single threads puts and deletes, the writes to the NBM file are synchronized Since IMAGE is passing the full preimage and postimage, as well as the record number, NetBase no longer needs to make additional DBOPENS and IMAGE calls to get the pre and post images and build the shadow record. This eliminates the DBOPEN mode 5 that NetBase did on shadowed databases. This is the supported method for shadowing Image databases in NetBase. With Version 10.0, enabling databases for TPS is required. The NetBase TPS procedures are in an XL named XLNETBSE.PUB.SYS. The file is created during NetBase installation. With TPS shadowing, the ;SYNC option on FILE statements on the Master and the ;DBX option on SHADOW statements on the Shadow system are obsolete and not required. NetBase fatal Image errors are in the range 1801/1954, where the number minus 1800 corresponds with to the NetBase fatal error number printed on the console. DBUTIL makes it possible to enable or disable a database for TPS once it is initially enabled using NBTPSUTL. If TPS is enabled on a database, but the database is not in the NetBase directory, shadowing will not occur. If a database is in the NetBase directory and has TPS enabled, it will be shadowed by IMAGE even if the NetBase shell is not enabled. The write to the NBM file is performed by the image routine, not NetBase. The format of the NBTPSUTL and DBUTIL TPS commands are as follows: :RUN NBTPSUTL.PUB.NETBASE;INFO=”MYDB” :RUN NBTPSUTL.PUB.NETBASE;INFO=”^BASELIST” You can use a file containing a list of databases in the NBTPSUTL program if you precede the name with a carat ‘^’: The file BASELIST contains a list of database names: VISTA.DATA.NETBASE BANNER.DATA.NETBASE MYDB.DATA.MYACCT 30 NetBase 10.0 Addendum The DBUTIL commands used once a database has been enabled for TPS in NBTPSUTL are: :DBUTIL.PUB.SYS >>DISABLE CUSTDB FOR SHADOWING >>ENABLE CUSTDB FOR SHADOWING >>SHOW CUSTDB FLAGS IMPLEMENTING TPS SHADOWING For Databases that are Currently Shadowed If you are currently shadowing IMAGE databases with NetBase, follow the steps below to implement TPS shadowing: _____ 1. Ensure that your version of IMAGE includes TPS (C.06.13 with Patch TIXJX36 or later. Contact HP to upgrade if necessary. _____ 2. Select the databases to be used for TPS. _____ 3. Quiet the databases that are being shadowed – get the users out of the databases. _____ 4. Flush any shadow transactions. :RUN NBFLUSH.PUB.NETBASE,STOPWAIT;PARM=shadownode# _____ 5. Enable the databases for TPS: :RUN NBTPSUTL.PUB.NETBASE;INFO=”DBNAME” or INFO=”^BASELIST” _____ 6. Remove the ;SYNC option from the FILE statements in the NetBase directory. _____ 7. Start the posting process on the shadow system: :RUN NBCTRL.PUB.NETBASE;INFO=”START POST” _____ 8. Allow users access to the databases. NOTE: If you are currently shadowing with Dynamic Transactions (DBXBEGIN, DBXEND, DBXUNDO) and are using the ;DBX option on your SHADOW statements, you must RESYNC before you can begin using TPS shadowing. First Time Database Shadowing If you are installing NetBase for the first time, or you are adding a new database to the shadowing process, follow the steps in the NetBase Reference Guide in Chapter 5 to set up shadowing. This chapter 31 NetBase 10.0 Addendum will explain how to enter the appropriate directory entries for your databases, how to implement TPS shadowing and how to monitor the shadowing process. See page 5-16 for a complete list of steps. DATABASE STRUCTURE CHANGES – BRIDGE Bridge mappings are created based on the structure of a file or database at the time they are entered. Any subsequent changes made to the database that alter a dataset’s number are not automatically recognized by the BRIDGE product. If you have a database called PARTDB with the following sets: PARTDB PARTDB01 PARTDB02 root file PART-MASTER INVENTORY-DETAIL (this dataset is used by BRIDGE) And then you insert a new dataset in between the PARTS-MASTER and the INVENTORY-DETAIL: PARTDB PARTDB01 PARTDB02 PARTDB03 root file PART-MASTER PART-DETAIL INVENTORY-DETAIL BRIDGE only knows about PARTDB02. After this change, the PART-DETAIL would be ‘bridged’ instead of the INVENTORY-DETAIL. To detect this situation, the Bridge VERIFY command may be run to compare the current structure of the database with the Bridge mappings. Any changes will be flagged and a run time variable is set to detect validity. The user may then go back into Bridge mappings and request that the mappings be ‘fixed’. Bridge VERIFY should be run any time database structure changes are made. NBCTRL – DEFER The DEFER command is used in NBCTRL to defer the posting of shadowed transactions from a specified node, and queue the updates instead. The command is shown on page 2-13 of the NetBase Reference Guide: :RUN NBCTRL.PUB.NETBASE *> DEFER FOX=BANNER.DATA.NETBASE,PAYDB.DATA.PAYROLL As a reminder, this statement must be entered on the SHADOW machine, not the MASTER machine. The node name (FOX in this example) is the name of the exporting, or master node. 32 NetBase 10.0 Addendum NBCOPY Of A Database There is a typo on page 13-23 of the NetBase Reference Guide in the example of using NBCOPY to copy a database to another machine. When you copy a database to another machine, you do not specify the node of the machine you are on (in the from parameter). The example should read: >FROM=CUSTBASE;TO=HISTORY:SYSTEMB;COPYBASE NBCOPY Of KSAM Files NBCOPY only works for CM KSAM files. MONITORING THE PROGRESS OF ROLL FORWARD When a database has gone into a queue state, because of a bad password for example, and the roll forward process begins making updates, you will not see any change take place in the SHOW POST command in NBCTRL: *> show post 4 File Type MYDB.DATA.TEST FLATTMP.GROUP1.TEST RCMFILE.GROUP1.TEST ??? MPE MPE Updates Time Stamp of Last Record Processed S Q D Y U I N E S 0 4 3 09/21/01 12:28:26 09/21/01 12:28:35 09/21/01 12:16:15 - Q - - - - - The ‘Q’ for MYDB will not go away, and the number of updates will not increase from 0 while Roll Forward is updating. The Roll Forward process does not communicate with the SHOW POST status. The state of the database may be monitored in NBDIR with the LISTS command, which will display an ‘R’ in the LOG column while the database is in a roll forward state. D> lists MYDB.DATA.TEST,ALL Node: TAHOE Directory: TESTDIR.DATA.NETBASE S Q U D S L ---LOCAL COPY REFERENCE--- Y U S I H O File Group Account N E R S R G --------TRANSPORT REFERENCE-------File Group Account Node MYDB DATA TEST NORWAY Last Update at 09/21/01 12:16:07 -> --Same-- - - - - - R 33 NetBase 10.0 Addendum NetBase MPEX Interface The following MPEX commands are intercepted by the NetBase/MPEX interface: %BUILD %COPY %PURGE %RENAME %SAVE %YESPURGE The Vesoft %ALTFILE command is not supported. Memory Mapped Files NetBase does not support memory mapped files in shadowing, NFA or any other NetBase products. Disabling CI Access from NetBase Utilities The ability to access the colon prompt from inside several NetBase utilities can now be controlled with the NBNOCI jcw. If NBNOCI is set to 1, then the user will not be able to execute command interpreter statements from within the NBCTRL, NBDIR, NBCONFIG, NBSECURE or NBSPOOL utility programs. FOX:SETJCW NBNOCI = 1 FOX:RUN NBCTRL.PUB.NETBASE NetBase Control Program *> :SHOWME INVALID COMMAND: Try HELP *> 34 [10.00] Update 5 (C) QUEST Software 1987 NetBase 10.0 Addendum System Operation And Maintenance The following are updates to the NetBase for MPE Reference Guide, Chapter 11 System Operation and Maintenance procedures. Only those sections that changed for NetBase 10.0 are included here. System Startup The system startup procedures need to change to include the “enabling” of NetBase prior to the start of the network, and prior to any jobs or users logging on. The following changes are recommended. Action Enter Explanation 1. Enable the NetBase Shell :STREAM SYSSTART.AUTOINST.NETBASE This step is necessary to enable the NetBase shell for both CM and NM programs. This must be part of the system startup procedures. 2. Start the network :NETCONTROL START;NET=LAN1* :NETCONTROL START;NET=LOOP NetBase requires the network to be running prior to its starting. :NSCONTROL START * Substitute in your actual network name 3. Start NetBase :RUN NBCTRL.PUB.NETBASE;INFO="START NETBASE" 4. Normal startup procedures To start the NetBase background job, starting NetBase transport services. Any other processing that is done in the SYSSTART file. Note. The sequence of these steps has changed from NetBase 9.8. The NetBase shell is now enabled before the network is started instead of after. 35 NetBase 10.0 Addendum HP Patches Follow the steps below when applying HP Patches. Action Enter Explanation Flush the pipeline (optional) :RUN NBFLUSH.PUB.NETBASE,STOPWAIT;PARM =shadownode This step applies to shadowing environments only, and it is optional for those. If performed, it will force all updates in the shadowing pipeline to post to the shadow files, giving you a sync point at which time both the master and shadow data matches. (on the master node) Stop NetBase :RUN NBCTRL.PUB.NETBASE;INFO="STOP NETBASE" This step gracefully stops all NetBase activities, including NFA, shadowing, AutoRPM and remote spooling. Disable NetBase UDC :SETCATALOG NMCMDUDC.PUB.NETBASE;SYSTEM; ;DELETE This will unset the UDC which intercepts BUILD, PURGE, RENAME, etc. Apply the HP patch per HP's instructions (except do not reset NetBase system UDC) Enable the NetBase UDC :SETCATALOG NMCMDUDC.PUB.NETBASE;SYSTEM ;APPEND This will set the NetBase UDC for BUILD, PURGE,RENAME, etc. Note. The NetBase shell will automatically get updated and enabled when the system is rebooted as part of the patch procedure as long as your system startup procedures have been modified to include the STREAM SYSSTART.AUTOINST.NETBASE. 36 NetBase 10.0 Addendum FOS Upgrades When you replace the operating system, you must re-install the NetBase shell. Action Enter Explanation Flush the pipeline (optional) :RUN NBFLUSH.PUB.NETBASE,STOPWAIT;PARM =shadownode This step applies to shadowing environments only, and it is optional for those. If performed, it will force all updates in the shadowing pipeline to post to the shadow files, giving you a sync point at which time both the master and shadow data matches. (on the master node) Stop NetBase :RUN NBCTRL.PUB.NETBASE;INFO="STOP NETBASE" This step gracefully stops all NetBase activities, including NFA, shadowing, AutoRPM and remote spooling. Disable the NetBase UDC :SETCATALOG NMCMDCUDC.PUB.NETBASE;SYSTEM This will unset the UDC which intercepts BUILD, PURGE, RENAME, etc. ;DELETE Install the new FOS per HP's instructions Enable the NetBase UDC :SETCATALOG NMCMDUDC.PUB.NETBASE; SYSTEM;APPEND This will set the NetBase UDC for BUILD, PURGE,RENAME, etc. Note. The NetBase shell will automatically get updated and enabled when the system is rebooted as part of the patch procedure as long as your system startup procedures have been modified to include the STREAM SYSSTART.AUTOINST.NETBASE. 37 NetBase 10.0 Addendum NetBase Updates To update your version of NetBase, you will need to follow the instructions with the tape. In general, you will: Action Enter Explanation Flush the pipeline :RUN NBFLUSH.PUB.NETBASE,STOPWAIT;PARM= shadownode (on the master node) This step is required for shadowing environments. It will force all updates in the shadowing pipeline to post to the shadow files, eliminating records from queue files which may change size or structure with the update. Stop NetBase :RUN NBCTRL.PUB.NETBASE;INFO="STOP NETBASE" This step gracefully stops all NetBase activities. Disable NetBase UDC :SETCATALOG NMCMDUDC.PUB.NETBASE This will set the NetBase UDC for BUILD, PURGE,RENAME, etc. Follow the installation instructions included with the tape. 38 ;SYSTEM;DELETE NetBase 10.0 Addendum Removing NetBase To remove NetBase completely from the system, follow the instructions below: Action Enter Explanation Flush the pipeline :RUN NBFLUSH.PUB.NETBASE,STOPWAIT;PARM =shadownode (on the master node) This step is required for shadowing environments. It will force all updates in the shadowing pipeline to post to the shadow files, eliminating records from queue files which may change size or structure with the update. Stop NetBase :RUN NBCTRL.PUB.NETBASE;INFO="STOP NETBASE" This step gracefully stops all NetBase activities. Disable NetBase UDC :SETCATALOG NMCMDUDC.PUB.NETBASE This turns off the interception of file commands for NetBase. Remove the NetBase Shell :RUN AUTOINST.PUB.NETBASE; Purge the NetBase Account :PURGEACCT NETBASE Disable the databases for shadowing :DBUTIL ;SYSTEM;DELETE INFO=”REMOVE” :PURGEGROUP NETBASE.SYS >> DISABLE MYDB FOR SHADOWING Disables the NetBase shell and removes the files from NETBASE.SYS. Remove the NetBase account and NetBase from the system. Disable all databases for TPS in DBUTIL. …. >> EXIT Purge the TPS interface library :PURGE XLNETBSE.PUB.SYS Removes the Image/TPS interface library. 39 NetBase 10.0 Addendum Installing NetBase 9.8 Over NetBase 10.0 To install NetBase 9.8 on a machine that currently has NetBase 10.0, follow the instructions below: Action Enter Explanation Flush the pipeline :RUN NBFLUSH.PUB.NETBASE,STOPWAIT;PARM =shadownode (on the master node) This step is required for shadowing environments. It will force all updates in the shadowing pipeline to post to the shadow files, eliminating records from queue files which may change size or structure with the update. Stop NetBase :RUN NBCTRL.PUB.NETBASE;INFO="STOP NETBASE" This step gracefully stops all NetBase activities. Disable NetBase UDC :SETCATALOG NMCMDUDC.PUB.NETBASE This disables the NetBase udc interface for file commands. Remove the NetBase Shell :RUN AUTOINST.PUB.NETBASE; Purge the Following :PURGEGROUP NETBASE.SYS :PURGE XLNETBSE.PUB.SYS :PURGE @.NB.NETBASE :PURGE @.PUB.NETBASE :PURGE @.IPC.NETBASE :PURGE @.USL.NETBASE Remove these files so that the 9.8 versions can be restored. Mount the 9.8 tape and Install :RESTORE ;NETACCT.JOB.@;LOCAL :STREAM NETACCT :SETJCW NBDISABLE FATAL :RUN NBINST.PUB.NETBASE;INFO=”INSTALL” Follow instructions for NetBase 9.8 installation. ;SYSTEM;DELETE INFO=”REMOVE” Disables the NetBase shell and removes the files from NETBASE.SYS. Reboot the system :RUN NBVERS.PUB.NETBASE,ENABLE Enable the NetBase UDC 40 :SETCATALOG NMCMDUDC.PUB.NETBASE ;SYSTEM;APPEND This enables the NetBase interface for file commands. NetBase 10.0 Addendum Installation/Update Procedures For NetBase Release 10.0 Overview Typically, the installation and configuration of each system or the updating of software can be accomplished in less than 30 minutes. In general, the following steps comprise the installation and update process: 1. Restore the NetBase software from tape using the NETACCT job. 2. Install the NetBase shell routines 3. Configure operational parameters and define all nodes in the network. Note that this step is required for initial implementation only. Updates will not overwrite this information. 4. Modify system startup procedures. Before Installing NetBase Before installing NetBase, determine which of the following scenarios describes your system, and then take the action listed for that scenario. If you are updating from a NetBase 9.8 global installation, proceed to the “Updating From NetBase 9.8” section on the following page. If you are updating from a NetBase 10.0 installation, proceed to the “Updating from Netbase 10.0” section. If you are updating from a version of NetBase that is prior to 9.8, please contact Technical Support for assistance. If you are installing NetBase for the first time, skip ahead to the “Installation Steps” section. If you have any questions or if you are unsure about any of the steps, please contact Technical Support at (949)-754-8000. 41 NetBase 10.0 Addendum Updating From NetBase 9.8 If you are updating from a version of NetBase 9.8, the NetBase shell needs to be removed before the 10.0 release can be installed. With the 10.0 release, we have significantly changed the implementation of the NetBase shell and it is no longer compatible with previous versions of NetBase installation job and installation program. Note: This step will require a reboot of the system to remove the NetBase 9.8 shell, so this needs to be done at a quiet time on your system _____ A. Stop all sessions and jobs except for NetBase. _____ B. If shadowing, flush shadow transactions: :RUN NBFLUSH.PUB.NETBASE,STOPWAIT;PARM=shadownode# _____ C. Stop the NetBase background job: :RUN NBCTRL.PUB.NETBASE;INFO=”STOP NETBASE” _____ D. Disable the CM intercepts for NetBase: :RUN NBVERS.PUB.NETBASE,DISABLE _____ E. If the NMCMDUDC is set, delete it: :SETCATALOG NMCMDUDC.PUB.NETBASE;SYSTEM;DELETE _____ F. If SL.PUB.SYS has been OCTCOMP’d, ensure that the NetBase segments are in EMULATED mode instead of TRANSLATED mode. If you are not sure, do the following: :OCTUTIL.MPEXL.TELESUP OCTUTIL> FILE SL.PUB.SYS OCTUTIL> LIST NETBASE If the result looks like this: logical seg, 164 mode, emulated tr_sid, tr_off Then everything is okay. List segment NETBASE1 as well to make sure it is ‘emulated’ and skip to the next step. 42 NetBase 10.0 Addendum If, however, the result looks like this: logical seg, mode, tr_sid, tr_off 164 translated $00000036 $0169BC98 then type the following: OCTUTIL> EM NETBASE Repeat the LIST and EM commands for segment NETBASE1 and type ‘EXIT’. If you had to “EM”ulate one or both of these segments, you must make an SLT tape at this point and reboot your machine from this SLT tape before proceeding. _____ G. Logon as MANAGER.SYS and remove the NetBase shell. :HELLO MANAGER.SYS,PUB :RUN NBINST.PUB.NETBASE;INFO=”REMOVE” _____ H. Reboot the system. When NBINST finishes, you must reboot the system. It is very important that when you reboot the system, you do NOT perform the normal system startup procedures which “Enable” NetBase and start the NetBase background job. In the 10.0 Release, there are new system startup procedures for NetBase which are documented in the next sections. Proceed to the Installation Steps section. 43 NetBase 10.0 Addendum Updating From NetBase 10.0 If you are updating from a previous version of NetBase 10.0, perform the following steps. _____ A. Stop all sessions and jobs except for NetBase. _____ B. If shadowing, flush shadow transactions: :RUN NBFLUSH.PUB.NETBASE,STOPWAIT;PARM=shadownode# _____ C. Stop the NetBase background job: :RUN NBCTRL.PUB.NETBASE;INFO=”STOP NETBASE” _____ D. If the NMCMDUDC is set, delete it: :SETCATALOG NMCMDUDC.PUB.NETBASE;SYSTEM;DELETE _____ E. If SL.PUB.SYS has been OCTCOMP’d, ensure that the NetBase segments are in EMULATED mode instead of TRANSLATED mode. If you are not sure, do the following: :OCTUTIL.MPEXL.TELESUP OCTUTIL> FILE SL.PUB.SYS OCTUTIL> LIST NETBASE If the result looks like this: logical seg, 164 mode, emulated tr_sid, tr_off Then everything is okay. List segment NETBASE1 as well to make sure it is ‘emulated’ and skip to the next step. If, however, the result looks like this: logical seg, mode, tr_sid, tr_off 164 translated $00000036 $0169BC98 then type the following: OCTUTIL> EM NETBASE Repeat the LIST and EM commands for segment NETBASE1 and type ‘EXIT’. If you had to “EM”ulate one or both of these segments, you must make an SLT tape at this point and reboot your machine from this SLT tape before proceeding. 44 NetBase 10.0 Addendum _____ F. Remove the previous NetBase 10.0 Shell then Proceed to the next page – Installation Steps. :AUTOINST.PUB.NETBASE REMOVE 45 NetBase 10.0 Addendum Installation Steps Once you have read and completed any steps that apply to your situation listed in the “Before Installing NetBase” section, take the following steps 1 through 4 to install NetBase. Before Starting Before doing Step 1, determine if any of the following scenarios describes your system, and if so, take the action for that scenario. A. VESOFT STREAMX If you use VESOFT's STREAMX utility, do one of the following: - Disable STREAMX and use the MPE STREAM command - Modify the installation job and change each STREAM command to STREAMX B. SECURITY/3000 If you use SECURITY/3000, enter this command prior to streaming the installation job: :NEWACCT NETBASE,MGR;PASS=QUEST C. LOCKWORD ON QUERY.PUB.SYS If you have a lockword on QUERY.PUB.SYS, remove it prior to streaming NETACCT. :RENAME QUERY.PUB.SYS/LOCKW,QUERY.PUB.SYS D. MPEMX90 PATCH Confirm that the MPEMX90 patch from HP has been installed on your system. This patch is titled “Relinker Patch to NL” and corrects a problem with the HPGETPROCPLABEL intrinsic and native mode library lists. Once you have run the NETACCT job to restore the NetBase files from the installation tape, you can run a program called plabels.lib.netbase to see if the patch is installed. This program looks for a procedure name in a library. If it exists, it returns the address of the routine. If it does not exist, you will see an HPGETPROCPLABEL error. The text is case sensitive: Installed: :plabels.lib.netbase 'present_with_prov_bs_pfl_entries@nl.pub.sys' info='present_with_prov_bs_pfl_entries@nl.pub.sys' @40102121 -> 0000000A.014D4000 Not Installed: 46 NetBase 10.0 Addendum :plabels.lib.netbase 'present_with_prov_bs_pfl_entries@nl.pub.sys' info='present_with_prov_bs_pfl_entries@nl.pub.sys' HPGETPROCPLABEL FAILED: 104 : -803. Another way to see if you have the patch installed is to run a program called showptch.patchxl.telesup. It shows all the patches applied. The MX90 patch should appear in the list for library NL.PUB.SYS in the first HP31900 module. The dots ‘. . .’ below represent portions of the printout that are not included here: :RUN SHOWPTCH.PATCHXL.TELESUP RL_Show_Patch>NL.PUB.SYS Choose from the following soms: 0) HP31900 1) HP31900 2) CONSOLE 3) LANCELOT . . . Som number ->0 *************************************************** HP31900 . . . patch MX90 to ADD_LIBRARIES_TO_PFL patch MX90 to HPGETPROCPLABEL patch MX90 to PRESENT_WITH_PROV_BS_PFL_ENTRIES . . . 559 patches installed. *************************************************** RL_Show_Patch> EXIT END OF PROGRAM The three entries shown above starting with “patch MX90” are from the MPEMX90 patch that has been installed on this machine. E. NBRPC CALLS If you use the NetBase Remote Procedure Calls, NBRPC, from either Network File Access, or NetBase Client, a change must be made to the XL used in the RPC call. The XL must be modified to include NB1.NETBASE.SYS at the end of it’s library list. For example, if you use library MYLIB.EXEC.PROD, then do the following: :LINKEDIT LinkEd> LISTXL MYLIB.EXEC.PROD LIBRARY NAME : MYLIB.EXEC.PROD 47 NetBase 10.0 Addendum XL LIST VERSION MODULE COUNT MODULE LIMIT : : : : XL.PUB.PROD 85082112 1 5 MODULE NAME ----------RPCTESTS START ----00013000 LENGTH -----000073BC LinkEd> ALTXL MYLIB.EXEC.PROD;LIB=”XL.PUB.PROD,NB1.NETBASE.SYS” LinkEd> LISTXL MYLIB.EXEC.PROD LIBRARY NAME XL LIST VERSION MODULE COUNT MODULE LIMIT : : : : : MYLIB.EXEC.PROD XL.PUB.PROD,NB1.NETBASE.SYS 85082112 1 5 MODULE NAME ----------RPCTESTS START ----00013000 LENGTH -----000073BC If the library used in the RPC is an old XL, it may not have a library list. The altxl command above will fail, and you will need to create a new xl structure and copy the old modules in before you can add a library list. LinkEd> listxl xl.sandy LIBRARY NAME VERSION MODULE COUNT MODULE LIMIT : : : : XL.SANDY 85082112 1 500 MODULE NAME ----------NMSHELL MODULE NAME TEXT SIZE DATA SIZE VERSION START ----00004000 : NMSHELL : 000DBCF8 : 00003FF8 LinkEd> altxl xl.sandy;lib="nb1.netbase.sys" Cannot use altxl on older XLs (LINKERR 1168) LinkEd> buildxl newxl.sandy LinkEd> copyxl from=xl.sandy;to=newxl.sandy 1 OBJECT FILE HAS BEEN COPIED. LinkEd> altxl newxl.sandy;lib="nb1.netbase.sys" LinkEd> listxl newxl.sandy LIBRARY NAME XL LIST VERSION 48 : NEWXL.SANDY : nb1.netbase.sys : 85082112 LENGTH -----0010A83C NetBase 10.0 Addendum MODULE COUNT MODULE LIMIT : 1 : 500 MODULE NAME ----------NMSHELL START ----00129000 LENGTH -----0010A83C Now the NEWXL can be used. You can purge the old xl and rename the newxl to the old name so that the RPC call does not have to change: :purge xl.sandy :rename newxl.sandy,xl.sandy F. RASERVER OR HCSERVER CALLS If you use HP’s Remote File Access/Remote Data Base Access (RFA/RDBA) or HP’s Cooperative Services product, a change must be made for NetBase 10.0. The programs run by these products must have nb1.netbase.sys added to the end of their xl list, before xl.pub.sys. This can be done using the ALTPROG command in Linkedit: :LINKEDIT HP Link Editor/iX (HP30315A.06.17) Copyright Hewlett-Packard Co 1986 LinkEd> LISTPROG RASERVER.NET.SYS PROGRAM XL LIST CAPABILITIES NMHEAP SIZE NMSTACK SIZE ENTRY NAME UNSAT NAME : RASERVER.NET.SYS : xl.pub.sys : BA, IA, PM, MR, DS, PH : : : : LinkEd> ALTPROG RASERVER.NET.SYS;XL="NB1.NETBASE.SYS,XL.PUB.SYS" LinkEd> LISTPROG RASERVER.NET.SYS PROGRAM XL LIST CAPABILITIES NMHEAP SIZE NMSTACK SIZE ENTRY NAME UNSAT NAME : RASERVER.NET.SYS : NB1.NETBASE.SYS,XL.PUB.SYS : BA, IA, PM, MR, DS, PH : : : : LinkEd> LISTPROG HCSERVER.PPC.SYS PROGRAM XL LIST CAPABILITIES : HCSERVER.PPC.SYS : : BA, IA, PM, MR, DS, PH 49 NetBase 10.0 Addendum NMHEAP SIZE NMSTACK SIZE : : LinkEd> ALTPROG HCSERVER.PPC.SYS;XL="NB1.NETBASE.SYS" LinkEd> LISTPROG HCSERVER.PPC.SYS PROGRAM XL LIST CAPABILITIES NMHEAP SIZE NMSTACK SIZE G. : HCSERVER.PPC.SYS : NB1.NETBASE.SYS : BA, IA, PM, MR, DS, PH : : OMNIDEX / AMISYS / ECOMETRY USERS NetBase 10.0 operates on the assumption that calls to system intrinsics, such as DBOPEN, DBPUT, FOPEN, FWRITE, etc., will be resolved in the system libraries, XL.PUB.SYS, NL.PUB.SYS and SL.PUB.SYS. If user applications have subroutines with these same names, or if copies of the system routines exist in user libraries, then the NetBase shell may be bypassed, or unexpected program aborts may occur when libraries are dynamically loaded. The issue is easily resolved by adding an entry to the library list of either the user program or a user library. This is the situation for some customers using Omnidex. Two types of problems can occur using the Omnidex software with NetBase 10.0. Either NetBase is “bypassed”, causing out of sync conditions, or Image errors occur, such as –265 Database enabled for shadowing but third party shadowing is not configured, or –11, Bad database reference (first two characters). There are two ways to resolve this issue: 1.) Add ‘nb1.netbase.sys’ to the library list of the omnidex library: :LINKEDIT HP Link Editor/iX (HP30315A.06.17) Copyright Hewlett-Packard Co 1986 LinkEd> ALTXL XLOMNIDX.PUB.SYS;LIB=NB1.NETBASE.SYS LinkEd> LISTXL XLOMNIDX.PUB.SYS LIBRARY NAME XL LIST VERSION MODULE COUNT MODULE LIMIT : : : : : XLOMNIDX.PUB.SYS NB1.NETBASE.SYS 85082112 19 500 If you already have XLOMNIDX in the xllist of a run statement, it needs to be at the end of the list. Otherwise, you may get a loader error. If you choose this solution, you must remember that everytime you get a new XLOMNIDX.PUB.SYS file from DISC, you must go in and modify the xl list again. 2.) 50 Run the user program with the Omnidex library on the xllist: NetBase 10.0 Addendum :RUN MENU.EXEC.PROD;XL=”XL.EXEC.PROD,XL.OW.DISC,XLOMNIDX.PUB.SYS” This solution also requires that XLOMNIDX be at the end of the xllist. AMISYS USERS: The xllist for many of the Amisys programs is set in the Account UDC file using a variable called QXLINFO. The xlomnidx library needs to be at the end of the list. In this example, line 28 needs to be moved after line 30 so that it is the last library: 26 27 28 29 30 SETVAR SETVAR SETVAR SETVAR SETVAR QXLINFO,"XL.PUB.!HPACCOUNT,XL.OW.DISC3" QXLINFO,"!QXLINFO"+",PHLIBXLS.!QGROUP.COGNOS" QXLINFO,"!QXLINFO"+",XLOMNIDX.PUB.SYS" QXLINFO,"!QXLINFO"+",ST2XL.PUB.ROBELLE" QXLINFO,"!QXLINFO"+",XLAMISYS.PUB.SYS" The result should be as follows: 26 27 29 30 31 SETVAR SETVAR SETVAR SETVAR SETVAR QXLINFO,"XL.PUB.!HPACCOUNT,XL.OW.DISC3" QXLINFO,"!QXLINFO"+",PHLIBXLS.!QGROUP.COGNOS" QXLINFO,"!QXLINFO"+",ST2XL.PUB.ROBELLE" QXLINFO,"!QXLINFO"+",XLAMISYS.PUB.SYS" QXLINFO,"!QXLINFO"+",XLOMNIDX.PUB.SYS" Contact Quest Software MPE Support if you are unsure if you have this situation for additional setup instructions. H. THIRD PARTY PRODUCTS WITH PROCEDURE EXITS NetBase 10.0 by default will enable other third party software with procedure exits to load through the NetBase shell. In some cases this is incompatible. The following is a list of known software products that use procedure exits. Some of these products are automatically bypassed by NetBase; others require building the NetBase procedure exit bypass file (PEARM.AUTOINST.NETBASE ) before the installation of NetBase 10.0. LUND Lund software programs, such as DEFRAGX, will abort with Fatal Error #1029 if run with early releases of NetBase 10.0. For this reason, NetBase was changed so that any programs run from the LPS, LPSTOOLS, or LUND accounts will automatically bypass NetBase without any special configuration required by the user. SAF3000 51 NetBase 10.0 Addendum The SAF3000 software will not work with NetBase 9.8 at all, but will work with NetBase 10.0 if it is setup to bypass the NetBase procedure exits. SAF3000 looks at space ids for system intrinsics that it calls and aborts if the id does not match the ones it expects out of the system library NL.PUB.SYS. Since NetBase 10.0 works by intercepting system intrinsics with routines of the same name in the NB1.NETBASE.SYS library, the space ids for these routines will be different than the “real” ones in NL.PUB.SYS. In order for SAF3000 to bypass the NetBase procedure exits, it MUST be installed and “armed” before NetBase is installed and enabled. Perform the following steps before installing NetBase 10.0. The modification to the INSTALL.AUTOINST file will allow SAF3000 to be installed and running while NetBase is being installed: 1. 2. 3. :BUILD PEARM.AUTOINST.NETBASE Edit the file INSTALL.AUTOINST.NETBASE and delete the first five lines: if finfo("pexl.pub.sys","accessors")>10 then echo Too many PEXL.PUB.SYS Accessors. echo Please quiet the system and try again. abort endif When directed to modify your sysstart procedures to include “AUTOINST”, make sure that the SAF3000 software is started BEFORE the NetBase AUTOINST step. SOLUTION SOFT COMPRESSION SOFTWARE The compression software from Solution Soft will not work correctly if it is run through NetBase 10.0. If it is setup without the PEARM.AUTOINST bypass file, the following error will occur when trying to access compressed files: Could not open a compressed or migrated file (FILE OPEN ERROR -359) File System message 359 Before installing NetBase 10.0, do the following: :BUILD PEARM.AUTOINST.NETBASE If by chance you have installed NetBase 10.0 on a machine with the Solution Soft compression software without the PEARM.AUTOINST.NETBASE bypass file, you will get the 359 error. What happens is the compression software arms two procedure exits called sss_handler1(for fopen_nm) and sss_handler2 (for HPFOPEN). Fopen_nm is not a routine that NetBase intercepts, so it will allow the compression software to arm this procedure exit without going through NetBase. But HPFOPEN is a routine that NetBase is intercepting, so the NetBase procedure exits will try to arm this handler on the HPFOPEN routine in NB1.NETBASE.SYS instead of on the “real” one in NL.PUB.SYS. The compression software doesn’t like this and the arming of the sss_handler2 fails. The compression software ends up being half armed. A PELIST.AUTOINST.NETBASE will show the sss_handler1 routine armed, but not sss_handler2. The following steps need to be followed to fix the situation. 1) Quiet the system. 2) AUTOINST.PUB.NETBASE DISABLENM 3) RUN PDISABLE.PUB.SSS (to disable the one loaded Procedure Exit for Solution Soft) 52 NetBase 10.0 Addendum 4) BUILD PEARM.AUTOINST.NETBASE (this tells Solution Soft to not go through Netbase if trying to load a Procedure Exit) 5) AUTOINST.PUB.NETBASE 6) STREAM JENABLE (from where it is currently streamed in your SYSSTART execution to reload Solution Soft) 7) RUN PELIST.AUTOINST.NETBASE (to confirm that all Procedure Exits have been armed - If the Solution Soft product has loaded correctly, you should see 2 procedure exits) sss_handler1 sss_handler2 SOLUTION SOFT TIME MACHINE SOFTWARE The Solution Soft Time Machine software will abort if run with NetBase 10.0 if you do not build the PEARM.AUTOINST.NETBASE bypass file. The abort is subsystem 516, error number –12026, “Invalid Library Specified”: :TM.PUB.SSS “20040101:1600” Time Machine / Time & Space Manager A.02.10 (12/15/1998) (C) SolutionSoft Systems, Inc., 1997-99. All Rights Reserved. This TM copy is licensed for exclusive use by Quest Software MPE error: 516 –12026 Time Machine is disabled To resolve this issue, build the procedure exit bypass file: :BUILD PEARM.AUTOINST.NETBASE NOBIX, INC. JOBPAK SOFTWARE The Nobix, Inc. Jobpak software will abort if run with NetBase 10.0 if you do not build the PEARM.AUTOINST.NETBASE bypass file. The abort is subsystem 516, error number –12026, “Invalid Library Specified”: JPENABLE.JPAK.NSD: FCLOSE() arming error for pin 81; info=-12026 ; subsys=516 jpenable.jpak.nsd -s Program terminated in an error state. (CIERR 976) To resolve this issue, build the procedure exit bypass file: :BUILD PEARM.AUTOINST.NETBASE OTHER THIRD PARTY SOFTWARE 53 NetBase 10.0 Addendum To date, we have not encountered any third party software products with procedure exits that should go through NetBase. Most products do not update application data, and perform system functions such as Solution Soft’s Time Machine product. Other third party software with procedure exits can be configured to bypass NetBase 10.0 by building a configuration file before Enabling NetBase. To do this, type the following: :BUILD PEARM.AUTOINST.NETBASE 54 NetBase 10.0 Addendum Step 1. Restore NETACCT job and STREAM NETACCT To create NetBase's environment and install/update the software, you will restore a job into PUB.SYS. This job is then streamed to create/update the NetBase account and restore the required files. To do Step 1: _____ 1.1. Sign on to MANAGER.SYS and restore the job stream file: Note. Characters in << >> marks are comments and are not entered or displayed. User input is underlined and bold. :HELLO MANAGER.SYS,PUB :RESTORE ;NETACCT.JOB.@;LOCAL <<reply to the tape request>> _____ 1.2 If necessary, add any required passwords to the NETACCT.PUB.SYS file. This job may stream additional jobs depending on your environment, so the job limit must allow for at least two NetBase jobs. To stream the job: :STREAM NETACCT <<reply to the tape request>> This job will request the tape and print a message to the console when complete. If the job encounters any errors, a message telling what action is necessary will be displayed to the console. Note. If you are using private volumes, we require that you install NetBase on the system volume set, and not a user volume set. If however, you are concerned about the amount of free disc space on the system volume set, then you can move the LOG and QUEUE groups onto a user volume set. 55 NetBase 10.0 Addendum Step 2. Install the NetBase Shell The NetBase shell is used to intercept programmatic File System and TurboIMAGE intrinsic calls. This allows NetBase to trap the activity to a file or database without having to make any changes to application programs. There are two parts to installing the NetBase Shell. The first is to create all of the necessary files and the second is to “Enable” the NetBase shell to intercept the database and file requests. Both of these are done by the autoinstall utility, AUTOINST.PUB.NETBASE. Every time the system is restarted, the NetBase shell needs to be “Enabled”. This will be accomplished at system startup with a job, SYSSTART.AUTOINST.NETBASE. This is also the same job used to install the NetBase shell. Determine Installation Options If you will be using NFA access with Omnidex, you will need to build OMNI.AUTOINST.NETBASE. This will trigger the AUTOINST utility to install the necessary intercepts for the NetBase/Omnidex module. :BUILD OMNI.AUTOINST.NETBASE If you will be using the Time Machine software (TM.PUB.SSS) with NetBase, or other third party products with procedure exits, you will need to build PEARM.AUTOINST.NETBASE. This will trigger the NetBase procedure exits to allow other procedure exits to operate independently of NetBase and not try to intercept their activity. :BUILD PEARM.AUTOINST.NETBASE _____ 2.1 Quiet the system and stream the AUTOINST utility. Make sure the entire system is quiet before installation. This includes the following: - Stop all jobs and sessions - Stop all monitoring software including the Support Tools Manager (stm) and OpenView - Stop the network - Stop all software using procedure exits. :HELLO MANAGER.SYS, PUB :STREAM SYSSTART.AUTOINST.NETBASE The AUTOINST utility will write progress messages to the console as it is running. The actual number of steps or the text of each step may vary from installation to installation. _____ 2.2 When the SYSSTART.AUTOINST.NETBASE job has completed, check the stdlist to make sure it completed successfully. If it did not, please contact Technical Support before proceeding to the next step. 56 NetBase 10.0 Addendum If the job did complete successfully, verify the that the NetBase shell is installed and enabled. :RUN AUTOINST.PUB.NETBASE;INFO=’STATUS’ This display should look like the one below, however, the Update numbers may be different. NetBase : Shell AutoInstaller Status : : : : CM CM NM NM Shell Shell Shell Shell [10.00 [10.00 [10.00 [10.00 [10.00] Update 35 Update Update Update Update (c) Quest Software, 1998 1] is Installed 1] is Enabled 14] is Installed 14] is Enabled Step 3. Configure Network Nodes for NetBase Note. If you are updating to a new version of NetBase, this step can be skipped. Updating will not overwrite your current configuration files. If you are installing NetBase for the first time and have Quest Software scheduled to visit your site for training and consulting services, you can stop here. Steps 3 and 4 will be done in class. In order for NetBase to communicate to the other systems on the network, all systems must be defined to each other. Additionally, the operating parameters and limits of each system must be defined. This is accomplished using the CONFIG subsystem in NBCTRL. All configuration must be performed from the NetBase account. Some of the operating parameters should be configured before running NetBase for the first time. Others may or may not need to be configured, depending on the system. To get started, you will need to do the following: _____ A. Assign a node number for each system being configured. Node numbers can be assigned arbitrarily, however, once a number is assigned to a particular node, that number must be used consistently for that node throughout the configuration for all nodes. _____ B. Assign a System Name it can be any name up to 8 characters long. This name will be used in NetBase displays, reports, and commands. It is the internal NetBase name. Example We have two systems we want to configure for NetBase. We will assign node numbers 3 and 4 and use their network node names for the system name: 57 NetBase 10.0 Addendum Node # 3 4 System Name FOX VIXEN After the node numbers and names have been assigned, proceed to step 3.1 where a modify quick and add node commands must be performed. _____ 3.1 Modify the parameters by entering the CONFIG subsystem in NBCTRL as follows: :HELLO MGR.NETBASE :RUN NBCTRL.PUB.NETBASE NetBase Control Program [x.x] Update n (C) QUEST Software 1996 *> CONFIG C> MODIFY QUICK GLOBAL - Local Node Number......... [1] 3 GLOBAL - Maximum Local Users....... [0] 128 NFA - Maximum Remote Users......... [0] 256 NFA - Initial Server Allocation.... [0] 64 NFA - Server Initial Priority...... [CS] SPOOL - Use S' and J' on incoming.. [Y] DIR – Default Directory Name .......[NBD.DATA.NETBASE] DIR - Allow File Equates........... [N] DIR - Allow Wildcards.............. [Y] SHADOW - Flush Shadow File Posts... [N] PASSWORD - User password........... PASSWORD - Group password.......... PASSWORD - Account password........ The password parameters apply to the job that NBCTRL streams to start NetBase. The default passwords are correct for the account, group and user as they are created by NETACCT.JOB. If the default passwords are changed, the password parameters (shown below) must be modified. In this example, we are setting the Local Node Number = 3. This node will be configured as Node 3 on all systems. The values that appear in brackets [ ] are the defaults for each of the parameters. 58 NetBase 10.0 Addendum _____ 3.2 Enter each system in the network into the configuration using the ADD [Node#] command. This includes the local system being configured. Note. If this is a “BRIDGE ONLY” site, then only one node will be defined and the “SHADOW – Direction” should be set to “E” instead of “B”. :HELLO MGR.NETBASE :RUN NBCTRL.PUB.NETBASE NetBase Control Program [x.x] Update n (C) QUEST Software 1996 *> CONFIG C> ADD 3 System Name........................ Startup Access (S/I/O/A/W)......... Node Name.......................... Node Connection Timeout............ SHADOW - Direction (N/E/I/B)....... SHADOW - Export queue size......... SHADOW - Import queue size......... SHADOW - Post queue size........... SHADOW - Initial Post Priority..... SHADOW - Post Inactivity Timeout... SHADOW - Enable Post Logging....... SHADOW - Log all Post Transactions. SHADOW - Save Process Info on Post. SHADOW - Abort Post on Errors...... SHADOW - Buffered Exporting........ SHADOW - Transfer mode only........ SHADOW - Transfer Single Queues.... SHADOW - Transfer ACK Frequency.... SHADOW - Post Directory Filename... FOX [A] FOX.QUEST.COM [180] [N] B [3172] [3172] [3172] [DEFAULT] [0] [N] [N] [N] [N] [Y] [N] [N] [0] [DEFAULT] In the above example, node FOX is the local node and has now been assigned node number 3. It must continue to be defined as node 3 in the node configuration on each system in the network. If you do not know what the Node Name is for your machine, you can use the following utility to display it for you: :MYNODE.LIB.NETBASE "FOX.QUEST.COM" The string returned, FOX.QUEST.COM, should be used for the Node Name above. 59 NetBase 10.0 Addendum C> ADD 4 System Name........................ Startup Access (S/I/O/A/W)......... Node Name.......................... Node Connection Timeout............ SPOOL - Direction (N/E/I/B).. ..... SPOOL - Allow incoming job streams. SPOOL - Enable Export Flow Control. SHADOW - Direction (N/E/I/B)....... SHADOW - Export queue size......... SHADOW - Import queue size......... SHADOW - Post queue size........... SHADOW - Initial Post Priority..... SHADOW - Post Inactivity Timeout... SHADOW - Enable Post Logging....... SHADOW - Log all Post Transactions. SHADOW - Save Process Info on Post. SHADOW - Abort Post on Errors...... SHADOW - Buffered Exporting........ SHADOW - Transfer mode only........ SHADOW - Transfer Single Queues.... SHADOW - Transfer ACK Frequency.... SHADOW - Post Directory Filename... VIXEN [A] VIXEN.QUEST.COM [180] [N] B [N] [N] [N] B [3172] [3172] [3172] [DEFAULT] [0] [N] [N] [N] [N] [Y] [N] [N] [0] [DEFAULT] This procedure is repeated for each system in the network to be accessed by NetBase. The LIST command can be used to display the configured nodes. _____ 3.3 Check the configuration using the LIST NODES command in CONFIG. C> LIST NODES Node 3* 4 Sys name FOX VIXEN Startup A A Currently 2 Nodes are defined The * designates the local node. 60 Spool N B Shadow B B NetBase 10.0 Addendum Step 4. Modify System Startup Procedures Once the NetBase Shell has been installed and enabled with AUTOINST, NetBase will begin to intercept all file system and IMAGE intrinsic calls. This will happen automatically at system start up as long as the job SYSSTART.AUTOINST.NETBASE is part of the system startup procedures. This “enabling” must be done each time the system is restarted and should become part of the standard system startup procedures. _____ 4.1 Modify system startup procedures. See the “Implementation Notes” on the next page for a sample SYSSTART.PUB.SYS file that shows the order of NetBase processing that needs to occur at system startup. The NetBase Shell needs to be enabled for both CM and NM programs, next the network needs to be started and last, the NetBase background job needs to be started. _____ 4.2 Set the NMCMDUDC to enable the capture of certain MPE commands such as BUILD, PURGE, RENAME etc. This is required if shadowing non-IMAGE files. :SETCATALOG NMCMDUDC.PUB.NETBASE;SYSTEM;APPEND 61 NetBase 10.0 Addendum Implementation Notes System Startup Procedures Once NetBase is installed and running, you should take steps to ensure that it is always running when you expect it to be. We recommend modifying your SYSSTART file to automatically enable NetBase and launch your NetBase services when your system is brought up. Sample startup procedure: 1. 2. 3. Enable NetBase for CM and NM programs Start the network. Start the NetBase background job. Sample SYSSTART.PUB.SYS file STARTUP JOBFENCE 1 OUTFENCE 14 STREAMS 10 OPENQ LP LIMIT 5,24 JOBPRI 0,DS Comment ** Ensure NetBase shell installed and updated: JOBSECURITY ;PASSEXEMPT=MAX STREAM SYSSTART.AUTOINST.NETBASE Comment ** Setup default system stream security: JOBSECURITY LOW ;PASSEXEMPT=NONE *** WARMSTART STREAM STARTNET.OPERATOR.SYS *** Sample STARTNET.OPERATOR.SYS job: !JOB STARTNET,MANAGER.SYS !COMMENT **** START THE NETWORK !NETCONTROL START;NET=LAN1 !NETCONTROL START;NET=LOOP !NSCONTROL START !COMMENT **** START THE NETBASE BACKGROUND JOB !RUN NBCTRL.PUB.NETBASE;INFO=”START NETBASE” Note: In previous versions of NetBase, the utility NBVERS was used to enable the NetBase CM shell, this is no longer necessary with NetBase 10.0. 62 NetBase 10.0 Addendum The file SYSSTART.AUTOINST.NETBASE is built automatically during version 10.0 installation, and contains the following: !JOB SYSSTART,MGR.NETBASE,AUTOINST; OUTCLASS=LP,,1; HIPRI; PRI=BS ! !# NetBase Shell Automatic installation and activation job. ! !CONTINUE !RUN AUTOINST.PUB.NETBASE ! !IF JCW>=FATAL THEN ! ! ################################################################### ! # If you wish additional actions to be performed in the event ! # that the NetBase Shells cannot be enabled, place all commands ! # to be executed in the file ONERROR.AUTOINST.NETBASE ! # ! # The contents of the ONERROR file will be executed if AUTOINST is ! # unable to enable the NetBase CM and NM Shells. ! ################################################################### ! # Do NOT modify this file (SYSSTART.AUTOINST.NETBASE): it will be ! # overwritten the next time NetBase is installed. ! ################################################################### ! ! IF FINFO ('ONERROR.AUTOINST.NETBASE','EXISTS') ! XEQ ONERROR.AUTOINST.NETBASE ! ENDIF !ENDIF ! !EOJ 63 NetBase 10.0 Addendum Bypassing NetBase NetBase was designed to capture modifications to user data made by application software for shadowing and to access user data remotely via NFA. Some access to the user data by various utility programs and software should not be captured. For example, making a backup tape doesn’t need to be captured by NetBase. Programs can ‘bypass’ the NetBase shell in one of two ways. If it is a CM program, then the file ALLOCATE.DATA.NETBASE can be used to place individual filenames of programs to be Allocated prior to enabling NetBase for CM programs. The other way makes use of the NetBase directory and the PROGRAM entry. Utility software such as ADAGER, DBGENRL, FASTBACK are examples of software that should be NONBed - ignored by the NetBase Shell. For NM programs, use the PROGRAM command of NBDIR with the ;NONB option to disable a specific program or set of programs. Following is an example of a PROGRAM entry: :RUN NBDIR.PUB.NETBASE NetBase Directory Program [x.x] Update n (C) QUEST Software 1996 D> PROGRAM @.@.ORBIT;NONB D> EXIT The default NetBase directory already contains a number of NONB statements. They are automatically added any time that a directory is built. To see what PROGRAM statements are already in the NetBase directory, use the LISTP @.@.@ command in NBDIR. Turn to the “NBDIR” chapter for more information on the PROGRAM command. The program entries automatically added when a new directory is created are: PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM 64 DBUTIL.PUB.SYS;NONB STORE.PUB.SYS;NONB TSTORE.PUB.SYS;NONB DBSTORE.PUB.SYS;NONB DBRESTOR.PUB.SYS;NONB DBSCHEMA.PUB.SYS;NONB STRCNTL.NET.SYS;NONB VTSERVER.NET.SYS;NONB CI.PUB.SYS;NONB NBADAGER.PUB.NETBASE;NONB NBPOST.NB.NETBASE;NONB NBINST.PUB.NETBASE;NONB OCTUTIL.MPEXL.TELESUP;NONB @.NFSPROG.NETBASE;NONB @.@.REGO;NONB @.PUB.BRADMARK;NONB NBGENRL.PUB.NETBASE;NONB @.@.VESOFT;NONB @.@.NSD;NONB @.@.DISC;NONB @.@.ORBIT;NONB PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM PROGRAM @.@.TYM;NONB @.@.LUND;NONB @.@.LPSTOOLS;NONB BACKREST.PUB.SYS;NONB ROADREST.PUB.SYS;NONB BPXLREST.PUB.SYS;NONB @.PRED.SYS;NONB @.DIAG.SYS;NONB NetBase 10.0 Addendum Post User Exits If you are using a Post User Exit that uses NFA to access data on another system, you will need to put the Compatibility Mode (CM) version of NBPOST in place. If you are using the Native Mode (NM) version of NBPOST, NFA in a post user exit will not work since there is a NONB entry in the NetBase directory for NBPOST. To put the CM version of NBPOST in place, perform the following: 1. Logon as MGR.NETBASE 2. Make sure Post is not running. 3. Rename the NM and CM versions of NBPOST. 4. Create SL.PUB.NETBASE and add the switch stub segments so that the CM post program can access the NM post user exits: :HELLO MGR.NETBASE :NBCTRL.PUB.NETBASE ‘STOP POST’ :RENAME NBPOST.NB.NETBASE,NMPOST.NB.NETBASE :RENAME CMPOST.NB.NETBASE,NBPOST.NB.NETBASE :SEGMENTER -BUILDSL SL.PUB.NETBASE,1024,8 -USL CMEXIT.USL.NETBASE -ADDSL POST -ADDSL EXPORT -EXIT 5. Start the Posting process 6. Remove the NONB entry for NBPOST from the NetBase directory :NBCTRL.PUB.NETBASE ‘START POST’ :RUN NBDIR.PUB.NETBASE D> RESET NBPOST.NB.NETBASE,PROGRAM D> EXIT See the NetBase for MPE Reference Guide for further details about Export and Post User Exits. 65