Reinitializing DSNDB01.SYSUTILX

You need to reinitialize the DSNDB01.SYSUTILX directory table space if you cannot successfully execute the DISPLAY UTILITY and TERMINATE UTILITY commands. In this case, DSNDB01.SYSUTILX is damaged and you cannot recover DSNDB01.SYSUTILX, because errors occur in the LOGAPPLY phase.

About this task

Because DSNDB01.SYSUTILX contains information about active and outstanding utilities, the process of reinitializing this table space involves determining which objects have a utility in progress and resolving any pending states to make the object available for access.

Procedure

If DSNDB01.SYSUTILX must be reinitialized, use the following procedure with caution:

  1. Issue the -DIS DB(*) SPACENAM(*) RESTRICT command and analyze the output. Write down the following items:
    • All of the objects with a utility in progress (The objects in UTUT, UTRO, or UTRW status have utilities in progress.)
    • Any pending states for these objects (RECP, CHKP, and COPY are examples of pending states.
  2. Run the following utility statement to reset the SYSUTILX table space:
    CATMAINT UPDATE UTILX RESET
    Initialize SYSUTILX and its indexes.
  3. Issue the -START DB(dbname) ACCESS(UT) command for each database that has objects with a utility in progress.
  4. Issue the -START DB(dbname)SPACENAM(spname) ACCESS(FORCE) command on each object with a utility in progress. This action clears all utilities that are in progress or in pending states. (Any pending states are cleared, but you still need to resolve the pending states as directed in the next step.)
  5. Resolve the pending states for each object by running the appropriate utility. For example, if an object was in the RECP status, run the RECOVER utility.
  6. Issue -START DB(dbname) ACCESS(RW) for each database.