The PL/SQL data types are divided into
Scalar Types: used to hold a single value; e.g. DATE, VARCHAR2, NUMBER etc.
Composite Types: used to hold one or more items of the same or dissimilar types; e.g. PL/SQL Records,VARRY
Reference Types: Similar to Pointers in C; e.g. REF Cursor
Large Objects (LOB): A large object can be either a binary or character value up to 4GB; e.g. BLOB, CLOB, NCLOB and BFILE