Les 4000 viennet je pensent de la limitation varchar2 en PL/SQL
Pour le reste cela a déja été discuté sur le forum

par exemple ...