declare v_body clob; offset number := 1; v_str varchar(32767); amount number := 32767; begin v_body := rpad('Big clob data ', 32767 * 4, 'Big clob data '); while(offset <= dbms_lob.getlength(v_body)) loop dbms_lob.read(v_body, amount, offset, v_str); -- Operate with v_str: --dbms_output.put_line(v_str); offset := offset + amount; end loop; end;