NetBase for MPE Reference Guide

Appendix B
B-6
NFA
QUESTION:
Sometimes we seem to get what appears to be a database deadlock on our remote system. We use
NetBase for Network File Access (NFA) from our System A to System B, where the database
actually resides. When these deadlock situations arise, we look in DBUTIL and find the culprit to be
NMSERVER.NB.NETBASE. How can we determine the user process for which the server is handling
requests?
ANSWER:
There is an easy way to do this. On the remote machine (system B, in this case), you can run
NBCTRL to see which remote users are coming into the system and which servers are acting on their
behalf.
The following sample displays a listing from DBUTIL that shows the dataset PAYMSTR from the
PAYROLL.DATA database is holding a set-level lock. The process accessing the database shows as
NMSERVER, which is the NetBase process that performs remote file access.
:RUN DBUTIL.PUB.SYS
>>SHOW PAYROLL.DATA.PROD LOCKS
For database PAYROLL.DATA
PIN/ PROGRAM
LOCKED ENTITY / ( - waiting process ) PATH NAME JOBNUM
DATA SET PAYMASTR. . . . . . . . . . . . . 92/1 NMSERVER
#J118
>>EXIT
Use the listing in DBUTIL to get the PIN number of the process; in this example it is 92. The job
number displayed is the NetBase background job. Next, use NBCTRL to find out which user process
the server is working for.
:RUN NBCTRL.PUB.NETBASE
*>SHOW REMOTE
NODE JOBNUM SRVR SPIN JOB NAME PROGRAM NAME
SYSA #S200 1 92 USER.PROD QUERY.PUB.SYS
SYSA #S220 2 106 USER.PROD PAYPGM.PGM.PROD
SYSA #S256 3 110 USER.PROD PAYPGM.PGM.PROD
SYSA #S266 4 186 USER.PROD PAYPGM.PGM.PROD