Oracle ve Mssql Database Size Sorgulamak

Oracle ve Mssql Database Size Sorgulamak

Bu makalede Oracle ve MSSQL de database size nasıl hesaplarız, beraber bakalım..

Oracle Database Size Sorgulamak

Oracle veritabanı boyutunu aşağıdaki sql ile bulabiliriz, bunun dışında Enterprise managar ya da Grid control ile görüntülemek de mümkün.Tablespace bazında toplam alan, kullanılan alan ve kullanım yüzdesini hesaplar.

Oracle Tablespace Size Query.

SELECT DF.TABLESPACE_NAME TABLESPACE,
DF.TOTALSPACE TOTAL_MB,
TOTALUSEDSPACE USED_MB,
(DF.TOTALSPACE-TU.TOTALUSEDSPACE) FREE_MB,
ROUND(100 * ((DF.TOTALSPACE-TU.TOTALUSEDSPACE)/DF.TOTALSPACE),2) PCT_FREE
FROM (SELECT TABLESPACE_NAME, ROUND(SUM(BYTES)/(1024*1024)) TOTALSPACE
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) DF,
(SELECT ROUND(SUM(BYTES)/(1024*1024)) TOTALUSEDSPACE,
TABLESPACE_NAME
FROM DBA_SEGMENTS
GROUP BY TABLESPACE_NAME) TU
WHERE DF.TABLESPACE_NAME = TU.TABLESPACE_NAME
UNION ALL
SELECT TABLESPACE_NAME,
(BYTES_USED+BYTES_FREE)/1024/1024 TOTAL_MB,
BYTES_USED /(1024*1024) USED_SIZE,
BYTES_FREE /(1024*1024) FREE_SIZE,
ROUND(BYTES_FREE/(BYTES_USED+BYTES_FREE),2) PCT_FREE
FROM V$TEMP_SPACE_HEADER
ORDER BY 5 ASC;

Temp datafile’da dahil tüm datafile’ların toplam boyutu, kullanılan datafile alanı, allocate edilmiş ama kullanılmayan boş alanın boyutunu da aşağıdaki sql ile bulabiliriz.

Oracle Datafile Size Query

SELECT TABLESPACE_NAME,
FILE_ID,
(INCREMENT_BY * 8) / 1024 EXTEND_SIZE_MB,
FILE_NAME,
TOTAL_SIZE_MB,
TOTAL_SIZE_MB - FREE_SPACE_MB USED_SPACE_MB,
FREE_SPACE_MB,
ROUND(FREE_SPACE_MB / TOTAL_SIZE_MB * 100) FREE_PCT,
STATUS,
ONLINE_STATUS
FROM (SELECT B.TABLESPACE_NAME,
B.FILE_ID,
B.FILE_NAME,
(B.BYTES / 1024 / 1024) TOTAL_SIZE_MB,
ROUND((SELECT SUM(A.BYTES) / 1024 / 1024
FROM DBA_FREE_SPACE A
WHERE A.FILE_ID = B.FILE_ID)) FREE_SPACE_MB,
B.STATUS,
B.ONLINE_STATUS,
B.INCREMENT_BY
FROM DBA_DATA_FILES B);

Oracle Redo log gruplarını ve boyutlarını görmek istersek aşağıdaki sql işimizi görecektir.

Oracle Redo Log Size Query.

select group#,thread#,(bytes/1024/1024)Size_mb,status,archived from v$log ORDER BY 1,2;

MSSQL Database Size Sorgulamak

Aşağıdaki sql ile Mssql database’lerin boyutunu öğrenebiliriz.(*8 Blok size)

with db_size
as
( select database_id, type, size * 8/1024 size
from sys.master_files)
select
name,
(select sum(size) from db_size where type = 0 and db_size.database_id = db.database_id) DataFileSizeMB,
(select sum(size) from db_size where type = 1 and db_size.database_id = db.database_id) LogFileSizeMB
from sys.databases db

Tagged: , , , , , ,

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir