Вы должны использовать BLOB.
BLOB не сохраняется как дополнительный файл, он сохраняется как блок в одном из ваших файлов данных (как и другие данные). Если BLOB станет слишком большим для одного блока (что может не произойти в вашем случае), он будет продолжен в другом блоке.
Если ваши BLOB-данные действительно малы, вы можете заставить Oracle хранить их в линейке с другими данными в вашей строке (например, varchar2).
Внутренне Oracle делает нечто похожее на то, что предлагал PAX. Куски такие же большие, как блок БД, за вычетом некоторых накладных расходов. Если вы попытаетесь заново изобрести функции Oracle поверх Oracle, это будет только медленнее, чем встроенная функция.
Вам также придется заново реализовать целую кучу функций, которые уже предоставлены в DBMS_LOB (длина, сравнения и т. Д.).