sql >> Base de Datos >  >> RDS >> Oracle

¿La agrupación de conexiones es imprescindible en ODP.NET?

La única razón para agrupar es el rendimiento, por lo que si su trabajo nocturno se ejecuta dentro de su ventana, no hay nada de malo en lo que está haciendo, especialmente porque mantiene su implementación simple al no tener que preocuparse por las conexiones inactivas.

Dicho esto, no haría esta práctica estándar. Rara vez escribo código para manejar conexiones obsoletas e incluso entonces es una simple fábrica. La pregunta comienza con ¿por qué tienes conexiones obsoletas? Por lo general, esto se relaciona con un firewall o un trabajo de DBA que finaliza las conexiones inactivas, las cuales deben cambiarse o relajarse para una cuenta de aplicación. Incluso en ese caso puedes hacer lo siguiente:

  • Especifique Min Pool Size=0 en su cadena de conexión. Al hacerlo, ODP.net limpia incluso la última conexión que tiene su aplicación, lo que permite que su aplicación se desconecte por completo cuando está inactiva durante un período lo suficientemente largo.
  • Especifique un tamaño de grupo de decrecimiento más alto en su cadena de conexión. Esto permitirá que ODP.net cierre más conexiones inactivas cada 3 minutos.
  • Podría intentar establecer Validate Connection =true. Supongo que hay menos sobrecarga validando la conexión que abriendo una.

Puede encontrar más información aquí:http:// docs.oracle.com/cd/E15296_01/doc.111/e15167/featConnecting.htm#i1006228