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
- Open the file that contains the DB2 license compliance report.
- 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.
- 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.
- 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.