We are running performance scalability stuff on DB2 platform and found that the connections are getting returned to the connection pool despite the process / activity is complete. When I query the db2 database, I see a number of connections with status "unit of work waiting". My question is: why are the connections not returned to the connection pool? Does UOW waiting has any relavance to holding up memory because we are seeing memory usage to be 100% full...!!
UOW waiting means the application is not doing any database realated work. The program control is in application code itself .. and the database is waiting for the request from the application. The connection that was established to database is still existing unless application resets database connection. You can see the last status change time from application snapshot to determine for how long the connection is there to database. Once application resets the connection, then only the thread(connection) returns to connection pool. You can reduce the memory usage by tuning different memory heap parameters. You can also reduce NUM_POOLAGENTS if it is very high.
IBM Certified UDB DBA
IBM Certified DB2 DBA