In Oracle, CLOB (Character Large Object) is a data type used to store large amounts of character – based data. More: Oracle CLOB.
| Type in Oracle | Maximum size |
|---|---|
CLOB | up to (4 GB - 1) x db_block_size, counted in characters |
NCLOB | national character set variant |
LONG | deprecated - do not use |
Oracle is the only engine here that really has types named `BLOB` and `CLOB`. BLOB counts bytes and CLOB counts characters under the database character set. The theoretical ceiling is enormous - roughly 32 TB with 8 KB blocks - so something else will stop you first.
The theoretical limit is far away, but a single INSERT is bounded by PGA memory and round trips: you must obtain an EMPTY_BLOB() locator and append with DBMS_LOB in chunks rather than sending the whole value at once.
expdp (Data Pump) or SQL*Loader with a LOBFILEimpdp, or SQL*Loader - point large objects at a `LOBFILE` instead of inlining themEMPTY_BLOB() plus chunked DBMS_LOB.WRITEAPPENDexp / imp utilities handle large LOBs poorly - use Data Pump, expdp and impdpLONG is a pre-1990s type that cannot be mixed with LOBs; new tables should use CLOBLOBFILE instead