Ваша таблица использует расширенный тип данных . Когда вы запрашиваете 1500 char
с набором символов UTF8, каждый символ может использовать до 4 байтов, что означает, что вы действительно запрашиваете 6000 байтовый столбец. Для строк длиной более 4000 байтов Oracle тайно использует большие объекты для хранения данных. Большие объекты хранятся в отдельном сегменте от таблицы и нуждаются в индексе для доступа к своим значениям.
Так что, хотя Oracle поддерживает 32 КБ данных для VARCHAR2, они вроде обмануты, и вы столкнетесь с эти странные проблемы.
Эта проблема не может быть воспроизведена для других, потому что, если для их MAX_STRING_SIZE задано значение STANDARD, 1500 char
будет иметь максимальный размер при меньшем размере и не будет использовать большие объекты.
select value
from v$parameter
where name like 'max_string_size';