View previous topic :: View next topic
|
Author |
Message |
genesis786
Active User
Joined: 28 Sep 2005 Posts: 210 Location: St Katherine's Dock London
|
|
|
|
Hi,
I was running a job in TSO, which got abended after 3 hours of clock time. Abend code was S222. I had given TIME=NOLIMIT in the job statement. I think that some other job had pulled the resources which made my job abend.
Can I somehow find which job did that? |
|
Back to top |
|
|
priyesh.agrawal
Senior Member
Joined: 28 Mar 2005 Posts: 1448 Location: Chicago, IL
|
|
|
|
Quote: |
I think that some other job had pulled the resources which made my job abend.
Can I somehow find which job did that? |
And what makes you think like that... Is there any relevent message ??
You may also want to look at the functionality of the executing script to be ensured that it is not catching up in a never ending loop. |
|
Back to top |
|
|
genesis786
Active User
Joined: 28 Sep 2005 Posts: 210 Location: St Katherine's Dock London
|
|
|
|
Nah! There is no infinite loop. It's a simple restore job, restoring files from a tape.
Version 6.5 Parm S222
Message S222 U0000 REASON=00000000 710
----------------------------------------------------------------------------
222,
Quote: |
,
Explanation: The operator, or an authorized time sharing option,
extensions (TSO/E) user, canceled the job without requesting a dump.,
,
System Action: The system ends the job. In some cases, the system might,
write a dump even though a dump was not requested, depending on which,
system routine has control.,
,
Programmer Response: Find out why the operator or TSO/E user canceled the,
job. Correct any errors and resubmit the job. If you want a dump, have the,
operator resubmit the job and then cancel it using the command CANCEL,
jobname, DUMP.,
|
This made me think that a job has abended my job! |
|
Back to top |
|
|
PeD
Active User
Joined: 26 Nov 2005 Posts: 459 Location: Belgium
|
|
|
|
Quote: |
It's a simple restore job |
You have to talk to your storage people to check if something is not wrong with tapes drives, or robot, because what a time for a simple restore.
For the cause of your S222, you have to look at the log or at the SMF records. |
|
Back to top |
|
|
UmeySan
Active Member
Joined: 22 Aug 2006 Posts: 771 Location: Germany
|
|
|
|
Hi there !
Three hours for a simple restore of a dataset. Are you shure, that this specific dataset was not blocked by another system or task.
Regards, UmeySan |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
Did anyone notice the message : WAITING FOR DATASETS???? If it was a restore from tape who's the one hiding it? Did someone allocate the dataset to be restored (it might be yourself allocating it by TSO). |
|
Back to top |
|
|
genesis786
Active User
Joined: 28 Sep 2005 Posts: 210 Location: St Katherine's Dock London
|
|
|
|
Job was restoring the datasets from the tape! Everything was going well and suddenly I find the my job has abended with S222.
Now there are only 2 possibilities for this to happen:
1. Job exceeded the time limit. (which i obviated by coding TIME=NOLIMIT).
2. Some other user/job pulled the resources which made my job abend.
Given the second one happen, is it possible somehow to find out what job or which user did that? Because I couldn't find any meaningful message in the joblog which could lead me to the answer! |
|
Back to top |
|
|
PeD
Active User
Joined: 26 Nov 2005 Posts: 459 Location: Belgium
|
|
|
|
As said before, check LOG or SMF records.
But can't you consider now ( after 7 days ) this as an accident?
Let's say you have a job that frequently encounters the S222 abend due to exceeding the time limit. Here are some specific actions you can take:
Increase Time Limit: If the job requires more time to complete its tasks, adjust the time limit specified in the job's execution parameters or in the job scheduler.
Optimize Processing: Review the job's logic and processing steps. Identify areas where optimization or parallel processing techniques can reduce execution time.
Resource Allocation: Ensure that the job has sufficient access to CPU resources, memory, and I/O devices. Adjust resource allocations as needed.
Monitor Job Execution: Use monitoring tools to track job progress, resource usage, and any warning signs that could lead to a time limit exceeded condition.
Review System Configuration: Check the overall system configuration and workload to identify any systemic issues that could contribute to job cancellations. |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
As far as I know exeeding time limit results in a S322 so imho the restore was cancelled by an operator either due to waiting for datasets or they needed a tape-unit or the tape had irrecoverable errors or whatever. The systemlog, like PeD states, should show what actually happened. Every keystroke an operator enters at his console is recorded. Did you try to run the recovery job again? |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
Are we interested in a S322 or a S222 abend?
If it is a 222, it is most likely an "operator cancel". Some reasons for an operator to cancel a job are:
The operator canceled your job for one of the following reasons:
1. It was waiting for resources that were not immediately available.
2. It appeared to be in a loop.
3. It was canceled to correct a system interlock condition.
4. It may have violated a procedure established for your installation.
5. It may have been a mistake - the wrong job was canceled.
In many organizations, the operations people are required to document ANY job cancels. If you have this happen in the future, you should call/visit your scheduling or operatons dept and have them explain why the job was canceled. |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
@d.sh among others,
TS mentioned an S222 (cancelled by operator). Hopefully TS will get back to us.............I hope |
|
Back to top |
|
|
gamarendra
New User
Joined: 12 May 2006 Posts: 13 Location: bangalore
|
|
|
|
Hi All,
If a job abends with S122 and S322 means it's Looping.
If it is S222 it's Cancelled by an operator.
/references/a29.html#U1 |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
A 322 doesn't necessarily mean a job is looping.
Quite often this happens when a job exceeds the allowable cpu time for that job. The job then needs to be run in a different class (if classes at your site include cpu time restrictions) or have the time parameter increased - making sure that the program is NOT in a loop first.
I's suggest that you check with your scheduling or operations people to find what the rules are. |
|
Back to top |
|
|
Praveen Kumar Singh
New User
Joined: 02 Jan 2007 Posts: 6 Location: Mumbai
|
|
|
|
Hi Rahul,
For your Abend S222.
Check the Job log first(as told before). If there is no explanation contact operator---Possible cause is Line or Card estimate exceeded JCL error caused mount request for invalid or Non-Existing Volume of the Device currently not Available.
Causes of S222 Abend
Operator Cancellation: The job was manually canceled by the system operator, often due to the job consuming too many resources or running for too long.
Exceeding CPU Time Limit: The job exceeded its allocated CPU time limit set by the TIME parameter in the JCL or by system defaults.
Resource Constraints: The system may be under heavy load, and the job is consuming resources that need to be freed up for other critical processes.
System Issues: There could be underlying system issues causing jobs to be canceled to maintain overall system stability.
Steps to Diagnose and Resolve S222 Abend
Check Job Log for Messages:
Look at the job log (JESMSGLG) and system output (SYSOUT) to identify messages indicating why the job was canceled. The log might show messages like "JOB CANCELLED BY OPERATOR" or "CPU TIME LIMIT EXCEEDED."
Increase CPU Time Limit:
If the job is running longer than expected and hitting a CPU time limit, you may need to increase the TIME parameter for the job or step.
Example:
Code: |
//MYJOB JOB (ACCT),'JOB NAME',TIME=1440
//STEP1 EXEC PGM=MYPROGRAM,TIME=1440 |
Optimize the Program:
Review the program logic to identify and optimize any inefficiencies. Ensure there are no infinite loops or unnecessarily long processing steps.
Break Down the Job:
If the job performs multiple tasks, consider breaking it down into smaller jobs or steps that can be executed separately.
Check Resource Availability:
Ensure that sufficient system resources (CPU, memory) are available for the job. High system load can cause jobs to be canceled due to exceeding resource limits.
Operator Actions:
Communicate with the system operator to understand why the job was canceled. If it was a manual action, clarify the reasons and see if adjustments can be made to avoid future cancellations.
Use Performance Monitoring Tools:
Utilize mainframe performance monitoring tools to track CPU usage and job performance. Tools like IBM's OMEGAMON, CA SYSVIEW, or BMC MainView can help identify bottlenecks. |
|
Back to top |
|
|
mmwife
Super Moderator
Joined: 30 May 2003 Posts: 1592
|
|
|
|
Other likely causes are:
The operator thought the job was in a loop (or wait state) and he cancelled.
The operator needed resources used by the job for production work and he cancelled.
The operator thought 3 hrs was enough time for a test job (and nobody told him about a special case) and he cancelled.
The operator thought he'd "teach this guy a lesson" and he cancelled. |
|
Back to top |
|
|
raak
Active User
Joined: 23 May 2006 Posts: 166 Location: chennai
|
|
|
|
hey there,
In our shop, we are supposed to use different value for CLASS in the jobstep if the jcl contains any Tape dataset.
I.e if we have a tape dataset in the jcl, we use CLASS=R, otherwise CLASS=N..
And the catch is; If u don't give the correct value for class, then the job is going to abend with S222.
For example, if i try to run a jcl which uses a tape dataset and i have given CLASS=N in the jobcard, then I get an S222.
Since u mentioned about the tape datasets, u can check for such a case also... |
|
Back to top |
|
|
|