Va de extents …

En esta entrada de blog os pongo un par de consultas SQL que van perfectas para sacar el tamaño de los segmentos de ORACLE. Es ideal sobretodo para versiones anteriores a la 10G.

Tamaño de los segmentos por búsqueda concreta de segmento …

select initial_extent/1024/1024, next_extent/1024/1024, extents
from dba_segments
where segment_name like '%cadena_busqueda%'

Fragmentación de la Base de datos a nivel de extensiones … (Muestra los que tengan más de 5 extensiones).

REM    FRAGMENTACIÓN DE LA BASE DE DATOS.
REM     Obtiene el número de extensiones de los objetos de la base de datos
REM     y el número máximo a las que pueden llegar.

spool extents.lst

set    pagesize 66
clear  break
clear  columns
ttitle off

break on TABLESPACE skip 3 on TIPO skip 1

column EXTENTS format 999
column MAX_EXTENTS format 999
column NOMBRE format A21
column TIPO format A9
column TABLESPACE format A13
column PROPIETARIO format A13
column today new_value _date noprint

SELECT sysdate today FROM dual;

ttitle center 'Fragmentación de la Base de Datos' skip 1 -
center &_date  skip 1 -
right 'Pág.: ' format 999 sql.pno skip 2

REM Extrae los objetos de DB que tienen más de 5 extents.

SELECT tablespace_name TABLESPACE,
       segment_type TIPO,
       segment_name NOMBRE,
       owner PROPIETARIO,
       extents EXTENTS,
       max_extents MAX_EXTENTS
FROM sys.dba_segments
WHERE extents > 5
ORDER BY tablespace_name,segment_type,segment_name,owner;

spool off

This entry was posted in SQL´s útiles and tagged , . Bookmark the permalink.

Deja un comentario