Weird datasource connection problem

I would start by looking for open connections that for some reason are not getting closed. The DBAs should be able to see how many open connections are used in the pool. In my experience this is the first thing to look for. Commonly programmers have a hard time always closing connections especially within error handling routines. For example an error happens while working with the connection and then it is not closed. Once all of the connections are used up in the pool the connection stops working.