Using multitasking with GROUP YES
BMC AMI Copy
allows you to request that the copies specified in SYSIN use multiple tasks to make copies for multiple spaces in parallel, while grouping table space or index space copies.
GROUP YES subtasking specifies that the spaces should be treated as a group which share a common registration point for SHRLEVEL REFERENCE or SHRLEVEL CONCURRENT. In order to get a common registration point, BMC AMI Copy must perform initialization and registration point processing for all spaces in the group at one time at the beginning in the main task, so there is less concurrency.
Specifying grouping
You can specify the option GROUP YES with any SHRLEVEL to specify that initialization logic is to be performed for all spaces in the group, at one time at the beginning.
All termination logic is also performed for all spaces in the group, at one time at the end. Initialization logic includes parsing, authorization checking, status checking, concurrency checking, status changes and synchronization (START/STOP/QUIESCE). Termination logic includes status changes and synchronization (START/STOP/QUIESCE). GROUP YES is implied by repeating TABLESPACE or INDEXSPACE under the same COPY statement or by using INDEXES YES.
Grouping is useful for all types of copies because it provides the ability to guarantee a set of consistent SHRLEVEL REFERENCE or SHRLEVEL CONCURRENT copies, or a common quiesce point for SHRLEVEL CHANGE copies. Some of the scenarios allowed or required by grouping are:
- You can specify different values for object options, such as COPYDSN, RECOVERYDSN, and COPYDDN by using multiple TABLESPACE keywords, multiple INDEXSPACE keywords, or both for the COPY command, while still using global options for all of the copies.
- You can group certain partition numbers using multiple DSNUM values.
- You can use multiple TABLESPACE keywords to give each space its own COPYDSN value if you use special naming conventions that cannot be handled by a single COPYDSN.
- You can use the grouping capabilities without dynamic allocation by specifying different values for COPYDDN, DSNUM ALL or DSNUM integer, RECOVERYDDN, or TASK.
Numerous variations are possible by allowing multiple suboptions within a single grouped COPY command.
Examples that use grouping and multitasking
The following syntax makes a Snapshot Copy of a group of table spaces using ten different subtasks:
OUTPUT OUT1 UNIT SYSDA
COPY TABLESPACE ACPDB*.* COPYDDN( OUT1 )
SHRLEVEL CONCURRENT
GROUP YES
The following syntax copies a group of table spaces with ten different subtasks and stacks on ten different tapes:
OUTPUT OUT1 UNIT CART STACK YES
COPY TABLESPACE ACPDB*.* COPYDDN( OUT1 )
GROUP YES
The following syntax copies a group of table spaces as a group and stacks them on 3 sets of tapes, using TASK to control which spaces are stacked on which tape and limiting the copy to three subtasks. The grouping is implied since multiple TABLESPACE specifications are used.
OUTPUT OUT1 UNIT CART STACK YES
COPY TABLESPACE ACPDB1.* COPYDDN( OUT1 ) TASK 1
TABLESPACE ACPDB2.* COPYDDN( OUT1 ) TASK 2
TABLESPACE ACPDB3.* COPYDDN( OUT1 ) TASK 3
RESETMOD NO FULL NO READTYPE AUTO
Related topics