30000 rows deletion is a small job for Oracle. I think some user process might use the rows when you are trying to delete them. Otherwise it won't take long time.
Also assign exclusive rollback segment for this transaction and try again.
If you are sure that you will not issue rollback, then alter the table in NOLOGGING mode, so that redo will not be generated.