Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ANALISTA PROGRAMADOR UNIVERSITARIO Cátedra: BASE DE DATOS II Profesor Adjunto: Ms. Ing. Héctor P. Liberatori 1/19 UNIDAD 5 GESTIÓN DE ESTRUCTURAS DE ALMACENAMIENTO DE BD 5.1. OBJETIVOS Describir como se almacenan en bloques los datos de fila de tabla. Definir el objetivo de tablespaces y archivos de datos. Crear y gestionar tablespaces. Obtener información de tablespaces. Describir las funcionalidades y conceptos principales de Gestión Automática de Almacenamiento (ASM). 5.2. ESTRUCTURAS DE ALMACENAMIENTO Una base de datos se divide en unidades lógicas de almacenamiento denominadas tablespaces. Cada tablespace se compone de muchos bloques lógicos de datos de Oracle. El parámetro DB_BLOCK_SIZE especifica el tamaño que tiene un bloque lógico. El rango de tamaño de un bloque lógico es de 2 KB a 32 KB. El tamaño por defecto es 8 KB. Un número determinado de bloques lógicos contiguos constituye una extensión. Un juego de extensiones que se asignan según una estructura lógica concreta constituye un segmento La Figura 5.1 ilustra los conceptos de tablas y segmentos. Un bloque de datos de Oracle representa la unidad más pequeña de E/S lógica. Una base de datos se divide en una o varias unidades lógicas de almacenamiento denominadas tablespaces. Las tablas se dividen en unidades lógicas de almacenamiento llamadas segmentos, quienes se dividen en extensiones. Las extensiones son una colección de bloques contiguos. La Figura 5.1 ilustra los conceptos de tablas y segmentos. Un bloque de datos es la unidad más pequeña de los datos utilizados por una base de datos. Oracle pide datos en múltiplos de bloques de datos Oracle. El tamaño de bloque es especificado con el parámetro DB_BLOCK_SIZE. El tamaño de bloque de datos debe ser un múltiplo del tamaño de bloque del sistema operativo para evitar innecesarias operaciones de E/S. La Figura 5.2 ilustra los conceptos de estructuras de almacenamiento lógico y físico. Figura 5.1: Estructuras de almacenamiento UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ANALISTA PROGRAMADOR UNIVERSITARIO Cátedra: BASE DE DATOS II Profesor Adjunto: Ms. Ing. Héctor P. Liberatori 2/19 Figura 5.2: Relación entre almacenamiento lógico y físico 5.3. ALMACENAMIENTO DE DATOS DE TABLA Al crear una tabla, se crea un segmento para contener los datos. Un tablespace contiene una recopilación de segmentos. Desde el punto de vista lógico, una tabla contiene filas de valores de columna (Figura 5.3). En última instancia, una fila se almacena en una base de datos en forma de una parte de una fila. Se denomina parte de una fila porque en determinadas circunstancias puede que la fila entera no se almacene en un solo lugar. Esta situación se produce cuando una fila insertada es demasiado grande para caber en un solo bloque o cuando una actualización hace que el espacio actual de una fila existente se quede pequeño. Figura 5.3: Almacenamiento de datos en tablas 5.4. ESTRUCTURA DE UN BLOQUE DE BASE DE DATOS Estructuralmente, los bloques, están compuestos por tres partes, cada una de ellas con una función especial. La estructura de un bloque se ilustra en la Figura 5.4. Las tres partes que los componen son: UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ANALISTA PROGRAMADOR UNIVERSITARIO Cátedra: BASE DE DATOS II Profesor Adjunto: Ms. Ing. Héctor P. Liberatori 3/19 Cabecera de bloque (Header): contiene el tipo de segmento (como tabla o índice), la dirección de bloque de datos, el directorio de la tabla, el directorio de la fila y las ranuras de transacción de 23 bytes cada una que se utilizan cuando se llevan a cabo modificaciones en filas del bloque. La cabecera de bloque crece de arriba a abajo desde la parte superior. • Espacio libre (Free Space): está en la parte central del bloque. Esto permite el crecimiento del espacio de la cabecera y de los datos de fila cuando sea necesario. Los datos de fila ocupan espacio libre conforme se insertan nuevas filas o las columnas de filas existentes se actualizan con valores mayores. Algunos ejemplos de eventos que provocan el crecimiento de la cabecera se dan cuando el directorio de la fila necesita más entradas de fila o cuando se necesitan más ranuras de transacción de las que se configuraron en un principio. En el inicio el espacio libre de un bloque es contiguo, sin embargo, las supresiones y actualizaciones pueden fragmentar el espacio libre del bloque. El servidor Oracle fusiona el espacio libre en el bloque cuando es necesario. Datos de fila (Data Space): son los datos reales para las filas del bloque. El espacio para los datos de fila crece de abajo a arriba desde la base. Figura 5.4: Estructura de un bloque 5.5. TABLESPACES Y ARCHIVOS DE DATOS Un tablespace es una estructura de bases de datos lógica, diseñada para almacenar otras estructuras de bases de datos lógicas. Oracle ve a un tablespace como un área de espacio en la cual puede colocar nuevos objetos. El espacio de los tablespaces está asignado en segmentos. Las bases de datos, tablespaces y archivos de datos están estrechamente relacionados (Figura 5.5) pero presentan importantes diferencias: Una base de datos Oracle consta de una o más unidades lógicas de almacenamiento denominadas tablespaces, que en conjunto almacenan todos los datos de la base de datos. Cada tablespace de una base de datos Oracle se compone de uno o más archivos denominados archivos de datos, que son estructuras físicas que se ajustan al sistema operativo en el que se está ejecutando el software de Oracle. Los datos de una base de datos se almacenan en conjunto en los archivos de datos que constituyen cada tablespace de la base de datos. Por ejemplo, la base de datos Oracle más simple tendría dos tablespaces (los tablespaces obligatorios SYSTEM y SYSAUX), cada uno de ellos con un archivo de datos. Otra base de datos puede tener tres tablespaces, compuestos cada uno por dos archivos de datos (un total de seis archivos de datos). Una única base de datos puede tener hasta 65.534 archivos de datos. UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ANALISTA PROGRAMADOR UNIVERSITARIO Cátedra: BASE DE DATOS II Profesor Adjunto: Ms. Ing. Héctor P. Liberatori 4/19 Figura 5.5: Tablespaces y archivos de datos 5.6. USO DE OMF PARA ADMINISTRAR TABLESPACES La administración de los tablespaces se puede realizar utilizando el Oracle Managed Files (OMF), de esta forma se pueden crear o eliminar tablespaces. Para poder administrar los tablespaces desde OMF, se debe inicializar un parámetro en el momento de configurar OMF. Este parámetro es DB_CREATE_FILE_DEST. Cuando se crea un tablespace con OMF la cláusula DATAFILE es opcional. Si la cláusula es omitida o no se incluye el nombre del archivo, el datafile será creado en la ubicación especificada en el parámetro DB_CREATE_FILE_DEST. En la Tabla 5.1 se muestran los principales parámetros de OMF. Para agregar un datafile a un tablespace que ya existe, se utiliza el comando ADD DATAFILE el cual requiere especificaciones de archivos. Oracle Managed Files (OMF) elimina la necesidad de gestionar directamente los archivos del sistema operativo que forman una base de datos Oracle. Las operaciones se especifican en función de los objetos de base de datos, en lugar de los nombres de archivos. La base de datos utiliza internamente las interfaces del sistema de archivos estándar para crear y suprimir archivos, según lo necesiten las siguientes estructuras de la base de datos: Tablespaces Archivos redo log Archivos de control Archivelogs Archivos de seguimiento de cambios de bloque Logs de flashback Copias de seguridad de RMAN La base de datos puede disponer tanto de archivos Oracle Managed Files, como de archivos no gestionados. Ya debe existir el directorio del sistema de archivos especificado por cualquiera de estos parámetros, la base de datos no lo crea. El directorio debe tener también permisos para que la base de datos cree los archivos en el mismo. Los datafiles creados desde el OMF para formar parte de un tablespace, deben ser eliminados desde el Sistema Operativo, cuando se elimina el tablespace al que están asociados. UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ANALISTA PROGRAMADOR UNIVERSITARIO Cátedra: BASE DE DATOS II Profesor Adjunto: Ms. Ing. Héctor P. Liberatori 5/19 El ejemplo de la Tabla 5.1 muestra que una vez definido DB_CREATE_FILE_DEST, la cláusula DATAFILE se puede omitir de una sentencia CREATE TABLESPACE. El archivo de datos se crea en la ubicación especificada por DB_CREATE_FILE_DEST. Tabla 5.1: Parámetros de OMF 5.7. ADMINISTRACIÓN DE ESPACIO EN TABLESPACES A los tablespaces se les asigna espacio en extensiones. Cuando se crea un tablespace se debe decidir con que método gestionará el espacio libre o utilizado (Figura 5.6). Estos métodos son los siguientes: Tablespaces gestionados localmente (locally manager tablespaces): las extensiones se gestionan en el tablespace a través de bitmaps. Cada bit del bitmap corresponde a un bloque o grupo de bloques. Cuando una extensión se asigna o se libera para volver a utilizarla, el servidor de Oracle cambia los valores del bitmap (grados) para mostrar el nuevo estado de los bloques. Tablespaces gestionados por diccionario (dictionary‐managed tablespaces): el diccionario de datos gestiona las extensiones. El servidor de Oracle actualiza las tablas adecuadas del diccionario de datos, siempre que se asigna o se anula la asignación de una extensión. Este método se utiliza para obtener la compatibilidad con versiones anteriores; se recomienda usar tablespaces gestionados localmente. Los cambios en los mapas de bits de los grados, no generan modificaciones de información, porque no actualizan las tablas del diccionario de datos. La Figura 5.7 ilustra con ejemplos la administración de tablespaces. UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ANALISTA PROGRAMADOR UNIVERSITARIO Cátedra: BASE DE DATOS II Profesor Adjunto: Ms. Ing. Héctor P. Liberatori 6/19 Figura 5.6: Administración del espacio en Tablespaces Figura 5.7: Ejemplos de administración del espacio en Tablespaces 5.8. VISUALIZAR LAS ESTRUCTURAS DE ALMACENAMIENTO Las estructuras de datos lógicos se almacenan en los archivos físicos de la base de datos. Enterprise Manager permite visualizar las estructuras lógicas de la base de datos fácilmente. Para obtener información detallada sobre cada una de las estructuras, hacer clic en los enlaces de la región Storage de la página Administration (Figura 5.8). UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ANALISTA PROGRAMADOR UNIVERSITARIO Cátedra: BASE DE DATOS II Profesor Adjunto: Ms. Ing. Héctor P. Liberatori 7/19 Figura 5.8: Visualización con OEM de la estructura de almacenamiento 5.9. CREACION DE UN NUEVO TABLESPACES Como se dijo anteriormente los SYSTEM tablespaces son creados durante la creación de la base de datos. Esto se realiza especificando explícitamente la ubicación del SYSTEM tablespace en el comando CREATE DATABASE. En cambio, cuando se desea crear alguno de los llamados Non‐SYSTEM tablespaces, se puede realizar usando Oracle Enterprise Manager o mediante la utilización del comando CREATE TABLESPACE luego de que la base de datos haya sido creada. Para crear un tablespace (Figura 5.9), realizar los siguientes pasos: 1. Hacer clic en el separador Administration y a continuación, hacer clic en Tablespaces situado bajo la cabecera Storage. 2. Hacer clic en Create. Para crear un tablespace igual que otro ya existente, seleccionar el tablespace existente y elija Create Like en el menú Actions. Hacer clic en Go, y Aparece la página Create Tablespace. 3. Introducir un nombre para el tablespace. 4. Bajo la cabecera Extent Management, seleccionar Locally Managed. El servidor de bases de datos Oracle gestiona eficazmente en el tablespace las extensiones de un tablespace gestionado localmente. 5. Bajo la cabecera Type, seleccionar Permanent. Los tablespaces permanentes almacenan objetos de base de datos permanentes creados por el sistema o por los usuarios. 6. Bajo la cabecera Status, seleccionar Read Write. El estado de lectura/escritura significa que los usuarios pueden leer y escribir en el tablespace una vez creado. Éste es el valor por defecto. 7. En la región Datafiles de la página, hacer clic en Add para agregar archivos de datos al tablespace, un tablespace debe tener al menos un archivo. La Gestión Automática de Almacenamiento (ASM) de Oracle, u otros gestores de volúmenes lógicos soportan la segmentación o la matriz redundante de discos independientes (RAID), además de volúmenes lógicos extensibles dinámicamente. 8. En la página Add Datafiles, introduzca un nombre de archivo. Aceptar el valor por defecto para File Directory e introduzca un tamaño de archivo. 9. En la región Storage, se puede seleccionar “Automatically extend datafile when full (AUTOEXTEND)” y a continuación, especificar una cantidad en el campo Increment. Esto hace que el archivo de datos se amplíe automáticamente cada vez que se quede sin espacio. Por supuesto, está limitado por el medio físico en el que reside. Dejar el valor Maximum File Size definido en Unlimited. Hacer clic en OK. Se volverá a la página Create Tablespace. UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ANALISTA PROGRAMADOR UNIVERSITARIO Cátedra: BASE DE DATOS II Profesor Adjunto: Ms. Ing. Héctor P. Liberatori 8/19 10. Hacer clic en el separador Storage. Aparece la página Edit Tablespace. 11. Aceptar todos los valores por defecto de la página Storage. Estos pasos están destinados a mostrar cómo crear rápidamente un tablespace para la mayoría de situaciones. Puede que necesite cambiar algunas opciones en función de sus requisitos concretos. Figura 5.9: Interface para la creación de un tablespace 5.10. ALMACENAMIENTO DE TABLESPACES GESTIONADOS LOCALMENTE Las extensiones de un tablespace gestionado localmente (Figura 5.10) se pueden asignar de uno de los dos modos siguientes: Automatic: también denominado asignación automática, especifica que los tamaños de las extensiones del tablespace los gestiona el sistema. No puede especificar un tamaño de extensión. No puede especificar Automatic para un tablespace temporal. Uniform: especifica que el tablespace está gestionado con extensiones uniformes con un tamaño especificado. El tamaño por defecto es 1 MB. Todas las extensiones de tablespaces temporales son uniformes y presentan ese valor por defecto. No puede especificar Uniform para un tablespace de deshacer. La gestión de espacio de segmento en un tablespace gestionado localmente se puede especificar como: Automatic: la base de datos Oracle utiliza bitmaps para gestionar el espacio libre en segmentos. Un bitmap describe el estado de cada bloque de datos de un segmento con respecto a la cantidad de espacio del bloque disponible para insertar filas. A medida que hay más o menos espacio disponible en un bloque de datos, su nuevo estado se refleja en el bitmap. Con los bitmaps, la base de datos Oracle gestiona el espacio libre de forma más automática, y por este motivo, este método de gestión de espacio se denomina gestión automática de espacio desegmento (ASSM). Manual: especifica que desea utilizar listas de bloques libres para la gestión de espacio libre en segmentos. Las listas de bloques libres son listas de bloques de datos que tienen espacio disponible para la inserción de filas. Esta forma de gestión de espacio en segmentos se denomina gestión manual de espacio de segmento debido a la necesidad de especificar y ajustar los parámetros de almacenamiento PCTUSED, FREELISTS y FREELIST GROUPS para objetos de esquema creados en el tablespace. Se soporta para obtener la compatibilidad con versiones anteriores; se recomienda utilizar ASSM. UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ANALISTA PROGRAMADOR UNIVERSITARIO Cátedra: BASE DE DATOS II Profesor Adjunto: Ms. Ing. Héctor P. Liberatori 9/19 Ventajas de los Tablespaces Gestionados Localmente: Los tablespaces gestionados localmente presentan las siguientes ventajas sobre los gestionados por diccionario: La gestión local evita operaciones recursivas de gestión de espacio. Esto sucede en los tablespaces gestionados por diccionario si el consumo o la liberación de espacio en una extensión da como resultado otra operación que consume o libera espacio en un segmento de deshacer o en una tabla de diccionarios de datos. Dado que no registran espacio libre en las tablas de diccionarios de datos, los tablespaces gestionados localmente reducen la contención en estas tablas. La gestión local de extensiones realiza automáticamente un seguimiento del espacio libre adyacente, que elimina la necesidad de fusionar extensiones libres. El sistema puede determinar automáticamente los tamaños de las extensiones gestionadas localmente. Los cambios en los bitmaps de extensiones no generan información de deshacer porque no actualizan tablas del diccionario de datos (excepto en casos especiales como, por ejemplo, información de cuota de tablespace). Si se gestiona una base de datos que tiene tablespaces gestionados por diccionario y se desea convertirlos a tablespaces gestionados localmente, utilice el procedimiento: DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL. Enable logging Los cambios que se realizan en los objetos en el tablespace se escriben en el redo log. Si el registro no está activado, la creación de cualquier objeto y las posteriores inserciones de rutas de acceso de cargas directas realizadas en esos objetos no se escriben en el redo log y, por lo tanto, dichos objetos son irrecuperables en caso de pérdida de datos. De modo que, cuando un objeto se crea con el registro desactivado, debe realizar una copia seguridad si desea que sea recuperable. Block Information Esta región muestra el tamaño de bloque que se utiliza para el tablespace que se está creando. Aquí se muestra como un valor de sólo lectura. Si define alguno de los parámetros alternativos de inicialización para el tamaño de bloque (DB_nK_CACHE_SIZE), aparecerían aquí otros valores en forma de opciones. Figura 5.10: Almacenamiento de tablespaces gestionados localmente UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ANALISTA PROGRAMADOR UNIVERSITARIO Cátedra: BASE DE DATOS II Profesor Adjunto: Ms. Ing. Héctor P. Liberatori 10/19 5.11. TABLESPACE EN LA BASE DE DATOS PRECONFIGURADA Los siguientes tablespaces (Figura 5.11) se crean por defecto en la base de datos preconfigurada, de las máquinas virtuales con las que se realizan los trabajos prácticos: SYSTEM: el servidor de Oracle utiliza el tablespace SYSTEM para gestionar la base de datos. Contiene el diccionario de datos y las tablas que incluyen información administrativa sobre la base de datos. Todos ellos están incluidos en el esquema SYS y sólo el usuario SYS u otros usuarios administrativos con el privilegio necesario pueden acceder a ellos. SYSAUX: éste es un tablespace auxiliar del tablespace SYSTEM. Algunos componentes y productos que utilizaban el tablespace SYSTEM o sus propios tablespaces en versiones anteriores de la base de datos Oracle utilizan ahora el tablespace SYSAUX. Todas las bases de datos Oracle 10g o versiones posteriores deben tener un tablespace SYSAUX. En Enterprise Manager, puede ver un gráfico de torta del contenido de este tablespace. Para ello, hacer clic en Tablespaces en la página Administration. Seleccionar SYSAUX y hacer clic en Edit. Después, hacer clic en el separador Occupants. Una vez concluida la creación, se puede controlar el uso del espacio de cada ocupante del tablespace SYSAUX mediante EM. Si se detecta que un componente ocupa demasiado espacio del tablespace SYSAUX o si se prevé que lo haga, cabe la posibilidad de moverlo a otro tablespace si se selecciona uno de los ocupantes y se hace clic en Change Tablespace. TEMP: el tablespace temporal se utiliza cuando se ejecuta una sentencia SQL que necesita la creación de segmentos temporales (como grandes ordenaciones o la creación de un índice) De la misma índice). forma que a cada usuario se le asigna un tablespace por defecto para almacenar objetos de datos creados, también se le asigna un tablespace temporal. La práctica recomendada es definir un tablespace temporal por defecto para la base de datos que se asignará a cada usuario recién creado, a menos que se especifique lo contrario. En la base de datos preconfigurada, el tablespace TEMP se especifica como tablespace temporal por defecto. Esto significa que si no se especifica ningún tablespace temporal al crear la cuenta de usuario, la base de datos Oracle asigna este tablespace al usuario. UNDOTBS1: éste es el tablespace de deshacer que utiliza el servidor de bases de datos para almacenar información de deshacer. Si una base de datos utiliza Gestión Automática de Deshacer (AUM), debe tener exactamente un tablespace de deshacer activo en cualquier momento. Este tablespace se genera durante la creación de la base de datos. USERS: éste tablespace se utiliza para almacenar objetos y datos de usuarios permanentes. En la base de datos preconfigurada, el tablespace USERS es el tablespace por defecto para todos los objetos creados por usuarios que no son del sistema. Para los usuarios SYS y SYSTEM (usuarios del sistema), el tablespace permanente por defecto sigue siendo SYSTEM. EXAMPLE: Este tablespace contiene los esquemas de ejemplo que se pueden instalar al crear la base de datos. Los esquemas de ejemplo proporcionan una plataforma común para los ejemplos. La documentación y los cursos de Oracle contienen ejemplos basados en los esquemas de ejemplo. IMPORTANTE: para simplificar la administración es normal tener un tablespace sólo para índices. UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ANALISTA PROGRAMADOR UNIVERSITARIO Cátedra: BASE DE DATOS II Profesor Adjunto: Ms. Ing. Héctor P. Liberatori 11/19 Figura 5.11: Descripción de los tablespaces creados por defecto 5.12. MODIFICACIÓN DE UN TABLESPACE Después de crear un tablespace, se puede modificarlo de varios modos a medida que cambian las necesidades del sistema (Figura 5.12): Cambio de nombre: introducir un nuevo nombre para el tablespace y hacer clic en Apply. Cambio del estado: un tablespace puede tener tres estados distintos. Cualquiera de los tres estados siguientes puede no estar disponible ya que su disponibilidad depende del tipo de tablespace: Read Write: el tablespace está online y se puede leer y escribir en él. Read Only: se especifica Read Only para poner el tablespace en el modo de sólo lectura de transición. En este estado, se pueden realizar las transacciones existentes (de confirmación o de rollback), pero no se permiten otras operaciones de lenguaje de manipulación de datos (DML) en los objetos deltablespace. El tablespace está online mientras tiene el estado de sólo lectura. No se puede poner el tablespace SYSTEM o SYSAUX sea de sólo lectura. Offline: se puede poner offline un tablespace online para que esta parte de la base de datos no esté disponible temporalmente para su uso general. El resto de la base de datos está abierta y disponible para que los usuarios accedan a los datos. Al ponerla offline, puede utilizar las siguientes opciones: · Normal: un tablespace se puede poner offline normalmente si no existe ninguna condición de error para ninguno de los archivos de datos del tablespace. La base de datos Oracle garantiza que todos los datos se escriben en el disco al establecer un punto de control para todos los archivos de datos del tablespace cuando los pone offline. · Temporary: un tablespace se puede poner offline temporalmente, incluso si hay condiciones de error para uno o más archivos del tablespace. La base de datos Oracle pone offline los archivos de datos (los que aún no lo estén), al establecer a la vez un punto de control en los mismos. Si no hay ningún archivo offline, pero utiliza la cláusula temporal, la recuperación del medio físico no es necesaria para volver a poner el tablespace online. Sin embargo, si uno o más archivos del tablespace están offline debido a errores de escritura y pone el tablespace offline temporalmente, el tablespace necesita la recuperación antes de ponerlo de nuevo online. · Immediate: un tablespace se puede poner offline inmediatamente, sin que la base de datos Oracle establezca un punto de control en alguno de los archivos de datos. Cuando especifica Immediate, es UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ANALISTA PROGRAMADOR UNIVERSITARIO Cátedra: BASE DE DATOS II Profesor Adjunto: Ms. Ing. Héctor P. Liberatori 12/19 necesaria la recuperación del medio físico para el tablespace para poner online el tablespace. No puede poner un tablespace offline inmediatamente si la base de datos se está ejecutando en modo NOARCHIVELOG. · For Recover: el valor FOR RECOVER ya no se utiliza. Se soporta la sintaxis para la compatibilidad con versiones anteriores. Cambio del tamaño: se puede agregar espacio a un tablespace existente, ya sea agregándole archivos de datos o cambiando el tamaño de un archivo de datos existente: Para agregar un nuevo archivo de datos al tablespace, hacer clic en Add y rellenar la información sobre el archivo de datos en la página Add Datafile. Para cambiar el tamaño de un archivo de datos existente, seleccionarlo en la región Datafiles de la página Edit Tablespace haciendo clic en el nombre del archivo de datos, o bien seleccionar el archivo de datos y hacer clic en Edit. A continuación, en la página Edit Datafile se puede cambiar el tamaño del archivo de datos. Se puede aumentar o reducir el tamaño del tablespace. Sin embargo, no se puede hacer que un archivo de datos sea más pequeño que el espacio usado en el archivo; si se intenta, se obtendrá el siguiente error: ORA-03297: file contains used data beyond requested RESIZE value Opciones de almacenamiento: hacer clic en Storage para cambiar el comportamiento de registro del tablespace: Thresholds: hacer clic en Thresholds para cambiar el punto en el que se alcanza un nivel crítico o de advertencia en cuanto al uso de espacio en el tablespace. Se disponen de tres opciones: Use Database Default Thresholds: utiliza valores por defecto predefinidos y tiene la opción de definir dichos valores por defecto. Specify Thresholds: permite definir umbrales para este tablespace concreto. Disable Thresholds: desactiva las alertas de uso de espacio para este tablespace. IMPORTANTE: pueden pasar varios minutos hasta que se registre una alerta de umbral. Figura 5.12: Modificación de un tablespace UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ANALISTA PROGRAMADOR UNIVERSITARIO Cátedra: BASE DE DATOS II Profesor Adjunto: Ms. Ing. Héctor P. Liberatori 13/19 5.13. ACCIONES POSIBLES CON TABLESPACES Mediante el menú Actions se pueden realizar varias tareas con los tablespaces. Seleccione un tablespace, y a continuación, la acción que desea realizar: Add Datafile: agrega un archivo de datos al tablespace, con lo que se agranda el tablespace. Create Like: crea otro tablespace utilizando el tablespace como plantilla. Generate DDL: genera la sentencia de lenguaje de definición de datos (DLL) que crea el tablespace. A continuación se puede copiar y pegar en un archivo de texto para su uso como archivo de comandos o con fines de documentación. Make Locally Managed: convierte el tablespace en gestionado localmente si, en la actualidad, el tablespace está gestionado por diccionario. Esta conversión no es reversible. No se puede volver a convertir el tablespace a gestionado por diccionario. Make Readonly: para todas las escrituras en el tablespace. Se permite terminar las transacciones actuales, pero no se permite iniciar nuevas DML u otras actividades de escritura en el tablespace. Esta opción aparece sólo si el tablespace no es ya de sólo lectura. Make Writable: permite iniciar DML y otras actividades de escritura en objetos del tablespace. Esta opción aparece sólo si, actualmente, no se puede escribir en el tablespace. Place Online: pone online un tablespace que actualmente está offline. Reorganize: inicia el asistente de reorganización, que puede utilizar para mover objetos en el tablespace con el fin de reclamar espacio que de otro modo tal vez no se utilice. Esta tarea se debe realizar en los momentos de menor uso de los objetos del tablespace. Run Segment Advisor: inicia el Asesor de Segmentos, que puede utilizar para determinar si un objeto tiene espacio disponible para la recuperación en función del nivel de fragmentación de espacio en el objeto. En el nivel de tablespace, se genera un consejo para cada segmento del tablespace. Show Dependencies: muestra objetos de los que depende este tablespace u objetos que dependen de este tablespace Show Tablespace Contents: muestra información sobre todos los segmentos del tablespace, incluido un mapa gráfico de todas las extensiones Take Offline: pone no disponible un tablespace que actualmente está online. El tablespace no se suprime ni borra, simplemente no está disponible. Figura 5.13: Tareas que se pueden realizar con los tablespace UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ANALISTA PROGRAMADOR UNIVERSITARIO Cátedra: BASE DE DATOS II Profesor Adjunto: Ms. Ing. Héctor P. Liberatori 14/19 5.14. BORRADO DE TABLESPACES Si se desea eliminar un tablespace de la base de datos, se debe utilizar un comando SQL. Hay que tener en cuenta que no está permitido eliminar SYSTEM tablespaces y tablespaces que tengan segmentos activos (Figura 5.14). El comando para realizar la eliminación es el DROP TABLESPACE. Para la eliminación de tablespaces hay que tener en cuenta una serie de pautas a saber: Una vez que se eliminó un tablespace, los datos que éste contenía, no existen más en la base de datos. Cuando un tablespace es eliminado, son eliminados también, todos los punteros o archivos en el control file. Los archivos del sistema operativo todavía existen y deben ser eliminados utilizando los comandos que el sistema operativo provee, al menos que se haya utilizado la cláusula AND DATAFILES. Por más que un tablespace esté en estado de sólo lectura, puede ser eliminado. Es recomendable que el tablespace sea dejado en modo offline antes de eliminarlo, para asegurarse de que ninguna transacción esté accediendo a alguno de los segmentos del mismo. Figura 5.14: Borrado de un tablespaces 5.15. VER INFORMACIÓN DE TABLESPACESHacer clic en View para ver información sobre el tablespace seleccionado. En la página View Tablespace, también se puede hacer clic en Edit para modificar el tablespace. También se puede obtener información de tablespaces y archivos de datos consultando las siguientes vistas (Figura 5.15): Información de tablespaces: DBA_TABLESPACES V$TABLESPACE Información de archivos de datos: DBA_DATA_FILES V$DATAFILE Información de archivos temporales: DBA_TEMP_FILES V$TEMPFILE UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ANALISTA PROGRAMADOR UNIVERSITARIO Cátedra: BASE DE DATOS II Profesor Adjunto: Ms. Ing. Héctor P. Liberatori 15/19 Figura 5.15: Información de tablespaces 5.16. RECOPILACIÓN DE INFORMACIÓN DE ALMACENAMIENTO Para visualizar y modificar información del tablespace en EM (Figura 5.16), seleccionar Administration, y luego Tablespaces. Utilizar los botones o la lista desplegable Actions para navegar hasta su destino. Figura 5.16: Información de almacenamiento 5.17. VISUALIZACIÓN DE CONTENIDO DE TABLESPACES En la página Show Tablespace Contents (Figura 5.17) se muestra información detallada sobre el tablespace, incluida una lista de los segmentos del tablespace, el tipo de cada segmento, el tamaño de segmento y el número de extensiones que componen cada segmento. UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ANALISTA PROGRAMADOR UNIVERSITARIO Cátedra: BASE DE DATOS II Profesor Adjunto: Ms. Ing. Héctor P. Liberatori 16/19 Cualquiera de esos cuatro valores se puede utilizar para ordenar la lista, si hace clic en la cabecera de columna, o para filtrar la lista si introduce valores en la región Search. Para los tablespaces gestionados por diccionario se muestran columnas adicionales: Max Extents Next Percent Increase Para consultar una lista de extensiones, haga clic en el enlace de la columna Extents. Para visualizar las extensiones de una forma gráfica, amplíe "Extent map" y mueva el cursor sobre cada extensión. Aparece la siguiente información: Nombre del segmento al que pertenece la extensión Identificador de extensión Identificador de bloque Tamaño de la extensión en bloques Archivo de datos en el que está almacenada la extensión Figura 5.17: Visualización de Contenido de Tablespaces 5.18. AMPLIACIÓN DE LA BASE DE DATOS Estas actividades se pueden realizar mediante Enterprise Manager o mediante sentencias SQL. Al final, el tamaño de la base de datos se puede describir como la suma de todos sus tablespaces (Figura 5.18). UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ANALISTA PROGRAMADOR UNIVERSITARIO Cátedra: BASE DE DATOS II Profesor Adjunto: Ms. Ing. Héctor P. Liberatori 17/19 Figura 5.18: Ampliación de la base de datos 5.19. GESTIÓN AUTOMÁTICA DE ALMACENAMIENTO (AUTOMATIC STORAGE MANAGEMENT) ASM proporciona una integración vertical del sistema de archivos y del gestor de volúmenes creado de forma específica para los archivos de las bases de datos Oracle (Figura 5.19). Además de gestionar máquinas de multiproceso simétrico (SMP) individuales, ASM soporta Oracle Real Application Clusters (RAC) y, por lo tanto, permite gestionar varios nodos de un cluster. ASM distribuye la carga de entrada/salida (E/S) entre todos los recursos disponibles para optimizar el rendimiento mientras elimina la necesidad de ajuste manual de E/S. ASM ayuda a los DBA a gestionar los entornos de base de datos dinámicos ya que les permite aumentar el tamaño de las bases de datos sin tener que cerrarlas a la hora de ajustar la asignación de almacenamiento. ASM puede mantener copias redundantes de los datos para ofrecer tolerancia ante fallos o se puede montar en mecanismos de almacenamiento suministrados por el proveedor. La gestión de datos se realiza seleccionando las características de fiabilidad y rendimiento deseadas para las clases de datos en lugar de hacerlo archivo por archivo con la intervención del usuario. Las capacidades de ASM ahorran tiempo a los DBA al automatizar el almacenamiento manual, y en consecuencia, les permiten aumentar su capacidad para gestionar bases de datos más grandes y en mayor número con mayor eficiencia. Figura 5.19: Gestión Automática de Almacenamiento UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ANALISTA PROGRAMADOR UNIVERSITARIO Cátedra: BASE DE DATOS II Profesor Adjunto: Ms. Ing. Héctor P. Liberatori 18/19 5.19.1. ASM: Funciones Clave y Ventajas ASM divide los archivos en extensiones (diferentes de las extensiones de archivos de datos descriptas anteriormente) y las distribuye de manera uniforme entre todos los discos. Utiliza una técnica de índice para realizar el seguimiento de la colocación de cada extensión. Cuando varía la capacidad de almacenamiento, ASM no vuelve a segmentar todos los datos, sino que mueve una cantidad de datos proporcional a la cantidad de almacenamiento agregada o eliminada para redistribuir uniformemente los archivos y mantener una carga equilibrada en los discos. Todo ello se hace mientras la base de datos permanece activa. Puede aumentar la velocidad de una operación de nuevo equilibrio para hacer que termine antes o reducirla para disminuir el impacto en el subsistema de E/S. ASM proporciona protección de duplicación sin necesidad de adquirir un gestor de volúmenes lógicos de otro fabricante. Una ventaja exclusiva de ASM radica en que la duplicación se aplica por archivo, no por volumen. Por lo tanto, un mismo grupo de discos puede contener una combinación de archivos duplicados y no duplicados. ASM soporta archivos de datos, archivos log, archivos de control, archive logs, juegos de copia de seguridad de Recovery Manager (RMAN) y otros tipos de archivos de base de datos Oracle. ASM soporta RAC y elimina la necesidad de un gestor de volúmenes lógicos de cluster o de un sistema de archivos de cluster (Figura 5.20). Figura 5.20: Funciones Clave y Ventajas 5.19.2. ASM: Conceptos ASM no elimina ninguna de las funciones existentes de la base de datos. Las bases de datos existentes siguen funcionando como siempre. Puede crear nuevos archivos como archivos de ASM y dejar que los archivos existentes se administren del modo anterior, o bien puede migrarlos a ASM. En el diagrama de la diapositiva se representan las relaciones que existen entre los diversos componentes de almacenamiento dentro de una base de datos Oracle que utiliza ASM. Las partes izquierda y central del diagrama muestran las relaciones que existen en versiones anteriores. En la derecha se encuentran los nuevos conceptos introducidos con ASM. Los archivos de base de datos se pueden almacenar como archivos de ASM. La cabeza de la nueva jerarquía la ocupan los grupos de discos de ASM. Todos los archivos de ASM están en un único grupo de discos. Por el contrario, un grupo de discos puede contener archivos que pertenezcan a varias bases de datos y una única base de datos puede utilizar almacenamiento de varios grupos de discos. Como puede observar, un grupo de discos está formado por varios discos de ASM y cada disco de ASM pertenece a un único grupo de discos. Los archivos de ASM siempre se distribuyen por todos los discos de ASM del grupo. Los discos de ASM están particionados en unidades de asignación de un megabyte. La unidad de asignación constituye el espacio de disco contiguo más pequeño que asigna ASM no permite dividir un bloque de ASM. Oracle en unidades de asignación. UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ANALISTA PROGRAMADOR UNIVERSITARIO Cátedra: BASE DE DATOS II Profesor Adjunto: Ms. Ing. Héctor P. Liberatori 19/19 IMPORTANTE:el gráfico sólo tiene que ver con un tipo de archivo de ASM: archivo de datos. Sin embargo, ASM se puede utilizar para almacenar otros tipos de archivos de base de datos. Figura 5.21: Arquitectura ASM
Compartir