DB2 Version 9.7 for Linux, UNIX, and Windows

Analyzing DB2 license compliance reports

To verify the license compliance of your DB2® features, analyze a DB2 license compliance report.

Before you begin

The following steps assume that you have used the License Center or the db2licm command to generate a DB2 license compliance report.

Procedure

  1. Open the file that contains the DB2 license compliance report.
  2. Examine the status of each DB2 feature in the compliance report. The report displays one of the following values for each feature:
    In compliance
    Indicates that no violations were detected. The feature has been used and is properly licensed.
    Not used
    Indicates that you have not performed any activities that require this particular feature.
    Violation
    Indicates that the feature is not licensed and has been used.
  3. If there are any violations, use the License Center or the db2licm -l command to view your license information.

    If the DB2 feature is listed with a status of "Not licensed", you must obtain a license for that feature. The license key and instructions for registering it are available on the Activation CD that you receive when you purchase a DB2 feature.

    Note: On DB2 Workgroup Server Edition and DB2 Express® Edition, the SAMPLE database includes materialized query tables (MQT), and multidimensional cluster tables (MDC) that causes a license violation. This violation can only be removed by upgrading to DB2 Enterprise Server Edition.
  4. Use the following commands to determine which objects or settings in your DB2 database product are causing the license violations:
    • For the DB2 Advanced Access Control Feature:
      Check for tables that use label based access control (LBAC). Run the following command against every database in every instance in the DB2 copy:
      SELECT TABSCHEMA, TABNAME
      FROM SYSCAT.TABLES
      WHERE SECPOLICYID>0
    • For the DB2 Performance Optimization Feature:
      • Check whether there are any materialized query tables. Run the following command against every database in every instance in the DB2 copy:
        SELECT OWNER, TABNAME
        FROM SYSCAT.TABLES WHERE TYPE='S'
      • Check whether there are any multidimensional cluster tables. Run the following command against every database in every instance in the DB2 copy:
        SELECT A.TABSCHEMA, A.TABNAME, A.INDNAME, A.INDSCHEMA
        FROM SYSCAT.INDEXES A, SYSCAT.TABLES B
        WHERE (A.TABNAME=B.TABNAME AND A.TABSCHEMA=B.TABSCHEMA)
        AND A.INDEXTYPE='BLOK'
      • Check whether any of your instances use query parallelism (also known as interquery parallelism). Run the following command once in each instance in the DB2 copy:
        SELECT NAME, VALUE
        FROM SYSIBMADM.DBMCFG
        WHERE NAME IN ('intra_parallel')
      • Check if connection concentrator is enabled. Run the following command against every instance in the DB2 copy:
        db2 get dbm cfg

        This command displays the current values of database manager configuration parameters including MAX_CONNECTIONS and MAX_COORDAGENTS. If the value of the MAX_CONNECTIONS is greater than the value of the MAX_COORDAGENTS then connection concentrator is enabled. If you are not using DB2 Enterprise Server Edition, DB2 Advanced Enterprise Server Edition, or DB2 Connect™ Server products, ensure that connection concentrator is disabled. This is because connection concentrator is only supported for DB2 Enterprise Server Edition, DB2 Advanced Enterprise Server Edition, or DB2 Connect Server products.

    • For the DB2 Storage Optimization Feature:
      • Check if any tables have row level compression enabled. Run the following command against every database in every instance in the DB2 copy:
        SELECT TABSCHEMA, TABNAME
        FROM SYSCAT.TABLES
        WHERE COMPRESSION IN ('R', 'B')
      • Check if any indexes have compression enabled. Run the following command against every database in every instance in the DB2 copy:
        SELECT TABSCHEMA, TABNAME, INDNAME, COMPRESSION
        FROM SYSCAT.INDEXES
        WHERE COMPRESSION = 'Y'
      • Check if any compression dictionary still exists for a table that has row level compression deactivated. Run the following command against every database in every instance in the DB2 copy:
        SELECT TABSCHEMA, TABNAME
        FROM SYSIBMADM.ADMINTABINFO
        WHERE DICTIONARY_SIZE <> 0 OR XML_DICTIONARY_SIZE <> 0
        Note: This query might be resource intensive and might take a long time to run. Run this query only if Storage Optimization license violations are being reported even though there are no tables that have row level compression enabled.