- ベストアンサー
Oracle(8i) 各テーブルの使用量の調べ方
バージョンはOracle8iです。 各表の使用量を調べたいのですが、OEMを見た限りでは表領域の使用量は出てくるのですが、表単位の使用量は表示されないようです。 少なくともSQLで調べる方法があるかな?と思っているのですが、どなたがご存知の方教えて頂けますでしょうか。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ブロック単位であれば、出せます。 select table_name, owner, blocks from all_tables; において、blocksフィールドがそうです。 ただし、ANALYZE文で、データベースを分析しておく必要があります。 単位はブロック数です。表領域のブロック長はOEMで調べられますよね。 また、使用されているブロックは100%使用されていることはありませんので、データの大きさという意味では誤差は結構あります。が、占有しているという意味では、大きさは正確です。(なぜなら、同じブロックを別の表が使うことはあり得ないからです。)
お礼
mitoneko様 早速ご回答頂き、ありがとうございました。分かりやすく教えて頂き、大変助かりました。 この度、システム移行作業なのですが、幾つかの表にてBLOBの領域があり、またデータ量がやたらと多く、どうやって容量算定しているのか経験者に聞けば、”勘で”、とか言われて大変困っていたところです(そんな勘は本当に全くないので)。 分析は、「ANALYZE TABLE tablename COMPUTE STATISTICS」ですね。 またはOEMでも表単位に解析?分析?みたいなことができるようでしたので、やってみます。 本当にありがとうございました。また困ったら宜しくお願いします。