Déjà, tu dois savoir qu'un CLOB peut contenir plusieurs Go de données. 4 si je ne m'abuse, à moins que ce ne soit seulement 2 sous Oracle.
Dans tous les cas, une fois qu'on sait ça, on commence à se dire "ah ouais, en fait mes 32 Ko c'est la taille du buffer qui permet d'interroger ce type de données, et non une variable.
Bon, après, comment parcourir le contenu du CLOB, à vrai dire, aucune idée. Je m'en suis servis qu'une fois, en programmation depuis du C#, du coup il fallait un streamreader (ça se lisait comme un fichier texte si tu préfères).
Ici, tu trouveras pas mal de doc :
http://helyos.developpez.com/lob/
Avec des pistes apparemment pour lire l'intégralité d'un CLOB.
Et à priori, la réponse à ton problème :
http://www.dba-oracle.com/t_writin [...] s_file.htm