在Oracle中查找数据库的大小

时间:2010-11-29 07:27:24

标签: database oracle

我有一个名为“My_Enterprise_Data”的数据库。我需要找到它在磁盘上占用的大小。

我如何找到它?

查询SELECT sum(bytes)/1024/1024 AS "Size in MB" FROM user_segments是否正确运行My_Enterprise_Data?

5 个答案:

答案 0 :(得分:20)

以下内容将向您展示oracle使用的数据文件:

select TABLESPACE_NAME "Tablspace",  
 FILE_NAME "Filename",  
 BYTES/1024/1024 "Size MB", 
 MAXBYTES/1024/1024 "Maximum Size MB", 
 AUTOEXTENSIBLE "Autoextensible"
from SYS.DBA_DATA_FILES

然后,您可以查找My_Enterprise_Data架构使用的表空间

答案 1 :(得分:5)

oracle数据库由数据文件,重做日志文件,控制文件,临时文件组成。 数据库的大小实际上是指所有这些文件的总大小。

select 
( select sum(bytes)/1024/1024/1024 data_size from dba_data_files ) +
( select nvl(sum(bytes),0)/1024/1024/1024 temp_size from dba_temp_files ) +
( select sum(bytes)/1024/1024/1024 redo_size from sys.v_$log ) +
( select sum(BLOCK_SIZE*FILE_SIZE_BLKS)/1024/1024/1024 controlfile_size from v$controlfile) "Size in GB"
from
dual

答案 2 :(得分:3)

SELECT a.data_size + b.temp_size + c.redo_size + d.controlfile_size 
"total_size in GB" 
FROM (SELECT SUM (bytes) / 1024 / 1024/1024 data_size FROM dba_data_files) a, 
(SELECT NVL (SUM (bytes), 0) / 1024 / 1024/1024 temp_size 
FROM dba_temp_files) b, 
(SELECT SUM (bytes) / 1024 / 1024/1024 redo_size FROM sys.v_$log) c, 
(SELECT SUM (BLOCK_SIZE * FILE_SIZE_BLKS) / 1024 / 1024/1024 
controlfile_size 
FROM v$controlfile) d;

答案 3 :(得分:2)

有两种方法可以在Oracle中计算数据库大小,

一个来自os端,另一个是登录datbase,

You also can see here the details procedure for both ways

答案 4 :(得分:0)

太好了……dba_segments赋予了Oracle database size

查找数据库实际占用的空间。

从dba_segments中选择总和(字节)/ 1024/1024/1024;