estadísticas de Oracle declaración tamaño (usuarios, tablas, tablas con particiones, índices, etc.)

Buscar toda la tabla de base de datos y utilizar el uso del espacio restante

SELECT df.tablespace_name "表空间名",
       totalspace "总空间M",
       freespace "剩余空间M",
       round((1 - freespace / totalspace) * 100, 2) "使用率%"
  FROM (SELECT tablespace_name, round(SUM(bytes) / 1024 / 1024) totalspace
          FROM dba_data_files
         GROUP BY tablespace_name) df,
       (SELECT tablespace_name, round(SUM(bytes) / 1024 / 1024) freespace
          FROM dba_free_space
         GROUP BY tablespace_name) fs
 WHERE df.tablespace_name = fs.tablespace_name;
SELECT t.OWNER, t.segment_name, SUM(BYTES) / 1024 / 1024 "大小(MB)"
  FROM dba_segments t
 WHERE t.tablespace_name = 'USERS'
 GROUP BY t.owner, t.segment_name
 ORDER BY SUM(bytes) DESC;

SELECT segment_name, SUM(bytes) / 1024 / 1024 "大小(MB)"
  FROM user_segments
 WHERE segment_type = 'TABLE'
 GROUP BY segment_name;

--CREATE INDEX IDX_TONY ON SCOTT.A(ID);
--查询指定的索引大小
SELECT segment_name, (bytes / 1024 / 1024) "大小(MB)"
  FROM user_segments
 WHERE segment_type = 'INDEX' AND SEGMENT_NAME='IDX_TONY'

--分区表
SELECT segment_name, SUM(bytes) / 1024 / 1024 "大小(MB)"
  FROM user_segments
 WHERE segment_type = 'TABLE PARTITION'
 GROUP BY segment_name;

--指定用户
SELECT a.segment_name, (bytes / 1024 / 1024) "大小(MB)", a.segment_type
  FROM dba_segments a
 WHERE owner = 'SCOTT'
 ORDER BY bytes DESC

SELECT SEGMENT_NAME,
       SEGMENT_TYPE,
       TABLESPACE_NAME,
       EXTENTS,
       BLOCKS,
       BYTES / 1024 / 1024 MB
  FROM DBA_SEGMENTS
 WHERE SEGMENT_TYPE = 'TABLE';

 

Publicado 46 artículos originales · ganado elogios 9 · vistas 3658

Supongo que te gusta

Origin blog.csdn.net/weixin_41896770/article/details/100931977
Recomendado
Clasificación