Estructuras de Almacenamiento
y sus Relaciones
Estructuras Lógicas y Físicas
Bloque de Datos
Parámetros del Bloque
-- PCTFREE
-- PCTUSED
-- INITRAS
-- MAXTRAS
Estructura del bloque
Interacción PCTFREE y PCTUSED
Formato de un Row Piece
Migración
Viej
En el bloque
original
permanece el
rowpiece con
el apuntador
a la nueva
dirección
Encadenamiento
r
r
r
registro
Nuevo reg
registro
Revisando Migración
CREATE TABLE CHAINED_ROWS(
OWNER_NAME
VARCHAR2(30),
TABLE_NAME
VARCHAR(30),
CLUSTAR_NAME
VARCHAR(30),
PARTITION_NAME
VARCHAR(30),
HEAD_ROWID
ROWID,
ANALYZE_TIMESTAMP
DATE
);
ANALYZE TABLE TABLA_NAME LIST CHAINED_ROWS;
SELECT COUNT(*)
FROM CHAINED_ROWS
WHERE OWNER_NAME=’OWNER’ AND
TABLE_NAME=’TABLE’;
Eliminando Migración
CREATE TABLE TABLE_NAME_TEMP AS
SELECT *
FROM OWNER.TABLE
WHERE ROWID IN (SELECT HEAD_ROWID F
FROM CHAINED_ROWS
WHERE OWNER_NAME=’OWNER’ AND
TABLE_NAME=’TABLE’);
DELETE FROM OWNER.TABLE
WHERE ROWID IN (SELECT HEAD_ROWID F
FROM CHAINED_ROWS
WHERE OWNER_NAME=’OWNER’ AND
TABLE_NAME=’TABLE’);
INSERT INTO OWNER.TABLE
SELECT * FROM TABLE_NAME_TEMP;
DROP TABLE TABLE_NAME_TEMP;
DELETE FROM CHAINED_ROWS;
ANALYZE TABLE OWNER.TABLE LIST CHAINED_ROWS;
Estructuras Lógicas
Manipulación de las estructuras

¿Cómo se manejan los extents en el tablespace?



¿Cómo se manejan los segmentos en tablespaces manejados
localmente?



Manual
Automática
¿Cómo se asignan los extents?




Diccionario de datos
Localmente
Manual
Uniforme
Autoallocate
¿Cómo se manejan los datafiles?


Fijo
Extensible
¿Cómo se manejan los extents en el
tablespace?
Diccionario de Datos
Localmente (freelist
o bitmap local)
BMB BMB BMB … BMB
BMB BMB
…
BMB
…
…
…
…
…
…
…
…
Data
block
…
Extent
Segment
¿Cómo se manejan los segmentos en
tablespaces manejados localmente?


Manual (PCTFREE, PCTUSE, FREELIST,
FREELIST GROUPS).
Automática
PCTFREE =
10
FS2
FS3
FS1
FS1
FS2
Inserts,
updates
FS3
FS4
Full block
Delete
s
Deletes
Full block
¿Cómo se asignan los extents?

Manual






INITIAL
NEXT
PCTINCREASE
MINEXTENTS
Uniforme
Autoallocate
Reglas para tablespaces locally
managed


No clásula DEFAULT STORAGE →autoallocate.
Clásula DEFAULT STORAGE 




MINIMUM EXTENT=INITIAL=NEXT  PCTINCREASE=0
→ uniforme
┐(MINIMUM EXTENT=INITIAL=NEXT  PCTINCREASE=0
) →autoallocate
no_especificado(MINIMUM EXTENT) 
EXTENT=INITIAL=NEXT  PCTINCREASE=0 → uniforme
no_especificado(MINIMUM EXTENT)  ┐(INITIAL=NEXT 
PCTINCREASE=0 ) →autoallocate
Simple Algorithm for Fragmentation
Elimination (SAFE)



Oracle maneja bien segmentos con menos
de 1024 extents
Problema de fragmentación
Recomendación

Extentes uniformes de 4K, 128 K, 128M
¿Cómo se manejan los datafiles?


Tamaño Fijo
Extensibles
Descargar

clase2-EstructurasAlm