Analyzing Db2 license compliance reports
To verify the license compliance of your Db2 offerings, analyze a Db2 license compliance report.
Before you begin
Procedure
- Open the file that contains the Db2 license compliance report.
-
Examine the status of each Db2
offering in the compliance report.
The report displays one of the following values for each offering:
- In compliance
- Indicates that no violations were detected. The offering was used and is properly licensed.
- Not used
- Indicates that you did not performed any activities that require this particular offering.
- Violation
- Indicates that the offering is not licensed and was used.
- If there are any violations,
use the db2licm -l command to
view your license information.
If the Db2 offering is listed with a status of "Not licensed", you must obtain a license for that offering. The license certificate file and instructions for registering it are available on the Activation CD that you receive when you purchase a Db2 offering.
Note: On Db2 Workgroup Server 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. -
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.
- Check whether there are any materialized query tables. Run the following command against every
database in every instance in the Db2
copy:
- 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.
- Check if any tables have row level compression enabled. Run the following command against every
database in every instance in the Db2
copy:
- For the Db2 Advanced Access Control
Feature: