Подход, который я использовал в прошлом (MS SQL, до Varchar (max)):
Поместите в таблицу два столбца: один маленький Varchar (например, 255) и другой текст. Затем создайте свое приложение так, чтобы оно использовало столбец Varchar для небольших данных, оставляя текст пустым. Если данные больше, чем Varchar, оставьте это значение пустым и сохраните его в тексте. Таким образом, небольшие данные не занимают свою собственную страницу на сервере. Компромисс здесь заключается в том, что все приложения, использующие данные, должны согласиться с этой схемой и иметь логику для ее учета. Но это работает хорошо.
Полагаю, то же самое верно и в Oracle, просто подставьте Varchar2 для Varchar и CLOB для Text. Я не претендую на то, чтобы знать, каким должен быть правильный размер varchar - это зависит от данных, а также от остальных столбцов таблицы.