alter storage class attributes by batch job



IBM OS/370, MVS, OS/390, Linux, TPF, VM/CMS, VM/ESA, VSE/ESA, z/VM, z/VSE, z/OS, z/OS.e etc...

alter storage class attributes by batch job

Postby bahareh » Tue Sep 11, 2018 5:50 pm

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.
You will never learn if you don't make mistakes!
bahareh
 
Posts: 6
Joined: Tue Sep 11, 2018 5:36 pm
Location: Afghanistan
Has thanked: 2 times
Been thanked: 0 time

Re: alter storage class attributes by batch job

Postby Robert Sample » Tue Sep 11, 2018 6:54 pm

From https://www.lascon.co.uk/zOS-DFSMS-Storage-Class.php :
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.
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.

These users thanked the author Robert Sample for the post:
bahareh (Tue Sep 11, 2018 8:25 pm)
Robert Sample
Global moderator
 
Posts: 3720
Joined: Sat Dec 19, 2009 8:32 pm
Location: Dubuque, Iowa, USA
Has thanked: 1 time
Been thanked: 279 times

Re: alter storage class attributes by batch job

Postby willy jensen » Tue Sep 11, 2018 7:27 pm

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?

These users thanked the author willy jensen for the post:
bahareh (Tue Sep 11, 2018 8:25 pm)
willy jensen
 
Posts: 465
Joined: Thu Mar 10, 2016 5:03 pm
Has thanked: 0 time
Been thanked: 70 times

Re: alter storage class attributes by batch job

Postby bahareh » Wed Sep 12, 2018 11:40 am

Robert Sample wrote:From https://www.lascon.co.uk/zOS-DFSMS-Storage-Class.php :
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.
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.


Many Thanks for your useful link and clear guidance.
You will never learn if you don't make mistakes!
bahareh
 
Posts: 6
Joined: Tue Sep 11, 2018 5:36 pm
Location: Afghanistan
Has thanked: 2 times
Been thanked: 0 time

Re: alter storage class attributes by batch job

Postby bahareh » Wed Sep 12, 2018 11:49 am

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:

//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!
bahareh
 
Posts: 6
Joined: Tue Sep 11, 2018 5:36 pm
Location: Afghanistan
Has thanked: 2 times
Been thanked: 0 time


Return to Operating Systems

 


  • Related topics
    Replies
    Views
    Last post