Estructuras de Almacenamiento y sus Relaciones

Anuncio
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?
Localmente (freelist
o bitmap local)
BMB BMB BMB … BMB
BMB BMB
…
BMB
…
…
…
…
Data
block
…
…
…
…
…
{
Diccionario de Datos
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
Deletes
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