Oracle その他

特定のテーブルサイズやインデックスサイズを確認する方法|Oracle ログインユーザー毎

ログインユーザーの保持する特定のテーブルサイズを確認

例えば、ログインユーザーが所有する TEST というテーブルのサイズは以下の SQL で確認が可能。

select segment_name,bytes from user_segments where segment_type='TABLE' and segment_name='<テーブル名>';

実行例
SQL> col segment_name for a30
SQL> select segment_name,bytes from user_segments where segment_type='TABLE' and segment_name='TEST';
 
  SEGMENT_NAME                  BYTES
  ------------------------ ----------
  TEST                          432543

ログインユーザーが保持する特定のインデックスサイズを確認

例えば、ログインユーザーが所有する ITEST というインデックスのサイズは以下の SQL で確認が可能。

select segment_name,bytes from user_segments where segment_type='INDEX' and segment_name='<インデックス名>';

実行例
SQL> select segment_name,bytes from user_segments where segment_type='INDEX' and segment_name='ITEST';

SEGMENT_NAME                  BYTES
------------------------ ----------
ITEST                         34576

ユーザ単位で全てのセグメントサイズを確認

select segment_name,segment_type,bytes from user_segments;

実行例

select segment_name,segment_type,bytes from user_segments;
 
SEGMENT_NAME             SEGMENT_TYPE            BYTES
------------------------ -----------------  ----------
TEST                     TABLE                   432543
ITEST                    INDEX                   34576

-Oracle, その他