Un segmento es un conjunto de extensiones que contienen todos los datos de una estructura lógica de almacenamiento específica, dentro de un tablespace (segmentos de datos, segmentos de índice, segmentos temporales, etc).
Una serie de extensiones es un segmento. Cuando un objeto es creado, se reserva una extensión en su segmento.Cada segmento tiene un conjunto de parámetros de almacenamiento que controla su crecimiento:
• initial: tamaño de la extensión inicial (10k).
• next: tamaño de la siguiente extensión a asignar (10k).
• minextents: número de extensiones asignadas en el momento de la creación del segmento (1).
• maxextents: número máximo de extensiones (99).
• pctincrease: Porcentaje en el que crecerá la siguiente extensión antes de que se asigne, en relación con la última extensión utilizada (50).
• pctfree: porcentaje de espacio libre para actualizaciones de filas que se reserva dentro de cada bloque asignado al segmento (10).
• pctused: porcentaje de utilización del bloque por debajo del cual Oracle considera que un bloque puede ser utilizado para insertar filas nuevas en él.
• tablespace: nombre del espacio de tablas donde se creará el segmento.
Segmentos de Datos.- Es una tabla normal, o una partición de una particionada, o un cluster de tablas. El espacio del diccionario de datos se suele mantener más o menos constante, aunque es crítico que tenga suficiente espacio para crecer en el espacio de tablas SYSTEM. Así, hay que tener cuidado de colocar las tablas de usuario, los índices, segmentos temporales y los segmentos de rollback en otros espacios de tablas. Además, es recomendable que el espacio de tablas SYSTEM esté al 50% o 75% de su espacio disponible. Finalmente, asegurarse que los usuarios no tienen privilegios de escritura en el espacio de tablas SYSTEM.
Segmentos de Índice.- Los índices crecen en tamaño en mayor proporción que las tablas asociadas si los datos en la tabla son modificados frecuentemente. La gestión del espacio es mejor si se mantienen los índices de tablas grandes en espacios de tablas separados.
Segmentos de Rollback.- Los segmentos de rollback almacenan la imagen anterior a una modificación de un bloque. La información en el segmento de rollback se utiliza para asegurar la consistencia en lectura, el rollback (el valor en el segmento de rollback se copia en el bloque de datos) y la recuperación.
Segmentos Temporales.- Oracle los usa para hacer ordenaciones, que no caben en memoria: create index, select ... order by, select distinct, select ... group by, select ... union, select ... intersect, select ... minus.
También se usan para crear tablas temporales y sus índices (son tablas que contienen datos sólo durante una transacción o una sesión). Se puede mejorar su rendimiento ajustando el parámetro sort_area_size. Sin MTS, usar pga_aggregate_target para todas las áreas de sort de todas las sesiones (todas las PGAs).
Los segmentos temporales se crean cuando se efectuan las siguientes operaciones:
• Create Index
• Select con distinct, order by, union, intersect y minus.
• uniones no indexadas.
• Ciertas subconsultas correlacionadas.
Si las tablas a ordenar son pequeñas la ordenación se realiza en memoria principal, pero si la tabla es grande se realiza en disco. El parámetro SORT_AREA_SIZE determina el lugar donde se hace la ordenación. Incrementándole se reduce la creación de segmentos temporales.
http://www.infor.uva.es/~jvegas/cursos/bd/orarq/orarq.html
http://es.geocities.com/vidalreyna/ORACLE.htm#_Toc1186055
viernes, 11 de septiembre de 2009
Suscribirse a:
Enviar comentarios (Atom)

No hay comentarios:
Publicar un comentario