Hello!
Can anyone help me to alter a specific storage class by batch job, before and after running another batch job?
I need to set GUARANTEED SPACE attribute to "Yes" before running the job and set it to "NO" after running the job.
alter storage class attributes by batch job
-
- Posts: 6
- Joined: Tue Sep 11, 2018 5:36 pm
- Skillset: mainframe ZOS, CICS, Tivoli
- Referer: web search
- Location: Afghanistan
alter storage class attributes by batch job
You will never learn if you don't make mistakes!
-
- Global moderator
- Posts: 3720
- Joined: Sat Dec 19, 2009 8:32 pm
- Skillset: Systems programming, SAS, COBOL, CICS, JCL, SMS, VSAM, etc.
- Referer: other forum
- Location: Dubuque, Iowa, USA
Re: alter storage class attributes by batch job
From https://www.lascon.co.uk/zOS-DFSMS-Storage-Class.php :
So you should be able to define a storage class of GSPACE as the quote indicates, then define a storage class with guaranteed space set to N, and with appropriate ACS routine rules you should be able to accomplish what you want. If you are not a storage administrator at your site, you will need to work with your site support group to accomplish what you want.Specifically placing data
This is the other side of the coin. You want a dataset to be SMS managed, but you want to place it onto a specific disk. A good example, is the FDRABR initialisation dataset, which must go on the correct disk. You do this by using an SMS construct called 'guaranteed space'.
When you define a storage class in ISMF, you will see a parameter
Guaranteed Space . . . . . . . . . N
You change the pre filled 'N' to a 'Y', and SMS will not guarantee you any space, but it will guarantee to give you the volume you ask for. Its your responsibility to check that the space is there.
This is a powerful facility which lets you override all SMS control. I suggest you restrict it to a controlled set of users, using the following.
Define a storage class called something like GSPACE, which has the guaranteed space attribute set to 'Y', and define a Filtlist which contains explicit users who can override SMS, or pattern masks of users that can override SMS, if you RACF naming standards let you do this.
If you specify a storclass of 'GSPACE', and if you are contained in the list of authorised users, you will get the volume you asked for, otherwise, you drop down to a default value.
-
- Posts: 474
- Joined: Thu Mar 10, 2016 5:03 pm
- Skillset: assembler rexx zOS ispf racf smf
- Referer: saw it in the experts foprum thought I could help here
Re: alter storage class attributes by batch job
The only SMS batch job interface I am aware of is Naviquest, described in the 'DFSMSdfp Storage Administration' manual chapter 'Using NaviQuest'. However it seems a bit complicated what you are looking for as that will require changing one or more SMS ACS routines before and after running that job of yours. I will strogly suggest a permanent GUARANTEED SPACE storage class, protected against misuse.
Perhaps you can tell us why you want/need to do as described?
Perhaps you can tell us why you want/need to do as described?
-
- Posts: 6
- Joined: Tue Sep 11, 2018 5:36 pm
- Skillset: mainframe ZOS, CICS, Tivoli
- Referer: web search
- Location: Afghanistan
Re: alter storage class attributes by batch job
Robert Sample wrote:From https://www.lascon.co.uk/zOS-DFSMS-Storage-Class.php :So you should be able to define a storage class of GSPACE as the quote indicates, then define a storage class with guaranteed space set to N, and with appropriate ACS routine rules you should be able to accomplish what you want. If you are not a storage administrator at your site, you will need to work with your site support group to accomplish what you want.Specifically placing data
This is the other side of the coin. You want a dataset to be SMS managed, but you want to place it onto a specific disk. A good example, is the FDRABR initialisation dataset, which must go on the correct disk. You do this by using an SMS construct called 'guaranteed space'.
When you define a storage class in ISMF, you will see a parameter
Guaranteed Space . . . . . . . . . N
You change the pre filled 'N' to a 'Y', and SMS will not guarantee you any space, but it will guarantee to give you the volume you ask for. Its your responsibility to check that the space is there.
This is a powerful facility which lets you override all SMS control. I suggest you restrict it to a controlled set of users, using the following.
Define a storage class called something like GSPACE, which has the guaranteed space attribute set to 'Y', and define a Filtlist which contains explicit users who can override SMS, or pattern masks of users that can override SMS, if you RACF naming standards let you do this.
If you specify a storclass of 'GSPACE', and if you are contained in the list of authorised users, you will get the volume you asked for, otherwise, you drop down to a default value.
Many Thanks for your useful link and clear guidance.
You will never learn if you don't make mistakes!
-
- Posts: 6
- Joined: Tue Sep 11, 2018 5:36 pm
- Skillset: mainframe ZOS, CICS, Tivoli
- Referer: web search
- Location: Afghanistan
Re: alter storage class attributes by batch job
willy jensen wrote:The only SMS batch job interface I am aware of is Naviquest, described in the 'DFSMSdfp Storage Administration' manual chapter 'Using NaviQuest'. However it seems a bit complicated what you are looking for as that will require changing one or more SMS ACS routines before and after running that job of yours. I will strogly suggest a permanent GUARANTEED SPACE storage class, protected against misuse.
Perhaps you can tell us why you want/need to do as described?
Dear willy,
Many thanks for introducing Naviquest which solved my problem.
I have a storage group which many backup datasets sits there every night. in one of our night routines, its required to allocated some other datasets on specific volumes of this storage group.
so I have to set “Guaranteed Space” before and after that job.
The JCL I used is as follows:
Code: Select all
//ALTERSTC JOB (ACCT),'IBMUSER',MSGCLASS=H,
// NOTIFY=IBMUSER,CLASS=A,MSGLEVEL=(1,1),TIME=(0,10)
//MYLIB JCLLIB ORDER=SYS1.SACBCNTL
//STEP1 EXEC ACBJBAOB,
// TABL2=IBMUSER.TEST.ISPTABL
//SYSUDUMP DD SYSOUT=*
//SYSTSIN DD *
PROFILE PREFIX(SYS1)
ISPSTART CMD(ACBQBAS1 ALTER +
SCDS(DFSMS.SCDS) +
STCNAME(SCLARGE) +
GURNTSPC(Y) +
)
/*
//DISPLAY EXEC ACBJBAOB,
// TABL2=IBMUSER.TEST.ISPTABL
//SYSUDUMP DD SYSOUT=*
//SYSTSIN DD *
PROFILE PREFIX(SYS1)
ISPSTART CMD(ACBQBAS1 DISPLAY +
SCDS(DFSMS.SCDS) +
STCNAME(SCLARGE) +
)
//SETSMS EXEC PGM=IEFBR14
//C1 COMMAND 'SETSMS SCDS(SYS1.DFSMS.SCDS)'
Coded for you
You will never learn if you don't make mistakes!
-
- Similar Topics
- Replies
- Views
- Last post
-
- 1
- 5317
-
by Robert Sample
View the latest post
Tue Oct 04, 2022 7:36 pm
-
- 2
- 1803
-
by prino
View the latest post
Sun Jun 16, 2024 12:38 am
-
- 7
- 5172
-
by sergeyken
View the latest post
Fri Nov 13, 2020 1:24 am
-
- 2
- 2244
-
by Terry Heinze
View the latest post
Tue Feb 15, 2022 9:13 pm
-
-
RC's when running a REXX exec under ISPSTART in Batch
by golemis » Thu Nov 03, 2022 5:19 pm » in TSO & ISPF - 5
- 3463
-
by golemis
View the latest post
Fri Nov 04, 2022 2:19 pm
-