Descargar la presentación
La descarga está en progreso. Por favor, espere
1
FRAGMENTACION EN ORACLE
Presentación por: Diana Sánchez Maria Fernanda Mejia Bases de Datos II Junio 2006
2
FRAGMENTACION DEFINICIÓN:
Es el particionamiento de la información para distribuir cada parte a los diferentes sitios de la red. Permite controlar donde se han almacenado los datos a nivel de tablas. Cada tabla se puede separar en varios fragmentos. Cada fragmento se almacena 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 tabla fragmentada es igual que una no fragmentada. Con las mismas sentencias DML podemos acceder a las tablas seleccionadas. Una tabla se puede particionar un numero limitado de veces dependiendo del DBMS.
3
LOS ESPACIOS DE TABLAS TABLESPACES
Un espacio de tablas es una división lógica de la BD. Cada BD tiene al menos uno. Un espacio de tablas puede pertenecer sólo a una BD. Los espacios de tablas se utilizan para mantener juntos los datos de usuarios o de aplicaciones para facilitar su mantenimiento o mejorar las prestaciones del sistema. Oracle permite realizar operaciones de backup/recovery a nivel de espacio de tabla mientras la BD sigue funcionando.
4
Tabla desde la perspectiva de la app se ve como si fuera una.
Realmente los datos se encuentran fragmentados y localizados en otros puntos Las tablas se descomponen en tablas mas pequeñas
5
CREACION DE TABLESPACE EN ORACLE
Cuando se crean se les asigna un espacio en disco que Oracle reserva inmediatamente, se utilice o no. Si este espacio inicial se ha quedado pequeño Oracle puede gestionar el crecimiento dinámico de los ficheros sobre los que se asientan los espacios de tablas. Esto elimina la posibilidad de error en las aplicaciones por fallos de dimensionamiento inicial. Los parámetros de crecimiento del tamaño de los espacios de tablas se especifican en la creación de los mismos. (INITIAL, NEXT).
6
COMANDOS DE TABLESPACE EN ORACLE
Se pueden ver los espacios de tablas definidos en nuestra BD con el comando SQL siguiente: SQL> select * from user_tablespaces; SEGMENTOS: Manera de separar los objetos de distinta naturaleza dentro de cada espacio de tabla (tablespace). Un segmento está constituido por un conjunto de extensiones, que no son más que grupos de bloques de disco ORACLE contiguos.
7
Existen 5 tipos de segmentos:
Datos Índices Rollback Temporales Bootstrap La tabla que guarda la información de los segmentos de usuario es user_segments, y se puede visualizar la información sobre los segmentos con la sentencia SQL siguiente: SQL> select * from user_segments;
8
FRAGMENTACION EN ORACLE
La fragmentación en Oracle solo se puede hacer en forma horizontal repartiendo de manera física la información pero teniendo 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 necesario combinar segmentos libres adyacentes en uno. Para prevenir ciertos problemas al combinar segmentos es factible utilizar tablespaces locales-manejadas.
9
sys.dbms_space_admin.tablespace_migrate_to_local (“USERS”)
Como manejar BD instaladas con tablespaces diccionario-manejados existen dos versiones de Oracle que presentan soluciones para este caso: Oracle 8i Oracle o más alto Para convertir tablespace diccionario llamado USERS en tablespace local se utiliza el siguiente paquete: sys.dbms_space_admin.tablespace_migrate_to_local (“USERS”) Para convertir tablespace local llamado USERS en tablespace diccionario se utiliza el siguiente paquete: sys.dbms_space_admin.tablespace_migrate_from_local (“USERS”)
10
TIPOS DE FRAGMENTACION EN ORACLE
Fragmentación por listas: permite especificar explícitamente la correspondencia entre las filas y las particiones. Se especifica una lista de valores discretos para la 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. Es una 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
11
TIPOS DE FRAGMENTACION
12
FRAGMENTACION COMBINADA
13
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 LESS THAN(TO_DATE('02/01/2000','DD/MM/YYYY')), PARTITION sales_feb2000 VALUES LESS THAN(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 LESS THAN(TO_DATE('05/01/2000','DD/MM/YYYY')) );
14
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) );
15
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 4 STORE IN (data1, data2, data3, data4);
16
RÉPLICA Y FRAGMENTACIÓN DE DATOS
Un fragmento de un tabla se puede replicar y a su vez esa réplica ser fragmentada, para luego replicar alguno de esos fragmentos
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.