If One of the document fail to Insert in DB then All document in Batch failed

Hello Experts!
My Oracle database account batch size is set to 50 and if error is in single record entire batch is getting error out with error message of first record where as other 49 records are valid records without erroneous data (tried and tested by manually removing 1 erroneous record ).
By setting batch size to 1 resolved the issue but now pipeline is taking 20 times more time as earlier.
So If there’s one document in the batch that’s going to cause the SQL operation (insert) to fail then none of the documents in the batch will be inserted.
A document will be written to the error view for every document in the failed batch.

Is it expected behaviour? Kindly suggest me you came across any other better solution that would help me a lot.

Thank you
Sanjay Rajpal