Sunday, August 8, 2010

Backup Failed with REASON 00C200E1

Hello All,

Here is another classic example of backup failure with REASON 00C200E1.

You will get below message:

DSNUGUTC - OUTPUT START FOR UTILITY, UTILID = DSQDBCTL
DSNUGUTC -  COPY TABLESPACE DSQDBCTL.DSQTSCT1 COPYDDN DSQTSCT1
DSNUGBAC - RESOURCE UNAVAILABLE
          REASON 00C200E1
          TYPE 00000220
          NAME QMF220.DSNDBC.DSQDBCTL.DSQTSCT1.I0001.A001
DSNUGBAC - UTILITY DATA BASE SERVICES MEMORY EXECUTION ABENDED, REASON=X'00E4010A'

If you do a QW for the above reason code, then you see

00C200E1
  Explanation:  The buffer manager (BM) subcomponent of DB2 is unable to
  open a data set that is required to be accessed by the requesting
  function. An error was returned by the media manager CONNECT function,
  which was invoked to open a VSAM data set. DB2 message DSNB204I was issued
  to inform the operator of the error condition. This reason code and the
  data set name are recorded in the cursor table (CT) and made available to
  the user in the SQLCA or in messages.

  This abend reason code is issued by the following CSECT: DSNB1OST

  System Action:  A 'resource not available' code is returned to the user.
  Abend status is recorded in SYS1.LOGREC.

  Operator Response:  Notify the system programmer.

  System Programmer Response:  Refer to system message IEC161I and DB2
  message DSNB204I for assistance in determining the cause of the error.
  Correct the situation, and notify the user to invoke the application

As you see, you need to search for IEC161I.
2 places you can able to see this, one is System LOG another place is DSN1DBM1.

It is logical to see in DBM1 as it manages buffer and the error says "he buffer manager (BM) subcomponent of DB2 is unable to open a data set"

After you look into the DBM1 started task, you may find following error messages:


ICH408I USER(SYS00   ) GROUP(SYS1    ) NAME(STC                 )  093
  QMF220.DSNDBC.DSQDBCTL.DSQTSCT1.I0001.A001 CL(DATASET ) VOL(DSN101)
  RESOURCE NOT PROTECTED
  ACCESS INTENT(UPDATE )  ACCESS ALLOWED(NONE   )
IEC161I 040(056,006,IGG0CLFT)-002,DSN1DBM1,DSN1DBM1,SYS30435,,,  094
IEC161I QMF220.DSNDBC.DSQDBCTL.DSQTSCT1.I0001.A001

Now it is confirmed that it is not a DB2 issue at all rather than RACF issue.

As you get the clue, you can contact the mainframe System admin/RACF admin to resolve the issue and rerun the job.

Cheers...
Prakash C. Singh
IBM Certified DB2 DBA

4 comments:

Oesler said...

Hey sir... luck me to find that info in your blog, that saved me some time digging for this reason code... that's because IBM's Manuals are not so clear.. it could say something such as "look into DBM1 task" much clear than mention (BM).

THanks,

Keep your good work

Jun Macalalad said...

I had a similar problem when tring to do a select * from table1 and returned with unavailable resource. doing an image copy or check index returned the same error. In DBM1 started task, there was a message: stating dataset not in catalog or catalog can not be accessed. The catalog is the one used by the table as its index.

I was able to drop the index and the table key and then when trying to add the index again, it came back with an error 'unavailable resource'.

how do you fix this now. I tried to reorg the table -- got the same error.

Jun Macalalad said...

as last resort, I did a dummy load of the table per partition and then recreated the index/keys

once recreated, a load of the table with real data is the option.

Jun Macalalad said...
This comment has been removed by the author.