Depend on your remote software setup, there more than likely is a keep alive setting.
What it does after “X” amount of time make sure the connect stays open.
Here some mechanism will issue a simple sql query to a catalog table or maybe an installed special table.
Know the if you have autocommit turned on then it’s keep alive pings it will issue a commit after they are done.
And to add more confusion to the mix is if you are using connection pooling. Here each connection in the pool will do the same as above.
Sent from my iPhone
Original Message:
Sent: 10/24/2025 4:08:00 PM
From: Jan Nelken
Subject: RE: how to track why so many internal commits are happening?
Hi,
There are several places where an internal commit may be issued; most obvious is CONNECT_PROC, TERMINATE and CONNECT RESET, but also any automatic maintenance tasks, WLM tasks, monitoring tasks, STMM, Health Monitor may contribute to number of internal commits.
------------------------------
Jan Nelken
Db2 (LUW) DBA
Open for work
Katowice or Krakow
+48 783 109 863
------------------------------
Original Message:
Sent: Fri October 24, 2025 09:10 AM
From: Harishkumar Pathangay
Subject: how to track why so many internal commits are happening?
hi,
the question is for learning purpose only, not in a real time client issue.
i have a database activated and just left it alone and looked at database snapshot for commit statements and internal commits.
No applications are connected, just the database is idle for more than 20 minutes. but i get more than 30 internal commits after some time. i just really idling not even any users connected. how to figure out why such behaviour or db2 decides to commit 40 times on idle database.
i use db2 get snapshot for database statement to monitor internal commits monitor element.
thanks,
harish pathangay
------------------------------
Harishkumar Pathangay
------------------------------