Known issues and limitations for Db2 and Db2 Warehouse
The following known issues apply to the Db2 and Db2 Warehouse services.
- Db2 users unable to authenticate to the Db2 OLTP database over JDBC
- Audit records with transaction IDs containing special characters are missing
- DB2OLTP instance is in a failed state
- Db2 logs using full disk capacity causes Db2 service to be in unusable state
- Unable to authenticate connection to service instance
- Enabling archiveToDb impacts performance
- Issues when creating a Db2 connection with IBM Software Hub credentials
Db2 users unable to authenticate to the Db2 OLTP database over JDBC
Applies to: 5.2.0 and later
When users try to access the Db2 OLTP database via JDBC, they face authentication failures even when they have the admin access.
[jcc][t4][2013][11249][4.33.31] Connection authorization failure occurred. Reason: User ID or Password invalid. ERRORCODE=-4214, SQLSTATE=28000
- Workaround
-
- Select your deployment by running the following
command:
oc -n ${PROJECT_CPD_INST_OPERANDS} exec -it ${db2_podname} -- bash - Switch to the db2inst1
profile:
su - db2inst1 - Unset the value of environment variable
DB2_BEDROCK_ROUTE:
unset DB2_BEDROCK_ROUTE - Stop wolverine:
sudo sv stop wolverine - Refresh the db2u security plug-in and restart Db2:
db2stop force && ipclean -a /bin/bash -c "source /db2u/scripts/include/db2_functions.sh && refresh_db2_sec_plugin" db2inst1]$ db2startYou can now connect to your Db2 database as cpadmin.
- Select your deployment by running the following
command:
Audit records with transaction IDs containing special characters are missing
Applies to: 5.2.0 and later
Some audit records might be missing from the IBM Software Hub audit service because the containerized Db2 Audit service is unable to process some randomly generated transaction IDs that contain special characters.
There is currently no workaround available to resolve this issue.
- Workaround
-
Restart Db2 to fix the issue.
DB2OLTP instance is in a failed state
Applies to: 5.0.0 and later
Fixed in: 5.2.1
On the Instances page, you see the db2oltp instance is in a failed state, but the pods and db2ucluster are healthy.
- Workaround
-
Restart Db2 to fix the issue.
Db2 logs using full disk capacity causes Db2 service to be in unusable state
Applies to: 4.8.4 and later
Even when the cluster is idle, the Db2 disk uses the entire disk capacity, which disrupts all cluster operations such as functional tests, backup and restore, and upgrade.
From within the db2u or etcd pod, running df -k shows that the disk utilization
of the archivelogs, activelogs and blumeta0
directories are 100% (or close to it).
- Workaround
-
To bring Db2 deployment to active or healthy state, carry out the following steps:
- Delete oldest archive logs in /mnt/logs/archive/db2inst1/BLUDB/NODE0000/LOGSTREAM0000/C0000000 manually.
- Delete .dump.bin files in DIAGPATH manually.
- Deactivate/activate Db2 db.
- Prune transaction logs by following the steps in Managing Db2 transaction logs.
After carrying out the above steps, no directories are at 100%, which allows both the db2u and etcd pods to come up and running.
Unable to authenticate connection to service instance
Applies to: 4.8.0 and later
When reinstalling the Db2 service on IBM® Software Hub, an issue can occur while authenticating a connection. This is due to a mismatch of the issuer ID between certificate secrets used by the db2u pod.
You see an error on the zen-database-core pod that is similar to the following output:
" level=error msg="Service instance 'db2oltp-wkc' database ping check failed" func="zen-databases-core/pkg/impl/operator.(Db2Connection).pingDb" file="/go/src/zen-databases-core/pkg/impl/operator/dbConnection.go:72" error="SQLDriverConnect: {08001} [IBM][CLI Driver]
SQL30081N A communication error has been detected. Communication protocol being used: "SSL". Communication API being used: "SOCKETS". Location where the error was detected: "SOCKETS".
Communication function detecting the error: "sqlccSSLSocketSetup". Protocol specific error code(s): "414", "", "*". SQLSTATE=08001\n"
Run the following commands to determine if you get the same issue on both certificates:
Refer to the following example output:oc get secret internal-tls -o jsonpath='{.data.ca\.crt}' | base64 -d | openssl x509 -noout -dates -issuer -subjectnotBefore=Dec 27 09:31:31 2023 GMT notAfter=Dec 26 09:31:31 2025 GMT issuer=CN = cs-ca-certificate subject=CN = cs-ca-certificate
Refer to the following example output:oc get secret <dbtype>-internal-tls -o jsonpath='{.data.ca\.crt}' | base64 -d | openssl x509 -noout -dates -issuer -subjectnotBefore=Aug 22 14:20:46 2022 GMT notAfter=Aug 21 14:25:46 2025 GMT issuer=CN = zen-ca-certificate subject=CN = zen-ca-certificate
- Before you begin
- The following procedure uses the variable <dbtype>. Replace
<dbtype> with the type of database in your environment. Correct inputs are:
db2oltpdb2whdb2aaservice
- Workaround
-
- Update your certificate secret.
- Run the following command to edit your
certificate:
oc edit certificate <dbtype>-internal-tls-certificate - Add
testas a new entry underspec.dnsName. Refer to the following example:spec: commonName: <dbtype>-internal-tls-certificate dnsNames: 'test' '*.zen' '*.zen.svc' '*.zen.svc.cluster.local' zen-ca-cert.zen - Run the following command to verify that a new certificate was
created:
Refer to the following example output:oc get certificaterequest | grep db2<dbtype>-internal-tls-certificate-1 True True zen-tls-issuer system:serviceaccount:ibm-cert-manager:ibm-cert-manager-controller 127m
- Run the following command to edit your
certificate:
- Run the following command to verify your
changes:
oc get secret <dbtype>-internal-tls -o jsonpath='{.data.ca\.crt}' | base64 -d | openssl x509 -noout -dates -issuer -subject - Restart your db2u pod to confirm that the connection is successful.
If you are still experiencing issues, contact IBM Support.
- Update your certificate secret.
Enabling archiveToDb impacts performance
Applies to: 4.7.0 and later
When you
enable audit logging and set archiveToDb to true, Db2 audit stores loaded images after the LOAD
task is finished. Keeping these images requires a large amount of disk space in the
/mnt/bludata0/db2/copy or /mnt/bludata0/scratch/db2/copy
paths. AUDIT.* tables display repetitive logs.
archiveToDb parameter if you are enabling db2u audit- Update the
db2uclusterCR.- Find your
db2uclusterresource name.oc get db2ucluster -n ${PROJECT_CPD_INST_OPERANDS} - Update your
db2uclusterresourceoc edit db2ucluster <db2u_cluster_name> -n ${PROJECT_CPD_INST_OPERANDS} -o yaml - Check
archiveToDbis set tofalse, for example:spec: addOns: audit: archiveToDb: false
- Find your
- Update the Audit setups and stored procedure inside the container.
- Select your deployment by running the following
command.
oc -n ${PROJECT_CPD_INST_OPERANDS} exec -it ${db2_podname} -- bash - Switch to the
db2inst1profile.su - db2inst1 - Update Audit setup with
--archive-to-db, for example:python3 /db2u/script/installaudit.py --archive-to-db false
- Select your deployment by running the following
command.
Issues when creating a Db2 connection with IBM Software Hub credentials
When you create a Db2 connection in the web console, an error can occur if you check the Cloud Pak for Data authentication box. To work around this issue, enter your IBM Software Hub credentials in the User name and Password fields, and do not check the Cloud Pak for Data authentication box.