CHANGE.RECON command

Use the CHANGE.RECON command to update options in the RECON status record.

Start of change

Syntax

Read syntax diagramSkip visual syntax diagram
>>-CHANGE.RECON--+------------------------+--+---------+-------->
                 '-ACCESS(-+-SERIAL---+-)-'  +-CATDS---+   
                           '-PARALLEL-'      '-NOCATDS-'   

>--+---------------+-------------------------------------------->
   '-CDSLID(value)-'   

>--+------------------------------------------------+----------->
   '-CMDAUTH(--+-+-SAF--+-,safhlq-+----------+-+--)-'   
               | +-EXIT-+         '-,rcnqual-' |        
               | '-BOTH-'                      |        
               '-NONE--------------------------'        

>--+--------------------+--+-----------------+--+----------+---->
   '-DASDUNIT(unittype)-'  +-DUAL------------+  +-FORCER---+   
                           '-REPLACE(RECONn)-'  '-NOFORCER-'   

>--+---------+--+--------------------------------+-------------->
   +-NOCHECK-+  +-IMSPLEX(imsplex_name,group_ID)-+   
   +-CHECK17-+  '-NOPLEX-------------------------'   
   '-CHECK44-'                                       

>--+---------------------+--+----------+------------------------>
   '-LIST(-+-STATIC--+-)-'  +-LISTDL---+   
           '-CONCURR-'      '-NOLISTDL-'   

>--+--------------------------+--+-------------------------+---->
   '-LOGALERT(-dsnum,volnum-)-'  '-LOGRET('time_interval')-'   

>--+-----------------------+--+----------+--+------------+------>
   '-MINVERS(-+-'11.1'-+-)-'  +-REORGV---+  '-SSID(name)-'   
              +-'12.1'-+      '-NOREORGV-'                   
              '-'13.1'-'                                     

>--+-------------------------------+--+----------+-------------->
   '-SIZALERT(dsum,volnum,percent)-'  +-STARTNEW-+   
                                      '-NONEW----'   

>--+--------------------+--+----------+------------------------->
   '-TAPEUNIT(unittype)-'  +-TRACEON--+   
                           '-TRACEOFF-'   

>--+-------------------------------------------+---------------->
   |           .-,-------------------------.   |   
   |           V                           |   |   
   '-TIMEZONE(---(label-,-+------------+-)-+-)-'   
                          |        (1) |           
                          '-offset-----'           

>--+--------------------------------+--+------------------+----->
   '-TIMEZIN(-offset_rep,duration-)-'  '-TIMEFMT(sublist)-'   

>--+---------------------+-------------------------------------><
   '-UPGRADE-+---------+-'   
             '-CHECKUP-'     

Notes:
  1. The offset subparameter of the TIMEZONE keyword must be omitted in order to delete an entry.
End of change

Keywords

ACCESS(SERIAL | PARALLEL)
Optional keyword that you use to specify serial or parallel RECON access.

If the ACCESS keyword is specified, SERIAL or PARALLEL must be specified.

SERIAL
Specifies access to a RECON data set in serial mode. Only one DBRC request can be processed at a time. Access to the RECON data set is serialized at the data set level using hardware reserve or Global Resource Serialization (GRS).
PARALLEL
With parallel RECON access, DBRC requests from multiple IMS™ systems and batch/utility jobs can be processed concurrently. The RECON data set is accessed in Transactional VSAM mode. Access is serialized at the VSAM record level using coupling facility locking.
To use parallel RECON access, the following conditions must be met:
  • All three RECON data sets must be available. There must be two active RECON data sets, COPY1 and COPY2, and a spare (or discarded) RECON data set.
  • The RECON data set must be associated with an IMSplex.
  • The RECON data set must not contain an RSR tracking subsystem record.

If the ACCESS keyword specifies the access mode that is currently set for the RECON data set, the command sets return code 4.

Restriction: The ACCESS(SERIAL | PARALLEL) keyword cannot be changed in the same command when IMSPLEX() | NOPLEX keywords are being changed.
CATDS | NOCATDS
Mutually exclusive, optional keywords you use to modify the status of whether image copy, change accumulation, and log data sets are cataloged.
CATDS
Specifies that these data sets are cataloged or SMS-managed.

DBRC does not verify the volume serial and file sequence numbers for the data set.

For the CATDS option to be effective, the data set must be cataloged, and VOLSER information for the data set must be omitted from the JCL. If the data set is cataloged, CATDS is specified, and VOLSER information is included in the JCL, DBRC ignores CATDS and allocates the data set by the JCL. Normal VOLSER and file sequence checking occurs.

If the data set is not cataloged, CATDS is not effective, and DBRC allocates the data set by the JCL, with VOLSER and file sequence checking.

If log data sets are SMS-managed, select the CATDS option and remove the %LOGVOLS keyword from skeletal JCL member CAJCL.

Attention: The CATDS option affects restart of IMS from SLDS data sets. Because the CATDS option indicates the SLDS are under the control of a catalog management system, the VOLSER is not passed back to IMS for data set allocation. If the SLDS data sets are not cataloged, IMS restart fails.
NOCATDS
Specifies that these data sets, regardless of their cataloged status, are not to be treated as cataloged.

DBRC checks the data set name and verifies that the volume serial and file sequence numbers specified in the JCL are the same as the information recorded in the RECON data set.

CDSLID(value)
Optional keyword that you use to set the cross-DBRC service level ID in the RECON data set. The service level ID indicates that the maintenance that corresponds to the given value has been applied to all systems that will be accessing this RECON data set.

Occasionally, maintenance must be applied to all systems that access the same RECON data set before you enable that maintenance. The ++HOLD card associated with the maintenance indicates the need to issue the CHANGE.RECON CDSLID() command.

This command is used to enable the function provided by the maintenance after the maintenance is applied to all the systems. The value to specify on the command is indicated in the ++HOLD card.

After the cross-DBRC service level ID is set, all maintenance related to any service level ID less than or equal to the value set will be activated. If, after enabling some maintenance, you find that a system does not yet have the maintenance applied, to deactivate the enabled function specify a value less than the enabling service level ID. For example, if service level ID 5 is set in the RECON data set, issuing a CHANGE.RECON CDSLID(3) command will deactivate the functions associated with IDs 4 and 5.

CMDAUTH()
Optional keyword you use to specify whether DBRC command authorization is to be performed.

Specification of this keyword will result in command authorization being performed using the specified command authorization setting. However, in order to turn off command authorization (specifying NONE), you must be authorized under the current command authorization setting.

SAF | EXIT | BOTH | NONE
Mutually exclusive subparameters you use to specify your DBRC authorization option.
SAF
Specifies that a security product is to be called for command authorization.
EXIT
Specifies that the DBRC Command Authorization Exit (DSPDCAX0) is to be called for command authorization.
BOTH
Specifies that a security product and the DBRC Command Authorization Exit (DSPDCAX0) are to be called for command authorization. The security product is called first, then DSPDCAX0.
NONE
Specifies that command authorization is to be skipped.
safhlq
High level qualifier of the resource name defined to the z/OS® System Authorization Facility (SAF) product (RACF®) to define command authorization. safhlq must be specified with SAF, EXIT, or BOTH. safhlq is a name up to 8 alphanumeric characters in length.
Note: If you simply want to change your high level qualifier, specify your current command authorization option with the new safhlq. The profiles with the new qualifier must exist before entering the command. Create the new profiles or rename the old ones.
rcnqual
Optional parameter you use for setting or changing a string value in the RECON data set that will be used in DBRC command processing on the RECON to determine whether the data set is a copy and whether command authorization should be enforced. The rcnqual parameter can be specified only with SAF, EXIT, or BOTH.

When setting or changing the rcnqual value, the string must be a substring of the RECON COPY1 data set name in order to prevent inadvertently disabling security for the production RECON data set. If rcnqual is specified with an asterisk (*) at the end and within quotation marks, the RECON COPY1 data set name must start with rcnqual or DBRC command authorization will not be enforced.

For command authorization to be enforced the rcnqual must be a substring of the RECON COPY1 data set name. Ideally it should be a substring common to all three RECON data set names in order to prevent any problems if RECON reconfiguration takes place. rcnqual can be up to 44 characters long and must follow DBRC data set naming conventions.

DASDUNIT(unittype)
Optional keyword you use to change the unit type of the DASD device that holds the records for log data sets. The unit type can be up to 8 alphanumeric characters long.

DBRC stores the value specified for DASDUNIT in the unit field of various RECON records. Multiple utilities use this value as the default value for the output device type.

DUAL | REPLACE(RECONn)
Mutually exclusive, optional keywords you use to reestablish dual mode or to replace an active RECON data set with the spare RECON data set:
DUAL
Causes DBRC to enter dual-RECON mode. If DBRC is already using two RECON data sets, the dual keyword is ignored. If DBRC is using one RECON data set, it attempts to use a spare RECON data set. If no spare RECON data set is available, dual mode is not entered; however, any other optional keywords are processed.

You are not required to use the DUAL keyword to cause DBRC to enter dual-RECON mode. If as a result of a permanent I/O error on a RECON data set, for example, DBRC is reduced to the use of a single RECON data set, it automatically reenters dual-RECON mode as soon as it becomes aware of the existence of a spare RECON data set. However, in installations that use DBRC for log control only, it can be some time before DBRC becomes aware of a recently created spare RECON data set. Use the CHANGE.RECON command with the DUAL keyword to cause DBRC to enter dual-RECON mode immediately.

REPLACE
Causes DBRC to replace an active RECON data set with a spare RECON data set. When you specify this keyword, you can reorganize the RECON data sets online.

For RECONn, specify the DD statement of the RECON data set you want replaced. For n, you can specify 1, 2, or 3. If you specify a RECON data set that is not active or if no spare RECON data set is available, the replace does not take place; however, any other optional keywords that are specified on the command are executed.

FORCER | NOFORCER
Mutually exclusive, optional keywords you use to specify whether all databases must be registered in the RECON data set.
FORCER
Specifies that all databases must be registered in the RECON data set. If a job tries to access an unregistered database, the database authorization call from IMS to DBRC fails.
NOFORCER
Specifies that databases do not have to be registered in the RECON data set.

DBRC checks this keyword during initialization and it remains in effect for as long as the subsystem runs. If you change this keyword while the control region is active, the change does not take effect until restart or initialization, although the change appears in a listing of the RECON data set.

NOCHECK | CHECK17 | CHECK44
Mutually exclusive, optional keywords you use to change the type of comparison of log data set names that is done by DBRC.
NOCHECK
Specifies that the data set name you specify as input to DBRC has a new high-level qualifier and is longer than 17 characters. With NOCHECK, DBRC does not compare the log data set name that is recorded in the RECON data set with the name on the appropriate DD statement.
CHECK17
Verifies that the last 17 characters of a log data set name are consistent with the RECON data set. If the name in the RECON data set does not match the name on the appropriate DD statement, the utility stops.
CHECK44
Verifies that the 44-character log data set name is consistent with the RECON data set. If the name in the RECON data set does not match the name on the appropriate log DD statement, the utility stops.
IMSPLEX(imsplex_name, group_ID) | NOPLEX
Mutually exclusive, optional keywords you use to change the IMSplex name and the DBRC group ID associated with the RECON data set.

No other DBRC instances that are registered to SCI can access the RECON data set when this command is processed. The DBRC instance processing the command must use the IMSplex name that is currently saved in the RECON data set.

The IMSplex name in the RECON data set can be changed only when your SCI registration exit, DSPSCIX0, is changed to return the new IMSplex name.

The DBRC group ID can be used to uniquely identify different RECON data sets that are used in the same IMSplex. If you use parallel RECON access, each RECON in the same IMSplex must have a unique group ID.

Restrictions:
  • CHANGE.RECON IMSPLEX and CHANGE.RECON NOPLEX can only be issued from the batch command utility. You cannot issue these commands from an online IMS.
  • CHANGE.RECON IMSPLEX and CHANGE.RECON NOPLEX commands cannot be issued as /RMxxx commands. They can be issued embedded in the Database Recovery Control utility as batch commands or embedded in a FUNC=COMMAND DBRC API request.
  • The ACCESS(SERIAL|PARALLEL) keyword cannot be changed in the same command when IMSPLEX()|NOPLEX keywords are being changed.
  • CHANGE.RECON NOPLEX is not allowed if the current access mode for the RECON data set is parallel.
IMSPLEX(imsplex_name, group_ID)
Specifies the new IMSplex name. The IMSplex name can be up to 5 alphanumeric characters long.
imsplex_name
The imsplex_name can be up to 5 alphanumeric characters long.
group_ID
The group_ID can be up to 3 alphanumeric characters long. The imsplex_name must be specified if group_ID is specified. The group_ID will be set to '001' if not specified and no value is already set.
NOPLEX
Specifies that no IMSplex name is to be associated with the RECON data set.

There is no default for this keyword. If neither is specified, the current setting is unchanged.

Note: If DSPSCIX0 is not found, DBRC behaves as though the sample exit were used. So, if the IMSPLEX keyword is not used, DBRC assumes that RECON Automatic Loss Notification is inactive. When the IMSPLEX keyword is used, DBRC will use its value to register with SCI.
LIST(STATIC | CONCURR)
Optional keyword to set a default of STATIC or CONCURR for the LIST.xxx commands
STATIC
Specifies that if the RECON data set is in parallel access mode and a LIST command is processed that did not specify the STATIC or CONCURR keyword, the default for list processing is STATIC.
CONCURR
Specifies that if the RECON data set is in parallel access mode and a LIST command is processed that did not specify the STATIC or CONCURR keyword, the default for list processing is CONCURR.
Recommendation: Because some LIST commands with the STATIC option are likely to be disruptive, set CONCURR as the default. STATIC can then be specified on specific commands, for example, when trying to resolve problems. (The default, if not explicitly set by a CHANGE.RECON command or the INIT.RECON command, is STATIC rather than CONCURR only because STATIC is what LIST command processing with serial RECON access produces.)
LISTDL | NOLISTDL
Mutually exclusive, optional keywords you use to specify whether data set names that are deleted from the RECON (by the DELETE.LOG command or by an archive job log compression) are listed in the job output. The setting specified on this command can be overridden by the DELETE.LOG command. There is no way to override the setting for log compression during an archive job.
LISTDL
Specifies that deleted data set names are to be listed in the job output.
NOLISTDL
Specifies that deleted data set names are not to be listed in the job output.

There is no default for this keyword. If neither is specified, the current setting is unchanged.

LOGALERT(dsnum,volnum)
Optional keyword you use to define the threshold that triggers the DSP0287W message. Message DSP0287W displays when you just have time to shut down an online IMS subsystem before it terminates abnormally because the PRILOG record size exceeds the 16M record size maximum.

Given the 16 MB maximum allowable size of a PRILOG record, for practical purposes, LOGALERT is obsolete.

dsnum,volnum
These values apply only to PRILOG-family records. The message is issued when both of the following conditions are true:
  • A new OLDS data set opens.
  • When there will no longer be room in the PRILOG record to successfully archive all OLDSs currently needing to be archived (including the new one) plus dsnum more, assuming each OLDS uses volnum volumes.
The values that you enter, based on your knowledge of the rate at which the subsystem normally fills OLDSs, should be calculated to give you sufficient time to effect a normal shutdown of the online IMS subsystem.

All values must be supplied. A zero (0) in any position means that the existing value in the RECON record is not to be changed.

The default values in a new RECON or one that has been upgraded from an earlier release are (3,16), and are set during INIT.RECON command processing.

LOGRET(time_interval)
Optional keyword you use to change the retention period for log data sets.
Definitions:
  • The retention period is the minimum amount of time in which a log becomes inactive after it is opened. (It is then eligible to be deleted.)
  • The time_interval is a partial, punctuated time stamp representing a time interval (days, hours, minutes, seconds and tenths of a second) instead of date and time. The time stamp for this command follows the standard time stamp format except that the year subparameter element is omitted. Valid intervals range from a tenth of a second to 365 days.
    Because the time interval is treated as a time stamp, message DSP1048I can be issued for incorrect values. Some examples of valid time intervals include:
    LOGRET(365)
    LOGRET('030 12.00')
    LOGRET('000 00:00:08.0')
    LOGRET('000 00,00,00,1')
The following shows two different formats for equivalent time stamp specifications. Both are valid.
LOGRET(030)          LOGRET('030')        = 30 days
LOGRET('010 12,30')  LOGRET('010 12:30')  x= 10 days, 12 hours, 30 minutes

For information about inactive logs and how they are determined by use of the log retention period and other conditions, see the INACTIVE keyword under the DELETE.LOG (for RLDS and SLDS) command.

Recommendation: Ensure that an appropriate log retention period is specified so that log information is kept in the RECON data set for a long enough period of time. Certain IMS functions depend on log information in the RECON data set, and these functions might fail if that information is deleted too soon. For example, one or more of the following functions might fail:
  • Dynamic backout
  • Batch message processing (BMP) extended restart (XRST)
  • Unit of work table entry (UOWE) resynchronization
Start of changeMINVERS('11.1' | '12.1' | '13.1') End of change
Start of changeOptional keyword that specifies the lowest version of IMS that is allowed to access the RECON data sets. This keyword cannot be set to a higher IMS release if any subsystems with a lower version of IMS are currently signed on to DBRC.

Precision for all time stamp formats is set to the microsecond.

The format for the MINVERS keyword includes a period. DBRC considers this a special character and requires the value to be enclosed in single quotation marks.

Requirement: To use the HALDB alter function or the DEDB alter function, the MINVERS value must be 13.1.
End of change
REORGV | NOREORGV
Mutually exclusive, optional parameters you use to modify the HALDB partition reorganization number verification. A CHANGE command with these parameters is allowed while databases are currently authorized to other subsystems.
REORGV
Specifies that HALDB partition reorganization number verification is enabled. The RECON stores the reorganization number for each partition and prevents the reorganization number from being regressed. After a CHANGE.RECON REORGV command is issued, the partition reorganization number in each partition record is set to zeros.
NOREORGV
Specifies that HALDB partition reorganization number verification is disabled. Any requests to store, update or verify the reorganization number will be ignored.
SSID(name)
Optional keyword you use to change the name of the IMS subsystem to be used as the subsystem ID for the following commands:
  • CHANGE.PRILOG
  • CHANGE.SECLOG
  • DELETE.LOG
  • GENJCL.ARCHIVE
  • GENJCL.CLOSE
  • NOTIFY.PRILOG
  • NOTIFY.SECLOG
The SSID is an 8-character string of any alphanumeric characters that comprise a valid IMS subsystem identification name.
SIZALERT(dsnum,volnum,percent)
Optional keyword you use to define thresholds that trigger messages to warn you that a record has grown unusually large. The decimal threshold values that you supply for SIZALERT are:
dsnum,volnum
These values apply only to PRILOG-family records. The message DSP0387W is issued when both of the following conditions are true:
  • When a new OLDS data set opens.
  • All currently open OLDSs, including the new one, have been archived, there will no longer be room in the record for dsnum data set entries of volnum volumes each, or the record size will exceed percent percent of the 16 MB record size maximum.

Given the 16 MB maximum allowable size of a PRILOG record, for practical purposes, dsnum and volnum are obsolete.

percent
This value applies to all records. The threshold is reached when a record exceeding percent percentage of the 16 MB record size maximum.
STARTNEW | NONEW
Mutually exclusive, optional keywords you use to specify whether new jobs are to be started when only one RECON data set is available.
STARTNEW
Specifies that new jobs are to be started. If parallel RECON access is enabled, new jobs cannot start with a single available RECON data set if another DBRC instance is running with two active RECON data sets.
NONEW
Specifies that new jobs are not to be started.
TAPEUNIT(unittype)
Optional keyword you use to change the unit type of the tape device that holds the records for log data sets. The unit type can be up to 8 alphanumeric characters long.

DBRC stores the value specified for TAPEUNIT in the unit field of various RECON records. Multiple utilities use this value as the default value for the output device type.

TRACEON | TRACEOFF
Mutually exclusive, optional keywords you use to specify whether to start or stop external tracing.
Note: If the CHANGE.RECON command is issued in a batch job, the RECON header record will be changed to show the requested status (TRACEON or TRACEOFF), however, the actual TRACE status will not be changed for any active IMS system.

If the CHANGE.RECON command is issued as a command in a control region (/RMCHANGE DBRC='RECON TRACEON | TRACEOFF'), the trace status and the RECON header record will be changed to show the requested status (TRACEON or TRACEOFF) for this control region. However, the actual TRACE status will not be changed for any other active IMS system (batch or online).

TRACEON
Starts external tracing. If you specify this keyword, the specified Generalized Trace Facility (GTF) must be active for USR-type records.
TRACEOFF
Stops external tracing. If you specify this keyword, DBRC only does internal tracing.
TIMEZONE((label,offset),(label,offset))
Optional keyword that alters the time zone label table. This keyword is used to define one or more symbolic time zone labels. Because most people do not readily associate a numeric offset with a time zone, TIMEZONE enables you to define symbolic labels, like PST (Pacific Standard Time), for numeric offsets, such as -8.

The time zone label table can contain up to 32 entries, each of which is composed of a label and an offset.

label
An alphanumeric value of up to 5 characters, the first of which must be alphabetic. Lowercase characters are translated to uppercase.
offset
A signed-decimal value in the form of ± [h]h[:mm] that meets the requirements of a valid time stamp offset. The offset is the value that, when added to UTC, gives local time. For example, the value to use for PST (Pacific Standard Time) is -8. The value for JST (Japan Standard Time) is +9.
Adding, replacing, and deleting entries from the stored list is supported as follows:
  • Adding an entry to the stored table is accomplished when an input list entry contains both a label that does not exist in the RECON data set and a valid offset value.
  • Replacing an entry to the stored table is accomplished when the input entry contains both a label that matches an existing label in the table and a valid offset value.
  • Deleting an entry to the stored table is accomplished when the input entry is a label that matches an existing label in the table and no offset value was specified. If the offset is omitted, and the label is not found in the table, the table is not altered.

The labels in the table must be unique.

Suggestions for time zone label table management: The same offset should not be designated by more than one label because DBRC always uses the first occurrence in the table when outputting a time stamp.

The practicality of using the label format is affected by the scope of the IMS installation. For those operating solely in a single time zone, use of labels eliminates the need for the operator to know the exact offset to UTC at all times during the year. For multiple time zone operation, the use of offsets rather than labels, is suggested (though not mandatory). The time zone label table may not be practical if offsets are not unique from one zone to the next when daylight saving time adjustments are taken into account. Changing the table when daylight saving time switches are made would add to the confusion, so, in that case, use numeric offset values for cross time zone operation.

TIMEZIN(offset_rep [,duration])
Optional keyword you use to define a default time zone value for time stamps that are entered without time zone information on subsequent DBRC commands.
offset_rep
The default time zone value. It can be one of the following choices:
%SYS
A keyword used to designate that the offset is to be derived from the current offset found in the z/OS CVT control block. This is the initial default for DBRC.
label
A time zone label that has been previously defined using the TIMEZONE keyword.
offset
A numeric offset value in the same form as defined above for the TIMEZONE keyword.
duration
Specifies the duration of the offset_rep choice.
TEMP
Indicates that the label or offset default is in effect only for the job in which the command is entered.
PERM
Indicates that the label or offset default is to be in effect for any subsequent DBRC command running with the same RECON data set.
TIMEFMT(sublist)
Optional keyword you use to define the form in which time stamps appear from DBRC in messages, displays, and listings. The five values are positional. Each is optional and can be omitted by including only the comma.
UPGRADE
Start of changeOptional keyword that you use to upgrade all IMS Version 11 and IMS Version 12 RECON records to an IMS Version 13 level. You do not need to shut down other IMS subsystems that share the RECON data set, although they might have to wait for the command to complete.
Restriction: You can issue the CHANGE.RECON UPGRADE command using the Database Recovery Control utility (DSPURX00) or the DBRC application programming interface. You cannot issue it from an online IMS.
Attention: Jobs such as utility programs (for example, DSPURX00), which do not create subsystem records and which access the RECON data set, are not protected from having the RECON data set upgraded while they are running an IMS release without the appropriate IMS Version 13 SPE applied. Their next RECON access might have unpredictable results. Ensure that no such jobs are active when entering the CHANGE.RECON UPGRADE command.
Recommendations:
  • Before running the CHANGE.RECON UPGRADE command against the production RECON data sets, upgrade a copy of the production RECON data set to verify that the upgrade will complete successfully. A CHANGE.RECON UPGRADE CHECKUP command can also be run against a copy of the production RECON data set or against the production RECON data set.
  • Large numbers of CA/CI splits in the RECON data sets impact performance with so many RECON records increasing in size. Maintain the RECON data sets to delete records that are no longer needed. Ensure that secondary extents are available so that the RECON data sets do not run out of space during the upgrade. Upgrade the RECON at a time when there is minimal activity against the RECON data sets. Upgrade a backup copy of the production RECON as a test to determine how long the upgrade will take at your site.

The CHANGE.RECON UPGRADE command upgrades the RECON data set in two stages: first, Copy 1, and then Copy 2.

Message DSP0251I indicates the beginning of the first stage. A failure during this stage for RECON data sets that are using serial access causes DBRC to reconfigure the RECON data sets, discarding Copy 1. If a failure occurs during the first stage with serial access, you need to rerun the CHANGE.RECON UPGRADE command. A failure during the first stage for RECON data sets that are using parallel access causes DBRC to back out any changes, and the command is retried.

After successful completion of the first stage, message DSP0252I indicates that the second stage is beginning. Any failure during this stage causes DBRC to reconfigure the RECON data sets, discarding Copy 2. However, if there is a failure during the second stage, you do not need to rerun the CHANGE.RECON UPGRADE command.

You can use the CHANGE.RECON UPGRADE command in either nonconcurrent or concurrent mode. The mode is determined by the environment at the time you issue the command.
Nonconcurrent mode
No other jobs are currently accessing the RECON data set.

Before issuing the CHANGE.RECON UPGRADE command, create a backup copy of the RECON data set in case the upgrade and the RECON recovery procedures fail. The procedures can fail if you have not allocated two RECON data sets and a spare.

Concurrent mode
Other jobs are currently accessing the RECON data set. These jobs can be either IMS Version 11 and IMS Version 12 and must have the respective IMS Version 13 SPE applied. Message DSP1113A is issued for any subsystem that does not have the appropriate coexistence SPE applied. Two RECON data sets plus a spare must be allocated for a concurrent upgrade.
When upgrading an IMS Version 11 RECON data set to IMS Version 13:
  • Each database record is read to ensure that the internal representation of the DMB number is correct and that the RECON DMB Table record is built or rebuilt if it already exists. The RECON DMB Table record keeps track of all the DMB numbers currently in use. The RECON DMB Table record is updated when a new database is registered in the RECON data set or a database is deleted.
  • If the internal representation of the DMB number in the database record is incorrect, it is corrected during the upgrade unless the database is being updated. In that case, the RECON upgrade fails.
CHECKUP
Optional keyword that you use with the UPGRADE keyword to check the status of the RECON data set and records to verify if the RECON data set is in a state that allows upgrade. No RECON data set records are changed as a result of executing the CHANGE.RECON UPGRADE CHECKUP command. After upgrading a backup copy of the production RECON data sets, this command can be used prior to actually upgrading the production RECON data sets to ensure conditions have not changed that would prevent the RECON data set from being upgraded. You do not need to shut down IMS subsystems that share the RECON data set, although they might have to wait for the command to complete.
Recommendation: Run a CHANGE.RECON UPGRADE CHECKUP command against a copy of the production RECON data set prior to issuing the command against the production RECON data set to understand any possible performance considerations.

When a CHANGE.RECON UPGRADE CHECKUP command is started, message DSP1238I is issued. If the command completes successfully with no errors encountered that would prevent upgrade, message DSP1239I is issued and return code 0 is set. If the command completes successfully, but found an incorrect internal representation of a DMB number in a database record and the database is not authorized, message DSP1235W is issued along with DSP1239I and return code 4 is set. If the command completes successfully and errors are encountered that would prevent an upgrade, message DSP1240E is issued and return code 12 is set.

Additional messages are issued to indicate any errors found, such as DSP1236E or DSP1113A.

Since RECON data set records are not upgraded when the CHECKUP keyword is included in the CHANGE.RECON UPGRADE command, upgrading the RECON data sets later could fail for other reasons, such as running out of space in the RECON data set.

Start of changeDo not specify the UPGRADE and CHECKUP keywords with any other keywords on this command. If a CHANGE.RECON UPGRADE CHECKUP command includes additional keywords, the UPGRADE and CHECKUP keywords are processed first. The RECON data sets are not upgraded. If any additional keywords are included, the attempt to open the RECON data sets that are not upgraded fails.End of change

End of change

Usage notes

If parallel RECON access is used, RECON activity for all DBRC instances is quiesced. A check for the existence of retained locks related to the Copy1 or Copy2 of the RECON data sets is completed before RECON upgrade is invoked. If any retained locks exist, message DSP0383A is issued and the RECON upgrade fails.

In parallel RECON access mode, any retained locks that exist for the RECON data sets must be resolved. Ensure that the SMS server (SMSVSAM) is active and Transactional VSAM (TVS) is active on all processors and resubmit the command.

Example of updating the RECON header record

Here are some examples of using the CHANGE.RECON command.

Example 1 for CHANGE.RECON command

 //CHGRECON JOB
 ⋮
 //SYSIN    DD   *
      CHANGE.RECON  SSID(IMSB) FORCER LOGRET('007')
 /*

In this example, you are forcing all databases to be registered, changing the default subsystem ID to IMSB, and changing the log retention period to 7 days.

Example 2 for CHANGE.RECON command

 //CHGRECON JOB
 ⋮
 //SYSIN    DD   *
      CHANGE.RECON CMDAUTH(SAF,SAFHLQ1,IMSTESTS.DSHR)
 /*

In this example, if the RECON COPY1 data set name is IMSTESTS.DSHR.RECON1, DBRC command authorization security will remain enforced for any future access attempts on the RECON data set, because the rcnqual value of IMSTESTS.DSHR is a substring of the RECON COPY1 data set name IMSTESTS.DSHR.RECON1.

If you copy this RECON data set into a data set whose name has COPYDSHR as the second level qualifier, DBRC command authorization security will be disabled for any future access attempts on the RECON data set, because when the copy is made, the RECON COPY1 data set name is changed to IMSTESTS.COPYDSHR.RECON1, which no longer contains the rcnqual string value of IMSTESTS.DSHR.