羲堁极郤

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Re: DLI loading on Tk4 and MVSCE?

 

羲堁极郤

John,

?

You can use the SVCUPDTE macro in an assembler program to update the SVC table dynamically after you first load the module into CSA using a call to IEWFETCH.

?

The SVCUPDTE macro was introduced sometime after MVS 3.8, but there is a reworked version of it for MVS 3.8.

?

Wally

?

From: [email protected] <[email protected]> On Behalf Of John James
Sent: Monday, February 5, 2024 10:28 AM
To: [email protected]
Subject: Re: [H390-MVS] DLI loading on Tk4 and MVSCE?

?

Hello Mark, yes, I've managed to convince myself of that by playing around with some code and and user SVCs of my own. I managed to force an FFF abend in my own code when trying to invoke user SVC 255, and it changed to an FDE abend when I changed my code to try SVC 222. So CPLA is needed to try to get this along to the next error!

Has anyone ever created a utility program that will perform a CLPA dynamiclly, to save having to re-IPL?

Alternatively, could anyone describe the easiest way to perform a CLPA in TK4-. Presumably I have to stop the automated operator somehow at IEA101?

Thanks!


Virus-free.


Re: Unattended/Scheduled backups ideas.

 

On Mon, Feb 5, 2024 at 09:53 AM, Dennis Stone wrote:

Once a month I run a job to identify uncataloged tapes and move them from the used tapes directory to the scratch tapes directory. It works like a charm.

I'd be really interested in seeing what that job looks like, or a hint as to what utilities and processing were involved. Sounds like a lot can be learned there.


Re: Unattended/Scheduled backups ideas.

 

羲堁极郤

Alejandro,

One of the beauties of running Hercules 每 is we have so many options

?

You might consider simply making a copy of the Hercules disk files 每 on your PC 每 (this would require the system be down to make a NON-FUZZY copy)

Or 每 shadow files 每 part of Hercules

?

Or as has already been offered 每 simply pre-stage a set of tapes 每 (remember since we are in a virtual environment 每 this action simply created a set of files in a given directory on the PC -)?

?

Since you are becoming a Catalog expert 每 you COULD (not suggesting this is how I would do it) 每 PRE-CATALOG xx tapes 每 lets say 每 you know because you manually do it a couple of times 每 that you will use 2 tapes for each disk volume you back up 每 as an example

You might then to the math 每 determine you have 10 disk volumes 每 at 2 tapes each 每 and you want to keep 3 copies of each disk 每 so create 60 tape volumes 每 in your catalog 每 and then your jobs can be coded to re-use these KNOWN volumes 每 certainly NOT elegant 每 but effective.?

?

Where I once worked we did? a similar process except we did NOT pre-catalog 每 we had THREE boxes 每 RED, GREEN, ORANGE 每

Each week 每 ONE box was used 每 in that order 每 first week we created the RED backup 每 next week the GREEN backup 每 third week the ORANGE backup 每 on Monday each week the newly created backup box was taken offsite 每 and the previous week returned 每 so we ALWAYS had offsite backup

?

AND 每 because these were a SET 每 we could always pick up a complete set 每 and totally restore 每 the critical systems 每 even without a catalog

There was a print out of the contents of the backup sysout placed in each box 每 when the backups were complete - -

Totally a manual process 每 easy 每 to understand 每 simple to execute 每 and met all the requirements to be able to recover in a disaster.?

?

Now, can we put together a more robust and automated system 每 certainly 每

?

Near as I can tell, your concern is making TAPE mounts automatic 每 is that correct?

?

Dennis already replied with a solution -

?

-J-

?

Jeff Bassett

Bassettj@...

(301) 424-3362 (office)

(240) 388-7148 Cell

?

Time spent flying? - is NOT deducted from one*s lifespan

?

From: [email protected] <[email protected]> On Behalf Of Alejandro olivan Alvarez via groups.io
Sent: Monday, February 5, 2024 7:40 AM
To: [email protected]
Subject: [H390-MVS] Unattended/Scheduled backups ideas.

?

Hi folks!

I'm working on backing up stuff.
Manually getting stuff out of MVS to keep a copy is not hard... however, as a sys admin, I'm very much used to the idea of sceduled backups.
After reading Moseleys page on backup/restore, I had plenty of ideas and tests, but I'm very much opened to different/better approaches to the end goal (some automation) in mind

So, first piece on my mind puzzle was HERCCMD (I understand it's risks... sure it is dangerous for Internet connected hercules instances).
I made it to work, and the idea is to use it to be able to devinit a backup tape as a job step, and unload it after the backup.
The second piece of the puzzle is DSSDUMP. Which I find very useful since it allow to provide wildcards to select a group of source datasets.
Combining both, I though I should be able to assemble a backup job.

But there're problems:
- I do not figure out how to make my HERCCMD steps work toghether with DSSDUMP step... I feel as if steps are ran kind of parallel instead of sequentially.
? Tape is initialized and then unloaded, and DSSDUMP gets stuck asking for a tape on the operator console for a tape.

- DSSDUMP requires operator to reply volume and a owner information on the console, so unattended operation breaks here too. I don't find a way to make DSSDUMP aware of that?
? info beforehand, so it moves on and performs the backup.

Has anyone approached this anyhow? any ideas?

Cheers!


Re: DLI loading on Tk4 and MVSCE?

 

Hello Mark, yes, I've managed to convince myself of that by playing around with some code and and user SVCs of my own. I managed to force an FFF abend in my own code when trying to invoke user SVC 255, and it changed to an FDE abend when I changed my code to try SVC 222. So CPLA is needed to try to get this along to the next error!

Has anyone ever created a utility program that will perform a CLPA dynamiclly, to save having to re-IPL?

Alternatively, could anyone describe the easiest way to perform a CLPA in TK4-. Presumably I have to stop the automated operator somehow at IEA101?

Thanks!


Re: Unattended/Scheduled backups ideas.

 

羲堁极郤

I use the tape robot perl script from the files section ( tape-robot-automount-herc.tar.gz) and have been for years. It basically works like a tape library. I have a directory set up with pre-initialized tapes. Once a month I run a job to identify uncataloged tapes and move them from the used tapes directory to the scratch tapes directory. It works like a charm.

Dennis

On 2/5/24 07:39, Alejandro olivan Alvarez wrote:

Hi folks!

I'm working on backing up stuff.
Manually getting stuff out of MVS to keep a copy is not hard... however, as a sys admin, I'm very much used to the idea of sceduled backups.
After reading Moseleys page on backup/restore, I had plenty of ideas and tests, but I'm very much opened to different/better approaches to the end goal (some automation) in mind

So, first piece on my mind puzzle was HERCCMD (I understand it's risks... sure it is dangerous for Internet connected hercules instances).
I made it to work, and the idea is to use it to be able to devinit a backup tape as a job step, and unload it after the backup.
The second piece of the puzzle is DSSDUMP. Which I find very useful since it allow to provide wildcards to select a group of source datasets.
Combining both, I though I should be able to assemble a backup job.

But there're problems:
- I do not figure out how to make my HERCCMD steps work toghether with DSSDUMP step... I feel as if steps are ran kind of parallel instead of sequentially.
? Tape is initialized and then unloaded, and DSSDUMP gets stuck asking for a tape on the operator console for a tape.

- DSSDUMP requires operator to reply volume and a owner information on the console, so unattended operation breaks here too. I don't find a way to make DSSDUMP aware of that?
? info beforehand, so it moves on and performs the backup.

Has anyone approached this anyhow? any ideas?

Cheers!


Unattended/Scheduled backups ideas.

 

Hi folks!

I'm working on backing up stuff.
Manually getting stuff out of MVS to keep a copy is not hard... however, as a sys admin, I'm very much used to the idea of sceduled backups.
After reading Moseleys page on backup/restore, I had plenty of ideas and tests, but I'm very much opened to different/better approaches to the end goal (some automation) in mind

So, first piece on my mind puzzle was HERCCMD (I understand it's risks... sure it is dangerous for Internet connected hercules instances).
I made it to work, and the idea is to use it to be able to devinit a backup tape as a job step, and unload it after the backup.
The second piece of the puzzle is DSSDUMP. Which I find very useful since it allow to provide wildcards to select a group of source datasets.
Combining both, I though I should be able to assemble a backup job.

But there're problems:
- I do not figure out how to make my HERCCMD steps work toghether with DSSDUMP step... I feel as if steps are ran kind of parallel instead of sequentially.
? Tape is initialized and then unloaded, and DSSDUMP gets stuck asking for a tape on the operator console for a tape.

- DSSDUMP requires operator to reply volume and a owner information on the console, so unattended operation breaks here too. I don't find a way to make DSSDUMP aware of that?
? info beforehand, so it moves on and performs the backup.

Has anyone approached this anyhow? any ideas?

Cheers!


Re: DLI loading on Tk4 and MVSCE?

 

Thanks Greg, I strongly suspect that you're right; which leads me a question....

I had a look at the sysgen for TK4- and I see that a range of user SVC numbers are defined, that is a range 201-248 (so 255 not included). Two of these (215, 216) are commented as "not implemented". So are all the others already implemented for some functions or other? So I guess my question is does anyone know which user SVC numbers in TK4- are actually "spare" and available for our use?

Next question would then be about adding the IMS SVC to the nucleus. I used to know how to do it in MFT/MVT and SVS (and Kevin M has also posted an MVT example), plus I can find up to date z/OS instructions online, but I'm wondering if anyone has some actual JCL for doing it in MVS 3.8J? The z/OS instructions are not helpful, as they talk about PARMLIB members that don't exist in TK4-. I suppose I can tinker around a bit, but some working JCL would be preferable. Or is it all done by SMP these days?

Thanks, JJ


Re: Reorganizing a user catalog in MVS.

 

羲堁极郤

Remember, for a non-VSAM dataset you don't even have to catalog it.

Khalid

On 2/1/2024 10:00 AM, Alejandro olivan Alvarez wrote:

On Thu, Feb 1, 2024 at 03:55 PM, Jeff Bassett wrote:

//OUTFILE DD DSN=HERC01.CATREORG.OUT,DISP=(,CATLG),? <<<? USE a HLQ that points to a different catalog if you want to catalog the output

//? UNIT=SYSDA,SPACE=(CYL,10,10),RLSE),VOL=SER=WORK02,

//?? DCB=(RECFM=VB,LRECL=516,BLKSIZE=5164)

It worked!!! I had initially a problem cataloging the target dataset because Of the overll JOBCAT DD ... So I had to just use STEPCAT DD on the REPRO step, and catalog the dataset on a final step...and the, ta-da! the dataset showed in DSLIST! yayyyyy!



Re: Reorganizing a user catalog in MVS.

 

On Thu, Feb 1, 2024 at 03:55 PM, Jeff Bassett wrote:

//OUTFILE DD DSN=HERC01.CATREORG.OUT,DISP=(,CATLG),? <<<? USE a HLQ that points to a different catalog if you want to catalog the output

//? UNIT=SYSDA,SPACE=(CYL,10,10),RLSE),VOL=SER=WORK02,

//?? DCB=(RECFM=VB,LRECL=516,BLKSIZE=5164)

It worked!!! I had initially a problem cataloging the target dataset because Of the overll JOBCAT DD ... So I had to just use STEPCAT DD on the REPRO step, and catalog the dataset on a final step...and the, ta-da! the dataset showed in DSLIST! yayyyyy!

//*
//* ------------------------------------------------
//* STEP1: DELETE DATASET
//*
//DSDEL? ? EXEC PGM=IEFBR14
//SYSPRINT DD SYSOUT=*
//TGTDS? ? DD DSNAME=HERC01.UCUSRDT0.REPRO,
//? ? ? ? ? ? UNIT=3390,SPACE=(CYL,(10,10),RLSE),VOL=SER=TSO001,
//? ? ? ? ? ? DISP=(OLD,DELETE,DELETE)
//*
//* ---------------------------------------------
//* STEP2: DUMP USER-CATALOG TO DATASET.
//*
//REPROTMP EXEC PGM=IDCAMS,REGION=4096K
//STEPCAT? DD DSNAME=UCUSRDT0,DISP=OLD
//SYSPRINT DD SYSOUT=*
//CATIN? ? DD DSNAME=UCUSRDT0,DISP=OLD
//CATOUT? ?DD DSNAME=HERC01.UCUSRDT0.REPRO,DISP=(NEW,KEEP,DELETE),
//? ? ? ? ? ? UNIT=3390,SPACE=(CYL,(10,10),RLSE),VOL=SER=TSO001,
//? ? ? ? ? ? DCB=(RECFM=VB,LRECL=516,BLKSIZE=5164)
//SYSIN? ? DD *
? REPRO INFILE(CATIN) -
? ? OUTFILE(CATOUT)
/*
//*
//* ------------------------------------------------
//* STEP3: CATALOG DATASET
//*
//DSCTLG? ?EXEC PGM=IEFBR14
//SYSPRINT DD SYSOUT=*
//TGTDS? ? DD DSNAME=HERC01.UCUSRDT0.REPRO,
//? ? ? ? ? ? UNIT=3390,SPACE=(CYL,(10,10),RLSE),VOL=SER=TSO001,
//? ? ? ? ? ? DISP=(OLD,CATLG,DELETE)
//


Re: Reorganizing a user catalog in MVS.

 

Hi!

I though on the idea of big PDS with data being added to members...? but I though it had to have its cons (sure... I always trip some wire :-P) ... I definitely have to learn how o plan for such a deploy (space calculations, naming conventions, etc...)
On the other hand, I'm slowly progressing. I have played with PRINT CHAR and DUMP on the TAPE dump, and it yelded thousands of chars, quite fun, but I saw the catalog entries there!
Good point being able to dump to PDS...I want to try that :D !!!!

Now I'm re-reading the USERCATALOG stuff ... I want to create a testing user catalog to play with (upload a backup, deleting it, etc) but I'm not sure wether multiple usercatalogs can be present on the same volume (I have in my mind some kind of limitation regarding volumes and catalogs).
One think that worries me now is that , on the documentation, I read that I in order to be able to use my volume for VSAM stuff (which I plan to do in the future) I have to define a huge usercatalog, with lots of CYLINDERS and then manually define DATA and INDEX sizes accordingly, so an empty space remains unused as result of that, as? a kind of VSAM space (or so I understand), but I though that was acomplished by means of DEFINE SPACE... that's confusing.?
Since I have full backups and shadow files I'm just going to try and see what happens.

Cheers.


Re: Reorganizing a user catalog in MVS.

 

羲堁极郤

Alejandro

?

BABY STEPS 每 you are certainly getting some good OJT 每 while I recognize 每 this is frustrating 每

?

?

>>>※dumping to a dataset on DASD may not be possible, but only to tape§

?

NOT TRUE my friend# ?now, for you to use a HLQ that catalogs back into the same catalog that you are working on 每 sure#.

There is NO restriction except that the output file NEEDS to be a BSAM 每(sequencial file) 每

So

//OUTFILE DD DSN=HERC01.CATREORG.OUT,DISP=(,CATLG),? <<<? USE a HLQ that points to a different catalog if you want to catalog the output

//? UNIT=SYSDA,SPACE=(CYL,10,10),RLSE),VOL=SER=WORK02,

//?? DCB=(RECFM=VB,LRECL=516,BLKSIZE=5164)

?

Now you will have a FLAT FILE on disk 每 you can edit or browse it 每

Or you can print it 每

Or you can use it in the next step to build a new catalog 每

Or - ???

?

Another idea 每 you MIGHT consider 每

?

Instead of creating new PDSs that are causing you a cataloging headache ?每 create a larger PDS and simply add members into your PDS for a week or 4 每 THEN run some maintenance job to re-organize the PDS 每 copy everything off to tape or archive or otherwise process it #.

?

?

?

-J-

?

Jeff Bassett

Bassettj@...

(301) 424-3362 (office)

(240) 388-7148 Cell

?

Time spent flying? - is NOT deducted from one*s lifespan

?

From: [email protected] <[email protected]> On Behalf Of Alejandro olivan Alvarez via groups.io
Sent: Thursday, February 1, 2024 7:08 AM
To: [email protected]
Subject: Re: [H390-MVS] Reorganizing a user catalog in MVS.

?

Hi!

By one side... I was missing the JOBCAT / STEPCAT DD component on all my tests...?Now I understand why they didn't work :-)
But on the other side, I've also found that, apparently, dumping to a dataset on DASD may not be possible, but only to tape, as depicted on examples around.
My guess is that, once the STEPCAT / JOBCAT makes the source catalog reachable, then, the target PS can't be cataloged... or maybe it's theat weird DCB.
Anyways, At least,I have an early 0000 code for REPRO on my catalog into a tape:

//JOBCAT? ?DD DSNAME=UCUSRDT0,DISP=OLD?

//*

//* ---------------------------------------------

//* STEP1: DUMP USER-CATALOG TO TAPE.

//*

//REPROTMP EXEC PGM=IDCAMS,REGION=4096K

//SYSPRINT DD SYSOUT=*

//CATIN? ? DD DSNAME=UCUSRDT0,DISP=OLD

//CATOUT? ?DD DSNAME=UCUSRDT0.TAPE,LABEL=(1,SL),

//? ? ? ? ?DISP=NEW,UNIT=(TAPE,,DEFER),VOL=SER=UCBAK0,?

//? ? ? ? ?DCB=(DEN=3,RECFM=VB,LRECL=516,BLKSIZE=5164)?

//SYSIN? ? DD *

? REPRO INFILE(CATIN) -

? ? OUTFILE(CATOUT)

/*

?

Now I have to figure out whether or not can I check its contents, how to use it, and whether eventually it is OK or not... my journey is still on :-P

Thank you all.
Cheers.


Re: Reorganizing a user catalog in MVS.

 

Hi!

By one side... I was missing the JOBCAT / STEPCAT DD component on all my tests...?Now I understand why they didn't work :-)
But on the other side, I've also found that, apparently, dumping to a dataset on DASD may not be possible, but only to tape, as depicted on examples around.
My guess is that, once the STEPCAT / JOBCAT makes the source catalog reachable, then, the target PS can't be cataloged... or maybe it's theat weird DCB.
Anyways, At least,I have an early 0000 code for REPRO on my catalog into a tape:

//JOBCAT? ?DD DSNAME=UCUSRDT0,DISP=OLD?
//*
//* ---------------------------------------------
//* STEP1: DUMP USER-CATALOG TO TAPE.
//*
//REPROTMP EXEC PGM=IDCAMS,REGION=4096K
//SYSPRINT DD SYSOUT=*
//CATIN? ? DD DSNAME=UCUSRDT0,DISP=OLD
//CATOUT? ?DD DSNAME=UCUSRDT0.TAPE,LABEL=(1,SL),
//? ? ? ? ?DISP=NEW,UNIT=(TAPE,,DEFER),VOL=SER=UCBAK0,?
//? ? ? ? ?DCB=(DEN=3,RECFM=VB,LRECL=516,BLKSIZE=5164)?
//SYSIN? ? DD *
? REPRO INFILE(CATIN) -
? ? OUTFILE(CATOUT)
/*
?
Now I have to figure out whether or not can I check its contents, how to use it, and whether eventually it is OK or not... my journey is still on :-P

Thank you all.
Cheers.


Re: NOT CATLGD 4 | Unable to CATLG PDS under certain qualifier.

 

I took good notice of that JOBCAt / STEPCAT stuff!!!

Cheers.


Re: NOT CATLGD 4 | Unable to CATLG PDS under certain qualifier.

 

If you can't figure out the catalog reorg, then create another volume, define a catalog with CYL(10 10),NOIMBED NOREPLICATE a different name, HLQ.? Copy datasets over to the new volume and update JCL for new HLQ.? Once everything is working with new HLQ, check old volume for no allocations, then vary offline.


On Wed, Jan 31, 2024 at 3:42?AM Alejandro olivan Alvarez <alejandro.olivan.alvarez@...> wrote:
Hi.

I'm carefully reading?
My main concern is that some of the parameters there proposed may not be present in MVS IDECAMS version. I have to figure that out.
Beyond that, the guide reads clear, comprehensive and to the point. Reminds me to a kind of 'Linux Howto' Mainframish equivalent. It covers several scenarios and use cases, including the one I'm in: redefining my Catalog to have more growing space. Very good point!

Regarding your proposed 'high level' roadmap. Sure, best bet is backup everything first!
In fact I'm going to arrange a separate Tk5 as testing ground to practice all this... I think the hercules DASD shadowing feature could be helpful in this scenario in order to 'rollback' from foreseeable 'screwed up' situations (I have never used it).
But I have to further read on repro... I found that it can do many things! so I fail to see the meaning and differences between roadmap steps 2 and 3 (I grasp it goes towards having VSAM stuff dumped to vanilla PS datasets).

You're helping me a lot! thank you!



--
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?


Re: NOT CATLGD 4 | Unable to CATLG PDS under certain qualifier.

 

Here is a sample job, notice the STEPCAT statement, it may help you, or as has been suggested put the full UCAT filename on the REPRO statement

//REPROUC1 JOB 'JAY MOSELEY',CLASS=A,MSGLEVEL=(1,1),MSGCLASS=A
//IDCAMS   EXEC PGM=IDCAMS,REGION=4096K                       
//STEPCAT  DD  DSN=UCMVS802,DISP=SHR                          
//SYSPRINT DD  SYSOUT=A                                       
//BACKUP   DD  UNIT=TAPE,DISP=(NEW,KEEP),                     
//             DSN=BACKUP.UCMVS802,                           
//             DCB=BLKSIZE=31744                              
//SYSIN    DD  *                                              
                                                              
  REPRO INDATASET(UCMVS802)                                 - 
        OUTFILE(BACKUP)                                       
                                                              
/*                      


Re: Reorganizing a user catalog in MVS.

 

On Wed, Jan 31, 2024 at 08:51 AM, Alejandro olivan Alvarez wrote:
simply try to backup my catalog using EXPORT and REPRO...
Check this manual:



on page 349 (PDF page 369) for example 4. I think you should simply use REPRO to backup your user catalog, not EXPORT.

Also, pay attention to the DCB indicated in the example for the backup copy (RECFM=VB,LRECL=516,BLKSIZE=5164), that is the one you must use apparently.

Cheers,

Rene FERLAND, Montreal


Re: Reorganizing a user catalog in MVS.

 

羲堁极郤

Alejandro

Ok 每 for your REPRO

?

You can specify EITHER 每 of two formats 每 (or a mix)

?

One method 每 you specify a DD name that you reference in your control statement

?

The OTHER 每 you simply specify 每 THIS IS THE DATA SET 每 I want to work with 每in your control statements

?

See the IDCAMS book for the exact (very complicated syntax)

(here is a link to CURRENT manual 每 this may have some values that are NOT in our OLDER system 每 so use the OLD book for the official version)

?

Here is a snippit 每 if you want to specify the info on JCL 每 You would code

?

//MYINFILE?? DD DSN=data set name goes here 每 upper case of course 每 DISP=SHR

//SYSIN DD *

??????????????? REPRO INFILE(MYINFILE)????? <<<<< note the NAME within the parenthees is the DD name in the jcl

Or

If you do NOT want to code the JCL 每 instead you can put it all in the control cards

?

FOR ME 每 I use the JCL format - - of course it all depends upon the situation 每

?

?

//SYSIN DD *

??????????????? REPRO INDATASET(MYCATALOG.GOES.NAME) -?????????? <note the continuation

????????????????????????????OUTDATASET(MYOUTPUT)??

?

?

REPRO

{INFILE(ddname)|INDATASET(entryname)}

?

{OUTFILE(ddname)|?OUTDATASET(entryname)}

?

?

-J-

?

Jeff Bassett

Bassettj@...

(301) 424-3362 (office)

(240) 388-7148 Cell

?

Time spent flying? - is NOT deducted from one*s lifespan

?

From: [email protected] <[email protected]> On Behalf Of Alejandro olivan Alvarez via groups.io
Sent: Wednesday, January 31, 2024 11:51 AM
To: [email protected]
Subject: [H390-MVS] Reorganizing a user catalog in MVS.

?

Hi Folks.

I've a UserCatalog (UCUSRDT0) on a volume (USRDT0) for my user/users (ALEX) in a Tk5 install ...so far, so good, until the catalog needed a reorg due to CI splits.

I've been reading some online stuff, but, as I expected, it turned out to be much modern and not aplicable to MVS (LOCK, UNLOCK, EXAMINE, DIAGNOSE...).
At this point, I backed up at hercules/emulator level, practice a little with shadow files, and just started my journey by, first, simply try to backup my catalog using EXPORT and REPRO... which I miserably failed to achieve :-(

- Regarding EXPORT, following step (ran as HERC01 user):

//EXPRTTMP EXEC PGM=IDCAMS,REGION=4096K

//SYSPRINT DD SYSOUT=*

//EXPDD? ? DD DSN=CATBACK.ALEX.UCUSRDT0,

//? ? ? ? ?UNIT=3390,VOL=SER=TSO001,

//? ? ? ? ?DISP=(NEW,CATLG,DELETE),

//? ? ? ? ?SPACE=(CYL,(5,1),RLSE),

//? ? ? ? ?DCB=(RECFM=FB,LRECL=80,BLKSIZE=3120)

//SYSIN? ? DD *

? EXPORT UCUSRDT0 -

? ? OUTFILE(EXPDD) TEMPORARY

/*

Fails 0012 with error:?IDC3592I THE ENTRY NAME IS NOT CLUSTER OR ALTERNATE INDEX
But I guess it is... well, it is my user catalog. it is a VSAM cluster! What could be wrong?

- Regarding REPRO, the step I made (ran as HERC01):

//REPROTMP EXEC PGM=IDCAMS,REGION=4096K

//SYSPRINT DD SYSOUT=*

//OUTDD? ? DD DSN=CATDUMP.ALEX.UCUSRDT0,

//? ? ? ? ?UNIT=3390,VOL=SER=TSO001,

//? ? ? ? ?DISP=(NEW,CATLG,DELETE),

//? ? ? ? ?SPACE=(CYL,(5,1),RLSE),

//? ? ? ? ?DCB=(RECFM=FB,LRECL=80,BLKSIZE=3120)

//SYSIN? ? DD *

? REPRO INFILE(UCUSRDT0) -

? ? OUTFILE(OUTDD)
/*


Exits 0012 with following errors

IDC3300I ERROR OPENING UCUSRDT0
IDC3304I ** JCL STATEMENT MISSING
Considering that both UCUSRDT0 axists, and the target dataset ends up created and found in DSLIST, I don't understand what's happening here.

I know this are very, very noob questions... but I need some breaktrough to start even to start.

Thank you very much in advance.
Cheers.


Reorganizing a user catalog in MVS.

 

Hi Folks.

I've a UserCatalog (UCUSRDT0) on a volume (USRDT0) for my user/users (ALEX) in a Tk5 install ...so far, so good, until the catalog needed a reorg due to CI splits.

I've been reading some online stuff, but, as I expected, it turned out to be much modern and not aplicable to MVS (LOCK, UNLOCK, EXAMINE, DIAGNOSE...).
At this point, I backed up at hercules/emulator level, practice a little with shadow files, and just started my journey by, first, simply try to backup my catalog using EXPORT and REPRO... which I miserably failed to achieve :-(

- Regarding EXPORT, following step (ran as HERC01 user):

//EXPRTTMP EXEC PGM=IDCAMS,REGION=4096K
//SYSPRINT DD SYSOUT=*
//EXPDD? ? DD DSN=CATBACK.ALEX.UCUSRDT0,
//? ? ? ? ?UNIT=3390,VOL=SER=TSO001,
//? ? ? ? ?DISP=(NEW,CATLG,DELETE),
//? ? ? ? ?SPACE=(CYL,(5,1),RLSE),
//? ? ? ? ?DCB=(RECFM=FB,LRECL=80,BLKSIZE=3120)
//SYSIN? ? DD *
? EXPORT UCUSRDT0 -
? ? OUTFILE(EXPDD) TEMPORARY
/*

Fails 0012 with error:?IDC3592I THE ENTRY NAME IS NOT CLUSTER OR ALTERNATE INDEX
But I guess it is... well, it is my user catalog. it is a VSAM cluster! What could be wrong?

- Regarding REPRO, the step I made (ran as HERC01):

//REPROTMP EXEC PGM=IDCAMS,REGION=4096K
//SYSPRINT DD SYSOUT=*
//OUTDD? ? DD DSN=CATDUMP.ALEX.UCUSRDT0,
//? ? ? ? ?UNIT=3390,VOL=SER=TSO001,
//? ? ? ? ?DISP=(NEW,CATLG,DELETE),
//? ? ? ? ?SPACE=(CYL,(5,1),RLSE),
//? ? ? ? ?DCB=(RECFM=FB,LRECL=80,BLKSIZE=3120)
//SYSIN? ? DD *
? REPRO INFILE(UCUSRDT0) -
? ? OUTFILE(OUTDD)
/*

Exits 0012 with following errors
IDC3300I ERROR OPENING UCUSRDT0
IDC3304I ** JCL STATEMENT MISSING
Considering that both UCUSRDT0 axists, and the target dataset ends up created and found in DSLIST, I don't understand what's happening here.

I know this are very, very noob questions... but I need some breaktrough to start even to start.

Thank you very much in advance.
Cheers.


Re: Trying to migrate TUN networking connection to TAP

 

羲堁极郤

Jeff and Patrik,

You have no idea how much pleasure I receive in seeing these networking configurations, and per your responses WORKING!

My first IT job involved networking before networking as we know it today existed in the mid-1970's.? Worked with 270x / 270x EP systems and BTAM.? Worked with multi-subarea SNA networks and VTAM. Worked with the first release of mainframe TCP/IP on both MVS and VM.? From there expanded to various routers and switches in global IP networks, some transporting SNA.

And helped with Hercules networking along the way, QDIO in particular.

I have long since lost interest in system administration once I retired.? (Moved onto my own thing.) But, am very pleased to see these capabilities used in the emulation space and the new "blood" doing and learning.

Just wanted you to both know of my appreciation.? Keep up the good work!!

Harold Grovesteen

On 1/30/24 19:02, Jeff Snyder wrote:

Hi Patrik,

Happy New Year.

Here are some comments based on my experience with OS/390 on TAPs.? I don't use EE, but APPN and Subarea SNA work, as well as TCPIP.? I do not run Hercules as root.

---8<--- /etc/network/interfaces ---8<---

auto eth1 tap0 tap1 br0

# Hercules OS/390: Port LAN Port
iface eth1 inet manual
up /sbin/ip link set dev $IFACE up

# Hercules OS/390: TAPs for Bridging.
iface tap0 inet manual
pre-up /sbin/ip tuntap add mode tap
up /sbin/ip link set dev $IFACE address 02:00:FE:DF:00:42
up /sbin/ip link set dev $IFACE up
post-down /sbin/ip link del dev $IFACE

iface tap1 inet manual
pre-up /sbin/ip tuntap add mode tap
up /sbin/ip link set dev $IFACE address 02:00:FE:DF:01:42
up /sbin/ip link set dev $IFACE up
post-down /sbin/ip link del dev $IFACE

# Bridge everything together and assign an IP address to the bridge.
iface br0 inet static
address 192.168.59.12
netmask 255.255.255.128
gateway 192.168.59.1
bridge_ports tap0 tap1 eth1

---8<---
I run the network manager now, but based on some old notes I had from before, I don't see any issues with your configuration.? It looks like mine did before converting over to NMCLI.? Since it's working for SNA, that seems a good indicator that it should be right.

Hercules configuration excerpt:

---8<---

0E40 LCS -e SNA tap0
0E42.2 LCS tap1

---8<---
Yep, looks like mine (except for the TAP names).
5ce.2 LCS tap0501??????????????????? # for Linux / TCPIP
5de LCS -e SNA tap0502?????????????? # for Linux / SNA/APPN
5ee LCS -e SNA tap0503?????????????? # for Linux / SNA/Subarea

Relevant configuration excerpts from TCPIP.PROFILE.TCPIP:

---8<---

; Required for EE
DEVICE IUTSAMEH MPCPTP
LINK LSAMEH MPCPTP IUTSAMEH
?DEVICE VIPA1??? Virtual 0???? ?
?LINK?? LVIPA1?? Virtual 0 VIPA1
?DEVICE IUTSAMEH MPCPTP??????? ?
?LINK?? LSAMEH?? MPCPTP IUTSAMEH
I have a VIPA in my config that you don't, but I can't see that affecting basic functionality.

DEVICE LCS1 LCS E42
LINK TAP1 ETHERNET 1 LCS1
Here's my config for the LCS.? I see you are specifying port 1 where I have 0, you might try switching that.
? DEVICE ENT0?? LCS??????? 5CE ?
? LINK?? EN0??? ETHERNET 0 ENT0

HOME
192.168.59.89 TAP1
Looks good.

PRIMARYINTERFACE TAP1
Same, same.

GATEWAY
;
; Direct Routes - Routes that are directly connected to my interfaces.
;
; Network First Hop Link Pkt Subnet Mask Subnet Value
; Class Hop Name Size (excl. Class!) (Remainder)

;The next commented line gives us an error:
;17.10.00 STC00043 EZZ0312I THE SUBNET MASK ON LINE 230 CONTAINS AN INCORRECT VALUE 0.0
;192.168 = TAP1 1492 0.0.255.128 0.0.59.0
192.168.59 = TAP1 1492 0


DEFAULTNET 192.168.59.1 TAP1 1492 0
I gave up trying to figure out IBM's GATEWAY format and went with BEGINROUTES/ENDROUTES.? It was just easier for me to look at and understand..
?BEGINROUTES??????????????????????????????????????????????????????? ?
; ROUTE Destination???? Subnet Mask???? First Hop?????? Link MTU Size
; ROUTE xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx EN0? MTU 1492
? ROUTE 192.168.1.0/24????????????????? =?????????????? EN0? MTU 1492
? ROUTE 10.0.0.0/8????????????????????? 192.168.1.21??? EN0? MTU 1492
? ROUTE 172.16.0.0/12?????????????????? 192.168.1.21??? EN0? MTU 1492
? ROUTE 192.168.0.0/16????????????????? 192.168.1.21??? EN0? MTU 1492
? ROUTE DEFAULT???????????????????????? 192.168.1.254?? EN0? MTU 1492
?ENDROUTES??????????????????????????????????????????????????????????

START LCS1
START IUTSAMEH
Yep, me too.

---8<---
So, I guess the only possible configuration issue I can see would be the port number on the LCS LINK statement.

Link starts without error:

17.55.46 STC00052 EZZ4314I INITIALIZATION COMPLETE FOR DEVICE LCS1, LINK TAP1
Yep
15.02.55 STC01703? EZZ4314I INITIALIZATION COMPLETE FOR DEVICE ENT0, LINK EN0

I can see the MAC addresses of all three bridged devices on the switch port:

sw-keller-1g#show mac address-table | incl Gi0/2$
1 0200.fedf.0043 DYNAMIC Gi0/2
1 0200.fedf.0143 DYNAMIC Gi0/2
1 7efc.3ef5.66ca DYNAMIC Gi0/2

I can see the MACs of the IP interface on OS/390 in the switch here.? I can ping to and from a VM/ESA image on a different switch port and I've got a Subarea SNA link up to it as well.

s3560a>show mac address-table | inc Fa0/3
?? 1??? 0200.0200.0000??? DYNAMIC???? Fa0/3? <-- Raspberry Pi bridge interface
?? 1??? 0205.0100.0001??? DYNAMIC???? Fa0/3? <-- OS/390 TCP/IP interface
s3560a>

Note that the TAP code automatically increments the MAC address given while configuring the interface by one. So, the host-local side of the TAP has 02:00:fe:df:01:42, but the guest-local side uses 02:00:fe:df:01:43!
Right.? I configured a .00 address in NMCLI and Hercules bumped it to .01 for OS/390.

I'll skip the traces for now.? If the config issue above doesn't answer this, hit me up and I'll take another run with traces.

FYI, to help understand the below output, my current set up is:

OS/390 ----- Raspberry Pi ----- Cisco 3560 ----- Raspberry Pi ----- VM/ESA

My OS/390 image (hostname JS05, 192.168.1.105) is running on a Raspberry Pi (Pi2, 192.168.1.2).? Pi2 is connected to switch port Fa0/3 on the 3560.? My VM/ESA image (JS01, 192.168.1.101) is running on Pi1, IP address 192.168.1.1.? It is connected to switch port Fa0/1 on the 3560.

The OS/390 interfaces have the following MAC addresses:
TCPIP - 02.03.01.00.00.01? (my TAP0501, equivalent to your TAP1)
APPN - 02.03.02.00.00.01 (not currently inuse)
Subarea - 02.03.03.00.00.01 (my TAP0503, your TAP0)

Looking at 192.168.59.10's local ARP table, I see that the MAC address from tap1 is visible after S TCPIP but is purged after a while:

# arp -an |fgrep 192.168.59.89
? (192.168.59.89) at 02:00:fe:df:01:43 [ether] on ens160
Looking at my host's arp table, I see my guest (OS/390).
jeff@Pi2:~ $ arp -an | fgrep 105
? (192.168.1.105) at 02:05:01:00:00:01 [ether] on br0

# arp -an |fgrep 192.168.59.89
? (192.168.59.89) at <incomplete> on ens160
Checking back a few minutes later shows it still acitve, so it didn't go away like yours did.
jeff@Pi2:~ $ arp -an | fgrep 105
? (192.168.1.105) at 02:05:01:00:00:01 [ether] on br0

Looking at the local ARP cache of OS/390 via OMVS netstat -R ALL command shows that it only knows about its own MAC address and nothing else:

MVS TCP/IP onetstat CS V2R10 TCPIP Name: TCPIP
Querying ARP cache for address 192.168.59.89
Link: TAP1 ETHERNET: 0200FEDF0143
Not so, here...
JEFF:/u/jeff: >onetstat -R ALL
MVS TCP/IP onetstat CS V2R10?????? TCPIP Name: TCPIP??????????? 16:44:32
Querying ARP cache for address 192.168.1.101 (JS01, the VM/ESA image)
Link: EN0?????????????? ETHERNET: 020101000001

Querying ARP cache for address 192.168.1.32 (my Windows workstation, where I telneted from)
Link: EN0?????????????? ETHERNET: 6805CA3AB46C

Querying ARP cache for address 192.168.1.105 (JS05, OS/390, self)
Link: EN0?????????????? ETHERNET: 020501000001

Querying ARP cache for address 192.168.1.254 (my default gateway and DNS server)
Link: EN0?????????????? ETHERNET: DC7FA4213C55

Questions:
- How can I set a static arp entry in OS390 V2R10 ADCD?
Sorry, I don't know.

- Is my GATEWAY configuration correct (sans assuming a /24 network instead of a /25)?
It looks right to me, but I've had issues with GATEWAY and moved on the BEGIN/ENDROUTE, so I may be missing something.

- Has anybody successfully established TCP/IP-Networking in a bridged environment as described above?
Yes.? All 4 of my Pis are configured this way.? A lot of my images don't support TCP (or some even, SNA), but those that do run like this.


Good luck, I hope you find your issue.? If that configuration issue in TCPIP's LINK statement doesn't fix it and you'd like me to run some traces, let me know.
Jeff


Re: NOT CATLGD 4 | Unable to CATLG PDS under certain qualifier.

 

You should definitely use shadow files. I've been using them since starting with Hercules in 2009, and I can't count the number of times they've saved my ass when making changes to my z/OS 1.10 system. My shadow files use about 2Gb, the original 1.10 files come to 16Gb, and two sets fit on a DVD-RAM disk, which I produce about four times per year, but my normal backups are kept in four additional directories and I do the backups with a simple bat file:

ren shadow-4 shadowx
ren shadow-3 shadow-4
ren shadow-2 shadow-3
ren shadow-1 shadow-2
ren shadowx shadow-1
copy shadow shadow-1

And if I screw up, it's just a matter of copying shadow-1 back to shadow, obviously not making backups after making potentially system-breaking changes!

On Wed, 31 Jan 2024, 11:42 Alejandro olivan Alvarez, <alejandro.olivan.alvarez@...> wrote:
Hi.

I'm carefully reading?
My main concern is that some of the parameters there proposed may not be present in MVS IDECAMS version. I have to figure that out.
Beyond that, the guide reads clear, comprehensive and to the point. Reminds me to a kind of 'Linux Howto' Mainframish equivalent. It covers several scenarios and use cases, including the one I'm in: redefining my Catalog to have more growing space. Very good point!

Regarding your proposed 'high level' roadmap. Sure, best bet is backup everything first!
In fact I'm going to arrange a separate Tk5 as testing ground to practice all this... I think the hercules DASD shadowing feature could be helpful in this scenario in order to 'rollback' from foreseeable 'screwed up' situations (I have never used it).
But I have to further read on repro... I found that it can do many things! so I fail to see the meaning and differences between roadmap steps 2 and 3 (I grasp it goes towards having VSAM stuff dumped to vanilla PS datasets).

You're helping me a lot! thank you!