OracleBulkCopy, похоже, не поддерживает транзакции. Автоматическая фиксация никогда не бывает разумной, копируйте более контролируемым образом, например, используя массовые вставки.
OPEN z;
LOOP
FETCH z BULK COLLECT INTO z_array LIMIT z_array_size;
FORALL i IN 1..z_array.COUNT
INSERT INTO t2 VALUES z_array(i);
EXIT WHEN z%NOTFOUND;
END LOOP;