Если Вы не делаете метод виртуальным, дочерний класс не может переопределить его. Если Вы хотите помешать дочерним классам называть его, сделайте его частным.
Так C++ по умолчанию делает то, что Вы хотите.
Поразмыслив, я пришел к следующему решению:
LENGTHB(TO_CHAR(SUBSTR(<CLOB-Column>,1,4000)))
SUBSTR
возвращает только первые 4000 символов ( максимальный размер строки)
TO_CHAR
преобразуется из CLOB
в VARCHAR2
LENGTHB
возвращает длину в байтах, используемую строкой.