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

Reply via email to