¿Cómo puedo estimar los tamaños de tabla en Schema (Oracle)


11

Estoy tratando de estimar los tamaños de tabla dentro de mi esquema (en MB). Esto es lo que tengo hasta ahora:

SELECT table_name, owner, last_analyzed
FROM all_tables

Soy bastante nuevo en SQL, así que no tengo idea de cómo podría hacer esto.

Gracias.

Respuestas:


10

Mire la vista "dba_segments" (o user_segments si no tiene derechos dba). La siguiente consulta debería darte lo que estás buscando:

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;

Hola Benoit, funcionó perfectamente, gracias. Eché un vistazo a los campos de la tabla que podría estar usando, pero no pude encontrar el "Propietario" o los últimos campos actualizados. Por cierto, utilicé la vista user_segments. ¿Esta información estaría disponible en dba_segments?
Diego R

Todos los segmentos que se muestran en user_segments son propiedad de la cuenta que utilizó para iniciar sesión, por eso no hay una columna de propietario.
Benoit
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.