Oracle
 sql >> Base de données >  >> RDS >> Oracle

Récupérer de grandes données de clob à l'aide de sqlplus

1) Première table et clob.

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

2) Exécuter le code dans 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 description de toutes les variables est ici

  • long 2000000000 - spécifie le nombre d'octets de CLOB à récupérer. (2 Go au maximum)
  • linesize taille de la ligne (32k est max). taille de ligne. Si la ligne dépasse la taille , la ligne sera renvoyée à la ligne suivante
  • longchunksize 32k - le clob sera récupéré en morceaux, où la taille du morceau est de 32k
  • PAGESIZE 0 - désactivation de la page de résultats
  • FEEDBACK,ECHO,TERMOUT - désactiver tout cela.
  • Spool rediriger la sortie vers output_file.txt