Bagaimana saya bisa memperkirakan ukuran tabel dalam skema (Oracle)

11

Saya mencoba memperkirakan ukuran tabel dalam skema saya (dalam MB). Inilah yang saya miliki sejauh ini:

SELECT table_name, owner, last_analyzed
FROM all_tables

Saya cukup baru untuk SQL jadi saya tidak tahu bagaimana saya akan berkeliling melakukan ini.

Terima kasih.

Diego R
sumber

Jawaban:

10

Lihatlah tampilan "dba_segments" (atau user_segments jika Anda tidak memiliki hak dba). Kueri berikut akan memberi Anda apa yang Anda cari:

select
  owner as "Schema"
  , segment_name as "Object Name"
  , segment_type as "Object Type"
  , round(bytes/1024/1024,2) as "Object Size (Mb)"
  , tablespace_name as "Tablespace"
from dba_segments
order by owner;
Benoit
sumber
Hai Benoit, itu bekerja dengan baik, terima kasih. Saya melihat bidang tabel yang bisa saya gunakan, tetapi saya tidak dapat menemukan "Pemilik" atau bidang yang terakhir diperbarui. Omong-omong, saya menggunakan tampilan user_segments. Apakah informasi ini tersedia di bawah dba_segments?
Diego R
Semua segmen yang ditampilkan di user_segments dimiliki oleh akun yang Anda gunakan untuk login, itu sebabnya tidak ada kolom pemilik.
Benoit