问题3:怎样计算Oracle数据库总的空间大小

本文介绍了如何计算Oracle数据库的数据文件、临时文件、日志文件及控制文件的大小,从而得出数据库的总空间占用。通过SQL查询,分别求和各部分的MB大小,并最终汇总得到数据库的总大小为1468170240字节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目的:计算oracle数据库总的空间大小

1.  计算数据文件的大小

SQL> select sum(bytes)/(1024*1024) "Size In MB" from dba_data_files;

Size In MB

----------

       960

2.  计算临时文件的大小

SQL> select sum(bytes)/(1024*1024) "Size In MB" from dba_temp_files;

Size In MB

----------

    20

3.  计算日志文件的大小即 redo 的大小

SQL> select sum(bytes)/(1024*1024) "Size In MB" from v$log;

Size In MB

----------

       200

4.  计算数据文件中已经被使用的空间的大小即数据库中已经使用的空间

SQL> select sum(bytes)/(1024*1024) "Size In MB" from dba_segments;

Size In MB

----------

   796.875

5. 计算数据库的总的空间大小即数据文件、临时文件、日志文件、控制文件大小的总和

/***********************************************************************/

selecta.data_size+b.temp_size+c.redo_size+d.cont_size "total_size"

from ( select sum(bytes)data_size

from dba_data_files ) a,

( select nvl(sum(bytes),0)temp_size

from dba_temp_files ) b,

( select sum(bytes) redo_size

from sys.v_$logfile lf,sys.v_$log l

where lf.group# = l.group#)c,

( selectsum(block_size*file_size_blks) cont_size

from v$controlfile ) d;

/***********************************************************************/

SQL DEVELOPER 中返回的结果如下:

SQL*PLUS 中返回的结果如下:

SQL> selecta.data_size+b.temp_size+c.redo_size+d.cont_size "Total_Size" from(select sum(bytes) data_size from dba_data_files) a,(select nvl(sum(bytes),0) temp_sizefrom dba_temp_files) b,(select sum(bytes) redo_size from sys.v$logfilelf,sys.v$log l where lf.group#=l.group#) c,(selectsum(block_size*file_size_blks) cont_size from v$controlfile) d;

Total_Size

----------

1468170240

 --END--

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值