Do not arouse the wrath of the great and powerful z/OS. I said come back tomorrow

Posts tonen met het label howto. Alle posts tonen
Posts tonen met het label howto. Alle posts tonen

dinsdag 24 juni 2008

HSM : tips-n-tricks

A shameless copy from all over the place. Mainly for future reference and to be editted. Raw data if you like. Anyway : here's the copy paste :)

F HSM,SWAP LOG

F HSM,CANCEL USERID(userid)

F HSM,SETSYS etc

F HSM,CANCEL DATASETNAME(datasetname)

F HSM,CANCEL REQUEST(requestnumber)

F HSM,STOP

--

Dump for Installation Exit Abends

PATCH .MCVT.+2D BITS(.......1)

Tracing OPEN/CLOSE/EOV problems

Tape - PATCH .MCVT.+F2 x'00' /* Activate */
PATCH .MCVT.+F2 x'FF' /* Deactivate */
DASD - PATCH .MCVT.+F3 x'00' /* Activate */
PATCH .MCVT.+F3 x'FF' /* Deactivate */

Causing DUMP when DSS error occurs

PATCH .MCVT.+454'390' /* ADR390E */

Determining why SMS-managed datasets are not being processed

PATCH .MGCB.+26 x'FF' /* Space Mgt */
PATCH .BGCB. +24 x'FF' /* Backup */


--

HSEND LIST TTOC (A01086) ODS(list.output.filename)


--

HSEND QUERY ACTIVE

The common commands are

QUERY ACTIVE - see what processes are running, and the status of the HSM components
QUERY WAITING - see how many commands are queued waiting for resource
QUERY USER - list the users who are running active or queued commands
QUERY PROCESS - query active processes
QUERY SETSYS - see below
QUERY SETSYS is useful to see what the DFHSM settings are. Some of these are defined in your ARCCMDxx member in SYS1.PARMLIB, but they can be overridden by command, some system settings are set by a one-off command, and some take defaults. QUERY SETSYS will show you the list of all current system setting.

HOLD Command
You use this command to pause selected DFHSM function. However be aware that some holds can take a while to take effect, especially those that involve tape processing. A very useful command in a panic situation is

HOLD ALL

which stops all HSM processing. You will then probably want to start up selected functions using the release command.

HOLD MIGRATION
HOLD RECALL(TAPE)

Should both be self explanatory. You would want to hold tape recalls if you have a problem with your tape drives, but want recalls from ML1 to continue as normal.
The Query Active command above is useful to find out if any HSM functions are held.

RELEASE Command
If something is not working in DFHSM, you could try a QUERY ACTIVE command to check the status of that DFHSM function. If it is HELD, then you can release it with the RELEASE command. Of course, there may be a reason why it is held, so it is best to check this out first. The release command is simply

RELEASE function

You may want to use this in a panic situation as follows

HOLD ALL
RELEASE RECALL

This holds everything, then releases RECALL, which minimises user impact.
However note that if journalling has been disabled then RELEASE will not work until a CDS backup completes.

CANCEL Command
You use CANCEL to terminate an outstanding DFHSM request. You need to know the request number to do this. For example if a single request is causing problems then you need to find out the number of the problem request

QUERY REQUEST

ARC0101I QUERY REQUEST COMMAND STARTING ON HOST=1
ARC0162I RECALLING DATA SET file.name FOR USER user1, REQUEST
ARC0162I (CONT.) 00006399 ON HOST 1
-- more requests ----
ARC0101I QUERY REQUEST COMMAND COMPLETED ON HOST=1

You identify that the recall is causing problems, and the request number is 6399 (Actually you cannot cancel active requests, just queued requests)


CANCEL REQUEST(6399)

If a single user has a large number of requests in the queue then you may want to cancel all their processes to relieve congestion. The QUERY USER command will give you the userid, then you use the cancel command


CANCEL USER(userid)

You can cancel recalls by dataset name with the following command


CANCEL DSNAME(datasetname)

--
F DFHSM,BACKVOL CDS

F DFHSM, AUTOBACKUPSTART(0730 0900 1030)

F DFHSM,SETSYS SECONDARYSPMGMTSTART(0735 1030)

F DFHSM,SETSYS PRIMARYSPMGMTSTART(1035 1335)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Holidays
F DFHSM, DEFINE PRIMARYSPMGMTCYCLE (NYYYYYN CYCLESTARTDATE(2002/05/05))
F DFHSM, DEFINE SECONDARYSPMGMTCYCLE (NYYYYYN CYCLESTARTDATE(2002/05/05))
F DFHSM,DEFINE BACKUP(NYYYNNN 2 CYCLESTARTDATE(2002/05/05)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

DFHSM,QUERY SPACE

F DFHSM,BACKVOL CDS

F DFHSM,RELEASE MIGRATION

F DFHSM,RELEASE RECYCLE

F DFHSM,RELEASE ALL

F DFHSM,BACKLOG CDS(NULLJOURNALONLY)

F DFHSM,SETSYS PRIMARYSPMGMTSTART(1430 1730)

F DFHSM,Q CDS F DFHSM,HOLD LIST

F DFHSM,HOLD RECYCLE

F DFHSM,QUERY ACTIVE




F HSM1,HOLD ALL F HSM1,RELEASE ALL

F HSM1,HOLD AUTOMIGRATION

F HSM1,RELEASE AUTOMIGRATION

F DFHSM,QUERY [ACT, AUTOPROGRESS, CONTROLDATASETS, CSALIMITS, WAITING]

F DFHSM,QUERY [ABARS, STARTUP, SPACE, SETSYS] F DFHSM,STOP ALL

F DFHSM,HOLD ALL

F DFHSM,RELEASE ALL

F DFHSME,REPORT DAILY FUNCTION(RECOVER)

LIST TTOC SELECT(FAILEDRECYCLE) ODS(LIST.EXAMPLE.ONE)

DEFINE BACKUP(NYYYYNN 2 CYCLESTARTDATE(2002/05/05))




From the ISPF, option 6 panel

HSEND EXPIREBV DISPLAY ODS(userid.DISPLAY.LIST)

HSEND WAIT EXPIREBV EXECUTE

HSEND RECYCLE DISPLAY DAILY PERCENTVALID(15)

HSEND RECYCLE DISPLAY ML2 PERCENTVALID(15)

HSEND LIST VOL(W00340) TERM

HSEND LIST TTOC(W00340) TERM BOTH

HSEND LIST LEVEL(SP) BCDS SEL(AGE(400)) TERM

HSEND LIST DSN(DATASET.NAME) BOTH TERM


--


To be editted :)

vrijdag 18 april 2008

Graphical View HSM Activity

Ever wanted to have a quick visual on your HSM activity?
By feeding the SYSLOG (or a selection of the SYSLOG as long as it has the ARC-messages) into the following SAS you get a nice report showing the times and durations of your HSM tasks.

The SAS assumes the SYSLOG file is a file spanning the period of no more than one 24 hour period.

How is this graph created?

Just downlaod the source : http://www.savefile.com/files/1528255

And there you have the complete source to craft your very own HSM activity Graphs!

maandag 31 maart 2008

Resize (or move) DfRMM Journal Dataset

Ever wanted to resize the RMM Journal dataset? Ever wanted to do this without stopping RMM?

This is the short recipe for doing so:

  1. Allocate your new journaldataset (DFRMM.NEW.JOURNAL)
  2. Quiesce DFRMM (f DFRMM,quiesce)
  3. Run EDGHSKP, PARM=(BACKUP) to empty the Journal
  4. Rename current journaldataset
  5. Rename DFRMM.NEW.JOUNRAL to whatever is in your EDGRMMxx (or change EDGRMMxx)
  6. Restart DFRMM (f DFRMM,m=xx)
  7. Be a good boy and delete the old journaldataset
For calulating the required size of your journal dataset you can use the formula from the Implementation and Custumization Guide:
  • 1.5 KB for each user change made
  • 1.5 KB for each data set retained by a vital record specification
  • 1.5 KB for each data set no longer retained by a vital record specification
  • 1.5 KB for each expiring volume
  • 6.7 KB for each specific mount
  • 8.3 KB for each scratch mount
  • 1.5 KB for each volume retained by a vital record specification
  • 2.6 KB for each volume in or out of the library
  • 3.0 KB for each volume returned to scratch
  • 3.5 KB for each volume moved to or from a storage location
  • 1.5 KB for each volume that has not reached its expiration date and is no longer retained by a vital record specification
  • 1.5 KB for each logical volume exported or imported
  • 1.3 KB for each vital record specification created
My RoT when resizeing the journal dataset is to just triple the size, as changes regarding the tape environment are mostly not reflected in the sizing parameters of the journaldataset :)

To make this a complete HOWTO, below you will find the JCL to backup the journal when DFRMM is not active.... (dots inserted for readability)

//STEP EXEC.. PGM=EDGBKUP,
//............PARM='BACKUP(DSS)'
//SYSPRINT DD SYSOUT=*
//MASTER...DD DISP=SHR,DSN=YOUR.CDS
//JOURNAL..DD DISP=SHR,DSN=YOUR.OLD.JOURNAL
//JRNLBKUP.DD DSN=YOUR.JRNLBKUP
//............DISP=(,CATLG),
//............
AVGREC=U,SPACE=(9000,(500,500)),
//............LRECL=9000,RECFM=VB

Powered By Blogger

html code

This Should Be A Geeky Link
I need some good 100x100 piccies :)

a text

About Me

Mijn foto
Tja, It-er 'pur sang' vanaf de vroege tienerjaren (en misschien vlak daarvoor ook al wel, zal het eens navragen bij paps en mams) verslaafd aan computers. Via de commodore 64 (bedankt Cees) door naar de MSX1, MSX2, MSX2+, Commodore Amiga, 286,386,386DX,486,Apple powerPC, pentium weer terug naar af op het Mainframe (je weet toch, die oude dinosaurus machines die nu weer zo hip zijn!) Uiteraard dus werkzaam in de IT. 9 jaar bij een bank/verzekeraar en vanaf binnenkort de detachering in. Hopeloos verliefd op mijn meissie Stacey (uit NoordIerland, al het mooie komt van verre!) en koning te rijk met onze zoon Jamie. Ach er valt nog zo veel te vertellen, maar het lezen van de berichten zal na verloop van tijd wel wat meer duidelijk maken.

Labels