Assigning a sharing level with DBRC

The sharing level of a database or DEDB area determines whether a request for access is granted. DBRC allows you to establish one of four sharing levels.

The following sharing levels are defined using the INIT.DB command and modified with the CHANGE.DB command.
SHARELVL 0
The database is not to be shared. The database can be authorized for use by one IMS system at a time. SHARELVL 0 is equivalent to specifying ACCESS=EX on the /START command.
SHARELVL 1
Sharing is at the database level. One IMS system can be authorized for update at one time; any sharing systems can only be authorized for read-only processing. Otherwise, the data sharing is for multiple readers.
SHARELVL 2
Sharing is at the block level but only within the scope of a single IRLM and a single z/OS®. Sharing requires that IMS subsystems sharing a database use the same RECON data set. Multiple IMS systems can be authorized for update or read processing.
SHARELVL 3
Sharing is at the block level by multiple IMS subsystems on multiple Realms. Multiple IMS systems can be authorized for nonexclusive access. The IMS subsystems can be on multiple z/OS images using different IRLMs.
Important:

To ensure the integrity of databases in data sharing environments when batch jobs running without IRLM support access SHARELVL 3 databases, DBRC authorizes batch jobs that have update access only if all other IMS systems and batch jobs that are currently authorized by DBRC to the database have read-only access.

If IRLM=N is specified in the IMSCTRL macro or DBBBATCH procedure, DBRC authorizes a batch job for update access to a database only if all other IMS systems and batch jobs that are currently authorized by DBRC to the database have read-only access.

When a batch IRLM=N job has authorization for update, authorization for an online system or other batch job fails unless it is for read-only access.

Sharing data using read-only access is not recommended for production environments without the use of IRLM. IMS outages can occur due to undetectable loops. Failure to use IRLM can lead to data being overwritten. This data cannot be recovered. For more information, see Database integrity without data sharing support.