Hello everybody
I know that my questions may be stupid but ..
1. How to remove (delete) BSAM dataset from DASD? In MVS I just use DISP=DELETE and IEFBR14, but how to remove sequenced dataset, previously allocated with DLBL and EXTENTs in JCL? 2. If I define DLBL and EXTENTs in JCL, but phase exuting in HOB STEP not touch (open, write) the file - will? any extend will be allocated and enty in VTOC created? 3. If I have 2 extents defined, and program write data only for one extend (small record) will second extent will be allocated?
I have strange observation and could not find the answers in available documentation
Thanks Piotr?
P.S Sorry for my unfinished previous message, I've incidentally press the enter.
?
|
On Tue, Jan 23, 2024 at 12:44 PM, Piotr Kolasi¨½ski wrote:
1. How to remove (delete) BSAM dataset from DASD? In MVS I just use DISP=DELETE and IEFBR14, but how to remove sequenced dataset, previously allocated with DLBL and EXTENTs in JCL?
I can't answer for your questions 2 and 3 (Fish, can you?). But for 1 above, I use a program called IKQVDU. It can be run in a batch job or interactively on the console. I used the latter.
It goes on like this (on the console):
?
a) release the PAUSEBG job from the reader queue:
? ?
? ?r rdr,pausebg
?
b) at the BG prompt, enter
?
? ?// ASSGN SYS000,X'cuu'? ? ? ?(the cuu of the disk containing the data set to delete)
? ?// EXEC IKQVDU,SIZE=AUTO
?
c) at the READY prompt, specify SCRATCH, then DSN, then the data set name:
?
?01 AR R RDR,PAUSEBG
?02 F1 1R88I? OK
?03 F1 1Q47I? ?BG PAUSEBG 00078 FROM 000
?04 BG // JOB PAUSEBG
?05? ? DATE 01/24/24,CLOCK 16/23/45
?06 BG // PAUSE
?07 BG // ASSGN SYS000,X'362'
?08 BG // EXEC IKQVDU,SIZE=AUTO
?09 BG? SPECIFY FUNCTION OR
?10 BG? REPLY? '?'? FOR OPTIONS
?11 BG? READY
?12 BG SCRATCH
?13 BG? TO SCRATCH ENTIRE VOLUME REPLY 'VTOC'
?14 BG? TO SCRATCH A PARTICULAR DSCB REPLY 'DSN'
?15 BG DSN
?16 BG? ENTER DSN
?17?
?18?
?19?
?20?
?0D07D? ENTER RESPONSE
?BG??
?
4. once done, type END to terminate the program and quit the PAUSEBG job by pressing Enter.
?
I think I have some documentation of the program somewhere. I will try to find it and put it in the Files section.
?
Cheers,
?
Rene FERLAND, Montreal
|
Thanks Rene!
I never heard about this tool . It's really strange that for manage space on dasd volume we have to use "diagnostic" tool (as it is defined in last z/VSE documentation). In real that is not even space management ,but only operation to remove VTOC entries :-)
|
On Tue, Jan 23, 2024 at 01:56 PM, Piotr Kolasi¨½ski wrote:
>> I never heard about this tool.
Me neither, before I asked the same question as you in this group. :-)
>> In real that is not even space management ,but only operation to remove VTOC entries :-)
I can't say for sure, but I would not be surprised if DISP=DELETE on MVS just delete the entries in the catalog and VTOC, not the data set itself on disk.
Cheers,
Rene FERLAND, Montreal
|
Piotr Kolasinski wrote: I know that my questions may be stupid but .. There are no stupid questions if they are asked. It is only when you don't ask your question that it becomes stupid. ;-) 2. If I define DLBL and EXTENTs in JCL, but phase executing in JOB STEP does not touch (open, write) the file, will any extent(s) be allocated and an entry created in the VTOC? No. If the file is never OPENED, it will never be created. If it is OPENED however, then the VTOC entries *will* be created with however many EXTENTS you defined in your JCL. If you never write data, then the file will simply remain empty. 3. If I have 2 extents defined, and my program writes data only for one extent (i.e. only writes a small amount of data, i.e. only enough to need the first extent), will the second extent be allocated? Yes. When a file is created, it is created with however many extents are in your JCL. DOS/VS does not automatically create new extents for you or automatically delete unused extents for you either. You need to MANUALLY maintain all of that yourself in your JCL. DOS is very different than MVS. It does not have any automatic space management logic. YOU, the user, must manage your dasd space manually yourself. -- "Fish" (David B. Trout) Software Development Laboratories mail: fish@...
|
Hi, Rene and Piotr,
From what I recall, from the last century, it was probably the 1980s the last time I actually worked with DOS/VSE at all "for real"... and it was a long time ago.
The way DOS/360 and DOS/VS and DOS/VSE worked, you used // DLBL and // EXTENT cards to define data sets (files) on DASD.? The DLBL was just a way to assign a "label" to the file, e.g. to create a VTOC entry.? It has an optional "date" parameter, where you can specify an expiration date or number of days until the dataset "expires" ... if you do not specify it, it defaults to 7 days.
Anyway, the way I recall it worked is, when you want to "erase" or "delete" a file, you just create a new file over top of it, using the same or overlapping extents. Then, the DOS system checks the VTOC for those extents and if there is an entry, it checks the expiration date. If it has already expired, no problem, and not operator intervention is required.
But, if the entry has not yet expired, the system operator gets a message, the very popular "UNEXPIRED DATASET" ... blah, blah blah ... to which the operator must reply to allow the current job to overwrite those extents.? If the operator allows it, then DOS deletes the old VTOC entry, before creating a new one, based on the new // DLBL card in the JCL.
At least, that's how I seem to remember it worked.
So, you did not really have to use any fancy special utility for "normal" operations and normal jobs.
Hope that helps,
Mark S. Waterbury
|
Fish, Mark,
Thanks a lot for this information! I always love to learn something new, specially from people who work on DOS/VS in the past.
Cheers,
Rene FERLAND, Montreal
|
Hi, Rene,
FYI, OS/360, OS/VS1, and OS/VS2 (SVS and MVS) also had "expiration date protection" of datasets available.? It was mainly used for tape datasets, but it could also be used for DASD resident datasets.? ?Back before RACF, this was one way to protect datasets from accidental deletion.? OS/360 up through MVS also had "password protection" but every shop I ever worked at avoided it like the plague.
Mark
|
Hi,
A utility like DITTO might be useful in this case as it can perform a lot of file manipulations on different media, e.g: dasd and tape.
Regard,
Steen
|
Fish thanks for explanation but ... it is different than results of my test.
I have access to z/VSE 6.1 and wrote the program in cobol, which inloop wruet 80 bytes records with increnebted counter and some text. I've declared two extents in JCL? for output file and run the program with different limit for the loop. If the count is low and records fillout only 1st extend, 2nd is not deined in VTOC. I count is bigger, and records cover more tracks, in VTOC are two extents? (on the samevolume). So it seems, that 2nd extend will be allocated only if number of records will exceed the one extent size.?
Declaration in JCL is like below, if you nedd I codein cobol, I can send it also (it's very simple). I know that it is "modern" z/VSE, but I don't think, taht base rukes changed.
Piotr
// ASSGN SYS001,A82 // DLBL?? TSTFILE,'VSE3.TEST.DATASET',2024/024,SD // EXTENT SYS001,VSE001,1,0,960,2 // EXTENT SYS001,VSE001,1,1,970,15 // EXTENT SYS001,VSE001,1,2,962,2
|
@Steen I use DITTO very often - to check VTOC, labels, read BSAM file etc. I like it very much and show my students how to use it. But in this case I need to understand the sysem's behaviore. It seems to be similar to MVS, where allocation is done first only for primary extent and on demand secondary extends are built.
Piotr
|
Piotr Kolasinski wrote: Fish thanks for explanation but ... it is different than results of my test.
I have access to z/VSE 6.1 and wrote the program in cobol, which inloop wruet 80 bytes records with increnebted counter and some text. I've declared two extents in JCL for output file:
// ASSGN SYS001,A82 // DLBL TSTFILE,'VSE3.TEST.DATASET',2024/024,SD // EXTENT SYS001,VSE001,1,0,960,2 // EXTENT SYS001,VSE001,1,1,970,15 // EXTENT SYS001,VSE001,1,2,962,2
and run the program with different limit for the loop. If the count is low and records fillout only 1st extend, 2nd is not deined in VTOC. I count is bigger, and records cover more tracks, in VTOC are two extents (on the same volume). So it seems, that 2nd extend will be allocated only if number of records will exceed the one extent size. You could be right. I apologize. I was going from memory. It might be because the files is declared "SD" and not "DA"? Maybe with "SD" (sequential data) files, the behavior is like you say, but it is different when the file is declared "DA" (direct access)? I forget! It had admittedly been many, many years since I have messed with DOS/VS(E). I'm too busy with Hercules to have the luxury of playing with / experimenting with the many operating systems it is capable of running. If/when I find the time, I will try the experiments you suggest. But I believe you are probably correct. Please accept my apologies. -- "Fish" (David B. Trout) Software Development Laboratories mail: fish@...
|
On Wed, Jan 24, 2024 at 04:27 PM, Piotr Kolasi¨½ski wrote:
I use DITTO very often - to check VTOC, labels, read BSAM file etc. I like it
very much and show my students how to use it.
Is there some material you can share on how to use DITTO for those tasks? I'm conversant with MVT and it's progeny, but I'm a total DOS neo.
|
Fish - please don't apologize. You are doing fantastic work, thank's for that! I asked on this group, because I it was unexpected for me, because all books and materials I read, didnt notice such behavior. A few years ago I was aked about preparing and executing training aobout z/VSE for some group of z/OS system programmers. I didn't touch VSE many years and had to refresh and expand my knowledge (many things chnaged since VSE 2.4, the last version used by me). Today we don't have real tapes (but is the tape emulation in VSE which supports AWS format), connectuin to system may be supported on z/VM by Linux TCPIP stack, Java connectors are provided for VSE POWER, VSAM etc. But now VSE is not an IBM system anymore, it was sold to external company (https://21cs.com/vsen/). After preparing that training I did that four times yet for different teams, with 2 years period between them. Maybe I'm one? of few persons on this planet, who do such things in 2024 :-) My love to the old opersting systems (nt only IBM, but also DEC PDP), give me many happy ours, and part of that is thanks to your work.
Piotr? ?
|
@Daug
Unfortunatelly I use "modern" DITTO running under CICS/ICCF in z/VSE. This edition has standard panels and is fully interactie. Of course it also has batch mode, but it is less usable.
Piotr
|