-RESET INDOUBT command (Db2)

The Db2 command RESET INDOUBT purges the information that is displayed in the indoubt thread report that is generated by the DISPLAY THREAD command.

When the DISPLAY THREAD TYPE(INDOUBT) command output shows a RESET value of YES, use the RESET INDOUBT command without the FORCE option to purge indoubt thread information for threads in the following situations:

  • Threads in which the Db2 database manager has a coordinator role that it cannot fulfill because of participant cold start, sync point protocol errors, or indoubt resolution protocol errors.
  • Threads that were indoubt but were resolved with the RECOVER INDOUBT command. Heuristic damage occurred during subsequent resynchronization with the coordinator.

When the DISPLAY THREAD TYPE(INDOUBT) command output shows a RESET value of null, use the RESET INDOUBT command with the FORCE option to purge indoubt thread information in the following situations:

  • A Db2 database manager has a coordinator role. No errors occurred that preclude automatic resolution with the participants. Resynchronization with affected participants is not performed.
  • A Db2 database manager has a participant role. No errors occurred that preclude automatic resolution with the coordinator. Resynchronization with the coordinator is not performed.

The DISPLAY THREAD TYPE(INDOUBT) command output must indicate a commit or abort decision before an entry can be purged.

Abbreviation: -RESET IND

Environment

This command can be issued from a z/OS® console, a DSN session under TSO, a DB2I panel (DB2 COMMANDS), an IMS or CICS® terminal, or a program using the instrumentation facility interface (IFI).

Data sharing scope: Member

Authorization

To execute this command, you must use a privilege set of the process that includes one of the following privileges or authorities:
  • RECOVER privilege
  • SYSOPR authority
  • SYSCTRL authority
  • SYSADM authority

Db2 commands that are issued from a logged-on z/OS console or TSO SDSF can be checked by Db2 authorization using primary and secondary authorization IDs. Start of changeA logged-on z/OS user ID must be defined in RACF or a similar security server.End of change

Syntax

Read syntax diagramSkip visual syntax diagramRESET INDOUBTLUNAME(,luname*)FORCELOCATION(,location-name)IPADDR(,ipaddr..port*)FORCELUWID(,luwidtoken)LOCATION( location-name)

Option descriptions

LUNAME( luname , …)
Purges all qualifying indoubt information that pertains to the specified LUNAME.
luname
Is expressed as a one- to eight-character name. If you use more than one LUNAME, separate each name with a comma.
(*)
Purges indoubt information for all SNA locations.
FORCE
Forces the purging of coordinator and participant indoubt resolution responsibility even when no errors that preclude automatic resolution have been detected. FORCE can be used in conjunction with IPADDR or LUNAME.

Purging resynchronization information when no errors that preclude automatic resynchronization have been detected simulates a cold start. Thus, no connections can exist between Db2 and the named partner when this command is executed. After you run the FORCE option, the next connection with the named partner location will be a cold start connection. If a connection with the named partner exists at the time this command is run, the command fails with message DSNL448I.

FORCE can be used to bypass warm start connectivity problems when errors that are occurring in the recovery log name exchange result in the partner refusing the connection attempt.

LOCATION( location-name , …)
Purges all qualifying indoubt information that pertains to the named location.
location-name is expressed as a 1- to 39-character name, which identifies the partner, whether it is a requester or server. If the partner is not a Db2 for z/OS subsystem, the location name can be expressed as one of the following formats:
  • A one- to eight-character luname, as defined to VTAM® at the server location. This name must be enclosed in the less-than (<) and the greater-than (>) characters to distinguish it from a Db2 location name.
  • A dotted decimal or colon hexadecimal IP address.
IPADDR( ipaddr..port )
Purges all qualifying indoubt information that pertains to the dotted decimal or colon hexadecimal IP address that is associated with the resync port number.
This keyword can be used in place of the LUNAME keyword when the partner uses TCP/IP instead of SNA.
ipaddr..port
Is the dotted decimal or colon hexadecimal IP address of the remote site, followed by the resync port number. The IP address and port must be delimited by a double period (..). If you use more than one IP address and port number, use commas to separate the items in the list.
(*)
Purges indoubt information for all TCP/IP locations.
LUWID
Purges indoubt information for the thread with the specified LUWID.
luwid
Consists of an LU network name, an LUW instance number, and a commit sequence number.

The LU network name consists of a 1- to 8-character network ID, a period, and a 1- to 8-character network LU name. The LUW instance number consists of a period followed by 12 hexadecimal characters. The last element of the LUWID is the commit sequence number, which consists of a period followed by four hexadecimal characters.

token
A token is an alternate way to express an LUWID. Db2 assigns a token to each thread that it creates. It is a one- to six-digit decimal number that appears after the equal sign in all Db2 messages that display an LUWID.

If you enter one- to six-decimal digits, Db2 assumes that you are supplying a token. The token that Db2 assigns to a specific LUWID is unique for that Db2 subsystem, but it is not necessarily unique across all subsystems.

Output

The response from this command includes any of the messages from DSNL440I through DSNL449I.

If you specify RESET INDOUBT incorrectly, you receive message DSNL440I.

Usage notes

Purging participant indoubt information
Use caution when you specify the FORCE option to purge participant indoubt information. Normally, after the use of the RECOVER INDOUBT command, automatic resolution with the coordinator determines if heuristic damage has occurred. This detection is lost if RESET INDOUBT is used before automatic resolution with the coordinator can be achieved.
Purging coordinator indoubt information:
Use caution when you specify the FORCE option to purge coordinator indoubt information when no errors are precluding automatic resolution. When the information is purged, any participant that is indoubt is forced to use a heuristic decision process to resolve the indoubt logical unit of work.

Examples

Begin general-use programming interface information.
Resetting indoubt threads with IP address and resync port number
For example, assume that you issue a DISPLAY THREAD command with TYPE(INDOUBT), and the output includes the following DSNV406I message:
DSNV406I -DB2C INDOUBT THREADS -                 
COORDINATOR          STATUS      RESET URID                 AUTHID
FFFF:10.97.217.50.   INDOUBT           0000000056765A422C57 PAULMCW
.1332       

Start of changeYou can issue the following command to reset the indoubt unit of work by specifying the IP address (FFFF:10.97.217.50) and the resync port number of the coordinator (1332) from the message:End of change

RESET INDOUBT IPADDR(::FFFF:10.97.217.50..1332)
Resetting indoubt threads with LUWIDs or tokens
Assume that you need to purge information about two indoubt threads. The first has an LUWID of DB2NET.LUNSITE0.A11A7D7B2057.0002, and the second has a token of 442. You can use the following command to purge the information:
-RESET INDOUBT LUWID(DB2NET.LUNSITE0.A11A7D7B2057.0002,442)
End general-use programming interface information.