Estoy cargando 50 000 registros en aproximadamente 15 segundos usando Array Binding en ODP.NET
Funciona invocando repetidamente un procedimiento almacenado que especifique (y en el que puede realizar actualizaciones/inserciones/eliminaciones), pero pasa los valores de múltiples parámetros de .NET a la base de datos de forma masiva.
En lugar de especificar un valor único para cada parámetro del procedimiento almacenado, especifique una matriz de valores para cada parámetro.
Oracle pasa las matrices de parámetros de .NET a la base de datos de una sola vez y luego invoca repetidamente el procedimiento almacenado que especifique utilizando los valores de parámetro que especificó.
http://www.oracle.com/technetwork/issue-archive/2009/09-sep/o59odpnet-085168.html
/Damián