sql >> Base de Datos >  >> RDS >> Oracle

Recuperar grandes datos de clob usando sqlplus

1) Primera mesa y clob.

create table large_clob(a clob);
insert into large_clob values( dbms_xmlgen.getXml('select * from dba_objects'));

2) Ejecutar código en sqlplus

set linesize 32767 long 2000000000 longchunksize 32767 PAGESIZE 0 FEEDBACK OFF ECHO OFF TERMOUT OFF
Spool output_file.txt
  select a from large_clob;
spool off

La descripción de todas las variables está aquí

  • long 2000000000 - especifica cuántos bytes de CLOB recuperar. (2 gb es máximo)
  • linesize tamaño de línea (32k es máximo). tamaño de línea. Si la línea excede el tamaño, la línea se ajustará a la siguiente fila
  • longchunksize 32k - clob se recuperará en fragmentos, donde el tamaño del fragmento es 32k
  • PAGESIZE 0 - inhabilitar la formación de la página de resultados
  • FEEDBACK,ECHO,TERMOUT - desactivar todo esto.
  • Spool redirigir la salida a archivo_salida.txt