I am having some challenges protecting a multi-instance DB2 configuration.
The below error is thrown:
Db2 vendor library reported an error:[ ---- error report ---- app. message = backing up the database line = 6198 file = ClDb2AgentLib.cpp SQLCODE = -2079 SQL2079N An error was reported by the shared library "/opt/Commvault/commvault2/Base64/libDb2Sbt.so". Return code: "-1". --- end error report --- ]. [Backup] operation could not be completed.
Source: p3hdb_2, Process: ClDb2Agent
The backup of the first instance completes successfully.
Can a single Commvault instance protect multiple DB2 instances? I ask because how is this achieved if a different user and group own the each DB2 instances? As I understand it the Commvault binaries and log location should also be owned by this same user/group?
In light of the above:
1. Are multiple Commvault instances required to protect multiple DB2 instances?
2. Can different users/groups own the different DB2 instances?
3. If so, should the Db2_config.sh script be used be run from each user owning the DB2 instance if supported?
4. Are the configuration parameters different for each DB2 instance as explained at https://documentation.commvault.com/2024e/commcell-console/setting_db2_configuration_parameters.html?
Cheers.
Ignes
Best answer by sarvesh
Hi Iggy,
Thank you for reaching out. Please find the answers inline:
1. Are multiple Commvault instances required to protect multiple DB2 instances? No. You can back up multiple DB2 instances on the same server using a single Commvault instance.
2. Can different users or groups own different DB2 instances? If the DB2 instance owners belong to different groups, create a common group and add the respective DB2 instance OS users to that group. Then, assign the Commvault installation group ownership to this new common group using the cvpkgchg utility.
3. Should the Db2_config.sh script be run from each user owning the DB2 instance (if supported)? Yes. The Db2_config.sh script should be executed as the DB2 instance owner for each DB. This ensures that the correct DB2 configuration parameters are applied for each database.
4. Are the configuration parameters different for each DB2 instance as explained here (https://documentation.commvault.com/2024e/commcell-console/setting_db2_configuration_parameters.html)?
This configuration is independent of the number of DB2 instances. It is applied at the database level.
If the environment includes multiple instances or multiple databases, use the following format in the Name field. You will need the additional settings as below to ensure archiving path is assigned to each instances:
Thank you for reaching out. Please find the answers inline:
1. Are multiple Commvault instances required to protect multiple DB2 instances? No. You can back up multiple DB2 instances on the same server using a single Commvault instance.
2. Can different users or groups own different DB2 instances? If the DB2 instance owners belong to different groups, create a common group and add the respective DB2 instance OS users to that group. Then, assign the Commvault installation group ownership to this new common group using the cvpkgchg utility.
3. Should the Db2_config.sh script be run from each user owning the DB2 instance (if supported)? Yes. The Db2_config.sh script should be executed as the DB2 instance owner for each DB. This ensures that the correct DB2 configuration parameters are applied for each database.
4. Are the configuration parameters different for each DB2 instance as explained here (https://documentation.commvault.com/2024e/commcell-console/setting_db2_configuration_parameters.html)?
This configuration is independent of the number of DB2 instances. It is applied at the database level.
If the environment includes multiple instances or multiple databases, use the following format in the Name field. You will need the additional settings as below to ensure archiving path is assigned to each instances:
I tested this in my lab environment where I was able to backup multiple DB2 instances owned by different user accounts with a single Commvault instance.
Now with my customer it is not working.
Instance002 is the only installed Commvault instance.
Error:
Db2 vendor library reported an error:[---- error report ---- app. message = backing up the database line = 6198 file = CIDb2AgentLib.cpp SQLCODE = -2079 SQL2079N An error was reported by the shared library "/opt/Commvault/commvault2/Base64/libDb2Sbt.so". Return code: "-1". ---- end error report----]. [Backup] operation could not be completed.
From all the feedback received from the customer the UNIX group owning the Commvault installation also contains the DB2 instance users.
Running a readiness check shows all ready including the folders that is required for archive/retrieve/audit_error.
Does anyone have an idea?
I did log a support case but no concrete feedback yet.
I see that you have already created case 251104-573 for this issue. Our team is actively working on it, and we will resolve it as soon as possible. I will get in touch with the engineer handling the case to ensure timely updates.
The issue was resolved by reinstalling the agent and using a different dedicated Unix group for the installation binaries and log location.
It was not required to create separate locations for each DB2 instance and database as it is created automatically during the archive process.
The other issue was also that the actual ARCHMETHLOG1 parameter does not actually update although it shows as updated when issuing a “db2 get config for db” command. When running “db2diag -f” it still showed the original location.
Sometimes a db deactivate/activate would resolve the issue and on other occasions a full db2 restart of the instance was required.