1) VARCHAR can store up to 2000 bytes while VARCHAR2 can store up to 4000 bytes. VARCHAR occupies space for NULL values but VARCHAR2 does not.
2) CHAR stores fixed length character strings and VARCHAR stores variable length character strings. COMMIT validates transaction modifications while ROLLBACK erases them, and cannot be used after COMMIT.
3) DELETE can be rolled back but TRUNCATE cannot. DELETE locks rows while TRUNCATE locks the table. ROWID identifies the physical address of a row while ROWNUM provides a sequence number.