set echo off
SET term off ver off feed off trims on; 
-- Seeded Parameters 
define p_top       = 10; 
define p_factor_th = 0.0040; 
 
variable v_count       number; 
variable v_buffer_gets number; 
variable v_disk_reads  number; 
variable v_executions  number; 
variable v_bg_per_exec number; 
variable v_dr_per_exec number; 
variable v_istartup    varchar2(15); 
 
SET term on ver off feed off trims on; 
PROMPT Calculating SQL Area totals per category... 
SET term off; 
BEGIN 
    SELECT COUNT(*), 
           TRUNC(SUM(ABS(BUFFER_GETS))), 
           TRUNC(SUM(ABS(DISK_READS))), 
           TRUNC(SUM(ABS(EXECUTIONS))), 
           TRUNC(SUM(ABS(BUFFER_GETS)/ 
           DECODE(NVL(ABS(EXECUTIONS),0),0,1,ABS(EXECUTIONS)))), 
           TRUNC(SUM(ABS(DISK_READS)/ 
           DECODE(NVL(ABS(EXECUTIONS),0),0,1,ABS(EXECUTIONS)))) 
      INTO :v_count, 
           :v_buffer_gets, 
           :v_disk_reads, 
           :v_executions, 
           :v_bg_per_exec, 
           :v_dr_per_exec 
      FROM V$SQLAREA; 
    SELECT TO_CHAR(STARTUP_TIME,'DD-MON-YY HH24:MI') 
      INTO :v_istartup 
      FROM V$INSTANCE 
     WHERE ROWNUM = 1; 
END; 
/ 
 
SET term on; 
PROMPT Creating COE_SQLAREA temp table... 
SET term off; 
DROP   TABLE COE_SQLAREA; 
CREATE TABLE COE_SQLAREA 
    (ROW_NUM NUMBER,HASH_VALUE NUMBER,ADDRESS RAW(4),BUFFER_GETS NUMBER, 
     DISK_READS NUMBER,EXECUTIONS NUMBER,BG_PER_EXEC NUMBER,DR_PER_EXEC NUMBER, 
     PARSING_USER_ID NUMBER,MODULE VARCHAR2(64),ACTION VARCHAR2(64), 
     SQL_TEXT VARCHAR2(64),P_BUFFER_GETS NUMBER,P_DISK_READS NUMBER, 
     P_EXECUTIONS NUMBER,P_BG_PER_EXEC NUMBER,P_DR_PER_EXEC NUMBER, 
     USERNAME VARCHAR2(30),T_BUFFER_GETS NUMBER,T_DISK_READS NUMBER, 
     T_EXECUTIONS NUMBER,T_BG_PER_EXEC NUMBER,T_DR_PER_EXEC NUMBER) NOLOGGING; 
 
INSERT INTO COE_SQLAREA 
SELECT  ROWNUM, 
        HASH_VALUE, 
        ADDRESS, 
        ABS(BUFFER_GETS), 
        ABS(DISK_READS), 
        ABS(EXECUTIONS), 
        ROUND(ABS(BUFFER_GETS)/ 
        DECODE(NVL(ABS(EXECUTIONS),0),0,1,ABS(EXECUTIONS))), 
        ROUND(ABS(DISK_READS)/ 
        DECODE(NVL(ABS(EXECUTIONS),0),0,1,ABS(EXECUTIONS))), 
        PARSING_USER_ID, 
        MODULE, 
        ACTION, 
        SUBSTR(SQL_TEXT,1,64), 
        ROUND(ABS(BUFFER_GETS)*100/:v_buffer_gets,3), 
        ROUND(ABS(DISK_READS)*100/:v_disk_reads,3), 
        ROUND(ABS(EXECUTIONS)*100/:v_executions,3), 
        ROUND((ABS(BUFFER_GETS)/ 
        DECODE(NVL(ABS(EXECUTIONS),0),0,1,ABS(EXECUTIONS)))*100/ 
              :v_bg_per_exec,3), 
        ROUND((ABS(DISK_READS)/ 
        DECODE(NVL(ABS(EXECUTIONS),0),0,1,ABS(EXECUTIONS)))*100/ 
              :v_dr_per_exec,3), 
        NULL, 
        NULL, 
        NULL, 
        NULL, 
        NULL, 
        NULL 
   FROM V$SQLAREA 
  WHERE 
--      PARSING_USER_ID <> 0 AND 
       (ABS(BUFFER_GETS) 
        > TO_NUMBER('&&p_factor_th')*:v_buffer_gets 
     OR ABS(DISK_READS) 
        > TO_NUMBER('&&p_factor_th')*:v_disk_reads 
     OR ABS(EXECUTIONS) 
        > TO_NUMBER('&&p_factor_th')*:v_executions 
     OR ABS(BUFFER_GETS)/DECODE(NVL(ABS(EXECUTIONS),0),0,1,ABS(EXECUTIONS)) 
        > TO_NUMBER('&&p_factor_th')*:v_bg_per_exec 
     OR ABS(DISK_READS)/DECODE(NVL(ABS(EXECUTIONS),0),0,1,ABS(EXECUTIONS)) 
        > TO_NUMBER('&&p_factor_th')*:v_dr_per_exec); 
 
UPDATE COE_SQLAREA CS 
   SET USERNAME = (SELECT USERNAME 
                     FROM ALL_USERS 
                    WHERE USER_ID=CS.PARSING_USER_ID); 
 
SET term on; 
PROMPT Calculating Top &&p_top SQL per category... 
SET term off; 
DECLARE 
    c_top     NUMBER; 
    c_rownum  NUMBER; 
    cursor C1 is 
        SELECT ROW_NUM 
          FROM COE_SQLAREA 
         ORDER BY BUFFER_GETS DESC; 
    cursor C2 is 
        SELECT ROW_NUM 
          FROM COE_SQLAREA 
         ORDER BY DISK_READS DESC; 
    cursor C3 is 
        SELECT ROW_NUM 
          FROM COE_SQLAREA 
         ORDER BY EXECUTIONS DESC; 
    cursor C4 is 
        SELECT ROW_NUM 
          FROM COE_SQLAREA 
         ORDER BY BG_PER_EXEC DESC; 
    cursor C5 is 
        SELECT ROW_NUM 
          FROM COE_SQLAREA 
         ORDER BY DR_PER_EXEC DESC; 
BEGIN 
    c_top := 1; 
    OPEN C1; 
    LOOP 
        FETCH C1 into c_rownum; 
        EXIT when C1%NOTFOUND; 
        EXIT when c_top = TO_NUMBER('&&p_top')+1; 
        UPDATE COE_SQLAREA 
           SET T_BUFFER_GETS = c_top 
         WHERE ROW_NUM       = c_rownum 
           AND BUFFER_GETS   > TO_NUMBER('&&p_factor_th')*:v_buffer_gets; 
        c_top := c_top+1; 
    END LOOP; 
    c_top := 1; 
    OPEN C2; 
    LOOP 
        FETCH C2 into c_rownum; 
        EXIT when C2%NOTFOUND; 
        EXIT when c_top = TO_NUMBER('&&p_top')+1; 
        UPDATE COE_SQLAREA 
           SET T_DISK_READS = c_top 
         WHERE ROW_NUM       = c_rownum 
           AND DISK_READS   > TO_NUMBER('&&p_factor_th')*:v_disk_reads; 
        c_top := c_top+1; 
    END LOOP; 
    c_top := 1; 
    OPEN C3; 
    LOOP 
        FETCH C3 into c_rownum; 
        EXIT when C3%NOTFOUND; 
        EXIT when c_top = TO_NUMBER('&&p_top')+1; 
        UPDATE COE_SQLAREA 
           SET T_EXECUTIONS = c_top 
         WHERE ROW_NUM       = c_rownum 
           AND EXECUTIONS    > TO_NUMBER('&&p_factor_th')*:v_executions; 
        c_top := c_top+1; 
    END LOOP; 
    c_top := 1; 
    OPEN C4; 
    LOOP 
        FETCH C4 into c_rownum; 
        EXIT when C4%NOTFOUND; 
        EXIT when c_top = TO_NUMBER('&&p_top')+1; 
        UPDATE COE_SQLAREA 
           SET T_BG_PER_EXEC = c_top 
         WHERE ROW_NUM       = c_rownum 
           AND BUFFER_GETS/DECODE(NVL(EXECUTIONS,0),0,1,EXECUTIONS) 
                             > TO_NUMBER('&&p_factor_th')*:v_bg_per_exec; 
        c_top := c_top+1; 
    END LOOP; 
    c_top := 1; 
    OPEN C5; 
    LOOP 
        FETCH C5 into c_rownum; 
        EXIT when C5%NOTFOUND; 
        EXIT when c_top = TO_NUMBER('&&p_top')+1; 
        UPDATE COE_SQLAREA 
           SET T_DR_PER_EXEC = c_top 
         WHERE ROW_NUM       = c_rownum 
           AND DISK_READS/DECODE(NVL(EXECUTIONS,0),0,1,EXECUTIONS) 
                             > TO_NUMBER('&&p_factor_th')*:v_dr_per_exec; 
        c_top := c_top+1; 
    END LOOP; 
END; 
/ 
 
UPDATE COE_SQLAREA CS 
   SET CS.ROW_NUM = ROWNUM 
 WHERE ( CS.T_BUFFER_GETS < TO_NUMBER('&&p_top')+1 OR 
         CS.T_DISK_READS  < TO_NUMBER('&&p_top')+1 OR 
         CS.T_EXECUTIONS  < TO_NUMBER('&&p_top')+1 OR 
         CS.T_BG_PER_EXEC < TO_NUMBER('&&p_top')+1 OR 
         CS.T_DR_PER_EXEC < TO_NUMBER('&&p_top')+1 ); 
 
COLUMN NAMESPACE FORMAT A15 HEADING 'Component'; 
COLUMN GETS FORMAT 999,999,999,999 HEADING 'Get Requests'; 
COLUMN GETHITRATIO FORMAT 999.9 HEADING 'Get|Hit|Ratio|Pct'; 
COLUMN PINS FORMAT 999,999,999,999 HEADING 'Pin Requests'; 
COLUMN PINHITRATIO FORMAT 999.9 HEADING 'Pin|Hit|Ratio|Pct'; 
COLUMN RELOADS FORMAT 999,999,999,999 HEADING 'Reloads' 
COLUMN PINRELOADRATIO FORMAT 999.9 HEADING 'Pin|Reload|Ratio|Pct'; 
COLUMN INVALIDATIONS FORMAT 999,999,999,999 HEADING 'Invalidations'; 
COLUMN POOL_NAME FORMAT A20 HEADING 'SGA Structure'; 
COLUMN POOL_BYTES FORMAT 99,999,999,999 HEADING 'Size in Bytes'; 
COLUMN POOL_MBYTES FORMAT 99,999.9 HEADING 'Size in MB'; 
COLUMN SQL_COUNT FORMAT 999,999,999 HEADING 'SQL Count'; 
COLUMN S_BUFFER_GETS FORMAT 999,999,999,999 - 
       HEADING '(A)|SQL Area Sum of|Logical Reads|(Buffer Gets)'; 
COLUMN S_DISK_READS  FORMAT 999,999,999,999 - 
       HEADING '(B)|SQL Area Sum of|Physical Reads|(Disk Reads)'; 
COLUMN S_EXECUTIONS  FORMAT 999,999,999,999 - 
       HEADING '(C)|SQL Area Sum of|Number of|Executions'; 
COLUMN S_BG_PER_EXEC FORMAT 999,999,999,999 - 
       HEADING '(D)|SQL Area Sum of|Logical Reads|per Execution'; 
COLUMN S_DR_PER_EXEC FORMAT 999,999,999,999 - 
       HEADING '(E)|SQL Area Sum of|Physical Reads|per Execution'; 
COLUMN DATE_TIME FORMAT A15 HEADING 'Execution|Date and Time'; 
COLUMN ISTARTUP FORMAT A15 HEADING 'Instance|Startup'; 
COLUMN T_BUFFER_GETS FORMAT 9999 HEADING 'Top|LR'; 
COLUMN T_DISK_READS  FORMAT 9999 HEADING 'Top|PR'; 
COLUMN T_EXECUTIONS  FORMAT 9999 HEADING 'Top|Exec'; 
COLUMN T_BG_PER_EXEC FORMAT 9999 HEADING 'Top|LR|per|Exec'; 
COLUMN T_DR_PER_EXEC FORMAT 9999 HEADING 'Top|PR|per|Exec'; 
COLUMN BUFFER_GETS FORMAT 99,999,999,999 - 
       HEADING '(F)|Logical Reads|(Buffer Gets)'; 
COLUMN DISK_READS  FORMAT 99,999,999,999 - 
       HEADING '(G)|Physical Reads|(Disk Reads)'; 
COLUMN EXECUTIONS  FORMAT 99,999,999,999 - 
       HEADING '(H)|Number of|Executions'; 
COLUMN BG_PER_EXEC FORMAT 99,999,999,999 - 
       HEADING '(I)|Logical Reads|per Execution'; 
COLUMN DR_PER_EXEC FORMAT 99,999,999,999 - 
       HEADING '(J)|Physical Reads|per Execution'; 
COLUMN P_BUFFER_GETS FORMAT 999.999 - 
       HEADING 'LR(*)|percent|(F/A)'; 
COLUMN P_DISK_READS  FORMAT 999.999 - 
       HEADING 'PR(*)|percent|(G/B)'; 
COLUMN P_EXECUTIONS  FORMAT 999.999 - 
       HEADING 'Exec(*)|percent|(H/C)'; 
COLUMN P_BG_PER_EXEC FORMAT 999.999 - 
       HEADING 'LR(*)|per Exe|percent|(I/D)'; 
COLUMN P_DR_PER_EXEC FORMAT 999.999 - 
       HEADING 'PR(*)|per Exe|percent|(J/E)'; 
COLUMN ROW_NUM FORMAT 999999 HEADING 'SQL ID'; 
COLUMN USERNAME FORMAT A10 HEADING 'User'; 
COLUMN MODULE_ACTION FORMAT A40 HEADING 'Source (Module and Action)'; 
COLUMN SQL_TEXT_L1 FORMAT A64 HEADING 'SQL Text (first 64 bytes)'; 
COLUMN SQL_TEXT    FORMAT A64 HEADING 'SQL Text'; 
COLUMN HASH_VALUE  FORMAT 999999999999999 HEADING 'Hash Value'; 
COLUMN PIECE NOPRINT; 
COLUMN DUMMY NOPRINT; 
 
SET term on; 
PROMPT Generating SPOOL file... 
PROMPT 
PROMPT 
SET term off; 
 
SET term on pages 10000 lines 156; 
SPOOL coe_sqlarea_80.txt; 
 
PROMPT Library Cache statistics for SQL and PL/SQL 
PROMPT =========================================== 
 
SELECT NAMESPACE, 
       GETS, 
       ROUND(GETHITRATIO*100,1) GETHITRATIO, 
       PINS, 
       ROUND(PINHITRATIO*100,1) PINHITRATIO, 
       RELOADS, 
       ROUND((PINS-RELOADS)*100/DECODE(NVL(PINS,0),0,1,PINS),1) PINRELOADRATIO, 
       INVALIDATIONS 
  FROM V$LIBRARYCACHE 
 WHERE NAMESPACE IN ('SQL AREA', 
                     'TABLE/PROCEDURE', 
                     'BODY', 
                     'TRIGGER'); 
PROMPT 
PROMPT 
PROMPT Related Shared Pool SGA Structures 
PROMPT ================================== 
 
SELECT NAME                   POOL_NAME, 
       BYTES                  POOL_BYTES, 
       ROUND(BYTES/1048576,1) POOL_MBYTES 
  FROM V$SGASTAT 
 WHERE POOL = 'shared pool' 
   AND NAME IN ('free memory', 
                'sessions', 
                'dictionary cache', 
                'library cache', 
                'sql area') 
UNION ALL 
SELECT 'Shared Pool Reserved', 
       TO_NUMBER(VALUE), 
       ROUND(TO_NUMBER(VALUE)/1048576,1) 
  FROM V$PARAMETER 
 WHERE NAME = 'shared_pool_reserved_size' 
UNION ALL 
SELECT 'Total Shared Pool', 
       TO_NUMBER(VALUE), 
       ROUND(TO_NUMBER(VALUE)/1048576,1) 
  FROM V$PARAMETER 
 WHERE NAME = 'shared_pool_size'; 
 
PROMPT 
PROMPT 
PROMPT SQL Area grand totals per category 
PROMPT ================================== 
 
SELECT :v_count                             SQL_COUNT, 
       :v_buffer_gets                       S_BUFFER_GETS, 
       :v_disk_reads                        S_DISK_READS, 
       :v_executions                        S_EXECUTIONS, 
       :v_bg_per_exec                       S_BG_PER_EXEC, 
       :v_dr_per_exec                       S_DR_PER_EXEC, 
       TO_CHAR(SYSDATE,'DD-MON-YY HH24:MI') DATE_TIME, 
       :v_istartup                          ISTARTUP 
  FROM DUAL; 
 
PROMPT 
PROMPT 
PROMPT Top &&p_top most expensive SQL Statements per category 
PROMPT ================================================= 
 
BREAK ON DUMMY; 
COMPUTE SUM OF BUFFER_GETS P_BUFFER_GETS ON DUMMY; 
SELECT NULL DUMMY, 
       T_BUFFER_GETS, 
       ROW_NUM, 
       BUFFER_GETS, 
       P_BUFFER_GETS, 
       SUBSTR(USERNAME,1,10) USERNAME, 
       SUBSTR(MODULE||' '||ACTION,1,40) MODULE_ACTION, 
       SQL_TEXT SQL_TEXT_L1 
  FROM COE_SQLAREA 
 WHERE T_BUFFER_GETS < TO_NUMBER('&&p_top')+1 
 ORDER BY T_BUFFER_GETS; 
 
COMPUTE SUM OF DISK_READS P_DISK_READS ON DUMMY; 
SELECT NULL DUMMY, 
       T_DISK_READS, 
       ROW_NUM, 
       DISK_READS, 
       P_DISK_READS, 
       SUBSTR(USERNAME,1,10) USERNAME, 
       SUBSTR(MODULE||' '||ACTION,1,40) MODULE_ACTION, 
       SQL_TEXT SQL_TEXT_L1 
  FROM COE_SQLAREA 
 WHERE T_DISK_READS < TO_NUMBER('&&p_top')+1 
 ORDER BY T_DISK_READS; 
 
COMPUTE SUM OF EXECUTIONS P_EXECUTIONS ON DUMMY; 
SELECT NULL DUMMY, 
       T_EXECUTIONS, 
       ROW_NUM, 
       EXECUTIONS, 
       P_EXECUTIONS, 
       SUBSTR(USERNAME,1,10) USERNAME, 
       SUBSTR(MODULE||' '||ACTION,1,40) MODULE_ACTION, 
       SQL_TEXT SQL_TEXT_L1 
  FROM COE_SQLAREA 
 WHERE T_EXECUTIONS < TO_NUMBER('&&p_top')+1 
 ORDER BY T_EXECUTIONS; 
 
COMPUTE SUM OF BG_PER_EXEC P_BG_PER_EXEC ON DUMMY; 
SELECT NULL DUMMY, 
       T_BG_PER_EXEC, 
       ROW_NUM, 
       BG_PER_EXEC, 
       P_BG_PER_EXEC, 
       SUBSTR(USERNAME,1,10) USERNAME, 
       SUBSTR(MODULE||' '||ACTION,1,40) MODULE_ACTION, 
       SQL_TEXT SQL_TEXT_L1 
  FROM COE_SQLAREA 
 WHERE T_BG_PER_EXEC < TO_NUMBER('&&p_top')+1 
 ORDER BY T_BG_PER_EXEC; 
 
COMPUTE SUM OF DR_PER_EXEC P_DR_PER_EXEC ON DUMMY; 
SELECT NULL DUMMY, 
       T_DR_PER_EXEC, 
       ROW_NUM, 
       DR_PER_EXEC, 
       P_DR_PER_EXEC, 
       SUBSTR(USERNAME,1,10) USERNAME, 
       SUBSTR(MODULE||' '||ACTION,1,40) MODULE_ACTION, 
       SQL_TEXT SQL_TEXT_L1 
  FROM COE_SQLAREA 
 WHERE T_DR_PER_EXEC < TO_NUMBER('&&p_top')+1 
 ORDER BY T_DR_PER_EXEC; 
 
PROMPT 
PROMPT Note(*): Percentage of grand total for SQL Area, per resource category 
PROMPT 
 
PROMPT 
PROMPT Summary of SQL Statements on the 5 Top &&p_top lists 
PROMPT =============================================== 
 
BREAK ON DUMMY; 
COMPUTE SUM OF BUFFER_GETS P_BUFFER_GETS DISK_READS P_DISK_READS - 
               EXECUTIONS P_EXECUTIONS BG_PER_EXEC P_BG_PER_EXEC - 
               DR_PER_EXEC P_DR_PER_EXEC ON DUMMY; 
SELECT NULL DUMMY, 
       CS.ROW_NUM, 
       CS.BUFFER_GETS, 
       CS.P_BUFFER_GETS, 
       CS.DISK_READS, 
       CS.P_DISK_READS, 
       CS.EXECUTIONS, 
       CS.P_EXECUTIONS, 
       CS.BG_PER_EXEC, 
       CS.P_BG_PER_EXEC, 
       CS.DR_PER_EXEC, 
       CS.P_DR_PER_EXEC 
  FROM COE_SQLAREA CS 
 WHERE ( CS.T_BUFFER_GETS < TO_NUMBER('&&p_top')+1 OR 
         CS.T_DISK_READS  < TO_NUMBER('&&p_top')+1 OR 
         CS.T_EXECUTIONS  < TO_NUMBER('&&p_top')+1 OR 
         CS.T_BG_PER_EXEC < TO_NUMBER('&&p_top')+1 OR 
         CS.T_DR_PER_EXEC < TO_NUMBER('&&p_top')+1 ) 
 ORDER BY CS.ROW_NUM; 
 
PROMPT 
PROMPT Note(*): Percentage of grand total for SQL Area, per resource category 
PROMPT 
 
SELECT CS.ROW_NUM, 
       CS.T_BUFFER_GETS, 
       CS.T_DISK_READS, 
       CS.T_EXECUTIONS, 
       CS.T_BG_PER_EXEC, 
       CS.T_DR_PER_EXEC, 
       CS.HASH_VALUE, 
       SUBSTR(CS.USERNAME,1,10) USERNAME, 
       SUBSTR(CS.MODULE||' '||CS.ACTION,1,40) MODULE_ACTION 
  FROM COE_SQLAREA CS 
 WHERE ( CS.T_BUFFER_GETS < TO_NUMBER('&&p_top')+1 OR 
         CS.T_DISK_READS  < TO_NUMBER('&&p_top')+1 OR 
         CS.T_EXECUTIONS  < TO_NUMBER('&&p_top')+1 OR 
         CS.T_BG_PER_EXEC < TO_NUMBER('&&p_top')+1 OR 
         CS.T_DR_PER_EXEC < TO_NUMBER('&&p_top')+1 ) 
 ORDER BY CS.ROW_NUM; 
 
PROMPT 
PROMPT 
PROMPT Full text of identified expensive SQL Statements ordered by SQL ID 
PROMPT ================================================================== 
 
BREAK ON ROW_NUM SKIP 1 ON T_BUFFER_GETS ON T_DISK_READS - 
      ON T_EXECUTIONS ON T_BG_PER_EXEC ON T_DR_PER_EXEC - 
      ON USERNAME ON MODULE_ACTION; 
SELECT CS.ROW_NUM, 
       ST.PIECE, 
       ST.SQL_TEXT, 
       CS.T_BUFFER_GETS, 
       CS.T_DISK_READS, 
       CS.T_EXECUTIONS, 
       CS.T_BG_PER_EXEC, 
       CS.T_DR_PER_EXEC, 
       SUBSTR(CS.USERNAME,1,10) USERNAME, 
       SUBSTR(CS.MODULE||' '||CS.ACTION,1,40) MODULE_ACTION 
  FROM COE_SQLAREA CS, 
       V$SQLTEXT   ST 
 WHERE 
       CS.HASH_VALUE      = ST.HASH_VALUE 
   AND CS.ADDRESS         = ST.ADDRESS 
   AND ( CS.T_BUFFER_GETS < TO_NUMBER('&&p_top')+1 OR 
         CS.T_DISK_READS  < TO_NUMBER('&&p_top')+1 OR 
         CS.T_EXECUTIONS  < TO_NUMBER('&&p_top')+1 OR 
         CS.T_BG_PER_EXEC < TO_NUMBER('&&p_top')+1 OR 
         CS.T_DR_PER_EXEC < TO_NUMBER('&&p_top')+1 ) 
 ORDER BY CS.ROW_NUM, ST.PIECE; 
 
PROMPT coe_sqlarea_80.txt has been generated. 
PROMPT 
PROMPT Recover the coe_sqlarea_80.txt spool file, compress into file 
PROMPT coesqlarea.zip and send/upload the resulting coesqlarea.zip file for 
PROMPT further analysis. 
PROMPT 
PROMPT If you wish to print the spool file nicely, open it in Wordpad or Word. 
PROMPT Use File -> Page Setup (menu option) to change Orientation to Landscape. 
PROMPT Using same menu option make all 4 Margins 0.2".  Exit this menu option. 
PROMPT Do a 'Select All' (Ctrl+A) and change Font to 'Courier New' Size 8. 
PROMPT 
SPOOL off; 
UNDEFINE p_top,p_factor_th; 
SET ver on feed on trims off long 80 pages 24 lin 80 feed on; 
SET sqlp SQL> sqln on; 


