z/OS DFSMS OAM Planning, Installation, and Storage Administration Guide for Object Support
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Partitioning the LOB storage structures

z/OS DFSMS OAM Planning, Installation, and Storage Administration Guide for Object Support
SC23-6866-00

During OAM installation and customization (using the default SAMPLIB members provided with the product), OAM creates a nonpartitioned unique clustered index on the LOB storage structure using a composite key consisting of both:
  • Collection ID column (OTCLID) in ascending order
  • Object name column (OTNAME) in ascending order
You might change the DB2 table space containing the LOB storage structure into a partitioned table space. If you do so, decide which column or columns on the LOB storage structure to use for the partitioning key. The following two examples of columns in the LOB storage structure might be used for the partitioning key:
  • Collection ID column (OTCLID)
  • Object name column (OTNAME)

OAM does not update the value of the collection ID column (OTCLID) in a row in the LOB storage structure, so this column might be used in a partitioning key.

OAM does not update the value of the object name column (OTNAME) in a row in the LOB storage structure, so this column might be used in a partitioning key. If you use the object name column (OTNAME) as the partitioning key, remember that DB2 only uses the first 40 bytes of the partitioning key to actually partition the data.

Another option to partition the LOB storage structure is by adding a column that you use only as the partitioning key.

  1. Determine the data type of the column and the value to be inserted into the column
  2. Alter the LOB storage structure to add this column before the OTOBJ column.
    • For example, one option could be to make this column a timestamp that is set when a row is inserted into the table when the object is created. You would then partition the table based on the selected time periods.
    • Another option could be to make the partitioning column a partition ID. You could specify a DB2 trigger that calculates the value of the partition ID.
  3. If you add a new column to the LOB storage structure, you must drop and recreate the views that were created at installation. To drop and recreate the views, run excerpt from sample job CBRILOB, as the following example shows:
    DROP VIEW osg_hlq.V_OSM_LOB_BASE_TBL; 
    CREATE VIEW osg_hlq.V_OSM_LOB_BASE_TBL AS SELECT ALL * FROM 
    osg_hlq.OSM_LOB_BASE_TBL;
    The osg_hlq in the DROP and CREATE statements is the high-level qualifier for the object storage group for the LOB storage structure.

To create the DB2 table space containing the LOB storage structure as a partitioned table space, you must modify the CREATE TABLESPACE SQL statements by adding a NUMPARTS clause for the HLQ.OSMLBTS and table spaces in the CBRILOB job in SYS1.SAMPLIB.

If you create the DB2 table space containing the LOB storage structure as a partitioned table space, you must define a partitioned index on the LOB storage structure. The partitioned index can be created by adding a CREATE INDEX SQL statement to the CBRILOB sample job in SYS1.SAMPLIB.

If you create the DB2 table space containing the LOB storage structure as a partitioned table space, the partitioned index must also be the clustering index. Therefore, the default index that OAM creates on the LOB storage structure (HLQ.OBJT04X1) cannot be a clustering index. In this case, you must change the default index that OAM creates on the LOB storage structure (HLQ.OTLOBX1) to a nonclustered index by removing the CLUSTER keyword from the CREATE INDEX SQL statement for the HLQ. OTLOBX1 index in the CBRILOB sample job in SYS1.SAMPLIB.

If you create the DB2 table space containing the LOB storage structure as a partitioned table space, there must still be a unique nonpartitioned index on the composite key in order for OAM to function properly that consists of both:
  • Collection ID column (OTCLID) in ascending order
  • Object name column (OTNAME) in ascending order
Note: Having a partitioned index and a nonpartitioned index on the LOB storage structure might diminish some of the benefits of partitioning the LOB storage structure.

In addition to changing the SQL statements contained in the CBRILOB sample job in SYS1.SAMPLIB, also include IDCAMS (access method services) DEFINE CLUSTER commands to preallocate a VSAM linear data set (LDS) for each of the partitions that you plan on having for each partitioned table space containing the LOB storage structure associated with each object storage group. Also use the IDCAMS DEFINE CLUSTER command to preallocate a VSAM linear data set for each partition comprising the partitioned index that you plan to create. The data set names associated with each VSAM linear data set must conform to DB2 data set naming conventions as specified in the "Data set naming conventions" topic in the IBM Information Management Software for z/OS Solutions Information Center.

DB2 free space search algorithms are not as efficient for partitioned table spaces as they are for segmented table spaces. As a result of partitioning the DB2 table spaces that contain the OAM LOB storage structures, you might impact the performance when small objects are being stored to the DB2 sublevel.

By partitioning the DB2 table space containing the OAM LOB storage structure, you are accepting the following responsibilities:
  • OSREQ STORE performance, when storing small objects to the DB2 sublevel, might not be as fast as when using a segmented table space for the OAM LOB storage structure.
  • OSMC transition of small objects to the DB2 sublevel might not be as fast as when using a segmented table space for the OAM LOB storage structure.
  • To create and manage each of the underlying VSAM linear data sets associated with each partition of the partitioned table space.
  • To create and manage each of the underlying VSAM linear data sets associated with each partition of the partitioned index.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014