2010-11-29 16 views
15

"My_Enterprise_Data" adlı bir veritabanım var. Diskte kapladığı boyutu bulmalıyım.Oracle'da bir Veritabanının Boyutunu Bul

Nasıl bulabilirim?

Sorgulama, SELECT sum(bytes)/1024/1024 AS "Size in MB" FROM user_segments My_Enterprise_Data'ye karşı çalışıyor mu?

cevap

19

size kahin tarafından kullanılan veri dosyalarını gösterecektir şu:

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 

Daha sonra,

3

fısıldar veritabanı veri dosyalarından oluşur My_Enterprise_Data şema tarafından kullanılan tablo için bakmak log dosyaları yeniden yapabilirsiniz , kontrol dosyaları, geçici dosyalar. Veritabanının boyutu aslında tüm bu dosyaların toplam boyutu anlamına gelir. Oracle Veritabanı boyutunu hesaplamak için iki yol vardır

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 
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; 
İlgili konular