Den eneste grund til pooling er ydeevne, så hvis dit natlige job kører inden for dets vindue, er der ikke noget galt med det, du laver, især da det holder din implementering enkel ved ikke at skulle bekymre dig om døde forbindelser.
Når det er sagt, ville jeg ikke gøre denne standardpraksis. Jeg skriver sjældent kode til at håndtere forældede forbindelser, og selv da er det en simpel fabrik. Spørgsmålet starter med, hvorfor du overhovedet har forældede forbindelser? Dette vedrører typisk enten en firewall eller et DBA-job, der afslutter ledige forbindelser, som begge skal ændres eller lempes for en applikationskonto. Selv i det tilfælde kan du gøre følgende:
- Angiv min. poolstørrelse=0 i din forbindelsesstreng. Hvis du gør det, kan ODP.net rydde op i selv den sidste forbindelse, din app har, hvilket giver din app mulighed for at afbryde forbindelsen fuldstændigt, når den er inaktiv i en tilstrækkelig lang periode.
- Angiv en højere Decr Pool Size i din forbindelsesstreng. Dette gør det muligt at lukke flere ledige forbindelser hvert 3. minut af ODP.net.
- Du kan prøve at indstille Validate Connection =true - Jeg gætter på, at der er mindre overhead til at validere forbindelsen, end der er ved at åbne en.
Mere info kan findes her:http:// docs.oracle.com/cd/E15296_01/doc.111/e15167/featConnecting.htm#i1006228