UPDATE DBDESC command

Use the UPDATE DBDESC command to update database descriptors. A descriptor is a model that can be used to create descriptors or resources.

Updating a descriptor changes only the attributes explicitly specified on the UPDATE command. Attributes not specified retain their existing values. Any database resource or descriptor can be created using this descriptor as a model, by specifying the CREATE command with LIKE(DESC(descriptor_name)). Any descriptor or resource that was already created using this descriptor is not updated.

Subsections:

Environment

The following table lists the environments (DB/DC, DBCTL, and DCCTL) in which you can use the commands and keywords.

Table 1. Valid environments for the UPDATE DBDESC command and keywords
Command / Keywords DB/DC DBCTL DCCTL
UPDATE DBDESC X X  
NAME X X  
OPTION X X  
SET X X  

Syntax

Read syntax diagramSkip visual syntax diagram
                             .-,-----.                
                             V       |                
>>-+-UPDATE-+--DBDESC--NAME(---name*-+-)--+-| A |-+------------->
   '-UPD----'                             '-| B |-'   

>--+----------------+------------------------------------------><
   '-OPTION(ALLRSP)-'   

A

        .-,---------------------------.     
        V                             |     
|--SET(---+---ACCTYPE(-+-BRWS-+-)---+-+-)-----------------------|
          |            +-EXCL-+     |       
          |            +-READ-+     |       
          |            '-UPD--'     |       
          '-DEFAULT(Y)--------------'       

B

        .-,-------------------------.     
        V                           |     
|--SET(---+---RESIDENT(-+-N-+-)---+-+-)-------------------------|
          |             '-Y-'     |       
          '-DEFAULT(Y)------------'       

Keywords

The following keywords are valid for the UPDATE DBDESC command:

NAME
Specifies the 1-8 character name of the database descriptor name. Wildcards can be specified in the name. The name is a repeatable parameter. If the NAME parameter specified is a specific or wildcard name, command responses are returned for all the descriptor names that are processed. For NAME(*) command responses are returned only for the descriptor names that resulted in an error. OPTION(ALLRSP) can be specified with NAME(*) to obtain the command responses for all the descriptor names that are processed.
OPTION
Specifies additional functions to be performed along with the command.
ALLRSP
Indicates that the response lines are to be returned for all descriptors that are processed on the command. The default action is to return response lines only for the descriptors that resulted in an error. It is only valid with names that include a wildcard character. ALLRSP is ignored for other NAME values.
SET
Specifies the attribute values to be changed.
ACCTYPE
Specifies the access intent for a database created using this descriptor.
BRWS
The database is available for read-only processing on this IMS™ subsystem. The only programs that can use the database on this subsystem are those that have a PCB processing option of GO (PROCOPT=GO). Programs that access the data using the GO processing option might see uncommitted data since a sharing IMS subsystem could be updating the database. The database is opened for read-only processing.
EXCL
The database is to be used exclusively by this IMS subsystem. This exclusive access is guaranteed only when the database is registered to DBRC.
READ
The database is available for read-only processing in this IMS subsystem. Programs with update intent can be scheduled, but cannot update the database. Access type READ differs from access type BRWS in that the data is read with integrity (locking is performed) and all programs can access the data, not just those with a processing option of GO. The database is opened for read-only processing.
UPD
The database is for update as well as read processing in the IMS subsystem.
DEFAULT(Y)
Specifies this descriptor as the default, which resets the existing default descriptor to DEFAULT(N). When a descriptor is created without the LIKE keyword, any attribute not specified on the CREATE command takes the value defined in the default descriptor. Only one descriptor can be defined as the default for a resource type. IMS defines a database descriptor called DFSDSDB1, where all attributes are defined with the default value. Defining a user-defined descriptor to be the default overrides the current default descriptor. Since only one database descriptor can be the default at one time, only one database name can be specified with DEFAULT(Y).
RESIDENT
Specifies the resident option of a database created using this descriptor. The RESIDENT(Y) option takes effect at the next restart, unless the database was updated as RESIDENT(Y) after the checkpoint from which this IMS is performing emergency restart. A database defined as a DEDB in ACBLIB always sets the RESIDENT(Y) attribute when the DEDB is loaded, regardless of the RESIDENT value specified. RESIDENT(N) is rejected for a DEDB.
N
The DMB associated with the named database resource is not made resident in storage. The DMB is loaded at scheduling time.
Y
The DMB associated with the named database resource is made resident in storage at the next IMS restart. At the next IMS restart, IMS loads the DMB and initializes it. A resident database is accessed from local storage, which eliminates I/O to the ACBLIB. In an online environment, the DMB control blocks are stored in the ACBLIB. If the DLI/SAS address space exists, DLI/SAS loads the DMB, otherwise, it is the IMS control region that loads it. This makes the DMB dependent on the existence of the corresponding database resource.

Usage notes

Descriptors exist for the life of the IMS unless they are deleted using a DELETE command. Descriptors are recoverable across an IMS warm start or emergency restart. Descriptors are lost if IMS is cold started, unless cold start imports definitions that were exported while IMS was up.

If all the attributes specified by the UPDATE command are already defined for the descriptor, no update is actually made, no descriptors are quiesced, no log record is created, and a completion code of zero is returned. This avoids unnecessary overhead when no action needs to be taken.

The UPDATE DBDESC command can be issued only through the OM API. This command applies to DB/DC and DBCTL systems.

The UPDATE DBDESC commands are not valid on the XRF alternate, RSR tracker, or FDBR region. The UPDATE DBDESC commands are not valid if online change for MODBLKS is enabled (DFSDFxxx or DFSCGxxx defined with MODBLKS=OLC, or MODBLKS not defined).

This command is recoverable.

Each descriptor is updated individually. Individual updating does not work like online change where either all descriptors are updated or no descriptors are updated. Descriptors can be successfully updated if they are not currently in use. If a descriptor is in use, the update fails. In a sysplex environment, the update might succeed on some IMS systems and fail on others. A descriptor is in use if another command is in progress that references the command.

If the descriptor is the IMS-defined database descriptor (DFSDSDB1), the only attribute that can be updated is the DEFAULT attribute.

Output fields

The following table shows the UPDATE DBDESC output fields. The columns in the table are as follows:
Short label
Contains the short label generated in the XML output.
Keyword
Identifies keyword on the command that caused the field to be generated. N/A appears for output fields that are always returned. error appears for output fields that are returned only in case of an error.
Meaning
Provides a brief description of the output field.
Table 2. Output fields for the UPDATE DBDESC command
Short label Keyword Meaning
CC N/A Completion code.
CCTXT error Completion code text that briefly explains the non-zero completion code.
DESC DBDESC Database descriptor name.
ERRT error Error text with diagnostic information. Error text can be returned for a non-zero completion code and contains information that further explains the completion code.
OLDDEF DBDESC Old default descriptor name, if this descriptor is updated to be the default by specifying DEFAULT(Y). The old default descriptor is no longer the default.

Return, reason, and completion codes

The following table includes the return and reason codes and a brief explanation of the codes. The return or reason code returned for the command might also indicate an error from a CSL request.

Table 3. Return and reason codes for the UPDATE DBDESC command
Return code Reason code Meaning
X'00000000' X'00000000' Command completed successfully. The command output contains a line for each descriptor, accompanied by its completion code. If NAME(*) is specified without OPTION(ALLRSP), no output lines are returned. See the completion code table for details.
X'00000004' X'00002008' Invalid number of keywords. Either a SET keyword is required.
X'00000008' X'00002048' Invalid SET attribute.
X'00000008' X'00002133' Multiple name parameters were specified with DEFAULT(Y). Only one descriptor can be the default at a time.
X'0000000C' X'00003000' Command was successful for some descriptors but failed for others. The command output contains a line for each descriptor, accompanied by its completion code. If NAME(*) is specified without OPTION(ALLRSP), output lines are only returned for descriptors with non-zero completion codes. See the completion code table for details.
X'0000000C' X'00003004' Command was not successful for any of the descriptors. The command output contains a line for each descriptor, accompanied by its completion code. See the completion code table for details.
X'00000010' X'0000400C' Command is not valid on the XRF alternate.
X'00000010' X'00004014' Command is not valid on the RSR tracker.
X'00000010' X'00004120' Online change phase is in progress.
X'00000010' X'00004310' Storage could not be obtained for the Transaction Input edit routine table. A cold start is required to fix this error.
X'00000014' X'00005004' DFSOCMD response buffer could not be obtained.
X'00000014' X'00005008' DFSPOOL storage could not be obtained.
X'00000014' X'0000500C' AWE could not be obtained.

Errors unique to the processing of this command are returned as completion codes. The following table includes an explanation of the completion codes.

Table 4. Completion codes for the UPDATE DBDESC command
Completion code Completion code text Meaning
0   Command completed successfully for database resource or database resource descriptor.
17 ANOTHER CMD IN PROGRESS None. The command completed with error for all the Areas of the DEDB. Response lines for the area names in error are returned.
48 NOT ALLOWED FOR IMS RESOURCE The specified UPDATE command is not allowed for an IMS descriptor or resource. DFSDSDB1 is an example of an IMS descriptor. The only IMS descriptor attribute you can update is DEFAULT(Y).
6C NOT ALLOWED FOR A HALDB PARTITION The UPDATE command specified a change to the residency option for a HALDB partition. The residency option is valid only for the master and not the partitions.
8A WILDCARD PARAMETER NOT SUPPORTED A wildcard parameter was specified with DEFAULT(Y). Only one descriptor can be the default at a time.
Start of change1D7End of change Start of changeIMPORT CHANGE LIST ERROREnd of change Start of changeThe descriptor is in the process of being imported from the change list in the IMSRSC repository or was not successfully imported from the change list. The descriptor cannot be updated until it is successfully imported from the repository. End of change

Examples

The following are examples of the UPDATE DBDESC command:

Example 1 for UPDATE DBDESC command

TSO SPOC input:
UPDATE DBDESC NAME(*) SET(RESIDENT(Y)) OPTION(ALLRSP)
TSO SPOC output:
Response for: UPDATE DBDESC NAME(*) SET(RESIDENT(Y)) OPTION(ALLRSP)     
DescName MbrName    CC CCText                                          
BRWSDESC IMS1        0                 
DESC001  IMS1        0                                                 
DESC002  IMS1        0                                                 
DESC003  IMS1        0                                                 
DESC004  IMS1        0                                                 
DESC005  IMS1        0                                                 
DFSDSDB1 IMS1       48 NOT ALLOWED FOR IMS RESOURCE                    
EXCLDESC IMS1        0                                                 
RESDESC  IMS1        0        
OM API input:
CMD(UPDATE DBDESC NAME(*) SET(RESIDENT(Y)) OPTION(ALLRSP))
OM API output:
<imsout>                                     
<ctl>                                        
<omname>OM1OM   </omname>                    
<omvsn>1.3.0</omvsn>                         
<xmlvsn>20  </xmlvsn>                        
<statime>2006.312 23:27:37.656606</statime>  
<stotime>2006.312 23:27:37.661922</stotime>
<staseq>BFAD4F2D1B11EC8E</staseq>                                    
<stoseq>BFAD4F2D1C5E294E</stoseq>                                    
<rqsttkn1>USRT011 10152737</rqsttkn1>                                
<rc>0200000C</rc>                                                    
<rsn>00003008</rsn>                                                  
<rsnmsg>CSLN054I</rsnmsg>                                            
<rsntxt>None of the clients were successful.</rsntxt>                
</ctl>                                                               
<cmderr>                                                             
<mbr name="IMS1    ">                                                
<typ>IMS     </typ>                                                  
<styp>DBDC    </styp>                                                
<rc>0000000C</rc>                                                    
<rsn>00003000</rsn>                                                  
<rsntxt>At least one request successful</rsntxt>                     
</mbr>                                                               
</cmderr>                                                            
<cmd>                                                                
<master>IMS1    </master>                                            
<userid>USRT011 </userid>                                            
<verb>UPD </verb>                                                    
<kwd>DBDESC          </kwd>                                          
<input>UPDATE DBDESC NAME(*) SET(RESIDENT(Y)) OPTION(ALLRSP) </input>
</cmd>                                                                 
<cmdrsphdr>                                                            
<hdr slbl="DESC" llbl="DescName" scope="LCL" sort="a" key="1" scroll=  
 "no" len="8" dtype="CHAR" align="left" skipb="no"  />                 
<hdr slbl="MBR" llbl="MbrName" scope="LCL" sort="a" key="3" scroll="no"
 len="8" dtype="CHAR" align="left" skipb="no" />                       
<hdr slbl="CC" llbl="CC" scope="LCL" sort="n" key="0" scroll="yes"     
 len="4" dtype="INT" align="right" skipb="no" />                       
<hdr slbl="CCTXT" llbl="CCText" scope="LCL" sort="n" key="0"           
 scroll="yes" len="*" dtype="CHAR" align="left" skipb="yes" />        
<hdr slbl="ERRT" llbl="ErrorText" scope="LCL" sort="n" key="0"         
 scroll="yes" len="16" dtype="CHAR" align="left" skipb="yes" />        
</cmdrsphdr>                                                           
<cmdrspdata>                                                           
<rsp>DESC(EXCLDESC) MBR(IMS1) CC(   0) </rsp>                          
<rsp>DESC(DESC004 ) MBR(IMS1) CC(   0) </rsp>                          
<rsp>DESC(DESC005 ) MBR(IMS1) CC(   0) </rsp>                          
<rsp>DESC(DESC001 ) MBR(IMS1) CC(   0) </rsp>                          
<rsp>DESC(RESDESC ) MBR(IMS1) CC(   0) </rsp>                          
<rsp>DESC(BRWSDESC) MBR(IMS1) CC(   0) </rsp>                          
<rsp>DESC(DESC002 ) MBR(IMS1) CC(   0) </rsp>                          
<rsp>DESC(DESC003 ) MBR(IMS1) CC(   0) </rsp>                       
<rsp>DESC(DFSDSDB1) MBR(IMS1) CC(  48) CCTXT(NOT ALLOWED FOR IMS      
RESOURCE) </rsp>    
</cmdrspdata>        
</imsout>            

Explanation: Update all database descriptors to be resident. The update completed successfully for most database descriptors, as shown by completion code 0. The update failed for IMS-defined descriptor DFSDSDB1 with completion code 48 NOT ALLOWED FOR IMS RESOURCE, since the only attribute that can be updated for DFSDSDB1 is DEFAULT(Y).