Do you have duplicate records in only DBA_USERS view or other dictionary tables/views also have similar problem?
What do you get for SELECT * FROM SYS.USER$; ?