View previous topic :: View next topic
|
Author |
Message |
graswant
New User
Joined: 29 Apr 2006 Posts: 93 Location: Singapore
|
|
|
|
Hi
Is there a way to send a alert to consol using SMF stating that the volume is above 90% full..Can someone please lemme know the full process to do that....? |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
There are commercially available tools to do that - but expensive
I suggest you talk to your storage team is space is a problem |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
Is there some reason you mention SMF?
Has your management agreed to permit console displays? On most systems it is not permitted for some program to issue console messages.
What would the console operator do if some volume was 90% full?
Most dasd is defined in pools and a particular volume is not an issue.
If you explain what you really want to do, we may be able to offer suggestions. |
|
Back to top |
|
|
graswant
New User
Joined: 29 Apr 2006 Posts: 93 Location: Singapore
|
|
|
|
Hi,
Thanks for the reply, I want to know that if there is a way to send an alert to Consol directly from SFM..stating that a perticular Volume is over 90% full. I know if I write a Rexx or JCL and schedule it through Control M and get a report and then using WTOC i can send msg.. but I want to know if I can do it directly from SMF..and how to do it....so that I don't need to write a JCL or REXX and configure SMF in such a way that it throws alerts itself to consol....Thanks |
|
Back to top |
|
|
Bill Dennis
Active Member
Joined: 17 Aug 2007 Posts: 562 Location: Iowa, USA
|
|
|
|
Don't think you can do this.
I had to write my own pgm to run as a started task that sleeps for 15 minutes and then examines certain DASD volumes. When one is xx% full, I issue a command to start an archive task. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
What about using Interval Migration ? |
|
Back to top |
|
|
graswant
New User
Joined: 29 Apr 2006 Posts: 93 Location: Singapore
|
|
|
|
Hi
Thanks for the answers. Bill can you please let me know the way you did..a sample jcl will be helpful...Expat I am not sure of interval migration...actually I am not a Storage guy....my mngr wants me to learn this and gave me this task....and I am kind of lost here....can you please give me a sample jcl which can check the volumes and if the volume is filled above 90% or reaches 90% it automatically issue a command to start an archive task. or may be throws a msg on consol using some command....if not consol may be to a perticular user.....thanks... |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
If your shop uses HSM, you can define a storage pool (collection of volumes) to be processed by HSM at regular intervals, the default is every hour.
If the volumes are above the the high usage threshhold defined into SMS, then HSM will attempt to migrate datasets to reduce the usage.
If you have not got HSM, then maybe if you have another DLM product installed, that can do the same thing. |
|
Back to top |
|
|
graswant
New User
Joined: 29 Apr 2006 Posts: 93 Location: Singapore
|
|
|
|
Hi Expat,
Thanks for the reply..Do you have some sample JCL or steps to do that...I am not storage guy..I do Security and CICS work...and I guess HSM is there on our shop... |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
Interval migration is not a batch process, everything is cobntrolled by the SMS definitions which is the responsibility of your storage team.
Usually, because of the overhead of IM processing, it is restriced to a small STORGRP, maybe up to 50 volumes maximum. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
Quote: |
...I am not storage guy.. |
I suspect that if your system is using SMS, someone is responsible for it.
It would be good to work with "them" about implementing what you want. |
|
Back to top |
|
|
graswant
New User
Joined: 29 Apr 2006 Posts: 93 Location: Singapore
|
|
|
|
Thanks for the help...I am going through HSM guide now..got the idea from Expact.... |
|
Back to top |
|
|
graswant
New User
Joined: 29 Apr 2006 Posts: 93 Location: Singapore
|
|
|
|
Well Expact..the solution you gave..solves most of the part...however my option of sending msg to consol is still not solved..so I guess I need to go with Bill's solution of writing a REXX or JCL and schedulling it twice a day and through msg to consol if some volume is about 90%....and I need your help bill...if you can give me that sample JCL or REXX..or if someone can help me with this..please.... |
|
Back to top |
|
|
Bill Dennis
Active Member
Joined: 17 Aug 2007 Posts: 562 Location: Iowa, USA
|
|
|
|
My code is an Assembler program that uses system macros to total the tracks used and then uses macro MGCR to issue the "S tasknnn" command. It's not a REXX that I can share.
Does SMS will automatically run the archive? Why do you still need a console message? |
|
Back to top |
|
|
graswant
New User
Joined: 29 Apr 2006 Posts: 93 Location: Singapore
|
|
|
|
Well I know...It can be done automatically.....but we have two LPARS...on TEST LPAR..SMS is not installed and I need it for that....
I have a JCl... but need to ask something
Code: |
//******************************************************************
//* DFSORT/ICETOOL STORAGE ADMINISTRATOR EXAMPLES
//* DCOLLECT EXAMPLE 3: CAPACITY PLANNING
//* CAPACITY PLANNING ANALYSIS AND REPORTS.
//******************************************************************
//S1 EXEC PGM=ICETOOL,REGION=1024K
//DFSMSG DD SYSOUT=*
//TOOLMSG DD SYSOUT=*
//INDD DD DSN=USERGRP.DCOLLECT,DISP=SHR
//OUTDD1 DD DSN=&&TEMP1,DISP=(NEW,PASS),LIKE=USERGRP.DCOLLECT
//SGVOLS DD SYSOUT=*
//OUTDD2 DD DSN=&&TEMP2,DISP=(NEW,PASS),LIKE=USERGRP.DCOLLECT
//SCRPT DD SYSOUT=*
//OUTDD3 DD DSN=&&TEMP3,DISP=(NEW,PASS),LIKE=USERGRP.DCOLLECT
//VOLRPT DD SYSOUT=*
//TOOLIN DD *
* Part 1
* Show the number of system-managed data sets that may be reblocked
* Include only D-type records with DCDSMSM and DCDREBLK flags on
COUNT FROM(INDD) USING(SMSM)
* Part 2
* Create a temporary data set with only 'V' type records
COPY FROM(INDD) TO(OUTDD1) USING(CPY1)
* Show volume free space statistics
STATS FROM(OUTDD1) ON(40,1,BI)
* Show the number of volumes with free space > 30%
RANGE FROM(OUTDD1) ON(40,1,BI) HIGHER(30)
* Part 3
* Print a report showing the number of volumes in each storage group
OCCUR FROM(OUTDD1) LIST(SGVOLS) BLANK -
DATE TITLE('VOLUMES IN EACH STORAGE GROUP') -
HEADER('STORAGE GROUP') HEADER('VOLUME COUNT') -
ON(87,30,CH) ON(VALCNT)
PART 4
* Create a temporary data set containing data set records that
* are sorted by storage class, with the allocated space totalled
* (SUMmed)
SORT FROM(INDD) TO(OUTDD2) USING(SRT1)
* Print a report showing total allocated space by storage class
* including the maximum, minimum and average allocated space
DISPLAY FROM(OUTDD2) LIST(SCRPT) BLANK -
TITLE('TOTAL ALLOCATED SPACE (KB) BY STORAGE CLASS') DATE TIME -
HEADER('STORAGE CLASS') HEADER('TOTAL SPACE (KB)') -
ON(171,10,CH) ON(93,4,BI) -
MAXIMUM('MOST SPACE:') MINIMUM('LEAST SPACE:') -
AVERAGE('AVERAGE SPACE:')
* Part 5
* Create a temporary data set that contains:
* - Type 'C' capacity planning records,
* - Occupancy after processing > target occupancy, and
* - Volume level is L0
COPY FROM(INDD) TO(OUTDD3) USING(CPY2)
* PRINT A REPORT SHOWING VOLUME SERIAL NUMBER, TARGET OCCUPANCY,
* occupancy after processing and date
DISPLAY FROM(OUTDD3) LIST(VOLRPT) BLANK -
DATE(DMY.) TITLE('VOLUMES NOT MEETING TARGET THRESHOLD') -
HEADER('VOLUME') ON(29,6,CH) -
HEADER('TARGET OCCUPANCY') ON(45,1,FI) -
HEADER('OCCUPANCY AFTER PROCESSING') ON(48,1,FI) -
HEADER('DATE') ON(35,4,PD)
//SMSMCNTL DD *
* Include only D-type records with DCDSMSM and DCDREBLK flags on
OPTION VLSHRT
INCLUDE COND=(9,1,CH,EQ,C'D',AND,74,1,BI,EQ,B'.1...1..')
/*
//CPY1 CNTL DD *
* Include only V-type records
INCLUDE COND=(9,1,CH,EQ,C'V')
/*
//SRT1CNTL DD *
* Include only D-type records, sort by storage class and
* sum (total) allocated space
INCLUDE COND=(9,1,CH,EQ,C'D')
SORT FIELDS=(171,10,CH,A)
SUM FIELDS=(93,4,BI)
/*
//CPY2 CNTL DD *
* Include only C-type records with volume level of L0 and
* occupancy after processing > target occupancy
OPTION VLSHRT
INCLUDE COND=((9,1,CH,EQ,C'C'),&,
(39,1,BI,EQ,X'00'),&,
(48,1,FI,GT,45,1,FI))
/*
//*
|
Now what is "USERGRP.DCOLLECT" ...just submiting this will give me the details of the usage or there is something else do I need to do....Thanks |
|
Back to top |
|
|
graswant
New User
Joined: 29 Apr 2006 Posts: 93 Location: Singapore
|
|
|
|
Now everything is working fine but I am not able to get few things which the above program should give....
Show volume free space statistics
STATS FROM(OUTDD1) ON(40,1,BI)
* Show the number of volumes with free space > 30%
RANGE FROM(OUTDD1) ON(40,1,BI) HIGHER(30)
AND
* Part 5
* Create a temporary data set that contains:
* - Type 'C' capacity planning records,
* - Occupancy after processing > target occupancy, and
* - Volume level is L0
COPY FROM(INDD) TO(OUTDD3) USING(CPY2)
* PRINT A REPORT SHOWING VOLUME SERIAL NUMBER, TARGET OCCUPANCY,
* occupancy after processing and date
DISPLAY FROM(OUTDD3) LIST(VOLRPT) BLANK -
DATE(DMY.) TITLE('VOLUMES NOT MEETING TARGET THRESHOLD') -
HEADER('VOLUME') ON(29,6,CH) -
HEADER('TARGET OCCUPANCY') ON(45,1,FI) -
HEADER('OCCUPANCY AFTER PROCESSING') ON(48,1,FI) -
HEADER('DATE') ON(35,4,PD)
The 3 optput files created...2 have records...Type V and D but what is this type C records for...the thrd output file is empty.....and even if the first file have type V records...I am not getting the output for free space statistics....Can someone please help .....
Thanks |
|
Back to top |
|
|
graswant
New User
Joined: 29 Apr 2006 Posts: 93 Location: Singapore
|
|
|
|
Work done...used this jcl to get the report...and then wrote a REXX to find if some volser is filled above 90% and throw a msg using SEND command...thanks for the inputs guys...... |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Good to hear that it is working as you need - thank you for letting us know
d |
|
Back to top |
|
|
Pedro
Global Moderator
Joined: 01 Sep 2006 Posts: 2547 Location: Silicon Valley
|
|
|
|
DCOLLECT is an IDCAMS command which gives you volume information. You probably want a job somewhat like this that creates your DCOLLECT dataset.
Code: |
//IDCAMS EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//REPORT DD SYSOUT=*
DCOLLECT OUTFILE(REPORT) VOLUMES(SYS159)
/*EOF |
|
|
Back to top |
|
|
|