Hi Dario,
So basically there is some code that is not closing its connections properly / at all.
You don't mention which version of Maximo / MAS you are using so that makes it harder to make specific recommendations.
I'll assume that you haven't got any 3rd party pieces of software misbehaving e.g. interfaces that are directly logging into the database.
On that basis there are three main areas that can cause these problems
- BIRT reports - prior to 7.6 there were about 25 out of the box BIRT reports that leaked connections because they failed to close secondary datasets - Any BIRT reports built on 7.5 reports should be checked to confirm that secondary datasets (e.g. in fetch methods) are closing the dataset
- The 7.6 reports were fixed as part of the rollout process so they should be fine now
- Cohesive offer a service where we can automatically check BIRT reports and warn of problems - if you think you/your client would be interested in this then reach out to me
- OOB Java classes - For the past few years I, and others, have been raising PMRs and getting fixes for DB connection leaks in OOB Java code - so ensure that the system is patched to the latest interim fix pack to receive a substantial number of fixes
- Custom code - Look for code that opens MBOSets from the MXServer but doesn't close them - I did a series of articles about DB connection leaks - see this link and go to the section labelled ""
- Cohesive offer a service where we can automatically check automation scripts and warn of problems - if you think you/your client would be interested in this then reach out to me
How do you get more details about the leaks and the code that is submitting the queries?
You can query the DB to get the SQL for open cursors but that often doesn't help because it doesn't tell you anything about the Java/script code that submitted the SQL.
Go to the Logging application and reconfigure the dbconnection logger.
My article here explains how to do this and what to look for:
https://www.linkedin.com/pulse/db-connections-mbosets-understanding-which-piece-code-mark-robbins
I have published details of some of the key ways that code / scripts leak cursors here:
https://www.linkedin.com/pulse/maximo-support-advice-from-non-ibm-engineer-article-mark-robbins/ in the section labelled "Managing MboSets – MBOSet overview - (#mbosetMgtPractices)"
that should give you enough information to get started.
the sooner you change the dbconnection logger to INFO the sooner you will get information about the code that leaked the cursors ...
If you aren't familiar with the SystemOut.log files then we offer an automated log analysis service which can process the logs and generate a nice report that lists the database connection leaks along with details of fixes for known issues
------------------------------
Mark Robbins
Support Lead/Technical Design Authority / IBM Champion 2017 - 2023
Cohesive (previously Vetasi Limited)
https://www.linkedin.com/pulse/maximo-support-advice-from-non-ibm-engineer-article-mark-robbins/------------------------------
Original Message:
Sent: Mon March 18, 2024 04:24 AM
From: Dario Stjepanović
Subject: open Cursors exceeded
Hi every one,
Please can You help me with this. I have a client who use oracle database, and this morning I get mail from their database admin that we have on Maximo database this error:
2024-03-18T07:30:22.005170+01:00Maximum Open Cursors Exceeded in Process 275487 .Maximum Open Cursors Exceeded in Process 275487 .Maximum Open Cursors Exceeded in Process 275487 .Maximum Open Cursors Exceeded in Process 275487 .Maximum Open Cursors Exceeded in Process 275487 .Maximum Open Cursors Exceeded in Process 275487 .Maximum Open Cursors Exceeded in Process 275487 .Maximum Open Cursors Exceeded in Process 275487 .Maximum Open Cursors Exceeded in Process 275487 .Maximum Open Cursors Exceeded in Process 275487 .Maximum Open Cursors Exceeded in Process 275487 .Maximum Open Cursors Exceeded in Process 275487 .Maximum Open Cursors Exceeded in Process 275487 .Maximum Open Cursors Exceeded in Process 275487 .Maximum Open Cursors Exceeded in Process 275487 .Maximum Open Cursors Exceeded in Process 275487 .Maximum Open Cursors Exceeded in Process 275487 .Maximum Open Cursors Exceeded in Process 275487 .Maximum Open Cursors Exceeded in Process 275487 .Maximum Open Cursors Exceeded in Process 275487
Did someone have something like this, where can I found what can cause this error?
As I can see on internet, it can be because of some report, code in sql queries or something like this....Where can I found what report or query is problem?
P.S.
Thank you.
------------------------------
Dario Stjepanović
------------------------------