DATABASE section of the DFSDFxxx member
The DATABASE section of the DFSDFxxx member specifies options for
databases, such as database versioning, the size of storage pools for ACBLIB members and release
ownership of OLR at normal or abnormal shutdown of IMS. The section is defined by the header <SECTION=DATABASE>
. The DATABASES section is valid in DB/DC, DBCTL, and batch environments.
Syntax
Parameters
- ACBIN64=nnn
- Specifies the amount of storage to allocate in 64-bit memory for non-resident PSB and DMB ACB members. Only online IMS regions types (not DCCTL or batch) are supported. The specification is in gigabytes, where nnn can be a value 1 - 999. You can specify the 64-bit storage pool in all IMS region types.
- DBVERSION=
- Specifies whether database versioning is enabled. Valid values
are Y and N. N is the default.
When DBVERSION=Y, database versioning is enabled. Database administrators can assign version numbers to different versions of the database definition (DBD) of a database. Application programs can then specify the version number of the DBD that they need on calls to the database. You can specify the DBD version number for an application program on the DBVER parameter of the PCB statement or the application program can specify it on the DL/I call INIT VERSION.
When database versioning is enabled, if an application program does not specify a version, by default the IMS system returns data to the application program by using the version of the DBD that is active in the ACB library. This version usually corresponds to the physical structure of the database.
The IMS system default can be changed to return data by using the DBD that contains DBVER=0 by specifying DBLEVEL=BASE in the database section of the DFSDFxxx member. At the application program level, the IMS system default can be overridden by specifying DBLEVEL=BASE in the PSBGEN macro during PSB generation.
When DBVERSION=N, or the DBVERSION parameter is omitted, database versioning is disabled. Application programs access all databases via the most recently generated DBD. If an application program specifies a version number on a call to a database, the application program either terminates with a 3303 abend or receives a BA status code, depending on how the application program is coded and whether the database is a Fast Path database. Version numbers that are specified on either a PCB or DBD are ignored by IMS.
- DBLEVEL=
When database versioning is enabled, specifies the IMS system default for which version of a database definition (DBD) IMS uses to return data when an application program does not specify a database version.
DBLEVEL applies only when DBVERSION=Y is specified. When DBVERSION=N, DBLEVEL is ignored.
Valid values for DBLEVEL are CURR and BASE. The default value is CURR.
The IMS system default that is specified in the DFSDFxxx member can be overridden by specifying a DBLEVEL value in the definition of a program specification block (PSB) or by specifying a specific version number either in the definition of a program communication block (PCB) or in a DL/I INIT VERSION call that is issued by the application program.
When DBLEVEL=CURR and an application program does not specify a version number on a call to access the database, IMS returns data to the application program by using the database structure that is defined by the active members in the ACB library. Usually, the active ACB members define the actual current structure of the physical database.
When DBLEVEL=CURR is in effect, any existing application program that will not use the currently active version of the database require changes to the PSB, PCB, or the application program itself to specify the required version of the database. Specifying DBLEVEL=BASE in the definition of the PSB will return version 0 to all application programs that use the PCBs in the PSB. Otherwise, the specific required version must be specified either in the definition of the individual PCBs or in an INIT VERSION DL/I call that is issued by the application program.
Use DBLEVEL=CURR when most application programs are modified to use the current database structure, but a few application programs continue to require the structure of an older database version. For application programs that require the older version of a database, the required database version number can be specified on the DBVER= parameter of the PCB.
When DBLEVEL=BASE and an application program does not specify a database version number, IMS returns data to the application program by using the database structure that is defined by the DBD record in the IMS catalog that contains DBVER=0. DBVER=0 is the default version of a DBD before a DBVER value is specified explicitly on a subsequent version of a DBD. If multiple instances of a version-0 DBD exist in the IMS catalog, IMS uses the instance that has the most recent timestamp.
Use DBLEVEL=BASE for any of the following reasons:- To update existing application programs gradually over time after changes are made to the database structure
- A large number of application programs cannot be modified to support a new database structure, either because the source code is no longer available or there are too many application programs to change
- It is not know which application programs will be affected by the change to the database
DBLEVEL=BASE allows existing application programs to continue using the original database structure, even after the structure of the database has been changed to support new application programs.
When DBLEVEL=BASE is specified, for the new or modified application programs that require the currently active database structure or that require any version of the database other the version 0, you can specify DBLEVEL=CURR on the PSBGEN statement or specify a specific version number can be specified on the DBVER= parameter of the PCB statement. Application programs can also specify a version number by using the VERSION function of the INIT call of the DL/I API.
If DBLEVEL=BASE is in effect when an application program attempts to access a database without specifying a version number, but the DBD of the database that contains DBVER=0 is no longer in the IMS catalog, the application program fails with either an abend or a DL/I status code.
- RELOLROWNER=
- An optional keyword that sets the default behavior of OLR ownership
when IMS terminates before finishing
the operation. If this keyword is not included or if RELOLROWNER=N
(the default value) is specified, the IMS system
maintains ownership to resume the halted OLR when IMS restarts. If RELOLROWNER=Y is specified, IMS releases control when it terminates
during an OLR so that another IMS system
can continue the operation. In either case, you can override the default
behavior with the OPTION parameter of the INIT OLREORG or UPD
OLREORG commands.Attention:
- If a forced shutdown occurs during an online reorganization that is using the RELOLROWNER=Y option, or the equivalent the OPTION(REL) keyword of the INITIATE OLREORG or UPDATE OLREORG commands, the IMS system that resumes the reorganization (if it is not the original system) must also use RELOLROWNER=Y or the OPTION(REL) keyword.
- If the resuming system does not use either the RELOLROWNER=Y parameter
in the DFSDFxxx PROCLIB member or the OPTION(REL) keyword of the INITIATE
OLREORG command, the INITIATE OLREORG command
fails with completion code
CA
.
- RREPL
-
Specifies whether to enable the Restricted Update mode on all the databases where reads are allowed for any program, but updates are allowed only for replication programs and authorized users.
The CREATE DB command cannot be used to set the RREPL value for the new database. You must use the UPDATE DB command to set a RREPL value for a newly created database.
During cold restarts, the RREPL value in the database section of the DFSDFxxx member is used to set the RREPL value on all databases, partitions, and areas.
During warm, ERE, and ERE Coldcomm restarts, the RREPL value in the DFSDFxxx member is used to enable or disable the Restricted Update mode. The RREPL value that is set to any value other than NA enables the Restricted Update mode. Note that the RREPL value in the DFSDFxxx member does not impact the RREPL setting on any database, partition, or area unless the value is set to NA.
- NA
- This is the default value and means that Restricted Update mode is disabled. You cannot use the
UPDATE DB and UPDATE AREA commands to enable the RREPL mode.
If you use the UPDATE DB and UPDATE AREA commands to enable
the RREPL mode, those commands will fail with reason code 2074 and the error text
RREPL is not active
. - ABEND
- Restricted Update mode is enabled, and a U3303 abend occurs when unauthorized users try to make updates.
- STATUS
- Restricted Update mode is enabled, and an RR status code occurs when unauthorized users try to make updates.
- NONE
- Restricted Update mode is not enabled, and any user can make updates. However, you can use the UPDATE DB and UPDATE AREA commands to enable the RREPL mode.
- SUPPDCAPNAME
- Specifies the job name of a CCTL or ODBM address space for which data capture is suppressed. If you specify the job name of a CCTL or ODBM address space on this parameter, database or database segment updates that are invoked by the job are not captured by the Data Capture exit routine, even if the exit routine is specified on the EXIT= parameter of the DBD for the database.
- UNREGCATLG=(name,name,...)
- Identifies the IMS catalog
databases and catalog secondary indexes that are to be used without
being registered with DBRC.
Database names must be 1-8 characters. Separate multiple names with commas.
This parameter is optional and does not have a default value.
If an IMS catalog or secondary index database that is registered with DBRC is specified on the UNREGCATLG parameter, any attempt to populate the IMS catalog results in an abend.
Example of the DATABASE section of the DFSDFxxx member
/******************************************************************/
/* Database Section */
/******************************************************************/
<SECTION=DATABASE>
ACBIN64=8 /* Create 64-bit storage pool */
RELOLROWNER=Y /* Release ownership of OLR when IMS terminates */
DBVERSION=(Y,DBLEVEL=CURR) /* Database versioning enabled*/
/******************************************************************/
/* */
/******************************************************************/
/******************************************************************/
/* Database Section */
/******************************************************************/
<SECTION=DATABASE>
ACBIN64=8 /* Create 64-bit storage pool */
RELOLROWNER=Y /* Release ownership of OLR when IMS terminates */
/******************************************************************/
/* */
/******************************************************************/