DBAtlas · データベース運用アトラス

データベースの合計サイズを表示

Oracle

SELECT ROUND(SUM(bytes)/1024/1024/1024, 2) AS total_gb
FROM dba_data_files;

使用中のセグメントのみなら dba_segments を合計する。TEMP は dba_temp_files を加算する。

PostgreSQL

SELECT pg_size_pretty(pg_database_size(current_database()));

全データベースの場合: SELECT datname, pg_size_pretty(pg_database_size(datname)) FROM pg_database ORDER BY 2 DESC;

MySQL

SELECT table_schema AS db,
       ROUND(SUM(data_length + index_length)/1024/1024, 1) AS mb
FROM information_schema.tables
GROUP BY table_schema
ORDER BY mb DESC;

InnoDB ではこの値は推定値。正確なファイルサイズは OS レベルで ibdata/各ファイルを確認する。

SQL Server

EXEC sp_spaceused;
-- All databases:
SELECT DB_NAME(database_id) AS db,
       CAST(SUM(size) * 8.0 / 1024 AS DECIMAL(10,1)) AS mb
FROM sys.master_files
GROUP BY database_id;

size 列は 8 KB ページ単位。* 8 / 1024 で MB に変換する。

MongoDB

db.stats(1024*1024)
// returns the dataSize, storageSize, indexSize fields in MB

storageSize は圧縮後のディスク上のサイズ、dataSize は非圧縮の論理サイズ。

Redis

INFO memory
# the used_memory_human line gives the total size in memory
DBSIZE  # number of keys

Redis はメモリベースのため、「サイズ」は RAM 使用量を意味する。RDB/AOF ファイルのサイズはディスクに永続化された状態。

DBAtlas で開く →