In Oracle, the BLOB (Binary Large Object) data type is used to store large amounts of binary data, such as images, audio files, video files, and other unstructured binary information. More: Oracle BLOB.
| Type in Oracle | Maximum size |
|---|---|
BLOB | up to (4 GB - 1) x db_block_size |
SecureFiles LOB | the default since 11g, adds deduplication, compression and encryption |
BFILE | points at an operating-system file; the data stays outside the database |
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