Oracle巡检结束后通常要给用户提供一份巡检报告,并附上采集数据库的信息文件。如果是oracle10g,oracle11g都可以采用html格式的AWR报告作为“统计信息明细”。当报告中指出某些问题,可以再明细中找到相对应的数据。
可是oracle9i的数据库怎么办?
我们还有statspack,可是用户不允许我们创建statspack呢?这里有一个小技巧可以DIY一个html格式的报告,把我们想要的统计信息生成出来,想要什么就输出什么,完全DIY。
首先在oracle用户下执行该语句登录sqlplus
[oracle@snow ~]$ sqlplus -s -M "html on" "/ as sysdba" <==回车执行
<==下列html语句自动生成
SQL*Plus Report
此时光标会停在这个位置闪烁不再输出内容了,我们可以把写好的语句粘贴过来,回车,生成报表。
set echo off
set feedback off
set termout off
set trimout on
set trimspool on
set pagesize 2000
set heading on
spool /home/oracle/db_check.html <==要确保文本输出的目录已经存在
select 'DATABASE BASIS CONDITION' " " from dual;
select 'INSTANCE NAME' " ",value " " from v$parameter where name='instance_name';
select 'DATABASE VERSION' " ",BANNER " " from v$version;
select 'DATAFILE TOTAL SIZE(G)' " ",sum(bytes)/1024/1024/1024 " " from v$datafile;
select 'SGA AREA' " ",name " ",value " " from v$sga;
select 'TABLESPACE NUMBER' " ",count(*) " " from v$tablespace;
select 'DATAFILE NUMBER' " ",count(*) " " from v$datafile;
..........
..........根据需要编写想要统计的信息
select 'DISK PYSICAL READ TOP 10' " " from dual;
select address,cpu_time/1000000,disk_reads,loads,sql_text from v$sql where rownum<11 order by disk_reads desc;
spool off
quit
粘贴完上面的代码段,回车开始生成报表。
在/home/oracle目录下可以看到db_check.html
报表如下所示
|
|
|
|
DATAFILE TOTAL SIZE(G)
|
41.5039063
|
|
|
|
|
DATABASE VERSION
|
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
|
|
DATABASE VERSION
|
PL/SQL Release 9.2.0.4.0 - Production
|
|
DATABASE VERSION
|
CORE 9.2.0.3.0 Production
|
|
DATABASE VERSION
|
TNS for IBM/AIX RISC System/6000: Version 9.2.0.4.0 - Production
|
|
DATABASE VERSION
|
NLSRTL Version 9.2.0.4.0 - Production
|
|
|
|
|
|
SGA AREA
|
Fixed Size
|
745824
|
|
SGA AREA
|
Variable Size
|
1392508928
|
|
SGA AREA
|
Database Buffers
|
1040187392
|
|
SGA AREA
|
Redo Buffers
|
798720
|
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29047826/viewspace-1248187/
,如需转载,请注明出处,否则将追究法律责任。