See below for more details.
For the first question: (the application is still connected to the old DB password)
If we connect the database with the pooling option, the connection pool manager will create and maintain the number of connection sessions the first time the open or close object is OracleConnection object. (the number of connection sessions depends on the size of the pool "min" and "max" in the connection string). In Oracle, I think you can check the active session, for example:
SELECT s.inst_id, s.sid, s.serial
And according to an Oracle document, this connection pooling service will close connection sessions after 3 minutes of active state. [ http://docs.oracle.com/html/E10927_01/featConnecting.htm ]
For the second question: (why do I need MSDTC)
If you use a nested database connection in your code, it will be transferred to DTC. [ http://petermeinl.wordpress.com/2011/03/13/avoiding-unwanted-escalation-to-distributed-transactions/ ] Actually, ODP.net, DTC and Oracle Database operated Oracle Service for Microsoft Transaction Server ( OraMTS).
But you did not have this problem (MSDTC) before disabling pooling. It seems that your code is reusing the same connection from the remote connection pool, and this may eliminate the need for DTC promotion. There was a similar question about StaffOverflow. [ Why is my transaction not rising to DTC?
source share