Saber el tamaño de una tabla en ORACLE

Para saber el tamaño total en MB o en GB de una tabla de Oracle, es relativamente facil, estando con el usuario dueño de la tabla que deseamos revisar solo se ejecuta el siguiente script desde el sqlplus o el sqldeveloper:

 select segment_name, bytes, bytes/1024/1024 EspacioMB from user_segments where segment_name in (‘&NombreTabla’);

Nota: Obviamente hay que cambiar el valor de &NombreTabla por la tabla que deseamos ver
Nota 2: Si nos aparece el mensaje “No Rows Select” es posible que el nombre de la tabla sea incorrecto o no se encuentre bajo ese mismo esquema

Si lo estamos ejecutando con el usuario DBA el Query cambia un poco

select segment_name, bytes, bytes/1024/1024 EspacioMB from user_segments where segment_name in (‘&NombreDeLaTabla’) and OWNER=’&DueñoDeLaTabla’;

 

This entry has 4 replies

Esto me devuelve 64 KB, lo mismo para varias tablas, y es imposible que la tabla ocupe eso… algo falla… algo no cuadra.
Segun otra consulta, el registro de la tabla, como máximo ocupará 422 Bytes, por 19 registros que tiene: 8018 bytes … ¿de donde salen los 64 KB? O_o

Determine el peso de cada una de las tablas HR acorde a la tabla anterior.

¿Seguro que la consulta está bien?. En muchos otros sitios encuentro ejemplos parecidos, pero con sum(Bytes) en vez de bytes…

¿En este ejemplo concreto, no sería lo correcto lo siguiente?:

select segment_name, sum(bytes), bytes/1024/1024 EspacioMB from user_segments where segment_name in (‘&NombreTabla’) group by segment_name;

Leave a reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>