oracle sqlplus中使用spool生成美化的html網頁

set termout       off       --顯示腳本中的命令執行結果,默認爲on
set echo          off       --現實腳本中的命令,默認爲on
set feedback      off       --現實腳本中執行返回的條數,默認爲on
set heading       off       --輸出域標題,默認爲on
set verify        off       --可以關閉和打開提示確認信息old 1和new 1的顯示
set wrap          on        --查詢返回的紀錄每行超過默認寬度時,可選擇換行on 或不換行off,默認爲換行;
set trimspool     on        --去除重定向spool輸出每行的拖尾空格,缺省爲off
set serveroutput  on
set escape        on


--下面是給在sqlplus中定義變量.例如文件名
define filename=dsg_dbcollect_

--下面是將別名賦予給變量,使用&來調用變量
COLUMN DGMODE NEW_VALUE DGMODE NOPRINT
select count(*) DGMODE from v$archive_dest where target = 'STANDBY';


--使用下面的格式,生成美化後的html.可以不設置head格式,使用默認的格式.但是如果想修改title,就需要使用head格式,如下:
set heading on

--不使用head格式直接用下面的:

set markup html on spool on  preformat off entmap off

--設置head格式使用下面的:
set markup html on spool on  preformat off entmap off -
head "-
 <style type='text/css'> -
 body {font:10pt Arial,Helvetica,sans-serif; color:black; background:White;} -
 p {font:10pt Arial,Helvetica,sans-serif; color:black; background:White;} -
 table,tr,td {font:10pt Arial,Helvetica,sans-serif; -
 color:Black; background:#f7f7e7; padding:0px 0px 0px 0px; margin:0px 0px 0px 0px;} -
 th {font:bold 10pt Arial,Helvetica,sans-serif; color:#336699; background:#cccc99; padding:0px 0px 0px 0px;} -
 h1 {font:16pt Arial,Helvetica,Geneva,sans-serif; color:#336699; background-color:White; border-bottom:1px solid #cccc99; margin-top:0pt; margin-bottom:0pt; padding:0px 0px 0px 0px;-} -
 h2 {font:bold 10pt Arial,Helvetica,Geneva,sans-serif; color:#336699; background-color:White; margin-top:4pt; margin-bottom:0pt;} -
 a {font:9pt Arial,Helvetica,sans-serif; color:#663300; background:#ffffff; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
 </style> -
 <title>Report_For_DSG</title>" -
 BODY "TEXT='#FF00Ff'" -
 TABLE "WIDTH='90%' BORDER='1'"


alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';

--下面是spool調用變量

spool &filename&OPERTIME
set markup html on entmap off


具體格式:

--生成索引:

prompt <a class="link" href="#Initialization Parameter"><li><b>Initialization Parameter</b></li></a>


--生成一級標題:

prompt <a name="report"></a>
prompt <font size="+3" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>ORACLE REPORT FOR DSG</b></font><hr align="left" width="460">


--生成二級標題

--------------------------------------------------------# 3
----------------------------tablespace and datafile
--------------------------------------------------------
prompt <a name="report"></a>
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>ORACLE REPORT FOR DSG</b></font><hr align="left" width="460">
CLEAR COLUMNS BREAKS COMPUTES


--生成三級標題

--------------------------------------------------------## 3.1
----------------------------tablespace and datafile
--------------------------------------------------------
prompt <a name="Parameter Not Default"></a>
prompt <font size="+1" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Parameter Not Default</b></font><hr align="left" width="460">
prompt <u1><li><b>Show Parameter which is not default </b></li></u1>
CLEAR COLUMNS BREAKS COMPUTES
--BREAK ON report ON owner 
--COMPUTE sum LABEL '<font color="#990000"><b>Total: </b></font>' OF obj_count ON report


prompt <center>[<a class="noLink" href="#top">Back to Top</a>]</center><p>


--返回top:
prompt <center>[<a class="noLink" href="#top">Back to Top</a>]</center><p>


--html中去除owner重複:
BREAK ON report ON owner SKIP 2
BREAK ON report ON owner 

--清除col,breaks,computs格式:
CLEAR COLUMNS BREAKS COMPUTES

--html中添加sum彙總結果:
COMPUTE sum LABEL '<font color="#990000"><b>Total: </b></font>' OF obj_count ON report

--下面是count彙總html:
COMPUTE count LABEL '<font color="#990000"><b>Total: </b></font>' OF obj_count ON report

 

--下面是我仿照awr生成的html結果示例:

 


參考文檔:
https://docs.oracle.com/cd/B19306_01/server.102/b14357/ch7.htm#CHDCECJG

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章