plsqlでテーブルスペースの使用率を表示するにはどうすればいいですか?

表領域の使用率を確認するには、以下の方法のうちいずれかを使用できます:

  1. データベース管理者が管理するテーブルスペース
SELECT tablespace_name, round((1 - (free_space / total_space)) * 100, 2) as usage_rate
FROM dba_tablespaces;

全ての表領域の名前と使用率(パーセンテージで表示)を返します。

  1. データベースの空き容量
  2. データベースのデータファイル
SELECT f.tablespace_name, round((1 - (sum(f.bytes) / d.bytes)) * 100, 2) as usage_rate
FROM dba_free_space f
JOIN dba_data_files d ON f.tablespace_name = d.tablespace_name
GROUP BY f.tablespace_name, d.bytes;

各テーブルスペースの名前と使用率(パーセンテージ表示)が返されます。

  1. V$テーブルスペース
SELECT name, round((1 - (free_blocks / total_blocks)) * 100, 2) as usage_rate
FROM v$tablespace;

すべてのテーブルスペースの名前と使用率(パーセンテージ表記)が返されます。

これらのクエリは表領域の全体的な使用率を返します。特定の表やインデックスの使用率を確認したい場合は、DBA_SEGMENTSビューをクエリしてください。

bannerAds