260 likes | 592 Views
Estructura de almacenamiento (oracle). Abd-administracion base de datos: Erick cruz Ake Eliseo Vazquez Miguel Suarez. Por que razón entender la estructura de almacenamiento?. Comprender las capacidades de almacenamiento de la BD. Tener control sobre la utilización del espacio.
E N D
Estructura de almacenamiento (oracle) Abd-administracion base de datos: Erick cruz Ake Eliseo Vazquez Miguel Suarez
Por que razón entender la estructura de almacenamiento? • Comprender las capacidades de almacenamiento de la BD. • Tener control sobre la utilización del espacio. • Tener conocimiento de técnicas avanzadas de optimización de ciertas operaciones s en la BD. • Conocer como visualizar la información del diccionario de datos respecto a la gestión del espacio. • Reconocer cuando conviene realizar una operación de compactación en la BD.
Niveles de Almacenamiento • La BD Oracle está constituida a nivel • físico: de ficheros (al menos 1) • lógico: de tablespaces (al menos 1) • El tablespace SYSTEM se crea automáticamente al hacer la instalación de Oracle, o al crear una BD. • Este Tablespace contiene el diccionario de datos. • UnDatafile: es la representación física de un tablespace. Son los "ficheros de datos" donde se almacena la información físicamente. Undatafileestá asociado a un solo tablespace y, a su vez, un tablespace está asociado a uno o varios datafiles.
Tablespaces • Unidad de accesibilidad a los datos. • Uno o más tablespaces por BD. • Uno o más ficheros por tablespace. • Permiten distribuir a nivel lógico/físico los distintos objetos de las aplicaciones. • Son una unidad lógica de almacenamiento, pueden usarse para aislar completamente los datos de diferentes aplicaciones. • Oracle permite realizar operaciones de backup/recovery a nivel de tablespace mientras la BD sigue funcionando.
Data Block: • Un bloque es la unidad mínima de almacenamiento de información de Oracle. A los bloques también se les conoce como "bloques de datos", "bloques lógicos" o "bloques oracle". Cada uno de estos bloques está formado por un número determinado de bloques del sistema operativo.
Segmentos(almacenamiento) • Todos los datos de la BD están almacenados en Segmentos. • Existen 5 tipos de segmentos: • de datos. • de índices. • de rollback. • temporales. • de bootstrap. • Se pueden almacenar más de un segmento por tablespace. • Un segmento está contenido en su totalidad en un tablespace. • Un segmento es un conjunto de extensiones de bloques Oracle que pueden estar en varios ficheros de un tablespace. • Cuando se borra un segmento, el espacio es devuelto al tablespace. • Oracle guarda una lista de bloques libres por segmento. • El primer bloque asignado a un segmento contiene la cabecera del segmento donde se almacena información de control para el kernel Oracle.
Cada segmento tiene un conjunto de parámetros de almacenamiento que controla su crecimiento C/U: • initial: tamaño de la extensión inicial (10k). • next: tamaño de la siguiente extensión a asignar (10k). • minextents: número de extensinones 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 tablespace donde se creará el segmento.
Segmentos de Datos • Tablas • Las filas pueden extenderse en más de un bloque (filas encadenadas). • soportan los siguientes tipos de datos: • char: cadenas de caracteres de longitud fija (<255). • varchar2: cadenas de caracteres de longitud variable (<2000) • number: enteros y reales de hasta 38 dígitos. • date: fecha y hora. • long: cadena de caracteres de longitud variable (<2Gb). • raw: versión binaria de varchar2. • longraw: versión binaria de long (datos multimedia). • rowid: dato interno (7 bytes) para direccionar filas.
Segmentos de Índices • Acceso rápido a los datos dependiendo de la cantidad de los mismos (árboles B) . • Las consultas que sólo referencian a columnas indexadas se resuelven en el índice. • Control de unicidad (automáticos con clave primaria). • Cada índice ocupa un segmento independiente del segmento de datos.
Segmentos de Rollback • Son objetos internos de la BD. • Permiten efectuar la restauración de las transacciones no validadas. • Aseguran la consistencia en lectura. • Estructura de los registros: • Identificador de la transacción. • Dirección del bloque. • Número de fila. • Número de columna. • Valor del dato antiguo (antes de ser modificado). • Una BD no puede arrancar si no puede acceder al menos a un segmento de rollback. • Si la BD tiene múltiples tablespaces, deben existir al menos dos segmentos de rollback. • Cada segmento de rollback debe tener al menos dos extensiones • Los segmentos de rollback son un objeto compartido de la BD, aunque se puede asignar un segmento de rollback particular a una transacción dada.
Segmentos Temporales • Creados por Oracle para un uso temporal cuando debe realizar una ordenación que no le cabe en memoria, en las operaciones: createindex, orderby, groupby, distinct, union, intersect, minus. • Son eliminados cuando la sentencia finaliza. Segmentos Bootstrap • Se crea en SYSTEM. • Contiene definiciones del Diccionario para sus tablas, que se cargan al abrir la BD. • No requiere ninguna acción por parte del DBA.(administrador BD) • No cambia de tamaño.
A que le llamamos Disco: disco es usada de manera genérica para todo aquello que es visto por el sistema como una unidad de disco, tanto si se trata de un dispositivo de memoria flash que se ve como un disco, una unidad óptica (CD o DVD), o un "verdadero" disco duro . Disco (particiones) tres tipos de particiones: Particiones primarias: estas son las antiguas cuatro particiones primigenias las que pensaban que era suficientes a particionar, puede haber hasta 4 (A,B,C,D) Partición extendida: (de hecho también es una partición primaria), sólo puede haber una, tiene normalmente el número más alto después de la creada como partición primaria y debe contener todo el espacio restante del disco (de lo contrario el espacio queda desperdiciado). Este termina de ocupar el espacio total del disco duro. Algunos toman la extendida como el contenedor de las particiones secundarias. Particiones secundarias: que se crean dentro de la partición extendida, su numeración es siempre 5 o superior (el máximo es discutible, pero suele ser suficiente para la mayoría de la gente).
Una vez creado las particiones es hora de conocer alguno sistemas de archivos donde se guardara la información, Muchas personas llaman a este proceso formateo, pero en Unix/Linux (sistemas de archivos : ext3 o ext4 (cuarto sistema de archivos extendido) se diseñan especialmente para acceder con linux) Loque se hace es crear o realizar un sistema de archivos y la herramienta para hacerlo desde la consola es mkfs. • En MS/DOS ,Windows utilizamos un sistema de archivos diferentes como lo son : FAT32 y NTFS (sistema de archivos de nueva tecnologia), existen sus complicidad entre ellos como lo son por ejemplo el FAT tiene restricciones en longitud de los nombres de archivos. Así como son las restricciones de FAT(tabla de ubicación de archivo) en Linux por carecer de bits específicos de servicio.
Los sistemas Unix/Linux ven todo el espacio del disco como un árbol establecido de forma jerárquica partiendo todo desde la raíz (también llamada root y designada por este símbolo /). • Esto es totalmente diferente a la forma en que lo hacen otros sistemas operativos, por ejemplo MS-DOS y todos los derivados de éste en los que cada disco (o partición) tiene su propio árbol jerárquico • Directorio: es un tipo especial de archivo que contiene las descripciones de otros archivos. Todos los directorios son nodos dentro de ese árbol jerárquico en el que hemos dicho que se puede comparar la estructura de Unix/Linux. En otros sistemas operativos los usuarios se refieren a estos como carpetas, la verdad es que en Unix/Linux la palabra correcta es directorio. • La raíz del árbol jerárquico: , es también un directorio. Se le suele llamar directorio raíz o simplemente raíz o también es usual referirse a esta por su nombre en inglésroot.
punto de montaje: es un lugar dentro del árbol jerárquico, donde se monta un sistema de archivos(espacio ocupado por el SO). Este punto puede estar en cualquier lugar en el árbol. Se trata de un directorio. Cualquier directorio puede ser utilizado como un punto de montaje. Pero tenga cuidado, cuando un directorio ya contiene archivos, ¡el montaje de un sistema de archivos en él puede hacer que no se pueda acceder a estos archivos! Jerarquía de los sistemas de archivos En el nivel más alto de esta jerarquía puede haber (y debe haber) uno y sólo uno: • /: es la raíz. Este punto se monta al principio de la secuencia de arranque del sistema como de sólo lectura, ya que de otra manera no habría herramientas disponibles ni siquiera para montar dispositivos. Más tarde este punto se "re-monta" como de lectura/escritura.
Un nivel por debajo de la Raíz nos encontramos lo siguiente: • /home: A menudo separado en un punto de montaje diferente (otro disco u otra partición, lo que es muy recomendable) • /tmp • /bin • /sbin Más abajo nos encontramos con: • /mnt/: Un buen lugar para un administrador de sistemas para montar dispositivos durante un proceso de mantenimiento, por ejemplo. • /media/: El sitio más habitual para montaje de los CD, DVD y dispositivos similares.