Oracle 10gでは、dbの現在の表領域サイズを見つける必要があります。周囲を見渡すと、dba_extentsのようなテーブルを使用してサイズを決定するスクリプトが多数見つかりましたが、使用しているデータベースにはこれらのdba_ *テーブルがありません。dba_ * metatablesを使用しないoracleでの表領域サイズの検索
(私はテーブルサイズのほとんどが塊であるため、複雑になり、テーブルのサイズを、見つけるためのプロキシとしてこれを使用しています。)
Oracle 10gでは、dbの現在の表領域サイズを見つける必要があります。周囲を見渡すと、dba_extentsのようなテーブルを使用してサイズを決定するスクリプトが多数見つかりましたが、使用しているデータベースにはこれらのdba_ *テーブルがありません。dba_ * metatablesを使用しないoracleでの表領域サイズの検索
(私はテーブルサイズのほとんどが塊であるため、複雑になり、テーブルのサイズを、見つけるためのプロキシとしてこれを使用しています。)
DBA_ *ビュー内に存在するデータ・ディクショナリの一部でありますすべてのOracleデータベースそれらはsysスキーマにあり、クエリできない場合は、SELECTアクセス権がないことを意味します。
確認したい表がスキーマ内にある場合は、たとえば次のように置き換えることができます。 user_extentsとdba_extentsが動作し、クエリが動作するはずです。
ここで(インデックスが含まれている)スキーマ内のテーブルの大きさを伝えるためのスクリプトのための私の提案です:
select segment_name, segment_type, bytes/1024/1024 as size_in_mb
from user_segments
where segment_name = :YOUR_TABLE
or segment_name in (select segment_name from user_lobs where table_name = :YOUR_TABLE)
or segment_name in (select index_name from user_indexes where table_name = :YOUR_TABLE);
DBA_*
ビューは"Static Data Dictionary Views"の一部である一般的に、すべてのビューの3つのバージョン、DBA_
がありますあなたにアクセス権があることを示すALL_
と、自分が所有していることを示すUSER_
があり、OWNER
という列はありません。
たとえば、DBA_TABLES
にはすべてのテーブルがあり、ALL_TABLES
は選択可能なテーブル、USER_TABLES
は所有するテーブルです。
ビューは"Static Data Dictionary Views"に記載されています。 DBA_
からALL_
またはUSER_
に変換する必要がある場合は、優れたリソースです。
残念ながら_EXTENTS
は、DBAおよびUSERバージョンでのみ提供されます。だから、アクセスできるが所有していないオブジェクトに関する情報が必要な場合は、常駐DBAに助けを求める必要があります。