Spool sql*plus's output

Hello,
I want to write all the output of sql*plus in a file, so I did this:
SQL> SPOOL text.out
SQL> host date;
Tue Jan 26 15:46:17 UTC 2010
SQL> SPOOL OFF
SQL> exitAnd the output was:
bash> cat text.out
SQL> host date;
SQL> SPOOL OFFSo where is the date in the text.out???
Thanks for any help!

The HOST command writes a separate output that is printed on sqlplus screen but is ignored by the spool command.
The only workaround I can suggest you is the following:
SQL> host date > a.txt  -- Doing this outside the spool
SQL> spool a.txt append  -- append mode not to loose the previous content of the file
SQL> select 1 from dual;
         1
         1
SQL> spool off
SQL> host cat a.txt
Tue Jan 26 17:20:12 CET 2010
SQL> select 1 from dual;
         1                                                                     
         1                                                                     
SQL> spool off
SQL> Max
[My Italian Oracle blog|http://oracleitalia.wordpress.com/2010/01/23/la-forza-del-foglio-di-calcolo-in-una-query-la-clausola-model/]

Similar Messages

  • Got SQL *Plus query output in more than one in a single page

    Hi All,
    I have write a SQL *Plus code for execute one SQL query and registered as concurrent program. But I have got the output more than once in a single page after running the concurrent program. I am not getting what is the my code problem. Please can any one help me.
    This is my SQL code.
    -- These commands are added by applications concurrent manager
    SET TERMOUT OFF
    SET PAUSE OFF
    SET HEADING OFF
    SET FEEDBACK OFF
    SET VERIFY OFF
    SET ECHO OFF
    WHENEVER sqlerror exit failure
    -- set user environment
    SET pagesize 999
    SET linesize 860
    SET appinfo on
    SET tab off
    SET newpage none
    SET heading on
    --SET colsep ','
    -- define heading/footer
    --ttitle -
    -- left currdate -
    -- center 'SSFT Open PO Report' -
    -- right 'Page : ' format 999 sql.pno -
    -- skip 1 -
    -- center 'Organization US / Type Contract Labor / Status - Open' -
    -- skip 2
    --btitle -
    -- skip 1 -
    -- center 'Scansoft Inc. - All information confidential'
    -- define columns
    CLEAR columns
    SET heading on
    COLUMN c1 format a30 heading '"Last Name"' trunc
    COLUMN c2 format a30 heading '"First Name"' trunc
    COLUMN c3 format a50 heading '"Employee Name"' trunc
    COLUMN c4 format a20 heading '"Timecard Number"' trunc
    COLUMN c5 format a40 heading '"Expenditure Batch"' trunc
    COLUMN c6 format a24 heading '"Weekending Date"' trunc
    COLUMN c7 format a24 heading '"Expenditure Item Date"' trunc
    COLUMN c8 format a20 heading '"Expendtrmonth"' trunc
    COLUMN c9 format a20 heading '"Expendtryear"' trunc
    COLUMN c10 format a24 heading '"Sortdate"' trunc
    COLUMN c11 format 999999999 heading '"Task Id"'
    COLUMN c12 format a30 heading '"Task Name"' trunc
    COLUMN c13 format a30 heading '"Task Number"' trunc
    COLUMN c14 format a24 heading '"Closed Date"' trunc
    COLUMN c15 format a30 heading '"Project Name"' trunc
    COLUMN c16 format a30 heading '"Project Number"' trunc
    COLUMN c17 format a30 heading '"Project Status Code"' trunc
    COLUMN c18 format a30 heading '"Expenditure Type"' trunc
    COLUMN c19 format a30 heading '"Expenditure Org Name"' trunc
    COLUMN c20 format 999999999 heading '"Organization Id"'
    COLUMN c21 format a50 heading '"Projmrg"' trunc
    COLUMN c22 format a25 heading '"Role"' trunc
    COLUMN c23 format a24 heading '"Projmrg Start Date"' trunc
    COLUMN c24 format a24 heading '"Projmrg Start Date"' trunc
    COLUMN c25 format a35 heading '"Job Name"' trunc
    COLUMN c26 format a35 heading '"Project Type"' trunc
    COLUMN c27 format 999999999.99 heading '"Quentity"' trunc
    -- define breaks & computes
    --break -
    -- on report skip 2 -
    -- on c30 -
    -- on c20 skip 1
    --compute avg label 'Average' of c210 on report
    -- select statement here
    SELECT papf.last_name || '' c1, papf.first_name || '' c2,
    papf.full_name || '' c3, pea.orig_user_exp_txn_reference || '' c4,
    pea.expenditure_group || '' c5, pea.expenditure_ending_date || '' c6,
    peia.expenditure_item_date || '' c7,
    SUBSTR (TO_CHAR (peia.expenditure_item_date), 4, 3) || '' c8,
    SUBSTR (TO_CHAR (peia.expenditure_item_date), 8, 2) || '' c9,
    TO_DATE (SUBSTR (TO_CHAR (peia.expenditure_item_date), 4, 6),
    'MM/YY'
    || '' c10,
    peia.task_id || '' c11, pt.task_name || '' c12,
    pt.task_number || '' c13, ppa.closed_date || '' c14, ppa.NAME || '' c15,
    ppa.segment1 || '' c16, ppa.project_status_code || '' c17,
    pet.expenditure_type || '' c18, haou.NAME || '' c19,
    haou.organization_id || '' c20, pppv.full_name || '' c21,
    pppv.ROLE || '' c22, pppv.start_date_active || '' c23,
    pppv.end_date_active || '' c24, pj.NAME || '' c25,
    ppa.project_type || '' c26, peia.quantity || '' c27
    FROM pa.pa_expenditures_all pea,
    pa.pa_expenditure_items_all peia,
    pa.pa_tasks pt,
    pa.pa_projects_all ppa,
    hr.per_all_people_f papf,
    hr.hr_all_organization_units haou,
    pa.pa_expenditure_types pet,
    apps.pa_project_players_v pppv,
    hr.per_jobs pj
    WHERE pea.expenditure_id = peia.expenditure_id
    AND peia.task_id = pt.task_id
    AND peia.job_id = pj.job_id
    AND pt.project_id = ppa.project_id
    AND pea.incurred_by_person_id = papf.person_id
    AND pea.incurred_by_organization_id = haou.organization_id
    AND pet.expenditure_type = peia.expenditure_type
    AND ppa.project_id = pppv.project_id
    AND pppv.end_date_active IS NULL
    AND pea.expenditure_ending_date >= SUBSTR (SYSDATE - 545, 1, 9)
    ORDER BY papf.full_name ASC,
    pea.expenditure_ending_date ASC,
    peia.expenditure_item_date ASC;
    --spool off
    Thanks in advance
    --Subhas                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Hi
    Either remove the semicolon (;) or the slash (/) at the end of your query, as both will execute it.

  • Input with sql*plus and Output it with PL/SQL

    Hi everyone,
    I try to understand how can I get input and input by using sqlplus and plsql together. I get output like this:
    Get User Input
    Given Name: Iron
    Family Name: Man
    old   6:        Given_Name := '&GivenName';
    new   6:        Given_Name := 'Iron';
    old   7:        Family_Name := '&FamilyName';
    new   7:        Family_Name := 'Man';
    Given Name: Iron
    Family Name: Man
    PL/SQL procedure successfully completed.My Codes:
    PROMPT Get User Input
    ACCEPT GivenName PROMPT "Given Name: "
    ACCEPT FamilyName PROMPT "Family Name: "
    DECLARE
         Family_Name Varchar(15);
         Given_Name Varchar(15);
    BEGIN
         Given_Name := '&GivenName';
         Family_Name := '&FamilyName';
         DBMS_OUTPUT.PUT_LINE('Given Name: ' || Given_Name); 
         DBMS_OUTPUT.PUT_LINE('Family Name: ' || Family_Name);
    END;
    /My question is why I get
    old   6:        Given_Name := '&GivenName';
    new   6:        Given_Name := 'Iron';
    old   7:        Family_Name := '&FamilyName';
    new   7:        Family_Name := 'Man';this bit?Is there something wrong in my code? Thanks.

    Hi,
    From SQL*Plus reference:
    After you enter a value at the prompt, SQL*Plus lists the line containing the substitution variable twice: once before substituting the value you enter and once after substitution. You can suppress this listing by setting the SET command variable VERIFY to OFF.
    So. you can remove current output with
    SET VERIFY OFF
    and enable your PL/SQL output by
    SET SERVEROUTPUT ON
    Regards
    Peter

  • SQL*PLUS - remove output 'PL/SQL procedure successfully completed.'

    Hi,
    When I use SQL*PLUS to call a PLSQL procedure, it will always output text: 'PL/SQL procedure successfully completed.' when the PLSQL procedure completes.
    I have a requirement to not display this message output. In SQL*PLUS how do you turn this off?

    how to disable procedure successfully completed message in SQL*Plus

  • PLS-00201 error occurs when batching a stored procedure in SQL*Plus

    I have a batch file to run a stored procedure and spool the results to file. When I enter the commands manually in sql*plus the output works fine and my results are spooled to the output file. But when I run the same commands in the batched script I get an error.
    Any ideas?
    Stored Procedure:
    create or replace procedure MMP( p_cursor in out SYS_REFCURSOR)
    as
    begin
    open p_cursorfor select name, id from table;
    end;
    batch file 1:
    sqlplus -S user/pw@REPORTDV @sp_output_spooled.sql
    script file sp_output_spooled.sql
    Pasting these commands directly to the SQL*Plus command prompt spools the result set to file as expected.
    set colsep '|'
    set echo off
    set feedback off
    set termout off
    set heading off
    set linesize 9000
    set pagesize 0
    set trimspool on
    set headsep off
    spool output.TXT
    var rc refcursor
    execute MMP(:rc)
    print rc
    spool off
    exit
    The errors printed to output.TXT file after the batch is run and error occurs:
    BEGIN MMP(:rc); END;
    ERROR at line 1:
    ORA-06550: line 1, column 8:
    PLS-00201: identifier 'MMP' must be declared
    ORA-06550: line 1, column 8:
    PL/SQL: Statement ignored
    ERROR:
    ORA-24338: statement handle not executed
    SP2-0625: Error printing variable "rc"

    Hi,
    Your code worked fine for me.
    Is MMP procedure owned by the same user that is running the batch file or does it have proper privileges and synonym?
    vr,
    Sudhakar

  • SQL*Plus - how to suppress the SQL in a spool file

    This is my SQL*Plus script. I thought I had solved the problem, but it is back now and I don't know what I am missing. But I don't want the query at the top of the file.
    SET SERVEROUTPUT ON
    SET MARKUP HTML ON -SILENT
    SET ECHO OFF
    SET PAGESIZE 33
    SET TERMOUT OFF
    Spool C:\DuaneWilson.xls
    SELECT *
    FROM RPT_DS1_CNT_CAT_vw
    WHERE ROWNUM <=100
    ORDER BY CVBI_KEY;
    SET MARKUP HTML OFF
    SET ECHO ON
    SET PAGESIZE 20
    SET TERMOUT ON
    SET SERVEROUTPUT OFF

    It turns out when I run the script with the @ or Start with the file name, there is no SQL put out to the file. But when I just copy the text out of the file and run it at the prompt, the SQL appears in the output file. In reference to the -SILENT, I put that in after the MARKUP statement and got an error. Maybe I don't know where that goes. And I am not sure why there is a difference if it is run as a script or just pasted to the buffer. At least it should be the same in the output file, I would think.

  • Seek help to format spool file from SQL*PLUS

    I am running a Unix shell script to call a Oracle 11g SQL script from a Oracle database. In this SQL script, I need to connect to many different remote databases to select data, then sool these records as one big text file to a directory. Then email the file to related Group users. In the spool file, there is a line on the top of each page like this:
    DUMMY
    DB_NAME
    I know this is caused by connect to remote database in SQL*PLUS. My connection string is like this:
    Conn system/password@Oracle_SID
    How can I remove these lines or how to skip these lines into spool file? Please advise. Thanks in advnce. Wish all of you Happy New Year!!!

    Hi,
    It sounds like you have some kind of formatting (such as SQL*Plus TTITLE) producing the output you don't want. If that's the case, temporarily stopping the spooling might not help you. Find out what is causing the output that you don't want. You say that you know it is caused by the CONNECT statements, but it must be more than that. I've written scripts with CONNECT statements that don't have anything like what you reported at the top of each page; in fact, they don't even have pages: the output is one continuous stream. Find out what's putting the unwanted output there, and that will be a big clue as to how you can stop it.
    You say that you know the unwanted titles are there because of the CONNECT statements. If so, use database links instead of CONNECT. You don't have to use dbms_scheduler or utl_file; just eliminate the CONNECT statements. (I'm not saying that there's anything wrong with dbms_scheduler or utl_file; you should definitely investigate those tools. I'm just saying that using database links is independent of them.)
    What would happen if you did all your connecting to different databases at the OS level? Can you write a shell script that connects to each database in turn, and runs a SQL*Plus script in each one. Each SQL*Plus script would have a SPOOL or SPOOL ... APPEND command, or maybe you could build the SPOOL into a LOGIN.SQL script.

  • 2GB limits on SQL*PLUS output file

    Hi,
    We are running 64bits Oracle 8.1.7.4 and SQL*PLUS 8.1.7.0 on 64 bit SunOS. There is no limit on file size on the unix login and I am able to work with file over 2GB.
    However, I am not able the output over 2GB to text file from SQL*PLUS. The SQL*PLUS keeps running, but the file size fize does not incease after 2GB.
    Can anyone help me?
    Thanks,
    CK

    In SQL*Plus 9.0 the SQL*Plus I/O architecture was
    rewritten and many (all?) 32 bit operating systems that
    have 64bit I/O packages allow SPOOLing more than 2G.
    See enhancement request 697548.
    A dedicated OCI or Pro*C application may be faster for
    spooling large files, depending on the output formatting
    requirements.
    -- CJ

  • SQL Plus Error - "Can't open file" when spooling

    Hi:
    I have a user who is either able or unable to spool when running a script depending on what Oracle user she logs in as. She's always logging in as the same Linux user but connecting to Oracle as different Oracle users via SQL Plus. When spool files are created they are created with that user's account and group settings, so the OS account seems to be fine.
    I'm having a problem with the idea that there is an Oracle role or something that controls this. Spool isn't UTL_FILE. Is this a SQL Plus application setting or something?
    We're using Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
    Thanks

    Well, I'm working off an email so maybe they cut and pasted and maybe they didn't. They say the error is
    spool error: "Cannot create spool file"
    I'll have to recreate their situation and see what it really says. But either way, my confusion is how this same OS user can log in as a different Oracle user and spool away. Perhaps the comment above is correct. It worked the first time and they tried to run under the other account without removing the current file. I tend not to think so because these users have been running similar reports for years and they usually have to remove the old output file before re-running.

  • SQL*Plus script with a dynamic SPOOL File Location?

    Anyone,
    I have a numbr of SQL Plus scripts that I need to run many times but each run against a different database. Each script SPOOLS the output like this:
    spool c:\temp\BUILD_ASSET.lis
    spool c:\temp\BUILD_WORKORDER.lis
    etc
    (each spool is a seperate script run)
    The spool is at the top of each BUILD SQL Script.
    Example:
    set time on
    SET FEEDBACK ON
    SET ECHO ON
    SET TIMING ON
    spool c:\temp\BUILD_ASSET.lisBut I need each run to go into its own directory based on the database I am connected to. Like this:
    CONNECT DB1
    @C:\temp\BUILD_ASSET.SQL =====> spool c:\temp\DB1\BUILD_ASSET.lis
    @c:\temp\BUILD_WORKORDER.SQL =====>  spool c:\temp\DB1\BUILD_WORKORDER.lis
    etc
    CONNECT DB2
    @C:\temp\BUILD_ASSET.SQL =====> spool c:\temp\DB2\BUILD_ASSET.lis
    @c:\temp\BUILD_WORKORDER.SQL =====> spool c:\temp\DB2\BUILD_WORKORDER.lisIs there a way to dynaically code this without having to create a version of the BUILD scripts for every single DB I connect to?
    I would like to have one big script that executes all the individual BUILD scripts.
    Seems very easy in concept but I can not see an easy way. I would appreciate any help I can get.
    Thanks in advance,
    Miller

    column db new_Value db
    select sys_context('userenv','db_name') db from dual;
    spool c:\temp\&db\file.lis

  • How to Strip Extraneous Output from SQL*Plus Session

    We are running Oracle Database 11g on Solaris 10, and I am trying to use SQL*Plus to create a temporary .sql file that I can execute in a later step of a Korn shell script. Here is the code:
         $ORACLE_HOME/bin/sqlplus / as sysdba <<EOF
    --whenever oserror exit failure;
    --whenever sqlerror exit sql.sqlcode;
    set serveroutput on
    set termout off
    set trimspool on
    set verify off
    set heading off
    set feedback off
    set echo off
    spool /usr/oracle/temp/apply_site_security_for_oracle_database_11g.ksh.tmp
    declare
         Value_DSC varchar2(2000);
         CommandLine_DSC varchar2(4000);
    begin
         select v\$parameter.value into Value_DSC from v\$parameter where lower(name)='diagnostic_dest';
         CommandLine_DSC := 'host chmod 751 ' || Value_DSC;
         dbms_output.put_line('--Ready to execute: ' || CommandLine_DSC);
         dbms_output.put_line(CommandLine_DSC);
         CommandLine_DSC := 'host ls -ld ' || Value_DSC;
         dbms_output.put_line('--Ready to execute: ' || CommandLine_DSC);
         dbms_output.put_line(CommandLine_DSC);
    end;
    spool off;
    exit;
    EOF
    I've tried to turn off everything I don't need, but I am missing something. When I run the script, I get the following in the temporary file:
    SQL>
    SQL> declare
    2 Value_DSC varchar2(2000);
    3 CommandLine_DSC varchar2(4000);
    4
    5 begin
    6 select v$parameter.value into Value_DSC from v$parameter where lower(name)='diagnostic_dest';
    7
    8 CommandLine_DSC := 'host chmod 751 ' || Value_DSC;
    9 dbms_output.put_line('--Ready to execute: ' || CommandLine_DSC);
    10 dbms_output.put_line(CommandLine_DSC);
    11
    12 CommandLine_DSC := 'host ls -ld ' || Value_DSC;
    13 dbms_output.put_line('--Ready to execute: ' || CommandLine_DSC);
    14 dbms_output.put_line(CommandLine_DSC);
    15 end;
    16 /
    --Ready to execute: host chmod 751 /s01/app/oracle
    host chmod 751 /s01/app/oracle
    --Ready to execute: host ls -ld /s01/app/oracle
    host ls -ld /s01/app/oracle
    SQL>
    SQL> spool off;
    I am hoping to whittle this down to just the following lines so I can execute them as a script.
    --Ready to execute: host chmod 751 /s01/app/oracle
    host chmod 751 /s01/app/oracle
    --Ready to execute: host ls -ld /s01/app/oracle
    host ls -ld /s01/app/oracle
    Any ideas?
    Edited by: shew01 on Jan 19, 2010 10:51 AM

    I just found it. Just add "-S" to the sqlplus command. Argh... I hunted for that a while back. Why didn't I remember it??????????
    This works:
         $ORACLE_HOME/bin/sqlplus -S / as sysdba <<EOF
    whenever oserror exit failure;
    whenever sqlerror exit sql.sqlcode;
    set serveroutput on
    set linesize 2000
    set pagesize 0
    set termout off
    set trimspool on
    set feedback off
    spool /usr/oracle/temp/apply_site_security_for_oracle_database_11g.ksh.tmp
    declare
         Value_DSC varchar2(2000);
         CommandLine_DSC varchar2(4000);
    begin
         select v\$parameter.value into Value_DSC from v\$parameter where lower(name)='diagnostic_dest';
         CommandLine_DSC := 'host chmod 751 ' || Value_DSC;
         dbms_output.put_line('--Ready to execute: ' || CommandLine_DSC);
         dbms_output.put_line(CommandLine_DSC);
         CommandLine_DSC := 'host ls -ld ' || Value_DSC;
         dbms_output.put_line('--Ready to execute: ' || CommandLine_DSC);
         dbms_output.put_line(CommandLine_DSC);
    end;
    spool off;
    exit;
    EOF
    Edited by: shew01 on Jan 19, 2010 11:02 AM

  • Fnd_file.put_line(FND_FILE.OUTPUT in Ora Apps in SQL*Plus program

    I have used fnd_file.put_line(FND_FILE.OUTPUT and fnd_file.put_line(FND_FILE.LOG many times for programs registered as PL/SQL Stored Procedure or used in DB Packages to write to the concurrent manager output and log files. No problem doing that. I have a simple program that I was going to register in Oracle Apps as a SQL*Plus script (instead of creating a DB procedure) that contains a PL/SQL block and will use fnd_file.put_line to write the output so it can be seen from the Concurrent Mgr View Requests. When the script runs the fnd_file.put_line(FND_FILE.OUTPUT... doesn't write to the output (or log) file. I am guessing fnd_file.put_line(FND_FILE.OUTPUT is not available to programs registered as SQL*PLUS.
    Is that correct? Am I missing something simple that would allow it to run without creating a DB procedure/package.
    I am testing this with a very simple script just to see if I can get something written to the output and log files.
    SET SERVEROUTPUT ON
    declare
    x varchar2(20);
    Begin
    select 'test'
    into x
    from dual;
    fnd_file.put_line(FND_FILE.LOG,'In the log file');
    fnd_file.put_line(FND_FILE.OUTPUT,'In the output file');
    end;
    Thanks for taking the time to read this and any offers to help

    I think you should post it in the relevant Oracle Apps forum and not here. It seems that - you may have some problem regarding any privileges or missing some property which needs to be configure.
    Regards.
    Satyaki De.

  • Query output similar to sql plus results

    Is it possible to configure SQLDeveloper to output the query result similar to sql plus ?
    I want to print the field names of the sql input, something as:
    OWD_ID     seconds   policies/s     COUNT(OWD_ID)     MIN(OWE_PRC_DT)     MAX(OWE_PRC_DT)   
    5174           872       17             14892                 06/11/2009 12:53:31  06/11/2009 13:08:03 Thanks
    Claudio
    Edited by: Claudio Miranda on Nov 10, 2009 11:49 AM
    Edited by: Claudio Miranda on Nov 10, 2009 11:51 AM

    Claudio Miranda wrote:
    Is it possible to configure SQLDeveloper to output the query result similar to sql plus ?
    I want to print the field names of the sql input, something as:
    OWD_ID     seconds   policies/s     COUNT(OWD_ID)     MIN(OWE_PRC_DT)     MAX(OWE_PRC_DT)   
    5174           872       17             14892                 06/11/2009 12:53:31  06/11/2009 13:08:03 Thanks
    Claudio
    As far as I know, no :(

  • Xml output format in sql*plus problem

    Hi all,
    In stead of seeing xml output in multiple line format, my sql*plus always returns xml output in ONE line, is there a way to change the format, it's really hard to read.
    Thanks
    1 select xmlelement("row", xmlelement("user", xmlattributes(username as "name", default_tablespa
    2 from dba_users
    3* where rownum=1
    SQL>/
    XMLELEMENT("ROW",XMLELEMENT("USER",XMLATTRIBUTES(USERNAMEAS"NAME",DEFAULT_TABLES
    <row><user name="SYS" tbs="SYSTEM"></user></row>
    however I want to see something well formatted like
    <row>
    <user name="SYS" tbs="SYSTEM"></user>
    </row>

    Not sure if there are any settings with the SQL*PLUS but if you use packages other than the SQLX operators like DBMS_XMLQUERY, DBMS_XMLGEN, SYS_XMLGEN to generate xml then the output is as desired.
    select dbms_xmlgen.getxml('select username, default_tablespace from dba_users
    where rownum=1') from dual
    DBMS_XMLGEN.GETXML('SELECTUSERNAME,DEFAULT_TABLESPACEFROMDBA_USERSWHEREROWNUM=1'
    <?xml version="1.0"?>
    <ROWSET>
    <ROW>
    <USERNAME>REVIEW</USERNAME>
    <DEFAULT_TABLESPACE>METRICS</DEFAULT_TABLESPACE>
    </ROW>
    </ROWSET>
    But these packages does not offer the flexibility you have with SQLX operators.
    so if you requirement is simple generation you can use the above method.

  • How can I spool file in SQL*Plus using sysdate as filename?

    Dear Oracle Experts,
    Would you help me to solve following problem?
    I want spool a file in SQL*Plus but using sysdate as filename.
    e.g. today is 30-Nov-1999
    then the filename is 19991130.lst
    tommorrow is 1-Dec-1999
    then the filename is 19991201.lst
    My e-mail address is [email protected]
    Thanks!!!
    Tony Sit
    null

    Tony Sit (guest) wrote:
    : Dear Oracle Experts,
    : Would you help me to solve following problem?
    : I want spool a file in SQL*Plus but using sysdate as filename.
    : e.g. today is 30-Nov-1999
    : then the filename is 19991130.lst
    : tommorrow is 1-Dec-1999
    : then the filename is 19991201.lst
    : My e-mail address is [email protected]
    : Thanks!!!
    : Tony Sit
    Tony, hi!
    Let you test this way:
    set ECHO OFF
    set TERMOUT OFF
    set FEEDBACK OFF
    set VERIFY OFF
    SET PAGESIZE 0
    SET LINESIZE 80
    SET HEADING OFF
    spool setout.sql
    SELECT 'SPOOL '

Maybe you are looking for