oracle-databasesqlplusspool

Prevent output of SPOOL from being wrapped


I'm trying to generate all DDLs for objects in a Database using the SPOOL command in SQLPLUS:

SET trimspool ON
SET wrap off
SET heading off
SET linesize 300
SET echo off
SET pages 999
SET long 90000
Col object_type format a10000
Col object_name format a10000
Col owner format a10000

spool export.out

SELECT DBMS_METADATA.GET_DDL(object_type, object_name, owner)
FROM all_OBJECTS 
WHERE OWNER = 'DMALM' 
and object_type not like '%PARTITION'
and object_type not like '%BODY'
and object_type not like '%LOB';

spool off
quit

But the output file I get is cut at col #80. How can I prevent the output file from being wrapped?


Solution

  • How about using word_wrapped?

    SET trimspool ON
    SET heading off
    SET linesize 300
    SET echo off
    SET pages 999
    SET long 90000
    set termout off
    column txt format a121 word_wrapped
    Col object_type format a10000
    Col object_name format a10000
    Col owner format a10000
    spool export.out
    
    SELECT DBMS_METADATA.GET_DDL(object_type, object_name, owner)txt
    FROM all_OBJECTS 
    WHERE OWNER = 'DMALM' 
    and object_type not like '%PARTITION'
    and object_type not like '%BODY'
    and object_type not like '%LOB';
    
    spool off
    quit