Delete Duplicate Rows using Analytic functions
Code:
DELETE FROM TABLENAME
WHERE ROWID IN (SELECT ROWID FROM (SELECT ROW_NUMBER() OVER (PARTITION BY dup_col ORDER BY dup_col_1) rnk
                              	   FROM   TABLENAME)
                WHERE rnk>1);