How to delete all duplicate rows and leave only one of them, in Oracle?
DELETE FROM my_table WHERE rowid not in (SELECT MIN(rowid) FROM my_table GROUP BY column1, column2, column3...) ;
Where column1, column2, etc. is the key you want to use.
Relative links:
Remove duplicate rows in MySQL
Remove duplicate rows in SQL Server
Some Oracle tools you can try: https://www.withdata.com/oracle/