lunes, 19 de abril de 2010

¿Que es una extension?


Extent es un espacio de disco que se reserva de una sola vez, un segmento que se reserva en un momento determinado de tiempo. El concepto de extent es un concepto físico, unos están separados de otros dentro del disco. Ya dijimos que todo objeto tiene su segmento asociado, pero lo que no dijimos es que este segmento, a su vez, se compone de distintas extensiones. Un segmento, puede ser reservado de una sola vez (10 Mb de golpe), o de varias veces (5 Mb hoy y 5 Mb mañana). Cada una de las veces que se reserva espacio se denomina “extensión”.



En el esquema vemos como el objeto (tabla) FACTURA tiene un segmento en el datafile A-1, y este segmento está compuesto de 3 extensiones. Una de estas extensiones tiene un color distinto. Esto es porque existen dos tipos de extensiones:



♦ INITIAL (extensiones iniciales): estas son las extensiones que se reservan durante la creación del objeto. Una vez que un objeto está creado, no se puede modificar su extensión inicial.



♦ NEXT (siguientes o subsiguientes extensiones): toda extensión reservada después de la creación del objeto. Si el INITIAL EXTENT de una tabla está llena y se está intentando insertar más filas, se intentará crear un NEXT EXTENT (siempre y cuando el datafile tenga espacio libre y tengamos cuota de ocupación suficiente).



Sabiendo que las extensiones se crean en momentos distintos de tiempo, es lógico pensar que unas extensiones pueden estar fragmentadas de otras. Un objeto de base de datos no reside todo junto dentro del bloque, sino que residirá en tantos bloque como extensiones tenga. Por eso es crítico definir un buen tamaño de extensión inicial, ya que, si es lo suficientemente grande, el objeto nunca estará fragmentado.



Si el objeto tiene muchas extensiones y éstas están muy separadas en disco, las consultas pueden retardarse considerablemente, ya que las cabezas lectoras tienes que dar saltos constantemente.



El tamaño de las extensiones (tanto las INITIAL como las NEXT), se definen durante la creación del objeto y no puede ser modificado después de la creación. Oracle recomienda que el tamaño del INITIAL EXTENT sea igual al tamaño del NEXT EXTENT.

¿Que es un segmento?


Un segment es aquel espacio reservado por la base de datos, dentro de un datafile, para ser utilizado por un solo objeto. Así una tabla (o cualquier otro objeto) está dentro de su segmento, y nunca podrá salir de el, ya que si la tabla crece, el segmento tambien crece con ella.

Físicamente todo objeto en base de datos no es mas que un segmento dentro de un datafile. Se puede decir que, un segmento es a un objeto de base de datos, lo que un datafile a un tablespace; el segmento es la representación física del objeto en base de datos (el objeto es solo una definición lógica).

Los segmentos son los equivalentes físicos de los objetos que almacenan datos. El uso efectivo de los segmentos requiere que el DBA conozca los objetos, que utiliza una aplicación, cómo los datos son introducidos en esos objetos y el modo en que serán recuperados.

Un segmento está constituido por secciones llamadas extensiones, que son conjuntos contiguos de bloques Oracle. Una vez que una extensión existente en un segmento no puede almacenar más datos, el segmento obtendrá del espacio de tabla otra extensión. Este proceso de extensión continuará hasta que no quede más espacio disponible en los ficheros del espacio de tablas, o hasta que se alcance un número máximo de extensiones por segmento.

Existen 5 tipos de segmento:

•De datos.
•De índices.
•De rollback.
•Temporales.
•De bootstrap.

¿Qué es un DATAFILE?

Un DATAFILE es un archivo informático que almacena los datos para su uso por una aplicación informática o sistema. Por lo general, no se refiere a los archivos que contienen instrucciones o código que se ejecutará (normalmente llamados archivos de programa), o archivos que definen el funcionamiento o la estructura de una aplicación o sistema (que incluyen los archivos de configuración, archivos de directorio, etc), pero específicamente a la información utilizada como entrada, y / o por escrito en términos de producción por algún programa de software. Esto es especialmente útil cuando se depura un programa.
es una colección de datos, a menudo se llama un conjunto de datos "." En general, cada archivo de datos tendrán un formato particular.

Los datafiles son archivos almacenados en el disco físico. Estos archivos se utilizan para almacenar datos en el disco. datafiles de base de datos sólo se escriben en los procesos de DBWR.Estos DATAFILES de base de datos Oracle se asocian con "tablespace" ya expuestas anteriormente en este mismo blog, que son "lógicas" contenedores para las tablas e índices.

¿Que es un tablespace?

Tablespace es un grupo lógico de archivos de datos en una base de datos. Una base de datos suele contener al menos un tablespace y por lo general dos o más. Dentro de la base de datos, el tablespace desempeña un papel similar al de una carpeta en el disco duro de un ordenador.
Algunos programas de base de datos, como Oracle, crean automáticamente una llamada de tablas de sistema que contiene información general sobre la estructura y el contenido de la base de datos. Una pequeña base de datos puede ser totalmente contenida en el tablespace del sistema, pero en la mayoría de los casos, los datos de usuario se coloca en otros tablespaces.

Los archivos en un tablespace por lo general tienen una característica en común. Por ejemplo, una base de datos para un distribuidor al por mayor podría consistir en tablespaces derecho CONTABILIDAD, pedidos, envío, servicio y SYSTEM. Cada espacio de tablas puede contener sólo un archivo de datos, o miles de archivos, o cualquier otra cosa. De tablas se pueden crear, borrar, y se combina, como puede las carpetas en el disco duro de un ordenador.