bind_param_array would seem to be what you're looking for. I haven't checked the details but you may be able combine it with the BULK COLLECT and FORALL modifiers for SELECT and INSERT/UPDATE statements to improve performance. Another option would be to add the hint
/*+ APPEND */ to your INSERT statement which will bypass the SQL layer completely and do a direct path insert. This will consume space (blocks are only added beyond the high water mark) but performance is increased.
For massive (one-off) loads, pre-sort the data, alter the tables to be loaded to be NOLOGGING, use a direct path load method, re-enable LOGGING, build the indexes (massively increase SORT_AREA_SIZE for this session), take a cold backup and restart the database.
rdfield