我忒忙 发表于 2016-05-12 15:07

使用spool输出csv格式查看系统表空间使用情况

本帖最后由 我忒忙 于 2016-05-12 15:08 编辑

SET SPOOL ON pre off entmap off

SET ECHO OFF
SET TRIMOUT OFF
set feedback off
set heading on
set colsep ,
set trimspool on
set headsep off
set numw 10
set linesize 200
set pagesize 10000
col tablespace_name format a15
col total_space format a10
col free_space format a10
col used_space format a10
col used_rate format 99.99
spool /home/oracle/test.csv
select a.tablespace_name,a.total_space_Mb||'m' total_space,b.free_space_Mb||'m'
free_space,a.total_space_Mb-b.free_space_Mb||'m' used_space,
(1-(b.free_space_Mb/a.total_space_Mb))*100 used_rate,a.total_blocks,b.free_blocks from
(select tablespace_name,sum(bytes)/1024/1024 total_space_Mb,sum(blocks) total_blocks from dba_data_files
group by tablespace_name) a,
(select tablespace_name, sum((bytes)/1024/1024) free_space_Mb,sum(blocks) free_blocks from dba_free_space
group by tablespace_name) b
where a.tablespace_name=b.tablespace_name order by used_rate desc;
spool off

注(SET ECHO OFF不显示终端输入的start、@、@@等执行脚本命令、SET TERMOUT OFF在spool的时候结果不在终端显示、SET TRIMOUT OFF删除尾部空格)

结果如下:



更多Oracle精彩内容 请关注我:
页: [1]
查看完整版本: 使用spool输出csv格式查看系统表空间使用情况