Come posso stimare le dimensioni della tabella all'interno dello schema (Oracle)


11

Sto cercando di stimare le dimensioni della tabella all'interno del mio schema (in MB). Questo è quello che ho finora:

SELECT table_name, owner, last_analyzed
FROM all_tables

Sono abbastanza nuovo in SQL, quindi non ho idea di come farei a fare questo.

Grazie.

Risposte:


10

Guarda la vista "dba_segments" (o user_segments se non hai i diritti dba). La seguente query dovrebbe darti quello che stai cercando:

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;

Ciao Benoit, ha funzionato perfettamente grazie. Ho dato un'occhiata ai campi della tabella che avrei potuto utilizzare, ma non sono riuscito a trovare i campi "Proprietario" o ultimo aggiornamento. A proposito, ho usato la vista user_segments. Queste informazioni sarebbero disponibili su dba_segments?
Diego R,

Tutti i segmenti mostrati in segmenti_utente sono di proprietà dell'account con cui hai effettuato l'accesso, ecco perché non esiste una colonna del proprietario.
Benoit,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.