I believe the DELETE and ADD to LNKLST01 are redundant since the name of
the dataset is not being changed. There is no extent information
associated with the named LNKLST itself, just with the active
instance(s) of the LNKLST. Defining LNKLST01 as a copy of the current
LNKLST and activating it should be sufficient to rebuild extent information.
When we have to do this we
* Choose a point not that far from next IPL, just in case.
* Build and populate a .N version of the lnklst library involved
* Use various techniques to do rename of the current library to
libname.O, bypassing enqueues, and then rename the .N version to the
live name. At this point LNKLST and LLA is still valid although it is
actually accessing the ".O" version since that is where the extent
information points (don't move or delete the ".O" version). The
cleanest way to install the new library at this point is to just IPL and
this is the only way if you are installing changes that require
concurrent LPA module changes as well, but if you must access the new
version prior to IPL...
* Build a new named LNKLSTnn
* Activate the new named LNKLSTnn - at this point any pre-existing
address spaces are still using the old LNKLST which still has valid
extent info and LLA info pointing to what is now the ".O" version, but
any new address spaces or jobs will use the new version of the library.
This is a confusing state of affairs, so you don't really want to run
this way for an extended period.
* If, and only if, some prexisting address space absolutely has to
have something in the new library, do the "UPDATE" step. There are
known risks to your system in doing this which may cause bad things to
happen, especially when an UPDATEd address space has load modules
partially loaded from PDSE libraries in linklist.
* Avoid moving, deleting, or changing the extents of the ".O" version
until after the next IPL.
Vic wrote:
Max,
OK, maybe now is not a good time to search ibm-main. So here is the
procedure to rebuild the linklist
1. use mvs console command to display current linklist name
D PROG,LNKLST,NAMES
let's say that its name is LNKLST00
2. Now issue commands
SETPROG LNKLST,UNALLOCATE
P LLA
SETPROG LNKLST,DEFINE,NAME=LNKLST01,COPYFROM=CURRENT
SETPROG LNKLST,DELETE,NAME=LNKLST01,DSN=SYS1.MIGLIB
SETPROG LNKLST,ADD,NAME=LNKLST01,DSN=SYS1.MIGLIB,
AFTER=SYS1.LINKLIB
SETPROG LNKLST,ACTIVATE,NAME=LNKLST01
SETPROG LNKLST,UPDATE,JOB=*
S LLA
SETPROG LNKLST,ALLOCATE
If it is his production system that is affected, hopefully he can
quiesce it. In any case, he might expect some jobs abending with s806
program fetch.
Good luck,
Vic
--
Joel C. Ewing, Fort Smith, AR [EMAIL PROTECTED]
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html