Enlarging the table space for the QMF object catalog

Periodically, QMF objects might collectively become too large for the table spaces that contain the QMF object catalog control tables (Q.OBJECT_DIRECTORY, Q.OBJECT_DATA, and Q.OBJECT_REMARKS).

Before you begin

To help you estimate the amount of space needed, you can determine the amount of space currently used. If the space is managed by Db2®, you can get this information in the following way:

  1. Run the STOSPACE utility on the table space's storage group.
  2. Run the following query:
    SELECT SPACE
      FROM SYSIBM.SYSTABLEPART
      WHERE TSNAME='tttttttt' AND DBNAME='DSQDBCTL'

    In this statement, tttttttt is the table space name. The result (SPACE) gives the number of kilobytes of storage currently allocated to the table space.

About this task

The default table spaces are listed in the following table.

In addition to this procedure, you can also use the Db2 LOAD utility to enlarge a table space.

Table 1. Table spaces for control tables that store information about QMF objects
Table space
name
Contents
Default
size
DSQTSCT1 Q.OBJECT_DIRECTORY table 256 pages
DSQTSCT2 Q.OBJECT_REMARKS table 256 pages
DSQTSCT3 Q.OBJECT_DATA and Q.OBJECT_DATA2 tables 5120 pages
Important: QMF Version 13.1 creates table space data sets managed by Db2 if QMF was not previously installed. Do not change the QMF storage groups from managed by Db2 to user-managed after QMF installation. However, if the space is user-managed, you can use the TSO LISTCAT command for the space information if you know the data set name.

Procedure

To enlarge the table space for the QMF object catalog control tables, follow these steps:

  1. Make an image copy of the table space.
    You can use this for restoration if the procedure fails.
  2. Create a storage group for the table space.
    Do this only if the table space has user-managed data sets, and no storage group is already available.

    To determine the type of data set management used for the table space, run the following query:

    SELECT STORTYPE
      FROM SYSIBM.SYSTABLEPART
      WHERE TSNAME='DSQTSCT3' AND DBNAME='DSQDBCTL'
    This query produces a one-line result for the table space DSQTSCT3. In the result, STORTYPE has the value E or I:
    E
    Indicates that the data sets for the table space are user-managed (no associated storage group).
    I
    Indicates that the data sets for the table space are managed by Db2. The following table shows the default database partition groups for the QMF control tables.
    Table 2. Database partition groups for control tables that store information about QMF objects
    Database Partition Group Name Used for Characteristics
    DSQTSCTL For all QMF control tables except as described elsewhere in this table. Can be distributed across multiple database partitions. Growth potential is low.
    DSQTSOBJ The QMF object catalog control tables where procedure, query, form, folder, and analytics objects are stored. Can be distributed across multiple database partitions. Growth potential is high.
    DSQTSDEF The default SAVE DATA space as initialized in the QMF profile. Depending on your installation, this table space may not exist. Should be defined to be restricted to a single database partition to avoid complications.
    DSQTSAMP The QMF sample tables. Can be distributed across multiple database partitions.
  3. Stop the database using the following command:
    -STOP DATABASE(DSQDBCTL)
  4. Change the table space description.
    • If the table space data sets are user-managed, issue a Db2 statement like the following example:
      ALTER TABLESPACE DSQDBCTL.tttttt
        USING STOGROUP ssssss PRIQTY pppp SECQTY ssss
      In this statement, tttttt is the table space name. The statement changes the table space from user-managed to managed by Db2 and names a storage group (ssssss) for the management. The quantities pppp and ssss are the new primary and secondary allocation sizes (in kilobytes) for the enlarged table space.
    • If the table space data sets are managed by Db2, execute a Db2 statement like the following:
      ALTER TABLESPACE DSQDBCTL.tttttt
        PRIQTY pppp SECQTY ssss
      In this statement, tttttt is the table space name. The character strings pppp and ssss represent the new primary and secondary allocation sizes, in kilobytes, for the enlarged table space.
  5. Move the table space data.
    Simply changing the table space description does not affect enlargement. You must instead do something that causes the table space to be refilled.
  6. Start the database with the statement:
    -START DATABASE(DSQDBCTL)