首页 数据库,菜狗日记

在日常yy中我们可能会遇到统计数据库占用大小的情况,一下列出达梦8数据库查看数据库文件占用总空间sql
日常我们在使用截取小数点取后几位的时候会用到函数round,和trunc
测试样例:

selec round(3.14523,2) from dual; --截取小数点后两位并且小数点后第三位四舍五入该结果集为3.15
selec trunc(3.14523,2) from dual; --直接截取小数点后两位该结果集为3.14

今日遇到需求,某监控平台需要查询数据库占用的空间大小(TB)并且保留小数点后一位,小数点第二位四舍五入,在查询sql编写的时候整理出一下两个sql供基佬们使用。

select
        ROUND(TOTAL_G - FREE_G, 1)
FROM
        (
                SELECT
                        SUM(TOTAL_SIZE)*AVG(PAGE_SIZE)/1024/1024/1024/1024 TOTAL_G,
                        SUM(FREE_SIZE) *AVG(PAGE_SIZE)/1024/1024/1024/1024 FREE_G
                FROM
                        V$DATAFILE
        );
select ROUND((SUM(bytes)/1024/1024/1024/1024.0),1) from dba_data_files;

前者结果集查询较慢,建议使用后者
数据库使用空间占存储百分比SQL(假设数据库总存储为10TB)

select round(round((SUM(bytes)/1024/1024/1024/1024),2)/10*100,2)||'%' from dba_data_files;

文章评论