Impact of Table Partitioning on DBUTLTY Functions
Any Parent Table Name Restriction
The Any Parent table name cannot be used in DBUTLTY functions as a table name parameter.
Area level DBUTLTY control
In support of table partitioning, many utility functions are enhanced to support control at the area level instead of only at the full database level.
The area level controls are not available in a MUFplex.
The following utility functions have special changes because of partitioning.
The table name(s) provided as part of the INCLUDE or EXCLUDE keywords supports the use of a Full Parent name in addition to normal table names. The Any Parent table name is not supported. The LOAD function can load data into changed area definitions, but it is critical that all data be backed up before any is reloaded when adding, deleting, or changing the partition values of areas.
The extract utility function allows the Full Parent name. Three asterisks (***) should be coded in AREA= if you are extracting a partition Full Parent table. One specific table name is supported.
For a LOAD with FORMAT=BACKUP, you must use the keyword LOADID=NO to force input to output matching, using table name not table DATACOM-ID. The name must be the Full Parent name against a Full Parent or if going from ID partitioning against an unpartitioned table. If the partition criteria do not now match, the row is rejected. If a row is rejected, the LOADPTN= keyword is used to control the action taken. If it is set to SKIP, the row is ignored with no error condition. If it is set to FAIL or allowed to default to FAIL, the row is
dumped,and the utility function terminates.
For a LOAD with FORMAT=EXTRACT, Input rows that do not match the partition values for the area are treated according to the LOADPTN option as previously explained.
The LOAD utility report provides information about row movement to different areas.
The following information is provided under NOTES on the load report when tables are partitioned:
- SKIPPEDIndicates record(s) from this table are to be skipped (not loaded) because they do not meet any of the range criteria for any tables in this partition.
- TABLE NOT LOADEDIndicates the table was not loaded.
Database Level LOADs
Database backups and database loads are strongly suggested when going from non-partitioned to partitioned and from partitioned to non-partitioned tables.
If a database load, the data is loaded into the appropriate table based on range values.
If an area load, only data that meets the criteria for the partitioned table in that area is loaded. If a database load, data is loaded into the correct tables in an area based upon range criteria.
Area Level LOADs
If doing an area load from a database backup, the utility fails on the first record that does not fit in the area based on range values. You should code LOADPTN=SKIP if you want to continue the load and skip the records that fail to meet the criteria.
Loading from Non-Partitioned to Partitioned Tables and Back Again
The following shows the results of loading data into a table based on whether it is partitioned or not and on the parameter settings.
- Non-partitioned loading to partitionedNon-partitioned data may be loaded into a partitioned table if the non-partitioned table has the same name as the Full Parent of the partitioned table. The partition values determine to which table the row is added.
- Partitioned loading to non-partitionedPartitioned data may be loaded back to a non-partitioned table if the non-partitioned table has the same name as the Full Parent of the partitioned table.
- Partitioned loading to partitionedIf match on Full Parent name and then verify range values.
The REORG utility has no changes specifically for partitioning. The table name provided when using the FORMAT=EXTRACT must be a specific table and may not be a Full Parent table name.
If you are partitioning by some portion of Native Key, running a REORG DDNAME=*,INNUM=
nis the number of partitions) gives the current way to break up the data set.
Forward Recovery Utility
The table name optionally provided to the forward recovery may be a specific table or may be a Full Parent table. If a specific table, log records are selected with the same name or if the log record is a Full Parent name or Any Parent name and the table ID matches the specific table requested. If a Full Parent table is specified, log records are selected if the table name matches the Full Parent table, or the Any Parent table, or any specific table having the selected Full Parent name.