Solved

iSeries Journal Receiver Monitoring

Posted on 2014-04-03
5
1,434 Views
Last Modified: 2014-04-04
I have a passing knowledge of CL and some of the journal-related commands on the IBM iSeries machines.  We are using V6R1.  My assignment is to find a way to measure how long journal receivers are lasting before they are filled and closed.  If entries are filling the receivers too quickly, we may have a runaway job, which we need to kill and investigate.

Can I run some combination of queries, workfiles, data areas and system commands in a CL program to do the following?

1) Get the output for WRKOBJ OBJ(*ALL/TPS*) OBJTYPE(*JRNRCV) into a workfile.
2) Loop through those objects and pass the receiver numbers to DSPJRNRCVA JRNRCV([number from workfile]).
3) Save the receiver number, attach date and time and detatch date and time to another workfile.

The commands I have looked at so far do not all allow *OUTFILE output, so with my limited abilities I can't even say if this technique is possible.  Thanks in advance for any assistance.
0
Comment
Question by:VieleFragen
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
5 Comments
 
LVL 5

Accepted Solution

by:
stevebowdoin earned 500 total points
ID: 39976923
Here is what I believe.  I have not proven it.
If you have the system manage your journal receivers, it will CHGJRN from time to time.  If you have a “run-a-way” job, this may happen frequently.

There is an exit point for CHGJRN “QIBM_QJO_CHG_JRNRCV”.  You can find it with WRKREGINF.  You could write a CLP and add it as an exit program via an 8 then a 1.

See https://pic.dhe.ibm.com/infocenter/iseries/v6r1m0/topic/apis_web/jc.pdf page 160.

You may want to have your exit program send a message or an email (SNDDST) every time a journal changes.

If you elect to continue on the path you are on, use:
DSPOBJD OBJ(journallib/*ALL)              
        OBJTYPE(*JRNRCV)          
        OUTPUT(*OUTFILE)          
        OUTFILE(yourworklib/yourworkfile)

This will create a PF you can read to check how many and the creation dates of the receivers.

The exit program method is by far cooler.

Steve
0
 
LVL 35

Expert Comment

by:Gary Patterson
ID: 39977654
Steve's exactly right - use the QIBM_QJO_CHG_JRNRCV exit point.  Your exit program will get called automatically whenever a receiver is detached for any reason and will be passed the journal receiver name and the time it was detached.    You then just grab the receiver's creation date, for example in CL, use RTVOBJD CRTDATE().

Now you know how fast the receiver filled and can make your notification decision based on whatever criteria you like.

http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_61/apis/xchgrcv.htm

Points to Steve, please - I'm just agreeing with him since he was a little tentative.
0
 
LVL 2

Author Comment

by:VieleFragen
ID: 39977991
Thanks guys!  I will defer using the exit point until phase 2, but to get up and running quickly the DSPOBJD command gives me exactly what we're looking for.

I can create a CLP to run hourly which will replace a workfile, then run a query and display the results showing the open, close and lifespan of journals.  If the timespans are too short and too many journals are being created, that will be the indicator of trouble we are looking for.

The query is as simple as:
select  ODOBNM,
        ODCDAT,
        ODCTIM,
        ODLDAT,
        ODLTIM
from SUPPORT.AVJRN
where ODOBNM like 'TPSRCV%'

Open in new window

Alan
0
 
LVL 2

Author Closing Comment

by:VieleFragen
ID: 39977997
I appreciate having a couple of options to address my situation.  I've used EE for a wide range of PC-software and -hardware issues, but this is the first time I've asked a question for a mainframe.  I will certainly tap this valuable knowledge again.

Thanks again to both posters!
0
 
LVL 35

Expert Comment

by:Gary Patterson
ID: 39978829
Not that it matters much, but AS/400 / iSeries / Power is not a mainframe.  Same severs are used to run Linux and AIX. We used to call them "midrange systems".  Now we pretty much just call them servers.
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The following article is comprised of the pearls we have garnered deploying virtualization solutions since Virtual Server 2005 and subsequent 2008 RTM+ Hyper-V in standalone and clustered environments.
Had a business requirement to store the mobile number in an environmental variable. This is just a quick article on how this was done.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial

732 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question