BMCSYNC table
The BMCSYNC table contains information about the status of the objects that the currently executing products are accessing.
The BMCSYNC table synchronizes and controls access to Db2 spaces by concurrently executing BMC products. If you have more than one product installed, all of these products should share the same BMCSYNC table.
The following BMC AMI Utilities products insert rows into BMCSYNC during the BEFOREACC phase and delete rows during the AFTERACC phase:
- BMC AMI Check
- BMC AMI Load
- BMC AMI Reorg
- BMC AMI Stats
- BMC AMI Unload
All other products insert rows into BMCSYNC during the UTILINIT phase and delete rows during the UTILTERM phase. While the job executes, the products update the table when the status of the object changes.
The following table describes the contents of the BMCSYNC table:
Column name | Data type | Description |
---|---|---|
UTILID | CHAR(16) | Product identifier (BMC AMI Recover) This column is blank when a RECOVER UNLOADKEYS command creates the row and then a RECOVER BUILDINDEX command reads and deletes the row. |
NAME1 | CHAR(8) | Database name or creator name (DASD MANAGER PLUS) This value is the database name. (CHECK PLUS, LOADPLUS, REORG PLUS, and UNLOAD PLUS) If the value for NAME1 would exceed 8 bytes or the value for NAME2 would exceed 18 bytes, NAME1 contains the DBID for the object. (BMC AMI Check, BMC AMI Load, BMC AMI Reorg, BMC AMI Stats, and BMC AMI Unload) If the value for NAME1 would exceed 8 bytes, NAME1 contains the OBID in hexadecimal format. |
NAME2 | CHAR(18) | Space, table, or index name (DASD MANAGER PLUS) The BMCSTATS product always inserts the space name (limited to a maximum of 8 characters). (CHECK PLUS, LOADPLUS, REORG PLUS, and UNLOAD PLUS) If the value for NAME1 would exceed 8 bytes or the value for NAME2 would exceed 18 bytes, NAME2 contains the table OBID or index ISOBID of the object in hexadecimal format. (BMC AMI Check, BMC AMI Load, BMC AMI Reorg, BMC AMI Stats, and BMC AMI Unload) If the value for NAME2 would exceed 18 bytes, NAME2 contains the OBID in hexadecimal format. |
KIND | CHAR(2) | Type of object:
|
PARTITION | SMALLINT | Physical partition number:
(all products except BMC AMI Recover and BMC AMI Recovery Manager) The value is null or 0 for any nonpartitioned space. |
BMCID | SMALLINT | Internal identifier of the object DASD MANAGER PLUS, BMC AMI Check, BMC AMI Load, BMC AMI Reorg, BMC AMI Stats, and BMC AMI Unload do not use this column. |
UTILNAME | CHAR(8) | Name of the executing product:
|
SHRLEVEL | CHAR(1) | Degree to which products can share this object:
|
STATUS | CHAR(1) | Status of the product or object:
DASD MANAGER PLUS does not use this column. |
XCOUNT | INTEGER | Number of rows or keys processed in the current phase DASD MANAGER PLUS, BMC AMI Check, BMC AMI Load, BMC AMI Reorg, BMC AMI Stats, and BMC AMI Unload do not use this column. |
DDNAME | CHAR(8) | Check, load, unload, or work ddname DASD MANAGER PLUS, BMC AMI Check, BMC AMI Load, BMC AMI Reorg, BMC AMI Stats, and BMC AMI Unload do not use this column. |
BLOCKS | INTEGER | Number of blocks for the check, load, unload, or work data set DASD MANAGER PLUS, BMC AMI Check, BMC AMI Load, BMC AMI Reorg, BMC AMI Stats, and BMC AMI Unload do not use this column. |
ORIG_STATUS | CHAR(8) | Encoded representation of the original Db2 status of the space (BMC AMI Recover) This column restores the Db2 status of a space after recovery, if necessary. DASD MANAGER PLUS, BMC AMI Check, BMC AMI Load, BMC AMI Reorg, BMC AMI Stats, and BMC AMI Unload do not use this column. |
EXTRBA | CHAR(10) | (BMC AMI Recover) Log point at which this space was externalized BMC AMI Recover serialization logic uses this column. The other products do not use this column. |
STATE | LONG VARCHAR | Restart information for the space For example, the STATE indicates the object state and sync information. DASD MANAGER PLUS, BMC AMI Check, BMC AMI Load, BMC AMI Reorg, BMC AMI Stats, and BMC AMI Unload do not use this column. |
INSTANCE | SMALLINT | (BMC AMI Recovery Manager and BMC AMI Recover) Instance number of the current base objects (table and index) The default value is 1. The other products do not use this column. |
BMCSYNC table considerations
This topic contains important information that you need to know about the BMCSYNC table:
- By default, DASD MANAGER PLUS uses the BMCSYNC table to synchronize access to Db2 spaces. However, if you want to turn this feature off, you may do so by specifying No for the BMCSYNC installation option. If you specify No for this option, DASD MANAGER PLUS does not use the BMCSYNC table and the product bypasses BMCUTIL table access, UTILID enqueue logic, and object name enqueue logic used for BMC utility concurrency control. Turning this feature off can lead to VSAM data set access failures in BMCSTATS or other utilities due to utility conflicts that are no longer detected.
- You might need to increase the size of the BMCSYNC table space from the standard size that was allocated during installation when any of the following conditions exists:
You are processing a large number of partitions.
Estimate this allocation based on the following factors:
- Number of utilities that you are executing concurrently
- Number of partitions that you are processing concurrently
- Number of files that you are allocating dynamically
You are loading a partition-by-growth table space.
Estimate this allocation based on the following factors:
- Number of utilities that you are running concurrently
- Value of MAXPARTITIONS
- Number of files that you are allocating dynamically
You are loading or unloading XML data and the XML table space is partition-by-growth.
Estimate this allocation based on the following factors:
- Number of utilities that you are executing concurrently
- Number of XML columns that you are loading or unloading
- Value of MAXPARTITIONS (a minimum of 256 partitions in this case)
- Number of files that you are allocating dynamically
You are loading or unloading LOB data.
Estimate this allocation based on the following factors:
- Number of utilities that you are executing concurrently
- Number of LOB columns that you are loading or unloading
- Number of partitions in the base table space
- Number of files that you are allocating dynamically
Shared access levels of BMC utilities
BMC utility jobs register Db2 objects in the BMCSYNC table.
The registering utility assigns a sharing level to each registered object. The sharing level controls access to that object from other BMC utilities. For partitioned Db2 spaces, registration is performed at the partition level.
The BMCSYNC table allows multiple BMC utilities (or multiple instances of a utility) to operate concurrently on different partitions of a Db2 space if no nonpartitioning indexes are involved. In addition, some BMC utilities can operate concurrently on the same object or partition. For information about which products can operate concurrently, see the following table. For additional serialization and concurrency issues for each utility, see the utility's reference information.
The 'Access level' column in the following table refers to the value of the SHRLEVEL column name in the BMCSYNC table. The level can be one of the following values:
- S indicates shared access. Any other utility that registers with shared access (S) can run against the object.
- X indicates exclusive access. No other utility can run against the object.
- A blank value indicates that no status is requested and any other utility can run against the object.
Shared access levels of BMC utilities
Product | Access level | Additional information |
---|---|---|
CHECK PLUS | S | None |
DASD MANAGER PLUS (BMCSTATS) | S |
|
LOADPLUS | X | If you specify PART, LOADPLUS registers only the specified partitions with exclusive access (X). If no nonpartitioned indexes exist on the table space, you can run other utilities on different partitions while running this job. |
BMC AMI Check | S | None |
BMC AMI Copy | S or blank | If you specify COPY IMAGECOPY, BMC AMI Copy registers the object with no access status (blank). Otherwise, BMC AMI Copy registers the object with shared access (S). |
BMC AMI Load | X | If you are loading specific partitions, BMC AMI Load registers only the specified partitions with exclusive access (X). |
BMC AMI Recover | X, S, or blank | BMC AMI Recover registers an object with shared access (S) under the following conditions:
BMC AMI Recover registers an object with no access status (blank) if you specify the following commands or options:
BMC AMI Recoverv registers the object with exclusive access (X) in all other cases. |
BMC AMI Reorg | X | If you are loading specific partitions, BMC AMI Reorg registers only the specified partitions with exclusive access (X). |
BMC AMI Stats | S | None |
BMC AMI Unload | S | None |
BMC AMI Recovery Manager | S | None |
REORG PLUS | X | If you specify PART, REORG PLUS registers only the specified partitions with exclusive access (X). If no nonpartitioned indexes exist on the table space, you can run other utilities on different partitions while running this job. |
UNLOAD PLUS | S | None |