There isn't a best approach if you do not provide us the requirements and the environment...
It depends on what for you is the best.
1.) Can you disable the Constraints / unique Indexes on the table?
2.) Is there a possibility to run parallel queries?
3.) Do you need to know the rows which can not be inserted if the constraints are enabled? Or it is not necessary?
4.) Do you need it fast or you have time to do it?
What does "best approach" mean for you?
If it is from a raw file and in the OLAP environment i suggest , using SQL Loader you can load the data and catch error records in a seperate bad file.
If it is for OLTP then you provide the details as per the David's reply.