fragmentacion en oracle - copy

16
 FRAGMENTACION EN ORACLE Presentación por: Diana Sánchez Maria Fernanda Mejia Bases de Datos II Junio 2006

Upload: mataku-san

Post on 17-Jul-2015

250 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Fragmentacion en Oracle - Copy

5/14/2018 Fragmentacion en Oracle - Copy - slidepdf.com

http://slidepdf.com/reader/full/fragmentacion-en-oracle-copy 1/16

FRAGMENTACION EN ORACLE

Presentación por:Diana Sánchez

Maria Fernanda Mejia

Bases de Datos IIJunio 2006

Page 2: Fragmentacion en Oracle - Copy

5/14/2018 Fragmentacion en Oracle - Copy - slidepdf.com

http://slidepdf.com/reader/full/fragmentacion-en-oracle-copy 2/16

FRAGMENTACIONDEFINICIÓN:

Es el particionamiento de la información para distribuir cada parte a losdiferentes sitios de la red. Permite controlar donde se han almacenado losdatos a nivel de tablas.Cada tabla se puede separar en varios fragmentos. Cada fragmento sealmacena en un solo nodo.

CARACTERISTICAS:Útil para aquellas apps. que manejen grandes volúmenes de datos.

Son transparentes a las apps. desde la perspectiva del usuario, una tablafragmentada es igual que una no fragmentada.

Con las mismas sentencias DML podemos acceder a las tablasseleccionadas.

Una tabla se puede particionar un numero limitado de veces dependiendodel DBMS.

Page 3: Fragmentacion en Oracle - Copy

5/14/2018 Fragmentacion en Oracle - Copy - slidepdf.com

http://slidepdf.com/reader/full/fragmentacion-en-oracle-copy 3/16

LOS ESPACIOS DE TABLASTABLESPACES 

Un espacio de tablas es una división lógica de laBD. Cada BD tiene al menos uno. Un espacio detablas puede pertenecer sólo a una BD. Los

espacios de tablas se utilizan para mantener juntos los datos de usuarios o de aplicaciones parafacilitar su mantenimiento o mejorar lasprestaciones del sistema.

Oracle permite realizar operaciones debackup/recovery  a nivel de espacio de tablamientras la BD sigue funcionando. 

Page 4: Fragmentacion en Oracle - Copy

5/14/2018 Fragmentacion en Oracle - Copy - slidepdf.com

http://slidepdf.com/reader/full/fragmentacion-en-oracle-copy 4/16

Tabla desde la perspectiva de la appse ve como si fuera una.

Realmente los datosse encuentranfragmentados ylocalizados en otrospuntos

Las tablas se descomponen en tablas mas pequeñas

Page 5: Fragmentacion en Oracle - Copy

5/14/2018 Fragmentacion en Oracle - Copy - slidepdf.com

http://slidepdf.com/reader/full/fragmentacion-en-oracle-copy 5/16

CREACION DE TABLESPACE EN ORACLE

Cuando se crean se les asigna un espacio en discoque Oracle reserva inmediatamente, se utilice ono. Si este espacio inicial se ha quedado pequeñoOracle puede gestionar el crecimiento dinámico delos ficheros sobre los que se asientan los espaciosde tablas. Esto elimina la posibilidad de error enlas aplicaciones por fallos de dimensionamientoinicial. Los parámetros de crecimiento del tamañode los espacios de tablas se especifican en lacreación de los mismos. (INITIAL, NEXT).

Page 6: Fragmentacion en Oracle - Copy

5/14/2018 Fragmentacion en Oracle - Copy - slidepdf.com

http://slidepdf.com/reader/full/fragmentacion-en-oracle-copy 6/16

COMANDOS DE TABLESPACE EN ORACLE

Se pueden ver los espacios de tablas definidos ennuestra BD con el comando SQL siguiente:

SQL> select * from user_tablespaces;SEGMENTOS: Manera de separar los objetos dedistinta naturaleza dentro de cada espacio de

tabla (tablespace). Un segmento está constituidopor un conjunto de extensiones, que no son másque grupos de bloques de disco ORACLE contiguos. 

Page 7: Fragmentacion en Oracle - Copy

5/14/2018 Fragmentacion en Oracle - Copy - slidepdf.com

http://slidepdf.com/reader/full/fragmentacion-en-oracle-copy 7/16

Existen 5 tipos de segmentos:DatosÍndicesRollbackTemporales

BootstrapLa tabla que guarda la información de lossegmentos de usuario es user_segments, y sepuede visualizar la información sobre los

segmentos con la sentencia SQL siguiente:

SQL> select * from user_segments;

Page 8: Fragmentacion en Oracle - Copy

5/14/2018 Fragmentacion en Oracle - Copy - slidepdf.com

http://slidepdf.com/reader/full/fragmentacion-en-oracle-copy 8/16

FRAGMENTACION EN ORACLE

La fragmentación en Oracle solo se puede hacer en formahorizontal repartiendo de manera física la información peroteniendo en cuenta que lógicamente esta en una sola tabla,

esto solo se da hasta la versión 9i.Para hacer la fragmentación de un tablespace es necesariocombinar segmentos libres adyacentes en uno.Para prevenir ciertos problemas al combinar segmentos esfactible utilizar tablespaces locales-manejadas. 

Page 9: Fragmentacion en Oracle - Copy

5/14/2018 Fragmentacion en Oracle - Copy - slidepdf.com

http://slidepdf.com/reader/full/fragmentacion-en-oracle-copy 9/16

Como manejar BD instaladas con tablespaces diccionario-manejados existen dos versiones de Oracle que presentansoluciones para este caso:

 Oracle 8i  Oracle 8.1.6 o más alto 

Para convertir tablespace diccionario llamado USERS entablespace local se utiliza el siguiente paquete:

sys.dbms_space_admin.tablespace_migrate_to_local (“USERS”) 

Para convertir tablespace local llamado USERS en tablespacediccionario se utiliza el siguiente paquete:

sys.dbms_space_admin.tablespace_migrate_from_local (“USERS”) 

Page 10: Fragmentacion en Oracle - Copy

5/14/2018 Fragmentacion en Oracle - Copy - slidepdf.com

http://slidepdf.com/reader/full/fragmentacion-en-oracle-copy 10/16

TIPOS DE FRAGMENTACION EN ORACLE

Fragmentación por listas: permite especificarexplícitamente la correspondencia entre las filas y lasparticiones. Se especifica una lista de valores discretos parala clave de particionamiento.

Fragmentación Hash: La correspondencia entre las filas y

las particiones se realiza a través de una función de hash. Esuna opción útil cuando: • Cuando el método de acceso a los datos y la distribución de los

datos es desconocida.• Cuando las consultas realizan exploraciones secuenciales y se

tenga poca información de los datos almacenados. Fragmentación por rango de valores Fragmentación combinada

Page 11: Fragmentacion en Oracle - Copy

5/14/2018 Fragmentacion en Oracle - Copy - slidepdf.com

http://slidepdf.com/reader/full/fragmentacion-en-oracle-copy 11/16

TIPOS DE FRAGMENTACION

Page 12: Fragmentacion en Oracle - Copy

5/14/2018 Fragmentacion en Oracle - Copy - slidepdf.com

http://slidepdf.com/reader/full/fragmentacion-en-oracle-copy 12/16

FRAGMENTACION COMBINADA

Page 13: Fragmentacion en Oracle - Copy

5/14/2018 Fragmentacion en Oracle - Copy - slidepdf.com

http://slidepdf.com/reader/full/fragmentacion-en-oracle-copy 13/16

EJEMPLO DE FRAGMENTACION POR RANGO:

CREATE TABLE sales_range(salesman_id NUMBER(5),

salesman_name VARCHAR2(30),sales_amount NUMBER(10),sales_date DATE)

PARTITION BY RANGE(sales_date)

(PARTITION sales_jan2000 VALUES LESSTHAN(TO_DATE('02/01/2000','DD/MM/YYYY')),

PARTITION sales_feb2000 VALUES LESSTHAN(TO_DATE('03/01/2000','DD/MM/YYYY')),

PARTITION sales_mar2000 VALUES LESS

THAN(TO_DATE('04/01/2000','DD/MM/YYYY')),PARTITION sales_apr2000 VALUES LESSTHAN(TO_DATE('05/01/2000','DD/MM/YYYY'))

);

Page 14: Fragmentacion en Oracle - Copy

5/14/2018 Fragmentacion en Oracle - Copy - slidepdf.com

http://slidepdf.com/reader/full/fragmentacion-en-oracle-copy 14/16

EJEMPLO DE FRAGMENTACION POR LISTA:

CREATE TABLE sales_list

(salesman_id NUMBER(5),salesman_name VARCHAR2(30),sales_state VARCHAR2(20),sales_amount NUMBER(10),sales_date DATE)

PARTITION BY LIST(sales_state)(PARTITION sales_west VALUES('California', 'Hawaii'),PARTITION sales_east VALUES ('New York', 'Virginia',

'Florida'),PARTITION sales_central VALUES('Texas', 'Illinois')PARTITION sales_other VALUES(DEFAULT));

Page 15: Fragmentacion en Oracle - Copy

5/14/2018 Fragmentacion en Oracle - Copy - slidepdf.com

http://slidepdf.com/reader/full/fragmentacion-en-oracle-copy 15/16

EJEMPLO DE FRAGMENTACION POR HASH:

CREATE TABLE sales_hash(salesman_id NUMBER(5),salesman_name VARCHAR2(30),sales_amount NUMBER(10),week_no NUMBER(2))

PARTITION BY HASH(salesman_id)

PARTITIONS 4STORE IN (data1, data2, data3, data4);

Page 16: Fragmentacion en Oracle - Copy

5/14/2018 Fragmentacion en Oracle - Copy - slidepdf.com

http://slidepdf.com/reader/full/fragmentacion-en-oracle-copy 16/16

 RÉPLICA Y FRAGMENTACIÓN DE

DATOSUn fragmento de un tabla se puede replicar y a

su vez esa réplica ser fragmentada, para luegoreplicar alguno de esos fragmentos