4.1 Mejorando las Operaciones de Ordenación

Tamaño: px
Comenzar la demostración a partir de la página:

Download "4.1 Mejorando las Operaciones de Ordenación"

Transcripción

1 4 Tuning Los problemas relacionados con el rendimiento de la aplicación se relacionan frecuentemente a consultas mal estructuradas ó a un diseño de la base de datos ineficiente. Debido a esto, Oracle provee al DBA una serie de herramientas y técnicas para identificar y solucionar este tipo de problemas y, por lo tanto, solucionar los problemas de rendimiento de la aplicación. Estas herramientas ó técnicas pueden ser utilizadas tanto en ambientes de desarrollo, donde el costo de implementación de las mejoras es mínimo, como en ambientes productivos, en donde se hace más costoso este tipo de ajustes. En este capítulo veremos cómo detectar y mejorar problemas de rendimiento relacionados con las operaciones de ordenación de las consultas que se realizan a la base de datos, como es el caso del ajuste del segmento de deshacer, para el trabajo con las transacciones. Este capítulo finaliza con el recorrido por las herramientas más importantes para la recolección y análisis de estadísticas relacionadas con el rendimiento tanto de las consultas de las aplicaciones como de los procesos que impactan en el almacenamiento y obtención de los datos de la base de datos.

2 4.1 Mejorando las Operaciones de Ordenación En la figura se presenta una clasificación de los contenidos tratados en esta subunidad, teniendo en cuenta, la relación de los mismos con el Material del Estudiante (kit). Esta clasificación sugiere diferentes momentos de lectura, estudio y revisión, entre los contenidos de este currículo y el Material del Estudiante (Kit). Según esta clasificación los contenidos pueden ser de: * Lectura Previa: Se sugiere la lectura de estos contenidos antes de abordar los subtemas, temas o unidades asociados al Material del Estudiante (Kit). * Lectura Complementaria: Se sugiere la lectura de estos contenidos como complemento a los subtemas, temas o unidades asociados al Material del Estudiante (Kit). * Lectura Adicional: Se sugiere la lectura posterior de estos contenidos, como material adicional a los tratados en el Material del Estudiante (Kit). * Prácticas : Actividades de laboratorios e interactivas incluidas como práctica adicional al Material del Estudiante (Kit).

3 4.1 Mejorando las Operaciones de Ordenación Objetivos En el presente subcapítulo nos interesa que usted adquiera los conocimientos que le permitan saber listar las operaciones que necesitan espacio temporal y saber crear y controlar Tablespaces Temporales. También aspiramos a que usted pueda describir el uso de disco y memoria en operaciones de ordenación, y pueda establecer la diferencia entre las operaciones de ordenación de disco y las de memoria. Por último, pretendemos que llegue a conocer tanto las formas de reducir las ordenaciones en disco, como a los parámetros de inicialización para las ordenaciones.

4 4.1 Mejorando las Operaciones de Ordenación Cuestionario de Iniciación Coloque el cursor sobre los botones numerados que aparecen a la izquierda para visualizar las preguntas de iniciación. Si desea, puede desplegar su respuesta.

5 4.1 Mejorando las Operaciones de Ordenación Administración Automática del Área de Ordenamiento Las ordenaciones ocurren cuando los datos resultantes de una consulta SQL a la base de datos requieren ser representados con un orden específico. Cuando una ordenación ocurre en una instancia Oracle, ésta puede ocurrir en dos ubicaciones diferentes: en la memoria ó en el disco. Las ordenaciones en memoria son menos costosas en términos de rendimiento y las ordenaciones en disco son más costosas, ya que requieren de un procesamiento adicional de acceso a disco de E/S. Por lo general, la primer meta, en cuanto a objetivos de rendimiento, es minimizar la actividad de ordenaciones, cuando esto sea posible. De lo contrario, la meta es tratar de realizar, lo más que se pueda, estas operaciones en memoria.

6 4.1 Mejorando las Operaciones de Ordenación La PGA La cantidad de memoria que se define para las tareas de ordenación, para cada Proceso de Servidor de cada Proceso Usuario, se determina por los siguientes parámetros de ordenación: *SORT_AREA_SIZE *SORT_AREA_RETAINED_SIZE *PGA_AGGREGRATE_TARGET *WORKAREA_SIZE_POLICY Cada uno de estos parámetros tiene sus propios efectos al momento de realizar ordenaciones: SORT_AREA_SIZE. Este parámetro determina qué cantidad de memoria dispondrá cada Proceso de Servidor para realizar tareas de ordenaciones. El valor por defecto de este parámetro dependerá de la configuración del sistema operativo, el valor mínimo se determinará por el equivalente al tamaño de seis bloques de Oracle, y el valor máximo, como se ha comentado, dependerá de la capacidad del hardware del servidor. Cabe destacar que cuando se está utilizando una arquitectura de Servidor Compartido, la memoria utilizada para las ordenaciones surge de la UGA, no de la memoria principal del servidor. SORT_AREA_RETAINED_SIZE. Una vez que la operación de ordenación es completada, si el área de memoria de ordenación aún contiene registros ordenados para devolver al usuario, el Proceso de Servidor del usuario reduce el tamaño de memoria para ordenaciones, al valor definido en este parámetro. De esta manera se puede ir agrandando ó reduciendo la cantidad de memoria para las ordenaciones en forma automática y sin intervención del DBA. Por defecto, su tamaño es equivalente al valor del parámetro SORT_AREA_SIZE. El valor mínimo es el equivalente a dos veces el tamaño del bloque de Oracle y el tamaño máximo está limitado por el valor del parámetro SORT_AREA_SIZE. PGA_AGGREGATE_TARGET. Luego de utilizar el parámetro SORT_AREA_SIZE para determinar qué cantidad de memoria se utilizará para los procesos de ordenación de cada usuario, el parámetro PGA_AGGREGATE_TARGET puede ser utilizado para establecer un límite máximo de consumo de memoria para las actividades sobre la base de datos de los Procesos de Usuario, incluyendo operaciones de ordenación. El valor por defecto es cero y los posibles valores que puede tomar van de 10MB a 4GB. WORKAREA_SIZE_POLICY. Este parámetro es utilizado para determinar cuándo la cantidad total de memoria designada para todos los Procesos de Usuario está gestionada explícita ó implícitamente. Cuando este parámetro se define con el valor MANUAL, el tamaño de ordenación de cada usuario será equivalente al valor de SORT_AREA_SIZE. Si de lo contrario se lo define en AUTO, Oracle gestionará automáticamente el tamaño de asignación de memoria para que no exceda el tamaño definido en PGA_AGGREGATE_TARGET. De esta manera, si se decide utilizar el parámetro PGA_AGGREGATE_TARGET, se debe definir este parámetro en AUTO. Cabe destacar que tanto este parámetro como PGA_AGGREGATE_TARGET son nuevos a partir de Oracle 9i.

7 4.1 Mejorando las Operaciones de Ordenación Vistas del Diccionario de Datos Las actividades de ordenación pueden ser monitoreadas utilizando las vistas dinámicas de rendimiento V$SYSSTAT y V$SORT_SEGMENT. La vista V$SYSSTAT tiene dos estadísticas: sorts (memory) y sorts (disk) que pueden ser utilizadas parar monitorear la actividad de ordenación. Utilizando estas dos estadísticas se puede ver cómo se calcula el indicador de ordenaciones en memoria, en el ensayo de la Figura. De esta manera, según el ejemplo de la figura, un 99,23% de las ordenaciones que ocurrieron desde que se inició la instancia, se realizaron en memoria y no en disco. La recomendación de Oracle es que al menos el 95% de las actividades de ordenación ocurran en memoria.

8

9

10 4.1 Mejorando las Operaciones de Ordenación El proceso de Ordenación Los siguientes tipos de consultas SQL son los que pueden causar una ordenación: * ORDER BY *GROUP BY *SELECT DISTINCT *UNION *INTERSECT *MINUS *ANALYZE *CREATE INDEX *Uniones de tablas por columnas que no están indexadas. Oracle permite a cada Proceso de Usuario utilizar una cantidad de memoria definida para cada operación de ordenación. Si una operación de ordenación es menor a este tamaño, el proceso de ordenación se realizará en memoria (Figura ), de lo contrario, la ordenación se dividirá en pedazos llamados corridas de ordenación ó pasadas (Figura ). Cada una de estas pasadas se ordenará en forma individual, utilizando el tablespace temporal de cada usuario para realizar esta operación (que no puede ser realizada en memoria). Una vez que todos los pedazos de la ordenación han sido ordenados, el resultado final es devuelto al usuario.

11 4.1 Mejorando las Operaciones de Ordenación Mejorando las Operaciones de Ordenación Las actividades de ordenación pueden causar excesivas operaciones de Entrada/Salida en disco, a pesar de la memoria, con lo que el DBA debería tratar de ajustar esta actividad para minimizar este impacto negativo. Esta tarea se puede realizar aplicando distintos métodos, como ser: *Evitando sentencias SQL que causen ordenaciones. *Ajustando los parámetros de inicio relacionados con las ordenaciones. *Realizando un uso correcto del tablespace temporal. *Mejorando las lecturas relacionadas con las Entradas/Salidas de las ordenaciones. Evitando Ordenaciones Una forma de mejorar el rendimiento de las ordenaciones es minimizando la cantidad de ordenaciones que realiza el código de la aplicación, como ser sentencias recursivas ó actividades DML. Para esto se puede hacer: Mejora de las sentencias SQL. Si el resultado esperado no es afectado negativamente, utilizar el operador UNION ALL en lugar del operador UNION; de esta manera se evitará la ordenación para eliminar los registros duplicados. De la misma forma, al evitar los operadores INTERSECT, MINUS y DISTINCT se obtendrá el mismo resultado. Uso apropiado de los índices. Indexar las columnas que formarán parte de cláusulas ORDER BY y GROUP BY en las aplicaciones SQL puede minimizar ordenaciones innecesarias. Asegurándose que todas las claves foráneas se encuentran indexadas ayudará a reducir las ordenaciones cuando se realizan uniones de tablas ya que el optimizador utilizará mejor el plan de ejecución. Sobrecarga del uso de índices. Si una tabla a ser indexada ya cuenta con un índice con cierto orden, es probable que elimine la ordenación que normalmente se utiliza durante la creación del nuevo índice. Para evitar esto, debe utilizar la opción NOSORT del comando CREATE INDEX. Demasiados cálculos de estadísticas. Las ordenaciones también ocurren cuando se toman estadísticas de una tabla ó índice. Hay que considerar la opción ESTIMATE en lugar de COMPUTE cuando se toman estadísticas para minimizar el sobre- procesamiento de esta actividad.

12

13 4.1 Mejorando las Operaciones de Ordenación Espacio Temporal Cuando un Proceso de Servidor de un usuario escribe una parte de una ordenación grande a disco, lo hace directamente al tablespace temporal de ese usuario. Este tablespace además de estar definido como el tablespace temporal del usuario, puede crearse con el atributo de ser permanente ó temporal. La tabla de la Figura muestra una comparación entre los tablespaces temporales y permanentes. Es posible consultar la vista del diccionario de datos DBA_TABLESPACES para determinar si un tablespace está definido como permanente ó temporal, como se observa en la Figura. Junto al concepto de Tablespace Temporal está asociado el concepto de Archivo Temporal ó TempFile. Los Archivos Temporales son similares a los Archivos de Datos ó DataFiles excepto que son utilizados exclusivamente para almacenar segmentos de ordenación escritos en disco. La Figura muestra un ensayo de una consulta SQL para crear un tablespace temporal, gestionado localmente, utilizando un archivo temporal. Como se observa en la sentencia, el valor especificado en la opción UNIFORM SIZE debería ser equivalente al valor de SORT_AREA_SIZE + 1 bloque (ó un múltiplo de éste). De esta manera se asegura que los pedazos completos de la división de una ordenación se escriban completos al tablespace temporal. Cabe recordar que definir los Archivos Temporales en múltiples dispositivos puede proporcionar mejoras de performance excelentes. Una vez creado el tablespace temporal, se pueden monitorear los archivos temporales utilizando la vista dinámica de rendimiento V$TEMPFILE y la vista del diccionario de datos DBA_TEMP_FILES. El contenido de estas vistas es similar. Oracle 9i también permite al DBA especificar un tablespace temporal como el tablespace temporal por defecto para todos los usuarios de la base de datos, utilizando el comando ALTER DATABASE: SQL> ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp: De esta manera, se define que el tablespace temporal por defecto del sistema es el tablespace TEMP en lugar del tablespace SYSTEM. Designar un tablespace que no sea el tablespace SYSTEM como el tablespace temporal por defecto tiene ciertas implicaciones para la administración de la base de datos. El tablespace temporal por defecto debe ser siempre un tablespace del tipo temporal, no puede ser un tablespace permanente y no es posible convertir un tablespace temporal a permanente una vez que fue designado como tablespace temporal por defecto. Adicionalmente, no puede eliminarse el tablespace temporal por defecto hasta que otro tablespace temporal haya tomado su lugar. Finalmente, un tablespace temporal por defecto no puede ponerse en estado OFFLINE. Como resultado de este último aspecto, surge la idea de que este tipo de tablespaces no pueden formar parte de un backup en caliente. La realidad indica que tampoco es necesario debido a que este tipo de tablespaces no pueden contener segmentos permanentes.

14 4.1 Mejorando las Operaciones de Ordenación Operaciones de Ordenación Otra técnica para mejorar el acceso a disco relacionado a las operaciones de ordenación, es minimizando la cantidad de ordenaciones hechas en disco, incrementando el valor del parámetro de inicio SORT_AREA_SIZE. Hay que tener especial cuidado al realizar esta operación. Debido a que la cantidad de memoria definida en este parámetro no se asigna a la sesión del usuario hasta que no inicie un proceso de ordenación, la memoria disponible del servidor debe ser la suficiente para poder gestionar este espacio de memoria sobrante. En particular, si el valor de SORT_AREA_SIZE se cambia a un valor mayor y una gran cantidad de usuarios proceden a ordenar simultáneamente las demandas ubicadas en la memoria del servidor, éstas podrían impactar negativamente al rendimiento, hasta que la memoria asignada a esas ordenaciones se liberara a medida que van concluyendo. Por otro lado, disminuir el tamaño de SORT_AREA_RETAINED_SIZE cuando se incrementa SORT_AREA_SIZE, ayudará a minimizar el problema del uso excesivo de memoria para ordenaciones. Cabe destacar que se debe tener un particular cuidado al decidir incrementar SORT_AREA_SIZE si se va a utilizar la característica de consulta paralelizada (Parallel Query). En este tipo de sentencias, una simple consulta puede llegar a requerir un especio de memoria equivalente a SORT_AREA_SIZE x 2 x cantidad de paralelismo definido. La recomendación de Oracle dice que el valor por defecto que suele asignarse a SORT_AREA_SIZE suele ser adecuado para la mayoría de los ambientes OLTP, como así también recomienda que un valor de 1MB es generalmente óptimo para sistemas que utilizan la opción de consultas paralelizables.

15 4.1 Mejorando las Operaciones de Ordenación Administrador de Performance OEM Performance Manager El componente Performance Manager del paquete de diagnósticos de Oracle Enterprise Manager (OEM) incluye varias representaciones gráficas sobre el rendimiento de las ordenaciones. La Figura muestra un ejemplo de la pantalla del Performance Manager que muestra la actividad de ordenación de la memoria. En esta pantalla se puede observar que la mayoría de la actividad de ordenación ocurre en memoria. De todas maneras, se ve que en dos ocasiones el rendimiento ha disminuido al 90% aproximadamente.

16 4.1 Mejorando las Operaciones de Ordenación Monitoreando Tablespaces Temporales Si la base de datos no está utilizando tablespaces temporales para las operaciones de ordenación, cada usuario que realice esta tarea deberá construir y luego eliminar un segmento de ordenación en su tablespace. Esta gestión individual se traduce en un alto costo de acceso a disco. A diferencia de un segmento de ordenación almacenado en un tablespace permanente, los segmentos de ordenación almacenados en los tablespaces temporales no se eliminan cuando concluye la ordenación. De esta forma, estos segmentos quedan disponibles para posibles ordenaciones futuras y permanecerán en el tablespace hasta que se detenga la instancia. Es posible monitorear el tamaño y el uso de estos segmentos de ordenación utilizando las vistas dinámicas de rendimiento V$SORT_SEGMENT y V$SORT_USAGE. V$SORT_SEGMENT se utiliza para monitorear el tamaño y el crecimiento de los segmentos de ordenación que residen en el tablespace temporal. Estos segmentos crecerán dinámicamente en función de la demanda que tengan. La Figura muestra un ensayo de esta vista donde se puede observar que hay 11 usuarios concurrentes utilizando el segmento de ordenación almacenado en el tablespace temporal TEMP. Adicionalmente, la mayor ordenación realizada por un usuario consumió 300 bloques de Oracle. Esta última estadística en particular (MAX_SORT_BLOCKS) puede resultar útil cuando se está tratando de determinar el tamaño óptimo del parámetro SORT_AREA_SIZE y SORT_AREA_RETAINED_SIZE. El resultado sería multiplicando MAX_SORT_BLOCKS * DB_BLOCK_SIZE. Mientras que V$SORT_SEGMENT muestra estadísticas asociadas a las operaciones de ordenación en general, V$SORT_USAGE incluye una columna llamada USER la cual puede ser utilizada para monitorear la actividad de ordenación por usuario, como se muestra en el ensayo de esta vista en la Figura donde se ve que la columna TABLESPACE indica el tablespace temporal donde se están almacenando los segmentos de ordenación. La columna BLOCKS indica el tamaño en bloques de esta actividad. Cabe destacar que la vista V$SORT_USAGE sólo contiene entradas cuando al menos una ordenación se encuentra ejecutándose. Si se consulta esta vista cuando no hay usuarios conectados ó consultando, la consulta no retornará registros.

17 4.1 Mejorando las Operaciones de Ordenación Lectura Adicional: Consultas demandantes Conocer qué usuario está ejecutando la consulta que más recursos demanda para las ordenaciones suele ser una información útil. De todas maneras, suele ser más útil conocer exactamente qué sentencias SQL son las causantes de tan excesivo consumo de recursos. Con esta información el DBA puede identificar aquellas sentencias SQL que podrían reducir su impacto con la creación de un nuevo índice ó volviendo a escribir parte del código de la aplicación que realiza esta consulta. Para conocer esto, podemos armar un script de consulta utilizando las vistas dinámicas de rendimiento V$SESSON, V$SQLTEXT y V$SORT_USAGE, como se ve en la Figura.

18 4.1 Mejorando las Operaciones de Ordenación EI: Área de ordenación Identificar los componentes de memoria intervinientes en el proceso de ordenación para los ambientes compartidos y dedicados.

19 4.1 Mejorando las Operaciones de Ordenación TP: StatsPack Laboratorio TP: StatsPack. Duración Estimada: 35 min.

20 4.1 Mejorando las Operaciones de Ordenación Síntesis En este subcapítulo hemos visto un aspecto del ajuste de la base de datos relacionado con las actividades de ordenación de los usuarios. Principalmente se pudo observar aquellas operaciones que requieren de la utilización del espacio temporal de la base de datos haciendo un repaso de los tablespaces temporales y su gestión, como así también, se nombraron aquellas acciones que utilizan estos tablespaces y de qué forma utilizarlos como tablespace temporal por defecto para la base de datos. Se han mostrado ensayos y ajustes sobre la utilización de las ordenaciones tanto en memoria como en disco, estableciendo las diferencias en cuanto al impacto de rendimiento para cada caso. De la misma manera, se han definido las técnicas necesarias para monitorear esta actividad para poder determinar si se requiere de un proceso de ajuste y en dónde.

21 4.1 Mejorando las Operaciones de Ordenación EInt: Mejorando las Operaciones de Ordenación A continuación le proponemos un ejercicio que pondrá a prueba sus conocimientos acerca de la totalidad de este subcapítulo.

22 4.2 Ajustes del Segmento Deshacer En la figura se presenta una clasificación de los contenidos tratados en esta subunidad, teniendo en cuenta, la relación de los mismos con el Material del Estudiante (kit). Esta clasificación sugiere diferentes momentos de lectura, estudio y revisión, entre los contenidos de este currículo y el Material del Estudiante (Kit). Según esta clasificación los contenidos pueden ser de: * Lectura Previa: Se sugiere la lectura de estos contenidos antes de abordar los subtemas, temas o unidades asociados al Material del Estudiante (Kit). * Lectura Complementaria: Se sugiere la lectura de estos contenidos como complemento a los subtemas, temas o unidades asociados al Material del Estudiante (Kit). * Lectura Adicional: Se sugiere la lectura posterior de estos contenidos, como material adicional a los tratados en el Material del Estudiante (Kit). * Prácticas : Actividades de laboratorios e interactivas incluidas como práctica adicional al Material del Estudiante (Kit).

23 4.2 Ajustes del Segmento Deshacer Objetivos En el siguiente subcapítulo aspiramos a que usted conozca el concepto de Gestión Automática de los datos deshacer. También esperamos que aprenda a crear o mantener tablespaces de deshacer y a utilizar las vistas dinámicas para monitorear los segmentos de deshacer. Por último, nos interesa que usted sea capaz de definir el período de Retención.

24 4.2 Ajustes del Segmento Deshacer Cuestionario de Iniciación Coloque el cursor sobre los botones numerados que aparecen a la izquierda para visualizar las preguntas de iniciación. Si desea, puede desplegar su respuesta.

25 4.2 Ajustes del Segmento Deshacer El Segmento Deshacer Está claro que uno de los objetivos principales de Oracle Server, desde el punto de vista de los datos que almacena, es nunca permitir a un usuario ver los datos que otro usuario ha modificado en una transacción sin confirmar. Para poder llevar esta tarea a cabo y de manera exitosa, Oracle utiliza Segmentos de Rollback para almacenar imágenes de los bloques de datos antes de ser modificados en una operación DML. A pesar de tener los cambios en los buffers de datos (conocidos como Buffers Sucios ó Dirty Buffers), Oracle utiliza estas imágenes antiguas de los segmentos de rollback para mostrar la versión original de los datos cuando otro usuario consulta la misma información. De esta manera, los segmentos de rollback juegan un rol crítico en cada transacción DML de la base de datos. Los segmentos de rollback son representados y almacenados de la misma manera que los archivos de datos en la base de datos, con un funcionamiento circular, con lo que al llenarse cada uno de estos segmentos causa que las transacciones viejas, ya validadas, se vayan sobrescribiendo por nuevas transacciones sin confirmar. Si los segmentos de rollback se llegasen a llenar, Oracle no permitirá realizar ninguna nueva transacción hasta que no se realice una operación COMMIT ó ROLLBACK. Una forma de reducir los problemas de rendimiento relacionados con los segmentos de rollback es tratando de minimizar la cantidad y tamaño de las entradas que son escritas a los segmentos de rollback. Este objetivo se puede cumplir realizando confirmaciones de las transacciones (COMMIT) con una alta tasa de frecuencia. De esta manera las entradas de los segmentos rollback se reducirán. Otra manera de reducir estas entradas es utilizando la opción COMMIT=Y al realizar importaciones en la base de datos con el comando IMPORT ó la opción CONSISTENT=N al exportar con la herramienta EXPORT.

26 4.2 Ajustes del Segmento Deshacer El Tablespace de Deshacer (Undo) Oracle 9i ofrece una nueva característica, llamada Gestión Automática de Deshacer (Automatic Undo Management - AUM), la cual facilita la tarea de administración del DBA para gestionar los cientos de posibles segmentos rollback de deshacer. La Gestión Automática de Deshacer ó Automatic Undo Management (también conocida como Undo Gestionado por el Sistema System Managed Undo SMU) está designada para reducir los problemas de rendimiento de los segmentos de deshacer proveyendo una gestión dinámica del tamaño y cantidad de los segmentos deshacer. Este concepto es similar a la gestión automática de los segmentos de ordenación que se hace en los tablespaces temporales. Con AUM, se definen tablespaces dedicados, llamados Tablespaces de Deshacer ó Undo Tablespaces para almacenar las imágenes de los datos modificados. La cantidad y tamaño de estos segmentos de deshacer es gestionada automáticamente por Oracle en función de la demanda de utilización que tenga.

27 4.2 Ajustes del Segmento Deshacer Uso del Tablespace de Deshacer Configuración de la gestión automática de los segmentos de deshacer. Para poder utilizar la tecnología AMU (Automatic Undo Management) en una base de datos, se deben configurar ciertos parámetros de inicio con valores apropiados para lograr este funcionamiento. Estos parámetros son: UNDO_MANAGEMENT. Utilizado para indicar el modo de gestión de los segmentos de deshacer. Para utilizar los segmentos de rollback independientes, se lo define con el valor MANUAL (valor por defecto). Para trabajar con la gestión automática, se debe definir el valor AUTO. UNDO_TABLESPACE. Especifica el nombre del tablespace de deshacer que AUM utilizará para almacenar los segmentos de deshacer. Si este parámetro es omitido y UNDO_MANAGEMENT se define en AUTO, Oracle determinará como Undo Tablespace al primer tablespace de deshacer que encuentre al inicio de la instancia. Si no hay creado ningún tablespace de undo, Oracle utilizará el tablespace SYSTEM para realizar esta tarea. UNDO_RETENTION. Especifica (en segundos) qué cantidad de tiempo Oracle retendrá la información de deshacer una vez que la transacción ha sido confirmada (COMMIT). El valor por defecto es 900 segundos. Este parámetro se ha diseñado para minimizar el error SPAPSHOT TOO OLD que ocurre cuando una transacción necesita sobre escribir datos de deshacer por cuestiones de consistencia de lectura. Cabe destacar que los datos de deshacer sólo podrán ser retenidos una vez confirmados hasta el tiempo definido en este parámetro, siempre y cuando el tamblespace de deshacer tenga espacio suficiente para el resto de las transacciones activas. De lo contrario, estos datos se sobrescribirán. UNDO_SUPPRESS_ERRORS. Utilizado para suprimir errores que podrían ocurrir cuando se utilizan comandos apropiados para la gestión de segmentos de rollback, (como SET TRANSACTION USE ROLLBACK SEGMENT ) pero la base está operando en forma automática. De esta manera, se puede mantener compatibilidad con aplicaciones viejas y poder migrar esta utilidad de la base de datos para luego ir migrando las viejas aplicaciones con tiempo. Una vez que estos parámetros se han definido, el DBA está en condiciones de crear un tablespace undo para almacenar los segmentos de deshacer y gestionarlos en forma automática.

28 4.2 Ajustes del Segmento Deshacer Creación del Tablespace de Deshacer Una vez que el parámetro UNDO_MANAGEMENT se ha definido con el valor AUTO, se debe crear un tablespace de deshacer para almacenar los segmentos de deshacer. La sintaxis para crear un Tablespace de deshacer se muestra en la Figura. Una vez que se ha creado el Undo Tablespace se debe modificar el parámetro UNDO_TABLESPACE para definir que este tablespace será el tablespace de deshacer por defecto del sistema. Esta modificación se puede hacer con el comando ALTER SYSTEM SET UNDO_TABLESPACE = undo. Cabe destacar que el tablespace de deshacer también puede ser creado al momento de la creación de la base de datos, junto con el comando CREATE DATABASE, como se muestra en la Figura, donde se puede ver que se crea un tablespace de deshacer llamado RBS con un tamaño de 500MB dentro de la base de datos PROD. Si se especifica el parámetro UNDO_MANAGEMENT en AUTO y no se define ningún tablespace de deshacer en la creación de la base de datos, Oracle creará automáticamente un tablespace de deshacer llamado SYS_UNDOTBS, para realizar dicha tarea. El archivo de datos de este tablespace será creado en el directorio $ORACLE_HOME/dbs para un sistema UNIX ó en %ORACLE_HOME%\dbs para Windows.

29 4.2 Ajustes del Segmento Deshacer Gestión del Tablespace de Deshacer Si bien es posible que una base de datos tenga varios tablespaces de deshacer, sólo uno de ellos puede estar activo, a la vez que se configura la opción de AUM (Automatic Undo Management). De todas formas, si el DBA por algún motivo requiere cambiar el tablespace de deshacer de la base de datos, se puede hacer ejecutando el comando ALTER SYSTEM SET UNDO_TABLESPACE = undotbs. De esta manera, se puede determinar que el tablespace de deshacer para la base de datos ahora será el tablespace llamado UNDOTBS. Así, las nuevas transacciones que se produzcan escribirán los bloques consistentes en este tablespace. De todas formas, cualquier transacción que hubiera comenzado antes de hacer este cambio, seguirá almacenando los datos de deshacer en el tablespace anterior hasta que la transacción y el período de tiempo definido en el parámetro UNDO_RETENTION, finalicen. Teniendo en cuenta estas restricciones es posible eliminar un tablespace de deshacer con el comando DROP TABLESPACE, sabiendo que: *El tablespace de deshacer a eliminar NO debe estar como tablespace de deshacer activo. *El tablespace no tiene que contener transacciones sin confirmar. Cualquier transacción que necesite información de deshacer confirmada y almacenada en un tablespace eliminado, recibirá un error diciendo que los datos son necesitados para una lectura consistente.

30

31 4.2 Ajustes del Segmento Deshacer Monitoreo Una vez definidos los parámetros de gestión automática de los segmentos de deshacer y creado el tablespace correspondiente para realizar estas tareas, puede llegar a ser necesario monitorear su funcionamiento para detectar posibles problemas de rendimiento. Para esto, se pueden consultar ciertas vistas dinámicas de rendimiento y vistas del diccionario de datos: DBA_TABLESPACE. La columna CONTENTS de esta vista del diccionario de datos mostrará el valor UNDO para cada tablespace de deshacer creado en esa base de datos, como se ve en la Figura, donde se puede determinar que la base de datos tiene tres tablespaces de deshacer, que son el tablespace de deshacer activo, el tablespace UNDOTBS y dos tablespaces más llamados UNDO y RBS. V$UNDOSTAT. Esta vista dinámica de rendimiento puede ser utilizada para monitorear la utilización de los segmentos gestionados automáticamente del tablespace de deshacer. Esta vista contiene información estadística histórica presentada en forma de histograma. La Figura muestra un detalle de las columnas más importantes de esta vista. 4.2 Ajustes del Segmento Deshacer Lectura Adicional: Consulta Flashback

32 4.2 Ajustes del Segmento Deshacer Lectura Adicional: Consulta Flashback Las consultas Flashback ó Flashback Query son una característica adicional de Oracle, que permite proveer a la capacidad de gestionar automáticamente los segmentos de deshacer, el mecanismo por el cual se pueden ver datos que han existido en el pasado y cambiaron debido a una transacción. De esta manera los usuarios pueden volver en el tiempo a un momento determinado por un Número de Cambio del Sistema ó System Change Number (SCN) y obtener una lectura consistente de ese momento. Para que la utilización de una consulta Flashback sea posible, hay que tener en cuenta que esta característica sólo va a estar disponible si se está trabajando con Automatica Undo Management (AUM) y si además los segmentos de deshacer aún contienen la información de deshacer necesaria para la reconstrucción de los datos. Las consultas Flashback son operaciones de sólo lectura, no pueden deshacer ningún cambio que hubiere ocurrido en el pasado y esté confirmado, de todas maneras, sí puede mostrar los datos como estaban en ese momento del pasado, los cuales pueden llegar a ser utilizados para hacer modificaciones futuras. Este tipo de operaciones pueden resultar útiles en situaciones donde la recuperación de modificaciones accidentales son requeridas, y el error es detectado en el corto plazo (antes que los datos de deshacer confirmados se sobrescriban). También es posible utilizar este tipo de consultas para realizar comparaciones entre datos corrientes y valores que ha tenido en el pasado. La utilidad EXPORT tiene una opción para exportar los datos como timestamp ó como SCN. Esto es muy útil cuando se está testeando una aplicación y se desea restaurar datos a un momento en el tiempo, de esta manera no es necesario importar todo el archivo exportado. A pesar que el DBA puede especificar un timestamp (fecha y hora) para utilizar la consulta Flashback, Oracle debe utilizar siempre el número SCN para reconstruir los datos. Para poder convertir un timestamp en un SCN, Oracle utiliza una tabla interna llamada SMO_SCN_TIME del esquema SYS. El proceso en segundo plano SMON actualiza esta tabla aproximadamente cada cinco minutos para almacenar el timestamp actual y el SCN de ese momento. Por lo tanto, el uso de esta tabla es clave para el funcionamiento de las consultas flashback. El documento que se adjunta tiene un script de demostración que muestra cómo se puede utilizar la consulta flashback para acceder a los datos que han existido en el tiempo. Este script muestra varias opciones de operación, incluyendo las diferencias de su uso entre Oracle 9i Release 1 y Release 2.

33 4.2 Ajustes del Segmento Deshacer EI: Segmentos Deshacer Identificar los componentes en el funcionamiento de los segmentos de deshacer.

34 4.2 Ajustes del Segmento Deshacer TP: Monitoreo Undo TBS Laboratorio TP: Monitoreo Undo TBS. Duración Estimada: 45 min.

35 4.2 Ajustes del Segmento Deshacer Sintesis PRACTICA

36 4.2 Ajustes del Segmento Deshacer EInt: Ajustes del Segmento Deshacer A continuación le proponemos un ejercicio que pondrá a prueba sus conocimientos acerca de la totalidad de este subcapítulo.

37 4.3 Mejorando las Consultas SQL En la figura se presenta una clasificación de los contenidos tratados en esta subunidad, teniendo en cuenta, la relación de los mismos con el Material del Estudiante (kit). Esta clasificación sugiere diferentes momentos de lectura, estudio y revisión, entre los contenidos de este currículo y el Material del Estudiante (Kit). Según esta clasificación los contenidos pueden ser de: * Lectura Previa: Se sugiere la lectura de estos contenidos antes de abordar los subtemas, temas o unidades asociados al Material del Estudiante (Kit). * Lectura Complementaria: Se sugiere la lectura de estos contenidos como complemento a los subtemas, temas o unidades asociados al Material del Estudiante (Kit). * Lectura Adicional: Se sugiere la lectura posterior de estos contenidos, como material adicional a los tratados en el Material del Estudiante (Kit). * Prácticas : Actividades de laboratorios e interactivas incluidas como práctica adicional al Material del Estudiante (Kit).

38 4.3 Mejorando las Consultas SQL Objetivos En el presente subcapítulo nos interesa que conozca herramientas de diagnóstico y sepa administrar y entender los resultados de las mismas. Otro objetivo es que usted pueda determinar qué sentencias SQL podrían causar un impacto negativo de rendimiento. Además, aspiramos a que usted sepa aplicar técnicas de ajuste para sentencias SQL, y a que conozca los Bosquejos Almacenados.

39 4.3 Mejorando las Consultas SQL Cuestionario de Iniciación Coloque el cursor sobre los botones numerados que aparecen a la izquierda para visualizar las preguntas de iniciación. Si desea, puede desplegar su respuesta.

40 4.3 Mejorando las Consultas SQL Modos de Optimización Los problemas con el pobre rendimiento de las aplicaciones se pueden deber frecuentemente a consultas SQL mal estructuradas ó a un diseño de la base de datos ineficiente. A causa de esto, Oracle provee al DBA una serie de herramientas para ayudarle a identificar y solucionar sentencias SQL de aplicaciones con una escritura que posiblemente impacte negativamente en el rendimiento general de la aplicación. Estas herramientas pueden ser muy útiles para los sistemas en desarrollo, donde el código de la aplicación está en etapa de refinamiento. De todas maneras, pueden aún aplicarse en sistemas en producción. Los ajustes de rendimiento de este tipo requieren que el DBA tenga un entendimiento de las opciones de ajuste que tiene disponible, desde la utilización de sugerencias ó HINTS para la escritura de sentencias SQL ó el uso de perfiles ú OUTLINES para las vistas materializadas, como así también las tablas organizadas por índices. Cabe destacar (y es altamente importante) que hay que tener en claro un concepto con respecto al diseño de sentencias SQL: es diferente su escritura en ambientes transaccionales (OLTP - OnLine Transaction Processing) que para ambientes de sistemas de toma de decisiones (DSS Decision Support Systems), ya que las consideraciones de diseño y objetivos son distintos. A pesar de esto último, sin importar el tipo de sistema o qué tipo de problema de rendimiento tenga, lo primero que deberá hacer es medir ó monitorear el rendimiento de las sentencias SQL actuales de la aplicación, antes de identificar las áreas de posible mejora ó ajuste. Existen varias herramientas que permiten al DBA obtener un plan de ejecución para una sentencia SQL. A pesar de esto, cada sentencia SQL tiene varias posibilidades de realizar el plan de ejecución en donde todas terminarán brindando el mismo resultado de registros obtenidos, pero sólo uno de los planes de ejecución será el más óptimo, dependiendo del plan de ejecución que se utilice para esa sentencia. Para ello, la confección del plan de ejecución se basará en función de un optimizador que guiará este proceso hacia la mejor manera posible (en términos de rendimiento) de realizar el plan de ejecución. Esencialmente existen dos modos de optimización en Oracle: basado en reglas ó basado en costos. Estos modos de optimización se diferencian en cómo seleccionan la mejor vía de ejecución para todos los posibles planes de ejecución de la sentencia SQL dada.

41

42 4.3 Mejorando las Consultas SQL Plan de Optimización El Optimizador Basado en Reglas (Rule-Based Optimizer - RBO) utiliza un conjunto de reglas predefinidas para decidir cuál será la mejor forma de ejecutar la sentencia SQL. Estos lineamientos incluyen reglas como: Si la columna referenciada de la tabla en la cláusula WHERE tiene un índice asociado, siempre se deberá utilizar el índice para acceder a estos datos. Una debilidad de este modo es que puede llegar a ser ineficiente utilizar un índice en tablas muy pequeñas (sólo algunos registros), ya que requeriría un acceso adicional a disco para ingresar por el índice cuando el acceso a esta tabla se podría resolver con un solo acceso a disco. Teniendo en cuenta el tamaño de la tabla, la cardinalidad (la variación de los datos en una columna) de la columna también es ignorada por RBO, cuando determina los lineamientos para armar el plan de ejecución. De la misma manera, si una tabla tiene alta cardinalidad, sería también innecesario acceder al índice, ya que posiblemente retorne la mayoría de los campos (volviendo a decidirse inútilmente por el uso del índice). A pesar de estas deficiencias, RBO se continúa manteniendo en Oracle por cuestiones de compatibilidad con versiones anteriores. Oracle recomienda en nuevas versiones (a partir de Oracle 8i) la utilización del optimizador basado en costos para los nuevos desarrollos. A diferencia del optimizador basado en reglas (RBO), el Optimizador Basado en Costos (Cost-Based Optimizer - CBO) considera muchos planes de ejecución y luego selecciona el que menos costo de ejecución tenga. Mientras que en versiones anteriores de Oracle se tenían en cuenta las lecturas lógicas de E/S como determinante del costo de ejecución de una sentencia SQL, a partir de Oracle 9i también se considera la utilización de CPU y ordenaciones, al momento de medir el costo, teniendo un resultado más concreto en la realización de esta tarea. La Figura muestra un ensayo de la ejecución de una sentencia donde se analiza el plan de ejecución basado en costos. Los valores nulos de las columnas IO_COST y CPU_COST en la salida del ejemplo, indican que se ha utilizado un optimizador basado en reglas, para evaluar esa porción del plan de ejecución. Lo mismo ocurre para la columna TEMP_SPACE con la diferencia que se puede deber a lo anterior ó que directamente no se ha requerido la utilización del espacio temporal. La tabla de la Figura muestra una descripción de las columnas resultantes del plan de ejecución del ejemplo anterior.

43 4.3 Mejorando las Consultas SQL Lineamientos para la Optimización Una vez conocida la diferencia entre el Optimizador Basado en Reglas RBO y el Optimizador Basado en Costos CBO, veremos la flexibilidad que brinda Oracle de poder determinar el modo de optimizador que requiera utilizar cada operación pudiendo elegir entre estos dos modos. Antes de comenzar a ver los modos de optimización, hay que tener en cuenta que el comportamiento de CBO varía significativamente de una versión de Oracle a otra. Oracle 9i incluye un nuevo parámetro de inicialización llamado OPTIMIZER_FEATURES_ENABLE, el cual puede ser utilizado para especificar la versión de CBO que se desea utilizar para la instancia. Por ejemplo, se puede definir este parámetro: OPTIMIZER_FEATURES_ENABLE = 8.1.7, determinando que el comportamiento del CBO para Oracle 9i será el de Oracle 8i. De esta manera, el modo de optimizador se puede definir para tres niveles: Nivel de Instancia. El modo de optimización se puede determinar a este nivel definiendo el parámetro OPTIMIZER_MODE en el archivo de parámetros de inicio. Una vez definido, este parámetro determinará el optimizador por defecto utilizado por todas las sesiones conectadas a la instancia. Los valores que puede tomar este parámetro son: * RULE. De esta manera se determina que el optimizador por defecto será el RBO. Cabe recordar que este modo de optimización se mantiene por cuestiones de compatibilidad hacia atrás y no es recomendado para nuevos desarrollos. *CHOOSE. Esta definición hace que la instancia opere tanto en RBO como en CBO. Cuando se especifica este valor al parámetro OPTIMIZER_MODE, y existen estadísticas sobre la tabla que se está consultando, entonces el optimizador armará el plan de ejecución basándose en costos. De lo contrario, se utilizarán las reglas del RBO. CHOOSE es la opción por defecto en el archivo de parámetros de inicio de Oracle. Cabe destacar que algunas de las características de Oracle requieren la utilización de CBO. Por ejemplo, por más que se haya definido el optimizador para que trabaje por Reglas, el CBO se utilizará de todas maneras cuando se utilicen las siguientes características: *Tablas ó Índices particionados *Tablas organizadas por índices *Índices reversos *Índices basados en funciones *Índices Bitmap *Vistas materializadas La mayoría de estas características, que todavía no se han visto, serán discutidas en este curso. *FIRST_ROWS. Esta opción define al optimizador para que trabaje con la modalidad CBO sin importar la presencia ó no de estadísticas de la tabla que se analiza. En este modo, si existen estadísticas para la tabla, la instancia entonces utilizará una variación de CBO para traer el primer registro obtenido lo más rápido posible. Este modo está diseñado para mejorar el rendimiento general del tiempo de respuesta de las consultas. *FIRST_ROWS_n. Al igual que el modo FIRST_ROW, este modo también está diseñado para mejorar el rendimiento de las consultas, con la diferencia que se puede especificar un valor de 1, 10, 100 ó 1000 para obtener los primeros n registros obtenidos de la consulta. * ALL_ROWS. Este modo, al igual que la opción CHOOSE, también define al optimizador para que trabaje tanto con RBO como con CBO, basándose en la presencia ó no de estadísticas para la tabla, con la diferencia que si existen estadísticas, entonces utilizará una variación de CBO para obtener la totalidad de los registros lo más rápido posible. Este es el modo por defecto de CBO. Una vez que se ha definido el parámetro de optimización, al iniciar la instancia se lo utilizará para todas las conexiones que reciba. De esta manera es que decimos que el optimizador está definido a Nivel de Instancia. De todas maneras, es posible para el usuario, cambiar el modo de optimización ya sea para toda su sesión ó sólo para una consulta en particular Nivel de Sesión. Para cambiar la forma en que el optimizador armará el plan de ejecución, el usuario puede ejecutar: ALTER SESSION SET optimizer_mode={rule CHOOSE FIRST_ROWS FIRST_ROWS_n ALL_ROWS} Esta definición se mantendrá activa en la sesión del usuario hasta que el usuario vuelva a cambiar el modo con el comando anterior ó cierre la conexión. Nivel de Sentencia. El optimizador puede ser influenciado a nivel de sentencia utilizando las sugerencias ó HINTS. Estas sugerencias son instrucciones específicas que hacen que el optimizador trabaje de una forma particular. La Figura muestra un ejemplo que utiliza una sugerencia (HINT) para marcarle al optimizdor que utilice RBO sin importar lo que tenga definido a nivel de instancia ó de sesión. En este ejemplo se puede ver que la sugerencia está incluida en la propia sentencia SQL encerrándola con los caracteres /*+ hint */ inmediatamente después de la palabra clave SELECT.

44 4.3 Mejorando las Consultas SQL Herramientas de Diagnóstico El ajuste efectivo de la base de datos requiere que el DBA realice mediciones frecuentes de ciertas actividades de SQL específicas que ocurren en el transcurso normal de la aplicación. Una vez que se han tomado las mediciones, el DBA puede intentar mejorar el rendimiento valiéndose de una serie de técnicas, como las que se expondrán a lo largo de este capítulo: TKPROF. Esta utilidad (Trace Kernel Profile) es utilizada para formatear el archivo de rastreo del usuario que se ha ido generando al utilizar alguna de las técnicas de rastreo de sesión discutidas en lecciones anteriores. Estos archivos de rastreo de usuario contienen todas las sentencias SQL que el usuario ha ejecutado mientras que el rastreo estuvo activo, como así también información sobre cuánto tiempo le tomó ejecutarse a cada sentencia y la cantidad de recursos utilizados. Como el contenido de este tipo de archivos es de lectura dificultosa y sin formato entendible a simple vista, la utilidad TKPROF se encargará de convertir el archivo de rastreo de usuario a un formato entendible para el DBA. TOP SQL. EXPLAIN PLAN. Es una herramienta que se ejecuta para cada sentencia SQL enviada al motor. De esta manera, se puede conocer al detalle de qué manera se procesará esta sentencia. AUTOTRACE. Es una función de SQL*PLUS. Autotrace genera un plan de ejecución para cada sentencia SQL y brinda estadísticas sobre su procesamiento. STATSPACK. Esta utilidad recopila información relacionada con la base de datos y las sentencias SQL.

45

46

47 4.3 Mejorando las Consultas SQL STATSPACK Adicionalmente a las utilidades TKPROF, EXPLAIN PLAN y AUTOTRACE, la salida del reporte STATSPACK también mostrará información útil para el ajuste de sentencias SQL. Esta información se la puede encontrar en cuatro secciones de la salida de esta herramienta: SQL ordered by Gets. La primer sección de la salida de STATSPACK relacionada con el ajuste de sentencias SQL se puede ver en la Figura. Teniendo en cuenta las sentencias SQL ejecutadas, Oracle verifica si existe una versión de esa sentencia parseada en memoria (Caché de biblioteca de la SGA). Si tiene éxito en esta búsqueda, se generará una estadística llamada GET. Esta sección muestra las sentencias SQL que tienen la mayor cantidad de GETS en el período transcurrido de los dos snapshotos de STATSPACK. (Cabe destacar que una sentencia SQL debería tener al menos GETS para que sea incluida en la salida de STATSPACK). SQL ordered by Reads. La segunda sección de la salida de STATSPACK relacionada con el ajuste de las sentencias SQL se muestra en la Figura. En esta parte, se verán aquellas sentencias SQL que han causado la mayor cantidad de lecturas a disco en el período de evaluación. (Cabe destacar que una sentencia SQL debería tener al menos Lecturas para que sea incluida en la salida de STATSPACK). SQL ordered by Executions. La tercera parte de este reporte se muestra en la Figura. Esta sección muestra las sentencias SQL que frecuentemente se han ejecutado en el período de captura de datos. Sabiendo esta información, se puede decidir qué paquetes PL/SQL y procesos almacenar en memoria. (Cabe destacar que una sentencia SQL debería ejecutarse al menos 100 veces para que sea incluida en la salida de STATSPACK). SQL Executions SQL ordered by Parse Calls. Finalmente, la última sección relacionada al ajuste de las sentencias SQL se muestra en la Figura. Esta sección del reporte visualizará las sentencias SQL que se han parseado más frecuentemente en el período de trabajo de STATSPACK. Conocer esta información puede ayudar a identificar las sentencias que potencialmente se deberían reescribir para mejorar su rendimiento, reutilizando las sentencias del Conjunto Compartido. (Cabe destacar que una sentencia SQL debería tener al menos parseos para que sea incluida en la salida de STATSPACK).

48 4.3 Mejorando las Consultas SQL El Plan de Ejecución La facilidad que brinda Oracle de la Explicación del Plan de Ejecución (Explain Plan) es utilizada para determinar de qué manera una sentencia SQL en particular se está procesando. Con esta información, es posible mejorar el rendimiento de esta sentencia al volver a escribir el código de la sentencia para eliminar el comportamiento inadecuado. El plan de ejecución puede ser generado utilizando la herramienta TKPROF (como se ha mencionado en ítems anteriores) ó directamente con el comando EXPLAIN PLAN FOR. Una vez que se ha identificado una sentencia SQL con un pobre desempeño, el DBA puede utilizar el comando EXPLAIN PLAN FOR para generar el plan de ejecución para esa sentencia. Estos son los pasos para realizar esta tarea: * Crear la tabla PLAN_TABLE utilizando el script utlxplan.sql incluido en la instalación de Oracle Server. Este paso sólo se debe ejecutar la primera vez. * Llenar el contenido de esta tabla con el plan de ejecución de la sentencia, utilizando el comando EXPLAIN PLAN FOR. * Cuando se llena la tabla PLAN_TABLE con este comando, la sentencia no se ejecutará, solamente creará los registros de la tabla. * Consultar la tabla PLAN_TABLE para ver la fase que se necesita ajustar. La sentencia de la Figura muestra un ejemplo de consulta para obtener los valores producidos en la tabla PLAN_TABLE.

49

50

51

52 4.3 Mejorando las Consultas SQL La Utilidad TKPROF La utilidad TKPROF es una utilidad que se ejecuta en forma independiente, directamente desde el prompt del sistema operativo. La Figura muestra las tres posibilidades de generación del archivo de rastreo del usuario, como ser la utilización de un parámetro de inicio para establecer el rastreo a nivel de instancia ó a nivel de sesión ó la utilización de un paquete PL/SQL para su modificación en la sesión. La Figura muestra un ejemplo de formateo simple de TKPROF tomado de un sistema UNIX, donde se tomará el archivo de rastreo de usuario llamado ora_1253.trc y se almacenará la versión formateada en un nuevo archivo llamado trace.txt. De esta manera se puede ver que la utilidad TKPROF recibe dos parámetros, el primero para indicar el archivo de rastreo de usuario y el segundo para indicar en qué archivo almacenará la salida. Igualmente, esta utilidad cuenta con una serie de argumentos adicionales que pueden ser utilizados para el formateo del archivo, dependiendo de la información que se requiera. La tabla de la Figura muestra un listado de estas opciones. Teniendo en cuenta esta serie de opciones, podemos ver el ensayo de esta utilidad en la Figura, donde se pide: * Formatear el archivo de rastreo de usuario llamado ora_1234.trc y almacenar su resultado en un archivo llamado trace.txt * Omitir cualquier sentencia SQL recursiva en el resultado * Incluir en el archivo de resultados el plan de ejecución para cada sentencia ejecutada. * Utilizar la tabla PLAN_TABLE del esquema JOE para almacenar los planes de ejecución generados ORDENACION TKPROF: Si no se especifica ningún parámetro de ordenación, la utilidad TKPROF listará las sentencias SQL en el texto formateado en el orden en que ellas fueron ejecutadas. Para producir una salida ordenada por alguna condición, TKPROF tiene varios parámetros adicionales de ordenación. De esta manera, la salida formateada se almacenará en forma descendente, de acuerdo a la opción definida. Cabe destacar que se pueden especificar múltiples parámetros de ordenación, produciendo la salida ordenada en función de cada una de las opciones definidas. Cada parámetro está relacionado a una de las tres fases del procesamiento de la sentencia SQL: Parseo, Ejecución ú Obtención. PARSEO. Cuando nos referimos al parseo, hablamos del proceso de la obtención de una sentencia SQL lista para ser ejecutada. Este proceso incluye el chequeo sintáctico de la sentencia y la determinación de los privilegios del usuario sobre los objetos referenciados. TKPROF ordenará las opciones relacionadas a la fase de parseo utilizando las opciones de la tabla de la Figura. EJECUCIÓN. El segundo paso en el procesamiento de la sentencia SQL, la ejecución, ocurre cuando la sentencia SQL realiza la acción especificada en la sentencia propiamente dicha. Ejemplos de ejecución pueden ser selecciones, inserts, modificaciones ó creaciones de objetos. La tabla de la Figura muestra las opciones de ordenación de la utilidad TKPROF. OBTENCIÓN. Si la sentencia SQL que se ejecutó utilizó la palabra reservada SELECT, realizará entonces el último paso del procesamiento de la sentencia SQL, que es la obtención de filas para entregarlas al usuario. Las opciones de ordenación de la utilidad TKPROF relacionadas con la obtención se muestran en la tabla de la Figura.

53

54 4.3 Mejorando las Consultas SQL Uso de TKPROF INTERPRETACIÓN DEL ARCHIVO FORMATEADO CON TKPROF Una vez que el archivo de rastreo se ha formateado con la utilidad TKPROF, el contenido del archivo resultante puede ser utilizado como una excelente medición del rendimiento de las sentencias SQL. La Figura muestra un resultado de una salida formateada utilizando la utilidad TKPROF. Cabe destacar que los tiempos mostrados para la CPU y el tiempo transcurrido (CPU y ENLAPSED TIMINGS), mostrados en este ejemplo, solamente serán valores distintos de cero si se define el parámetro de inicio TIMED_STATISTICS en TRUE. Si se examina este ejemplo de salida, se podrían notar los siguientes elementos: * El primer listado es de una sentencia recursiva que se ha ejecutado contra el diccionario de datos para soportar la sentencia SELECT que le sigue. Dado que este nivel de detalle rara vez será útil, es conveniente definir la opción SYS=NO para eliminar este tipo de entradas del archivo de salida. * El segundo listado, la sentencia SELECT, contiene información sobre las fases de parseo, ejecución y obtención. * El tercer listado, una sentencia INSERT, no retorna ninguna fila (de la fase de obtención), con lo que sólo muestra información sobre las dos primeras fases (parseo y ejecución). A modo de aclaración, la tabla de la Figura muestra una descripción de cada una de las columnas mostradas en el archivo de salida de la utilidad TKPROF. Utilizando estas estadísticas, el DBA puede ver que la segunda sentencia fue parseada y ejecutada sólo una vez, y obtuvo dos veces. Este proceso consumió un total de 0,06 segundos del tiempo de CPU y 0,22 segundos de procesamiento.

55 Esta sentencia requirió la lectura de 3 bloques del disco y = 154 bloques de la SGA, devolviendo al usuario 3 filas. La utilidad TKPROF también mostrará estas estadísticas totalizadas al final del listado. Estas estadísticas proveerán totales generales para las sentencias recursivas ó no recursivas. IDENTIFICAR SENTENCIAS QUE REQUIEREN AJUSTE Utilizando la salida de la herramienta TKPROF, es relativamente fácil determinar las sentencias SQL que requieren ajuste. Por lo general, el DBA debería mirar aquellas sentencias que contiene alguna de las siguientes características: *Consumo excesivo de CPU *Toman mucho tiempo para cumplir cualquiera de las fases del procesamiento de la consulta * Leen demasiados bloques de datos del disco y muy pocos de la SGA * Acceden a demasiados bloques de datos y retornan muy pocos Como alternativa de la utilidad TKPROF, el componente TOP SQL del Pack de Diagnóstico de OEM puede ser utilizado para identificar sentencias SQL que muestran los mismos comportamientos mencionados. La Figura muestra un ejemplo de la utilización de esta herramienta. Este ejemplo indica que la sentencia SQL que más recursos ha utilizado durante el período de monitoreo de Top SQL, fue la sentencia UPDATE de la tabla JOB_HISTORY, la cual modifica los valores de la columna START_DATE. Como se puede observar en los valores de las tres primeras columnas, en la salida de Top SQL, este UPDATE ha generado 416 lecturas a disco y Lecturas del Buffer en sólo una ejecución de la sentencia. Una vez que se ha utilizado ya sea la herramienta TKPROF ó Top SQL para identificar las sentencias SQL que cumplen con el criterio de evaluación para un posible ajuste, el DBA puede utilizar la facilidad EXPLAIN PLAN para determinar más concretamente por qué estas sentencias tienen ese bajo desempeño.

56 4.3 Mejorando las Consultas SQL La Utilidad AUTOTRACE La utilidad de Oracle AutoTrace, combina elementos tanto de TKPROF como de EXPLAIN PLAN. A diferencia de TKPROF, AutoTrace no requiere que el DBA tenga que formatear el archivo de rastreo de usuario para obtener información sobre la utilización de los recursos. Esta información es incluida automáticamente en la salida de AutoTrace a medida que se ejecutan los planes de ejecución de las sentencias SQL. En consecuencia, tampoco es requerida la utilización de una consulta adicional para leer los valores de la tabla PLAN_TABLE. Y, finalmente, a diferencia de la utilidad EXPLAIN PLAN, AutoTrace sí ejecuta la sentencia a examinar una vez que generó el plan de ejecución. Para poder utilizar correctamente esta facilidad, es requerida una previa configuración: Primero, cada usuario que necesite utilizar esta utilidad, deberá tener una tabla PLAN_TABLE en su esquema. (A diferencia que el comando EXPLAIN PLAN, AutoTrace eliminará automáticamente los contenidos de su tabla para cada sentencia ejecutada). Segundo, el DBA deberá crear un nuevo rol llamado PLUSTRACE ejecutando un script que viene provisto con la instalación de la base de datos llamado plustrce.sql, logueado con el usuario SYS. Tercero, el DBA debe otorgar este rol a cada usuario que utilice la utilidad AutoTrace. Una vez configurada la utilidad, para hacer uso de ella, el usuario debe iniciar en el SQL*PLUS el AutoTrace: SQL> set autotrace {ON OFF} Adicionalmente, esta sentencia tiene parámetros opcionales para gestionar su utilización. Estos parámetros son detallados en la tabla de la Figura.

57 4.3 Mejorando las Consultas SQL Los Bosquejos Almacenados (Stored Outlines) Dependiendo de la complejidad de la consulta, el tamaño de las tablas y la cantidad de alternativas consideradas por el Optimizador de Oracle, es probable que el CBO determine un Plan de Ejecución que no sea realmente el más óptimo, impactando negativamente en el rendimiento de la consulta. Para poder subsanar esto, Oracle provee una característica adicional que es la de proveer Estabilidad del Plan de Ejecución para evitar estas posibles malas decisiones del optimizador. Los cambios que se hacen a la base de datos pueden afectar en la forma de armar los planes de ejecución. Por ejemplo, se puede llegar a cambiar un parámetro de inicio para mejorar algún aspecto de rendimiento y esto puede causar que el optimizador se comporte de manera diferente a partir de ese cambio, pudiendo afectar al rendimiento de algunas consultas que antes funcionaban bien. De esta manera es que se ve la necesidad de brindar cierta Estabilidad a los planes de ejecución de sentencias SQL que sean críticas. Dar estabilidad al plan de ejecución significa almacenar el plan de ejecución, que se sabe es el óptimo, en el diccionario de datos, para que luego sea utilizado como plan de ejecución cada vez que se ejecute la sentencia. Oracle 9i mantiene estos planes de ejecución en el diccionario de datos en lo que se llama un Contorno ó Bosquejo Almacenado (Stored Outline). El Bosquejo Almacenado representa el plan de ejecución que el optimizador utilizará cuando la sentencia asociada al Bosquejo es ejecutada. Este plan de ejecución almacenado permanecerá constante por más que se colecten nuevas estadísticas para la tabla que se hace referencia en la consulta ó se realizan cambios que pudieren afectar al armado del plan de ejecución. Un Bosquejo Almacenado (Stored Outline) es esencialmente una colección de Sugerencias (HINTS) que reproducirán el plan de ejecución que hubiere utilizado el optimizador cuando originalmente ejecutó la sentencia con óptimos resultados. Hay que tener muy en cuenta que en el proceso de ejecución de la sentencia, al momento de armar el plan de ejecución, se de lugar a un proceso llamado Equivalencia de Planes, donde la sentencia SQL debe ser exacta a la sentencia almacenada en el Bosquejo almacenado para que se pueda utilizar este Bosquejo. Si la sentencia es exacta pero contiene un comentario ó sugerencia (hint), entonces el optimizador no utilizará el Bosquejo Almacenado para armar el plan de ejecución para esa sentencia.

58 Para poder utilizar los Bosquejos Almacenados (Stored Outlines), se debe hacer una configuración previa en la base de datos en el siguiente orden: 1. Determinar aquellas sentencias SQL para las que se debería almacenar su plan de ejecución. Estas suelen ser las sentencias que involucran tablas e índices con datos relativamente estáticos. Aquellas consultas que utilizan tablas ó índices con datos altamente volátiles, obtendrán mejores resultados utilizando el modo normal de CBO. Si se desease almacenar SIEMPRE los planes de ejecución como Bosquejos Almacenados, entonces se debería definir el parámetro de inicio CREATE_STORED_OUTLINES=TRUE. Si se utiliza esta opción, los pasos 2 a 4 no aplican la parametrización. 2. Determinar una categorización para las sentencias que se han identificado, ya que pueden dividirse en dos ó más categorías de sentencia. Ejemplos de categorías pueden ser Consultas que acceden a la tabla EMPLOYEE ó Consultas que buscan datos en la columna ADDRESS de la tabla DISTRIBUTORS. Al momento de la creación del Bosquejo Almacenado, si no se especifica una categoría a la que debería pertenecer la consulta, se almacenará en la categoría DEFAULT. La categoría de Bosquejo Almacenado puede especificarse de las siguientes maneras: 1. A nivel de instancia, utilizando el parámetro USE_STORED_OUTLINES=TRUE. De esta manera los Bosquejos se almacenarán en la categoría DEFAULT. 2. A nivel de sesión, utilizando el comando ALTER SESSION. 3. Modificar el esquema OUTLN (Este esquema almacena todos los Bosquejos Almacenados ó Stored Outlines) de la base de datos con las siguientes consideraciones: * Por cuestiones de seguridad, cambie la password del usuario OUTLN. La clave por defecto es OUTLN. De todas maneras, Oracle le pedirá que cambie esta clave al primer inicio de sesión con este usuario. * Cambiar tanto el Tablespace Temporal como el Tablespace Permanente por defecto de este esquema por otro tablespace que no sea el SYSTEM. * Mover las dos tablas que utiliza el usuario OUTLN para almacenar los Bosquejos Almacenados (OL$ y OL$HINTS) fuera del tablespace SYSTEM y ubicarlos dentro del tablespace designado para este esquema. 4. Para crear los Bosquejos Almacenados para las sentencias que ha identificado que requieren almacenar su plan de ejecución, utilizar el comando que se muestra en la Figura, de esta manera se creará un nuevo Bosquejo Almacenado llamado EMPLOYEE_MGR_LAST_NAME dentro de la categoría EMPLOYEE_QUERIES. Opcionalmente es posible crear Bosquejos para una categoría en particular en la sesión de un usuario solamente, como se muestra en la Figura, donde EMPLOYEE_QUERIES es la categoría donde se almacenará el Bosquejo y el nombre del Bosquejo se asignará automáticamente por la Instancia. 5. Finalmente, activar la funcionalidad de Bosquejos Almacenados utilizando alguno de los siguientes métodos: * Definir el parámetro de inicio USE_STORED_OUTLINES=TRUE y reiniciar la instancia. * Modificar el parámetro de inicio en forma dinámica con el comando ALTER SYSTEM. * Iniciar el almacenamiento de los Bosquejos a nivel de sesión con el comando ALTER SESSION. Cabe destacar que para los tres casos, se activarán todas las categorías. Para activar una categoría en particular, utilizar: ALTER SESSION SET USE_STORED_OUTLINES=employee_queries.

59

60 4.3 Mejorando las Consultas SQL Uso de los Bosquejos Cuando se ejecuta una sentencia SQL, Oracle primero compara la sentencia contra las sentencias que tenga en las categorías habilitadas que ya tiene almacenadas en memoria (el Conjunto Compartido). Si hay coincidencia, la sentencia es ejecutada utilizando esta información. Si no hay coincidencia, Oracle examinará el diccionario de datos para ver si existe un Bosquejo Almacenado para la consulta. Si existe en el DD (Diccionario de Datos), el optimizador utiliza este Bosquejo para armar el plan de ejecución. Si el Bosquejo no existe ni en memoria ni en el DD, el CBO generará dinámicamente un plan de ejecución como lo haría normalmente. Los requerimientos de los Bosquejos Almacenados pueden llegar a requerir cambiar con el paso del tiempo, deben poder modificarse, eliminarse, renombrarse ó cambiarse de categoría. Este tipo de mantenimiento puede realizarse con un paquete PL/SQL provisto por Oracle llamado OUTLN_PKG ó los comandos ALTER OUTLINE y DROP OUTLINE. El paquete OUTLN_PKG contiene tres procedimientos que pueden ser utilizados para administrar los Bosquejos Almacenados. La tabla de la Figura muestra la descripción de estos procesos. La Figura muestra un ensayo de cada uno de estos procedimientos. Los comandos ALTER OUTLINE y DROP OUTLINE pueden ser utilizados también para gestionar los Bosquejos Almacenados. La tabla de la Figura muestra las opciones disponibles para el comando ALTER OUTLINE. La Figura muestra un ensayo de la utilización de este comando con las opciones de la tabla anterior. Si un Bosquejo ya no es más necesario, el DBA puede utilizar el siguiente comando para eliminarlo de la base de datos: SQL> DROP OUTLINE employee_lname; Cabe destacar que si el Bosquejo que se está eliminando es el último de su categoría, la categoría también será eliminada.

61 4.3 Mejorando las Consultas SQL Bosquejos Privados Utilizar las técnicas propuestas en los temas anteriores para modificar ó crear Bosquejos Almacenados, causará que el comportamiento de estos Bosquejos cambie para todos los usuarios de la Instancia. De todas formas, los usuarios pueden ocasionalmente necesitar cambios a Bosquejos que solamente deberían impactar en sus sesiones. Para poder realizar esto, Oracle brinda la posibilidad de crear Bosquejos Almacenados Privados (Private Outlines) que no son más que un Bosquejo que reside en la sesión individual del usuario. De esta manera, cualquier cambio realizado a este Bosquejo, sólo afectará a esa sesión. Para poder utilizar los Bosquejos Privados, se deben crear una serie de tablas en el esquema del usuario para almacenar justamente sus propios Bosquejos. Estas tablas se pueden implementar ejecutando el procedimiento DBMS_OUTLN.CREATE_EDIT_TABLES. Adicionalmente el usuario que se esté habilitando para esta tarea, debe tener privilegios de CREATE ANY OUTLINE. Una vez cumplido este prerrequisito el usuario puede realizar una serie de pasos para crear Bosquejos Privados. A modo de ejemplo, se creará un Bosquejo llamado PRIVATE_OL de un Bosquejo público llamado PUBLIC_OL: 1.Copiar la definición del Bosquejo Almacenado Público en el Bosquejo Privado: SQL> CREATE PRIVATE OUTLINE private_ol FROM public_o 2.Modificar el Bosquejo Privado utilizando alguna de las técnicas mostradas en temas anteriores y luego volver a sincronizar el Bosquejo: SQL> CREATE PRIVATE OUTLINE private_ol FROM private_ol 3.Activar el Bosquejo Privado con el comando: SQL> ALTER SESSION SET USE_PRIVATE_OUTLINES=TRUE 4.Ejecutar la consulta referenciada en el Bosquejo Privado y luego verificar los resultados, utilizando EXPLAIN PLAN ó TKPROF 5.Si el usuario decide que quiere poner el Bosquejo disponible para todos los usuarios (hacerlo público), lo puede hacer ejecutando el comando: SQL> CREATE OR REPLACE OUTLINE public_ol FROM private_ol 6. Desactivar el Bosquejo Privado de la sesión del usuario con el comando: SQL> ALTER SESSION SET USE_PRIVATE_OUTLINES=FALSE

62 4.3 Mejorando las Consultas SQL Lectura Adicional: OLTP vs. DSS En cursos anteriores se han examinado las técnicas de indexación disponibles al DBA para mejorar la ejecución de las consultas SQL. Con los conocimientos expuestos hasta ahora, es momento de considerar las propiedades de cada técnica para considerarlas al momento de su utilización en cada uno de los dos tipos primarios de sistemas de bases de datos, como el basado en transacciones (OnLine Transaction Processing OLTP) y el Soporte de Decisiones (Decision Support Systems DSS) Los sistemas OLTP tienden a ser accedidos por una gran cantidad de usuarios realizando operaciones DML embebidas en transacciones. Estos tipos de sistemas suelen requerir bastantes índices B-Tree y de Clave Reversa (Reverse Key) para obtener mejoras de rendimiento en la consulta, balanceando con las operaciones DML (INSERT UPDATE - DELETE). Los índices Bitmap no suelen ser una buena opción para sistemas OLTP, ya que traen conocidos problemas de bloqueo. Las estadísticas de las tablas e índices deberían colectarse en forma regular, si se utiliza el optimizador CBO, ya que los volúmenes de datos tienden a cambiar frecuentemente, como así también se puede ver la necesidad de reindexar los índices. En cambio, los sistemas para la toma de decisiones (Decision Support System) y los DataWarehouses representan otro espectro de ajuste de rendimiento. Estos tipos de sistemas tienden a tener muy baja actividad DML, excepto cuando los datos son ingresados en forma masiva y con baja frecuencia (fines de semana ú horas nocturnas). Los usuarios de estos tipos de sistemas se conectan con menor frecuencia y cantidad para demandar datos. Los sistemas DSS hacen un fuerte uso de lecturas completas de tablas, con lo que un índice apropiado e implementaciones tipo cluster son necesarios. Las tablas organizadas por índices pueden ser también importantes opciones de ajuste de rendimiento para grandes sistemas DSS, como así también la consideración de la utilización de índices Bitmap en aquellas columnas de baja cardinalidad yd de uso frecuente en consultas. Es por esto que se debe tener en cuenta: tomar una buena decisión acerca de qué modo de optimización utilizar, y recolectar nuevas estadísticas con los ingresos masivos de información ó cuando se purgan estos datos.

63 4.3 Mejorando las Consultas SQL EI: TKPROF Determinar si las siguientes afirmaciones, con respecto a la utilidad TKPROF, son verdaderas:

64 4.3 Mejorando las Consultas SQL TP: Plan de Ejecución Laboratorio TP: El Plan de Ejecución. Duración Estimada: 30 min.

65 4.3 Mejorando las Consultas SQL Síntesis Es altamente importante que el DBA tenga conocimientos de la utilización de las herramientas TKPROF, planes de ejecución AUTOTRACE y del procesamiento de las sentencias SQL. Estas herramientas permiten al DBA comprender no solamente cómo funcionan las consultas SQL, sino que también cómo afectan los costos del uso de los recursos asociado a esas ejecuciones. Un gran determinante para el rendimiento de la base de datos es definir el modo de optimización a utilizar en el proceso de las sentencias SQL. Estas opciones son influenciadas por la presencia ó no, de estadísticas de los objetos consultados. Las estadísticas pueden ser tomadas a nivel de segmento, esquema ó de base de datos. Una variedad de métodos se encuentran disponibles para mejorar el rendimiento de las aplicaciones. Estos métodos incluyen la utilización de los Bosquejos Almacenados (Stored Outlines) y la utilización de índices (B-Tree y Bitmap).

66 4.3 Mejorando las Consultas SQL EInt: Mejorando las Consultas SQL A continuación le proponemos un ejercicio que pondrá a prueba sus conocimientos acerca de la totalidad de este subcapítulo.

67 4.4 Gestionando las Estadísticas En la figura se presenta una clasificación de los contenidos tratados en esta subunidad, teniendo en cuenta, la relación de los mismos con el Material del Estudiante (kit). Esta clasificación sugiere diferentes momentos de lectura, estudio y revisión, entre los contenidos de este currículo y el Material del Estudiante (Kit). Según esta clasificación los contenidos pueden ser de: * Lectura Previa: Se sugiere la lectura de estos contenidos antes de abordar los subtemas, temas o unidades asociados al Material del Estudiante (Kit). * Lectura Complementaria: Se sugiere la lectura de estos contenidos como complemento a los subtemas, temas o unidades asociados al Material del Estudiante (Kit). * Lectura Adicional: Se sugiere la lectura posterior de estos contenidos, como material adicional a los tratados en el Material del Estudiante (Kit). * Prácticas : Actividades de laboratorios e interactivas incluidas como práctica adicional al Material del Estudiante (Kit).

68 4.4 Gestionando las Estadísticas Objetivos En el presente subcapítulo aspiramos a que usted aprenda a recopilar tanto a las estadísticas del sistema, a las estadísticas de objetos de la base de datos, como a estadísticas de histogramas; además, esperamos que aprenda a gestionar a este último tipo de estadística. También nos interesa que al finalizar este capítulo, pueda copiar estadísticas entre bases de datos y que pueda controlar índices para determinar su uso.

69 4.4 Gestionando las Estadísticas Cuestionario de Iniciación Coloque el cursor sobre los botones numerados que aparecen a la izquierda para visualizar las preguntas de iniciación. Si desea, puede desplegar su respuesta.

70 4.4 Gestionando las Estadísticas Estadísticas Para que el Optimizador Basado en Costos CBO funcione de manera óptima, todas las tablas e índices involucrados en una sentencia SQL deberían ser analizados. Oracle provee un paquete PL/SQL llamado DBMS_STATS, el cual puede ser utilizado para analizar cualquier tabla ó índice de un esquema de algún usuario, sin tener que especificar cada segmento por su nombre. El paquete DMBS_STATS ofrece varias opciones de análisis que otorgan la habilidad para: * Resguardar (Backup) estadísticas viejas antes que se tomen las nuevas. Esta característica es muy útil ya que permite al DBA recuperar alguna ó todas las estadísticas originales, si el rendimiento del CBO es pobre luego de actualizar las nuevas estadísticas. *Tomar un ejemplo aleatorio de bloques en lugar de registros al momento de estimar estadísticas. *Colectar estadísticas de tablas mucho más rápido al realizar el análisis en paralelo. *Tomar estadísticas en forma automática en tablas con datos muy volátiles y omitir la recolección de estadísticas en tablas con datos más estáticos. La tabla de la Figura muestra los procedimientos con que cuenta este paquete PL/SQL.

71 4.4 Gestionando las Estadísticas Obteniendo Estadísticas El procedimiento GATHER_SCHEMA_STATS es particularmente útil para el mantenimiento de las estadísticas más importantes que utiliza CBO. Usando la opción GATHER, el DBA puede especificar uno de los tres comportamientos de obtención de estadísticas: Opción GATHER STALE. Con esta definición, se obtendrán estadísticas para cualquier tabla en el esquema, definidas para ser monitoreadas con el comando ALTER TABLE tabla MONITORING. Opción GATHER EMPTY. Se obtendrán estadísticas para todos aquellos objetos que no las hayan obtenido previamente. Opción GATHER AUTO. Esta opción es basada en la actividad de la aplicación de usuario. Oracle determinará automáticamente, qué tablas necesitan ser analizadas y colectará estadísticas sólo para esas tablas. Si es necesario realizar un histograma, Oracle 9i introduce un nuevo parámetro llamado AUTO_SAMPLE_SIZE que simplifica la gestión de estadísticas en histogramas. Esta opción determinará automáticamente los porcentajes de muestreo para cada segmento del esquema. La Figura muestra un ejemplo de la utilización de este paquete, que causará que Oracle obtenga estadísticas en cada tabla, columna e índice del esquema JOE, utilizando tamaños de muestreos determinados por Oracle.

72 4.4 Gestionando las Estadísticas Obteniendo Series Dinámicas Cuando una tabla es analizada, Oracle almacena los valores de datos mínimos y máximos de cada columna, como parte de las estadísticas de la tabla. El optimizador de Oracle asume que los datos entre estos dos valores se encuentran distribuidos normalmente (distribuidos en forma pareja). Si esta suposición no es correcta, el optimizador podría tomar decisiones pobres sobre cómo ejecutar las sentencias SQL que involucran a esa columna. Las estadísticas basadas en histogramas pueden ser utilizadas para mejorar el rendimiento de las sentencias SQL que consultan columnas que tienen una distribución de sus datos de una forma que no es la normal. En una ocasión un DBA experimentó justamente una consulta que operaba con una gran tabla en donde los índices de las columnas no tenían los datos distribuidos normalmente; entonces, esta consulta tomaba unas 17 horas para el parseo, la ejecución y la obtención de los registros. Una vez que el DBA se dio cuenta que la distribución de los datos no era normal, sino que tenía picos de máximos y mínimos en el rango de valores, analizó la tabla con la siguiente opción: SQL> ANALIZE TABLE tbl COMPUTE STATISTICS FOR COLUMNS col22 SIZE 100; Este comando creó un histograma que dividió los datos de la columna col22 de la tabla TBL, en 100 partes iguales. De esta manera, el histograma determinó el valor máximo y mínimo para cada una de las partes, almacenando los resultados junto con las estadísticas de la tabla. Estas estadísticas le dieron al optimizador una visión mucho más concreta de la distribución de los datos. Como resultado, la misma consulta que tardaba 17 horas en ejecutarse, ahora corre en sólo 3 minutos, sin tener que realizar ningún cambio. Esto demuestra claramente la importancia de la utilización de los histogramas cuando los datos de una columna son accedidos en una forma no normal. Los datos de los histogramas pueden ser accedidos consultando la vista del diccionario de datos DBA_HISTOGRAMS.

73 4.4 Gestionando las Estadísticas Administrando las Estadísticas Una manera de hacer que el optimizador (CBO) tome las decisiones correctas al momento de elaborar un plan de ejecución, es tener en cuenta la importancia del costo general de CPU y acceso a disco, utilizando patrones en el servidor donde esté instalada la base de datos Oracle. Por ejemplo, si las estadísticas del sistema indican que el acceso a disco lo resuelve mejor que el acceso a recursos de CPU, entonces el optimizador debería seleccionar un plan de ejecución menos intensivo para la CPU. El ejemplo que se ve en la Figura muestra cómo utilizar el procedimiento SYSTEM_STATS para obtener estadísticas del sistema. Con estos comandos se creará una tabla (SYSTEM_STATISTICS) para almacenar las estadísticas del sistema, esta tabla se llenará con las estadísticas que se vayan tomando con una frecuencia de tres horas (180 minutos), asignándoles un identificador llamado 05-MAR-05. En forma alternativa, el DBA puede determinar manualmente el momento de la recolección de estadísticas del sistema con el comando que se muestra en la Figura. Si no hay creada ninguna tabla para ser definida en el parámetro STATTAB, entonces las estadísticas obtenidas se almacenarán en el diccionario de datos. Los usuarios que almacenan estadísticas en el diccionario de datos deben tener privilegios de SYSDBA.

74

75 4.4 Gestionando las Estadísticas Modelos de Optimización Una vez que las estadísticas se han tomado utilizando alguna de las técnicas predefinidas, el DBA puede examinar esta información consultando alguna de las vistas del diccionario de datos que proporciona Oracle. Las estadísticas para las tablas analizadas pueden encontrarse en la vista del diccionario de datos DBA_TABLES. La Figura muestra una consulta que demuestra la diferencia entre las estadísticas recolectadas en DBA_TABLES antes y después de haber ejecutado el procedimiento DBMS_STATS.GATHER_SCHEMA_STATS, utilizado para analizar el esquema HR. La tabla de la Figura muestra un detalle de los campos que se ven en esta vista. Las estadísticas de los índices se encuentran en la vista del diccionario de datos DBA_INDEXES. El ejemplo de la Figura muestra su utilización, consultando el estado del índice EMP_DEPARTMENT_IX. El correspondiente detalle de los campos de esta vista se ven en la tabla de la Figura. El valor del campo CLUSTERING_FACTOR es utilizado por el CBO para estimar cuántas lecturas a disco deberá hacer para traer todos los registros a través del índice. Si se necesita tener un mayor detalle del contenido estadístico para las tablas ó índices, se puede consultar la vista del diccionario de datos DBA_TAB_COL_STATISTICS. Esta vista tiene una nueva columna llamada OWNER para distinguir entre tablas de mismo nombre y distinto esquema. Cabe destacar que una tabla no tendrá estadísticas hasta que no sea analizada.

76 4.4 Gestionando las Estadísticas Estadísticas entre Bases de Datos Una de las desventajas comunes que suelen darse en los ambientes de desarrollo es que al momento de realizar ciertas pruebas de rendimiento de consultas SQL, la información con la que suelen contar en la base de datos de prueba no refleja el volumen de datos que se utiliza en el ambiente productivo. Esto puede llegar a producir un bajo rendimiento cuando la aplicación que aparentemente funcionaba bien en desarrollo experimenta retrasos cuando se le hace el pasaje a producción. Para minimizar este problema, Oracle 9i permite al DBA copiar las estadísticas de optimización desde los sistemas de producción a pequeños ambientes de desarrollo. Con esto, a pesar de los bajos volúmenes de datos de estos sistemas, el comportamiento del optimizador será el mismo que para la cantidad de datos del ambiente productivo. Esta técnica es extremadamente útil para los desarrolladores, ya que pueden experimentar efectivamente la calidad de los planes de ejecución que realmente se utilizarán en los ambientes de producción antes de ser migrados. Esta tarea se lleva a cabo utilizando varios procedimientos del paquete DBMS_STATS. Con ellos, además de poder realizar la recolección de estadísticas, también se puede hacer esta copia entre bases de datos. El Procedimiento en cuestión es el DBMS_STATS.EXPORT_SCHEMA_STATS, recibiendo como argumentos el esquema donde se almacena la tabla que recolecta las estadísticas y la tabla propiamente donde se almacenan estas estadísticas, como se ensaya en la Figura. En el ejemplo se ha decidido almacenar las estadísticas en la tabla EJEMP del esquema SYSTEM, para luego copiarlo a otro esquema de la base de desarrollo. Para finalizar el traspaso entre bases de datos, se puede ejecutar una tarea de exportación e importación como se vio en el curso anterior (DBA3 Fundamentals II). De todas maneras, el procedimiento completo es trabajado en la Actividad Práctica de este capítulo.

77

78 4.4 Gestionando las Estadísticas Lectura Adicional: Recolectando Estadísticas Cuando se está trabajando en un sistema viejo, el cambiar de RBO a CBO se debería considerar, después de una cuidadosa prueba de verificación, ya que algunas aplicaciones viejas probablemente estén codificadas para utilizar las características de RBO al máximo, y si son convertidas a CBO impactarían directamente en sus rendimientos. Por ejemplo, las versiones anteriores al Servidor de Aplicaciones Oracle 11i utilizaban RBO y por lo general el cambiar estas aplicaciones a CBO suelen causar problemas inesperados de rendimiento. El comando mostrado en la Figura muestra cómo analizar una tabla individual y un índice para obtener las estadísticas, donde el primer comando obtiene estadísticas para un índice llamado EMPLOYEE_LAST_IDX y el segundo las obtiene de la tabla EMPLOYEE (examinando cada registro en ella). Este último comando también analizará todos los índices asociados a esta tabla. Si la tabla EMPLOYEE es muy grande, la aplicación de este método consumiría muchos recursos del servidor, con lo que se podría contar con una variante de este comando, mostrado en la Figura. De esta manera, al utilizar la opción ESTIMATE en lugar de COMPUTE, se logra que Oracle estime las estadísticas de la tabla ó índice, utilizando un muestreo de estos datos. El tamaño de muestreo por defecto es 1064 registros. Para la mayoría de los casos, el parámetro ESTIMATE provee estadísticas que se suelen acercar a las obtenidas con la opción COMPUTE. De todas maneras, es posible definir el tamaño del muestreo utilizando la opción SAMPLE, como se ve en la Figura donde estos tamaños se definen en términos de cantidades de registro ó de porcentaje de estos datos. Cabe destacar que si el muestreo definido por cualquiera de estos dos métodos supera el 50% del total de los datos, Oracle utilizará COMPUTE en lugar de ESTIMATE. Finalmente, si se decide realizar un análisis mucho más específico de los datos en una tabla ó índice, es posible incluir la cláusula FOR en el comando ANALYZE, como se ve en la Figura. Con este comando se limitaría el análisis de la tabla, solamente al campo SALARY, en lugar de examinar todas las columnas. El parámetro SIZE especifica en cuántos pedazos dividir los valores de la columna, antes de examinar la cardinalidad de los datos en cada parte. Cuanto más pequeños sean estos pedazos, CBO tendrá una mejora apreciación de la distribución de estos datos. El valor por defecto de este parámetro es 75 y los valores permitidos varían de 1 a 254. Si no se cuenta con esta información, CBO asumirá que los datos se encuentran distribuidos normalmente cuando en realidad no lo están. El comando ANALYZE también tiene la opción DELETE para eliminar las estadísticas colectadas para los objetos, como se ve en la Figura.

79 4.4 Gestionando las Estadísticas EI: Gestionando las Estadísticas Completar las sentencias para que el script se ejecute correctamente, teniendo en cuenta que se desea crear una tabla para almacenar las estadísticas llamada ESTADISTICAS y se espera que se almacene en el tablespace TOOLS con el usuario SYSTEM y luego se colecten las estadísticas, cada 1 minuto, en esta tabla. Etiquetar las estadísticas con el nombre Mis Estadísticas.

80 4.4 Gestionando las Estadísticas TP: Migración entre Bases de Datos Laboratorio TP: Migración entre Bases de Datos. Duración Estimada: 30 min.

81 4.4 Gestionando las Estadísticas Síntesis Un determinante del rendimiento de la base de datos es la decisión que toma el optimizador para realizar el plan de ejecución. Estas opciones son influenciadas tanto por el tipo de optimizador que se use como por la presencia ó ausencia de estadísticas. Estas estadísticas pueden ser tomadas a nivel de segmento, esquema ó base de datos. También es posible copiar las estadísticas de un sistema de base de datos que está en producción a un sistema que se encuentra en etapa de desarrollo para contar con datos reales en cuanto a estadísticas de almacenamiento. De esta manera, el DBA cuenta con varias técnicas para recolectar estadísticas, como ser el comando ANALYZE para hacer recolecciones individuales de tablas ó índices hasta llegar a un grado más especifico utilizando la opción FOR y poder analizar sólo un campo de la tabla ó la opción ESTIMATE para no utilizar la totalidad de los registros y basarse en un muestreo determinado. Si la recolección de estadísticas es más genérica, se puede contar con el paquete DBMS_STATS que brinda varios procedimientos para realizar la toma de estadísticas para todo un esquema, por ejemplo, ó también se puede utilizar este paquete para realizar la copia de las tablas que almacenan estadísticas entre bases de datos.

82 4.4 Gestionando las Estadísticas EInt: Gestionando las Estadísticas A continuación le proponemos un ejercicio que pondrá a prueba sus conocimientos acerca de la totalidad de este subcapítulo.

6.0 Funcionalidades Adicionales

6.0 Funcionalidades Adicionales 6.0 Funcionalidades Adicionales Oracle Server provee dos maneras de resguardar su base de datos. La primera es el backup físico, el que consiste en la copia y restauración de los archivos necesarios de

Más detalles

3 Dimensionado Avanzado

3 Dimensionado Avanzado 3 Dimensionado Avanzado Hasta ahora hemos visto cómo configurar y ajustar las estructuras de memoria de Buffer Cache y del Conjunto Compartido. Estos dos componentes de la SGA junto al Redo Log Buffer

Más detalles

1 - Diagnóstico general de la base de datos

1 - Diagnóstico general de la base de datos 1 - Diagnóstico general de la base de datos Conocer el rendimiento de las bases de datos Oracle por el lado de su funcionamiento y su manera de resolver los conflictos, nos puede llevar a obtener respuestas

Más detalles

Clase 1: Estructuras, Procesos y Diccionario de Datos

Clase 1: Estructuras, Procesos y Diccionario de Datos Clase 1: Estructuras, Procesos y Diccionario de Datos Estructura de la memoria System Global Area Buffer Cache Redo Log Buffer Share Pool Dictionary Cache Large Pool Process Global Area Private SQL Area

Más detalles

3 Consultas y subconsultas

3 Consultas y subconsultas 3 Consultas y subconsultas En SQL, la sentencia SELECT permite escribir una consulta o requerimiento de acceso a datos almacenados en una base de datos relacional. Dichas consultas SQL van desde una operación

Más detalles

También se ha visto los pasos que se deben seguir para mejorar el rendimiento en cada uno de estos componentes.

También se ha visto los pasos que se deben seguir para mejorar el rendimiento en cada uno de estos componentes. 6. Sistema Operativo y Concurrencia En capítulos anteriores se han examinado las formas de identificar potenciales cuellos de botella de rendimiento, tanto en los componentes lógicos como en los físicos,

Más detalles

ADMINISTRACIÓN DE BASES DE DATOS PREGUNTAS TEST SON SOLUCIÓN

ADMINISTRACIÓN DE BASES DE DATOS PREGUNTAS TEST SON SOLUCIÓN ADMINISTRACIÓN DE BASES DE DATOS PREGUNTAS TEST SON SOLUCIÓN 1. En el SGBD Oracle. Cuál de las siguientes afirmaciones es correcta? a) Los usuarios con el rol de administrador de la base de datos son SYS,

Más detalles

Herramientas para la optimización

Herramientas para la optimización Herramientas para la optimización Creación de la tabla de Planes 1. Se debe ejecutar el siguiente script para la creación de la tabla de los planes (plan_table) @utlxplan.sql Ejemplo del EXPLAIN PLAN SQL>

Más detalles

TEMARIO: Oracle 11g. Ajuste y Rendimiento

TEMARIO: Oracle 11g. Ajuste y Rendimiento Consultoría informática y formación TEMARIO: Oracle 11g. Ajuste y Rendimiento Oracle 11g Ajuste de Rendimiento Lo que aprenderá: Obtenga el máximo beneficio de la base de datos 11g mediante el aprendizaje

Más detalles

Oracle Database 10g: Taller de Administración I 1-2

Oracle Database 10g: Taller de Administración I 1-2 Oracle Database 10g: Taller de Administración I 1-2 Estructuras lógicas y físicas de la BD Bloque dedatosoracle:eselnivellógico másfinodegranularidad,dondesealmacenanlosdatosdelabd. Un bloquededatosse

Más detalles

Herramientas de Administración Para Oracle Database 12c

Herramientas de Administración Para Oracle Database 12c Newsletter Julio 2014 Contenido Herramientas de Administración Para Oracle Database 12c Página: 1 Herramientas de Administración Para Oracle Database 12c 5 Optimización de Procesos Automáticos que Utilizan

Más detalles

Clase 2: Estructuras Lógicas y Físicas(I)

Clase 2: Estructuras Lógicas y Físicas(I) Clase 2: Estructuras Lógicas y Físicas(I) Introducción a Segmentos, Extents y bloques de datos Bloque de datos Inittrans, Maxtrans Extents Segmentos Cláusula Storage Introducción tablespaces, datafiles

Más detalles

PROGRAMA DEL CURSO ORACLE DATABASE 11G ADMINISTRATOR I

PROGRAMA DEL CURSO ORACLE DATABASE 11G ADMINISTRATOR I PROGRAMA DEL CURSO ORACLE DATABASE 11G ADMINISTRATOR I (Teleformación 150 horas) CONTENIDOS TEÓRICOS: EXPLORACIÓN DE LA ARQUITECTURA DE ORACLE DATABASE Visión general de la arquitectura de Oracle database

Más detalles

ORA-134 Oracle Database 11g: Administration Workshop II

ORA-134 Oracle Database 11g: Administration Workshop II ORA-134 Oracle Database 11g: Administration Workshop II Introducción En este curso, se tratan detalladamente los conceptos y la arquitectura que soportan la copia de seguridad y la recuperación, junto

Más detalles

5.0.0. Parametrización Avanzada

5.0.0. Parametrización Avanzada 5.0.0. Parametrización Avanzada Por lo general, cualquier acción ejecutada sobre la base de datos, resultará en alguna actividad de acceso de E/S. Este tipo de acceso puede ser lógico (en memoria) ó físico

Más detalles

Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su:

Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su: CURSO DE ORACLE DESCRIPCIÓN Oracle es un sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en inglés de Relational Data Base Management System), desarrollado por Oracle Corporation.

Más detalles

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas)

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Lo que aprenderá Esta clase es aplicable para los usuarios de Oracle8i, Oracle9i y Oracle Database 10g. En este

Más detalles

5 Objetos de base de datos

5 Objetos de base de datos 5 Objetos de base de datos Una consulta SQL, restringiendo las filas resultantes, agrupando valores a nivel de grupos de datos, realizando conversiones de datos, etc., puede ser almacenada en la base de

Más detalles

Instituto Profesional DuocUC Escuela de Ingeniería Componentes Arquitectura Oracle

Instituto Profesional DuocUC Escuela de Ingeniería Componentes Arquitectura Oracle Componentes Arquitectura Oracle Jaime Amigo P. 2006, Santiago - Chile Objetivos Después de completar esta lección, usted deberá: Comprender la Arquitectura Oracle y sus principales componentes Listar las

Más detalles

RMAN se incluyó como solución completa de backup y recuperación a partir de la release 1 de Oracle 8.0.5.

RMAN se incluyó como solución completa de backup y recuperación a partir de la release 1 de Oracle 8.0.5. 5.1 Oracle Recovery Manager Oracle Recovery Manager (RMAN) brinda muchas características que pueden ser utilizadas para facilitar el proceso de backup y recuperación. Como se vio en el capítulo anterior,

Más detalles

Estructura de una BD Oracle. datafiles redo log controlfiles tablespace objetos Estructura lógica. Tablespaces tablespace SYSTEM

Estructura de una BD Oracle. datafiles redo log controlfiles tablespace objetos Estructura lógica. Tablespaces tablespace SYSTEM Estructura de una BD Oracle. Una BD Oracle tiene una estructura física y una estructura lógica que se mantienen separadamente. La estructura física se corresponde a los ficheros del sistema operativo:

Más detalles

Oracle DBA. Requisitos previos. Duración y modalidad. Próximos Inicios. Alcances de la Capacitación. Costo y formas de pago. Instructor a cargo

Oracle DBA. Requisitos previos. Duración y modalidad. Próximos Inicios. Alcances de la Capacitación. Costo y formas de pago. Instructor a cargo Oracle DBA Requisitos previos Para realizar esta capacitación es necesario que los alumnos posean los siguientes conocimientos: Manejo de inglés, Lecto-Comprensión de textos técnicos. Modelo relacional

Más detalles

Base de Datos Oracle 10g: Taller de Administración I 1-1

Base de Datos Oracle 10g: Taller de Administración I 1-1 Base de Datos Oracle 10g: Taller de Administración I 1-1 Productos Oracle Bases de datos Oracle: La base de datos Oracle es la primera base de datos diseñada para Enterprise Grid Computing (el modo más

Más detalles

LABORATORIO 10. Concurrencia y bloqueos en el SMBD Oracle

LABORATORIO 10. Concurrencia y bloqueos en el SMBD Oracle LABORATORIO 10. Concurrencia y bloqueos en el SMBD Oracle GUÍA DE LABORATORIO Nº 10 Actividad de Proyecto No. 5: Desarrollar mantenimiento preventivo, correctivo o proactivo para garantizar niveles de

Más detalles

ORA-133 Oracle Database 11g: Administration Workshop I

ORA-133 Oracle Database 11g: Administration Workshop I ORA-133 Oracle Database 11g: Administration Workshop I Introducción Este curso está diseñado para ofrecer al alumnado una base sólida en la administración básica de Oracle Database 11g. En esta clase,

Más detalles

PROGRAMAS DE ESTUDIO FORMATO 7 INTRODUCCIÓN A SQL. Área de Formación Profesional

PROGRAMAS DE ESTUDIO FORMATO 7 INTRODUCCIÓN A SQL. Área de Formación Profesional PROGRAMAS DE ESTUDIO FORMATO 7 NOMBRE DE LA ASIGNATURA INTRODUCCIÓN A SQL CICLO, AREA O MODULO Área de Formación Profesional CLAVE DE LA ASIGNATURA IT222 OBJETIVOS GENERALES DE LA ASIGNATURA Al final del

Más detalles

Oracle 12c Administración

Oracle 12c Administración Introducción 1. Objetivos del libro 19 2. Presentación de Oracle Database 12c 20 2.1 Introducción 20 2.2 Principales novedades de la versión 12 22 3. Convenciones de escritura 24 Las bases de la arquitectura

Más detalles

2. Configurando Oracle Net

2. Configurando Oracle Net 2. Configurando Oracle Net Las redes informáticas evolucionaron desde terminales simples, pasando por arquitecturas cliente servidor y sistemas complejos. Las redes modernas se componen de muchas computadoras

Más detalles

LABORATORIO 6. Gestión del Rendimiento en el SMBD Oracle.

LABORATORIO 6. Gestión del Rendimiento en el SMBD Oracle. LABORATORIO 6. Gestión del Rendimiento en el SMBD Oracle. GUÍA DE LABORATORIO Nº 6 Actividad de Proyecto No. 4: ESTABLECER LOS NIVELES DE SERVICIO DE ACUERDO CON ESTANDARES Y REQUERIMIENTOS DE LA ORGANIZACIÓN.

Más detalles

CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES

CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES Tema 6. CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES TRANSACCIONES Una transacción es una unidad lógica de trabajo o procesamiento (ejecución de un programa que incluye operaciones de acceso a la base de

Más detalles

ORACLE TUNING PACK 11G

ORACLE TUNING PACK 11G ORACLE TUNING PACK 11G CARACTERÍSTICAS CLAVE: Asesor de Ajuste SQL Asesor de Ajuste Automático SQL Perfiles SQL Asesor de Acceso SQL Grupos de Ajuste SQL Wizard de reorganización de Objetos BENEFICIOS

Más detalles

4. Recuperación Manual

4. Recuperación Manual 4. Recuperación Manual Un backup físico es una copia de los archivos físicos de la base de datos, que puede ser realizado de dos maneras diferentes. Una es a través de una herramienta llamada Recovery

Más detalles

MÓDULOS DEL CURSO Administración de Base de Datos 11g - Parte I Administración de Base de Datos 11g - Parte II Introducción a Oracle 11g: SQL y PL/SQL

MÓDULOS DEL CURSO Administración de Base de Datos 11g - Parte I Administración de Base de Datos 11g - Parte II Introducción a Oracle 11g: SQL y PL/SQL MÓDULOS DEL CURSO Administración de Base de Datos 11g - Parte I Administración de Base de Datos 11g - Parte II Introducción a Oracle 11g: SQL y PL/SQL ADMINISTRACION I. Herramientas a Utilizar en el Curso

Más detalles

Dirigido a Profesionales y técnicos de informática que se inicien en el manejo de la base de datos Oracle 11g

Dirigido a Profesionales y técnicos de informática que se inicien en el manejo de la base de datos Oracle 11g El temario se divide en tres partes: Parte I. Lenguaje SQL Lenguaje SQL Objetivos Conocer los componentes de las bases de datos relacionales Obtener los conocimientos del lenguaje SQL para el manejo de

Más detalles

ORA-128 11NFA: Base de Datos Oracle11g Release 2: Nuevas Funcionalidades para Administradores de Oracle10g

ORA-128 11NFA: Base de Datos Oracle11g Release 2: Nuevas Funcionalidades para Administradores de Oracle10g ORA-128 11NFA: Base de Datos Oracle11g Release 2: Nuevas Funcionalidades para Administradores de Oracle10g Objetivos Este curso ofrece a los estudiantes la oportunidad de conocer y practicar las nuevas

Más detalles

Componentes de una BD

Componentes de una BD Componentes de una BD Cada BD Oracle en ejecución está asociada a una instancia Oracle. Cuando se arranca el servidor, el software de Oracle reserva una zona de memoria compartida denominada System Global

Más detalles

LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN ORACLE

LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN ORACLE LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN ORACLE GUÍA DE LABORATORIO Nº 1O Actividad de Proyecto No. 12: ESTABLECER PLANES DE RESGUARDO, RESTAURACION Y CONTINGENCIA. Estructura de contenidos.

Más detalles

LABORATORIO 10. COPIAS DE SEGURIDAD, RESTAURACIÓN Y RECUPERACIÓN DE UNA BD

LABORATORIO 10. COPIAS DE SEGURIDAD, RESTAURACIÓN Y RECUPERACIÓN DE UNA BD LABORATORIO 10. COPIAS DE SEGURIDAD, RESTAURACIÓN Y RECUPERACIÓN DE UNA BD GUÍA DE LABORATORIO Nº 1O Actividad de Proyecto No. 12: ESTABLECER PLANES DE RESGUARDO, RESTAURACION Y CONTINGENCIA. Copias de

Más detalles

PROYECTO ADMINISTRACIÓN ORACLE ENTERPRISE MANAGER

PROYECTO ADMINISTRACIÓN ORACLE ENTERPRISE MANAGER PROYECTO ADMINISTRACIÓN ORACLE ENTERPRISE MANAGER Proyecto de administración avanzada Alejandro Romero Abadía 1 Este proyecto consiste en una explicación de las funciones que ofrece la consola web de administración

Más detalles

Guía práctica para el alumnado del curso ORACLE 11 G

Guía práctica para el alumnado del curso ORACLE 11 G Guía práctica para el alumnado del curso ORACLE 11 G Horas 50 Objetivos Objetivos generales Proporcionar los conocimientos básicos para implantar procesos, prácticas y herramientas que permitan innovar

Más detalles

Oracle Database 11g: Taller de Administración

Oracle Database 11g: Taller de Administración Cursos Especialización Versión 1.0 13/02/2013 Tabla de contenido 1 Introducción... 3 2 Objetivos... 3 3 Prerrequisitos... 3 4 Duración y Precio... 4 5 Contenido... 4 2 Cursos Especialización Oracle Database

Más detalles

Es preciso que se conozcan los posibles escenarios de fallos y los tipos de recuperación disponibles para poder tomar la decisión correcta.

Es preciso que se conozcan los posibles escenarios de fallos y los tipos de recuperación disponibles para poder tomar la decisión correcta. 3 Principios sobre Backup y Recuperación de Datos Tanto el backup como la recuperación en Oracle Server puede ser muy simple como muy compleja. Esto va a depender de los requerimientos del negocio en que

Más detalles

MATERIA: BASE DE DATOS II. GUIA DE LABORATORIO #3. Pág.: 1/ 8 Tema:

MATERIA: BASE DE DATOS II. GUIA DE LABORATORIO #3. Pág.: 1/ 8 Tema: GUIA DE LABORATORIO #3. Pág.: 1/ 8 Tema: Contenido: 1. Objetivos. 2. Entorno teórico. a. Restauración de respaldo. b. Espacio de disco duro de un tablespace. c. Rendimiento de la base de datos. 3. Ejecución

Más detalles

ST23_ Performance Management and Tuning

ST23_ Performance Management and Tuning ST23_ Performance Management and Tuning Presentación En este curso aprenderá acerca de los análisis de rendimiento y de las tareas de ajuste que se esperan de un administrador de base de datos: gestión

Más detalles

Universidad Nacional de Costa Rica Administración de Bases de Datos

Universidad Nacional de Costa Rica Administración de Bases de Datos Universidad Nacional de Costa Rica Administración de Bases de Datos Mantenimiento de tablespaces e índices Para más información visite: http://www.slinfo.una.ac.cr Autor: Steven Brenes Chavarria Email:

Más detalles

Backup & Recovery Oracle 9i

Backup & Recovery Oracle 9i Configuración de Copia de Seguridad y Recuperación Cómo ya sabemos, todas las transacciones se registran en los ficheros redo log online. Esto permite la recuperación automática de las transacciones en

Más detalles

Oracle Database 10g: Taller de Administración I 1-2

Oracle Database 10g: Taller de Administración I 1-2 Oracle Database 10g: Taller de Administración I 1-2 Marco de gestión Hay tres componentes principales del marco de gestión de la BD Oracle: Labasededatosylainstanciaqueseestágestionando Un listener que

Más detalles

Administración Básica de Oracle9i

Administración Básica de Oracle9i PRACTICAS TEMA 5. TABLESPACES. 5.1. Consultar los tablespaces que componen la BD. Comprobar los ficheros que tiene cada uno de ellos. Cuáles son 'locales' y cuáles no? 5.2. Crea el tablespace DATACURSOxy,

Más detalles

MS_20461 Querying Microsoft SQL Server

MS_20461 Querying Microsoft SQL Server Gold Learning Gold Business Intelligence Silver Data Plataform www.ked.com.mx Por favor no imprimas este documento si no es necesario. Introducción. Este curso proporciona a los estudiantes las habilidades

Más detalles

1 Descripció'f3n de la Arquitectura Oracle

1 Descripció'f3n de la Arquitectura Oracle 1 Descripció'f3n de la Arquitectura Oracle Para poder conocer el funcionamiento de las bases de datos Oracle, utilizarla y administrarla de la manera má'e1s eficiente, es de suma importancia adquirir el

Más detalles

LABORATORIO 8. Gestión del Rendimiento en el SMBD SQL Server.

LABORATORIO 8. Gestión del Rendimiento en el SMBD SQL Server. LABORATORIO 8. Gestión del Rendimiento en el SMBD SQL Server. GUÍA DE LABORATORIO Nº 8 Actividad de Proyecto No. 5: ESTABLECER LOS NIVELES DE SERVICIO DE ACUERDO CON ESTANDARES Y REQUERIMIENTOS DE LA ORGANIZACIÓN.

Más detalles

PRÁCTICA DE ADMINISTRACIÓN DE BASES DE DATOS

PRÁCTICA DE ADMINISTRACIÓN DE BASES DE DATOS PRÁCTICA DE ADMINISTRACIÓN DE BASES DE DATOS Modulo 1.- CONFIDENCIALIDAD DE LOS DATOS El objetivo de esta parte de la práctica es comprender los distintos mecanismos que se pueden utilizar en ORACLE 10g

Más detalles

DIPLOMADO EN BASE DE DATOS ORACLE

DIPLOMADO EN BASE DE DATOS ORACLE DIPLOMADO EN BASE DE DATOS ORACLE Release 10.2.0.2 MODULO 1 - DISEÑO DE BASES DE DATOS RELACIONALES (20 Horas) OBJETIVO Introducir al alumno a los conceptos necesarios para construir sistemas de información

Más detalles

Oracle Database 11g: Taller de Administración I Versión 2

Oracle Database 11g: Taller de Administración I Versión 2 Oracle University Contact Us: 902 302 302 Oracle Database 11g: Taller de Administración I Versión 2 Duration: 5 Days What you will learn Este curso es el primer paso hacia el éxito como profesional de

Más detalles

Manual del Usuario MÓDULO DEL SERVIDOR SQL 6

Manual del Usuario MÓDULO DEL SERVIDOR SQL 6 Manual del Usuario MÓDULO DEL SERVIDOR SQL 6 Las características y especificaciones del producto descritas en este manual están sujetas a cambio sin previo aviso. Seagate Software, Inc. se reserva el derecho

Más detalles

Francisco Andrés Díaz Rojas (fdiazr@msn com) has a non-transferable license to use this Student Guide

Francisco Andrés Díaz Rojas (fdiazr@msn com) has a non-transferable license to use this Student Guide Exploración de la Arquitectura de Oracle Database Objetivos Objetivos Al finalizar esta lección, debería estar capacitado para: Enumerar los principales componentes de la arquitectura de Oracle Database

Más detalles

MANUAL BÁSICO DE ORACLE

MANUAL BÁSICO DE ORACLE MANUAL BÁSICO DE ORACLE ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2 TABLA DE CONTENIDO INTRODUCCIÓN... 3 1. TIPOS DE DATOS... 4 1.1 TIPOS DE DATOS ALFANUMÉRICOS...

Más detalles

PARÁMETROS DE CONFIGURACIÓN DE SISTEMAS MANEJADORES DE BASE DE DATOS

PARÁMETROS DE CONFIGURACIÓN DE SISTEMAS MANEJADORES DE BASE DE DATOS PARÁMETROS DE CONFIGURACIÓN DE SISTEMAS MANEJADORES DE BASE DE DATOS Introducción 3 GESTIÓN DE MEMORIA 3 Memoria Dinámica 4 Memoria predefinida 5 Áreas especiales de memoria 5 GESTIÓN DE ALMACENAMIENTO

Más detalles

8 SQL SERVER 2008 RA-MA

8 SQL SERVER 2008 RA-MA ÍNDICE Capítulo 1. Características, novedades y entorno de trabajo... 17 1.1 Novedades en SQL Server 2008... 17 1.2 Instalación de Microsoft SQL Server 2008... 19 1.3 Versiones de Microsoft SQL Server

Más detalles

FORMACIÓN PARA LA CERTIFICACIÓN OFICIAL MICROSOFT. MCSA: SQL Server Solutions Associate

FORMACIÓN PARA LA CERTIFICACIÓN OFICIAL MICROSOFT. MCSA: SQL Server Solutions Associate FORMACIÓN PARA LA CERTIFICACIÓN OFICIAL MICROSOFT MCSA: SQL Server Solutions Associate DETALLE DE LA ACCION FORMATIVA Mediante la siguiente acción formativa se formará a las personas asistentes para la

Más detalles

ORACLE (50 HORAS) COSTE:

ORACLE (50 HORAS) COSTE: (50 HORAS) COSTE: Bonificable a través de los créditos de formación de la FTFE. OBJETIVOS DEL CURSO Obtener conocimientos sobre la arquitectura de la base de datos, los componentes que la forman y la manera

Más detalles

ORACLE 11g. 50 horas 60 días

ORACLE 11g. 50 horas 60 días ORACLE 11g DURACIÓN DÍAS DE CONEXIÓN 50 horas 60 días CONTACTO: formacion@fgulem.es El Campus Virtual ha sido concebido con una metodología dinámica e interactiva, basada en el aprendizaje activo y participativo

Más detalles

LABORATORIO 3. CONFIGURACIÓN DE SISTEMAS MANEJADORES DE BASE DE DATOS - POSTGRE SQL

LABORATORIO 3. CONFIGURACIÓN DE SISTEMAS MANEJADORES DE BASE DE DATOS - POSTGRE SQL LABORATORIO 3. CONFIGURACIÓN DE SISTEMAS MANEJADORES DE BASE DE DATOS - POSTGRE SQL GUÍA DE LABORATORIO Nº 3 Actividad de Proyecto No. 2: CONFIGURAR SISTEMAS MANEJADORES DE BASE DE DATOS. CONFIGURACIÓN

Más detalles

Curso de introducción a Oracle Application Express. Disertante: A.S. Ezequiel Portela

Curso de introducción a Oracle Application Express. Disertante: A.S. Ezequiel Portela Curso de introducción a Oracle Disertante: A.S. Contenidos Sobre el Curso... 4 Qué es APEX?... 4 Introducción al Curso... 4 Requisitos... 5 Modalidad... 5 Módulo 1: Fundamentos de Oracle SQL y PLSQL...

Más detalles

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA ÍNDICE CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO...17 1.1 NOVEDADES EN SQL SERVER 2008 R2...17 1.2 INSTALACIÓN DE MICROSOFT SQL SERVER 2008 R2...18 1.3 VERSIONES DE MICROSOFT SQL SERVER

Más detalles

1. Arquitectura y estructura interna de un gestor de bases de datos.

1. Arquitectura y estructura interna de un gestor de bases de datos. 1. Arquitectura y estructura interna de un gestor de bases de datos. Descripción de los procesos de usuario Cuando un usuario ejecuta un programa de aplicación (como un programa Pro * C) o una herramienta

Más detalles

LABORATORIO 3. CONFIGURACIÓN DE SISTEMAS MANEJADORES DE BASE DE DATOS - POSTGRE SQL

LABORATORIO 3. CONFIGURACIÓN DE SISTEMAS MANEJADORES DE BASE DE DATOS - POSTGRE SQL LABORATORIO 3. CONFIGURACIÓN DE SISTEMAS MANEJADORES DE BASE DE DATOS - POSTGRE SQL GUÍA DE LABORATORIO Nº 3 Actividad de Proyecto No. 2: CONFIGURAR SISTEMAS MANEJADORES DE BASE DE DATOS. CONFIGURACIÓN

Más detalles

6 Funciones avanzadas

6 Funciones avanzadas 6 Funciones avanzadas Adicionalmente a soportar el estándar SQL en su totalidad, Oracle9i Server incluye múltiples extensiones que facilitan la ejecución de operaciones complejas y mejoran la performance

Más detalles

Sistemas de Datos. Rendimiento de la Base de datos. Procesamiento de consultas y administración del rendimiento

Sistemas de Datos. Rendimiento de la Base de datos. Procesamiento de consultas y administración del rendimiento Rendimiento de la Base de datos. Procesamiento de consultas y administración del rendimiento Esquema de la clase 1. Procesamiento de consultas 2. El optimizador del DBMS 3. Los Ajustes del Rendimiento

Más detalles

LABORATORIO 8. Optimización de Consultas SQL a través de herramientas del SMBD Oracle

LABORATORIO 8. Optimización de Consultas SQL a través de herramientas del SMBD Oracle LABORATORIO 8. Optimización de Consultas SQL a través de herramientas del SMBD Oracle GUÍA DE LABORATORIO Nº 8 Actividad de Proyecto No. 10: desarrollar mantenimiento preventivo, correctivo o proactivo

Más detalles

Sub consultas avanzadas

Sub consultas avanzadas Sub consultas avanzadas Objetivo Después de completar este capítulo conocerá lo siguiente: Escribir una consulta de múltiples columnas Describir y explicar el comportamiento de las sub consultas cuando

Más detalles

Herramientas de Gestión de Base de Datos Oracle. Lamine Delgado / NOSi Departamento de Base de Dados Lamine.delgado@nosi.cv

Herramientas de Gestión de Base de Datos Oracle. Lamine Delgado / NOSi Departamento de Base de Dados Lamine.delgado@nosi.cv Herramientas de Gestión de Base de Datos Oracle Lamine Delgado / NOSi Departamento de Base de Dados Lamine.delgado@nosi.cv Herramientas de Gestión de Base de Datos Oracle Objetivos de la lección Después

Más detalles

Oracle Database 10g: Taller de Administración I 1-2

Oracle Database 10g: Taller de Administración I 1-2 Oracle Database 10g: Taller de Administración I 1-2 Productos y servicios Oracle SGBD Oracle: Está disponible en tres ediciones: Enterprise, Standard y Personal. Oracle Application Server: Servidor certificado

Más detalles

AcuServer Servidor de Archivos Remoto de Alto Rendimiento

AcuServer Servidor de Archivos Remoto de Alto Rendimiento AcuServer Servidor de Archivos Remoto de Alto Rendimiento RESUMEN EJECUTIVO AcuServer es una tecnología de servidor de datos remoto que ofrece un seguro e inmediato acceso a datos indexados, relativos

Más detalles

ÍNDICE. Introducción... Capítulo 1. Novedades, mejoras y requisitos para la instalación... 1

ÍNDICE. Introducción... Capítulo 1. Novedades, mejoras y requisitos para la instalación... 1 Introducción... XIII Capítulo 1. Novedades, mejoras y requisitos para la instalación... 1 Novedades y mejoras en SQL Server 2008 R2... 1 Novedades... 1 Mejoras... 3 Ediciones y componentes en SQL Server

Más detalles

2. ESTUDIO DE INDICES

2. ESTUDIO DE INDICES Asignatura de Administración de Bases de Datos Curso 2011/2012 Pág. 1 PRÁCTICA DE ADMINISTRACIÓN DE BASES DE DATOS Una compañía de salud gestiona datos relativos a las consultas médicas a pacientes por

Más detalles

abacformacio@abacformacio.com 1

abacformacio@abacformacio.com 1 Cu Oracle 10gg Estudia el servidor de bases de datos Oracle 10g desde el punto de vista de un diseñador y programador de bases de datos, prestando atención a los objetos que puede crear, como tablas, consultas

Más detalles

Realizado por: Maravillas Muñoz Fernando Fernández Ginés Fernández

Realizado por: Maravillas Muñoz Fernando Fernández Ginés Fernández Realizado por: Maravillas Muñoz Fernando Fernández Ginés Fernández 1 ÍNDICE Importación y exportación de datos 1. Introducción Pág. 3 2. Cuándo es útil exportar / importar datos en Oracle?.Pág.3 3. Importación

Más detalles

A.1. Definiciones de datos en SQL

A.1. Definiciones de datos en SQL A.1. Definiciones de datos en SQL Las Sentencias del lenguaje de definición de datos (DDL) que posee SQL operan en base a tablas. Las Principales sentencias DDL son las siguientes: CREATE TABLE DROP TABLE

Más detalles

TEMA 4.4: Recuperación ante fallos

TEMA 4.4: Recuperación ante fallos TEMA 4.4: Recuperación ante fallos a.- Introducción b.- Transacción: concepto y procesamiento c.- Recuperación - Concepto de Recuperación - Estructuras de Recuperación: - Ficheros Redo Log - Ficheros de

Más detalles

Instituto Profesional DuocUC Escuela de Ingeniería Redo Log File

Instituto Profesional DuocUC Escuela de Ingeniería Redo Log File Redo Log File Jaime Amigo P. 2006, Santiago - Chile Objetivos Después de completar esta lección, usted deberá saber lo siguiente: Explicar el propósito de los archivos de redo log Conocer la estructura

Más detalles

Lenguaje de manipulación de datos

Lenguaje de manipulación de datos Lenguaje de manipulación de datos El lenguaje de manipulación de datos (DML) es una parte central de SQL. Cuando necesite agregar, actualizar o eliminar un dato en la base de datos, se ejecuta una sentencia

Más detalles

SQL Los fundamentos del lenguaje

SQL Los fundamentos del lenguaje Introducción 1. Un poco de historia 11 2. Las normas SQL 12 3. Descripción rápida del modelo relacional 14 3.1 Principales conceptos del modelo relacional 15 3.2 Principales reglas 16 4. Los operadores

Más detalles

CURSO DE SQL SERVER 2005

CURSO DE SQL SERVER 2005 CURSO DE SQL SERVER 2005 Una vez finalizado el curso, el alumno estará preparado para: Instalar y configurar SQL Server 2005. Comprender los conceptos más importantes del diseño de bases de datos. Crear

Más detalles

Parte III: Administración de Bases de Datos en ORACLE

Parte III: Administración de Bases de Datos en ORACLE Parte III: Administración de Bases de Datos en ORACLE Bases de Datos Avanzadas 1 Índice 1. Introducción 2. 3. Creación de una Base de Datos 4. Arranque y Parada de una Base de Datos 5. Gestión de Espacios

Más detalles

Movimiento ONLINE de Archivos de Datos en Oracle 12c

Movimiento ONLINE de Archivos de Datos en Oracle 12c Newsletter Noviembre 2013 Contenido Movimiento ONLINE de Archivos de Datos en Oracle 12c Página: 1 Movimiento ONLINE de Archivos de Datos en Oracle Por Ing. Manuel Carrillo mcarrillo@datum.com.gt 12c En

Más detalles

Backup & Recovery Oracle 9i. Las copias físicas offline, conocidas como Backups en frío, se realizan cuando la Base de Datos está parada.

Backup & Recovery Oracle 9i. Las copias físicas offline, conocidas como Backups en frío, se realizan cuando la Base de Datos está parada. Copias de Seguridad Físicas OFFLINE Las copias físicas offline, conocidas como Backups en frío, se realizan cuando la Base de Datos está parada. Como ya se ha comentado anteriormente, una copia en frío

Más detalles

Decimocuartas Jornadas en Estadística e Informática. Ricardo Vergara Argudo email: ricardo.vergara@sasf.net

Decimocuartas Jornadas en Estadística e Informática. Ricardo Vergara Argudo email: ricardo.vergara@sasf.net Decimocuartas Jornadas en Estadística e Informática Ricardo Vergara Argudo email: ricardo.vergara@sasf.net GUIA DE AYUDA http://www.oracle.com/ec/ http://www.oracle.com/cluboracle/ http://otn.oracle.com/

Más detalles

Tema 33. El lenguaje SQL

Tema 33. El lenguaje SQL Tema 33. El lenguaje SQL Introducción... 1 Modos de uso... 2 Ejecución de las sentencias SQL... 2 Instrucciones DDL Data Definition Language-... 3 Instrucciones DML Data Manipulation Language-... 4 Instrucciones

Más detalles

Cómo abrir las bases de datos de Aspel-NOI 5.0?

Cómo abrir las bases de datos de Aspel-NOI 5.0? Cómo abrir las bases de datos de Aspel-NOI 5.0? 1. Herramientas de administración nativas de Firebird. Firebird cuenta con una herramienta llamada ISQL la cual es una consola de línea de comandos desde

Más detalles

Curso Certificado en Administración I Oracle 11g (OCA 11g)

Curso Certificado en Administración I Oracle 11g (OCA 11g) Curso Certificado en Administración I Oracle 11g (OCA 11g) IMPORTANTE: ESTE CURSO CERTIFICADO EN ADMINISTRACION ORACLE 11g LE PERMITE PREPARARSE LOS EXAMENES 1Z0-051 (INTRODUCCION TO ORACLE 11G: SQL) Y

Más detalles

Manual de Usuario. Manual de Instalación Compucaja.Net y SQL Server 2012

Manual de Usuario. Manual de Instalación Compucaja.Net y SQL Server 2012 Manual de Usuario Manual de Instalación Compucaja.Net y SQL Server 2012 Hoja de Contenido Requerimientos mínimos 4 Instalación de COMPUCAJA.net 5 Instalación Microsoft SQL Server 2012 Express 11 Herramientas

Más detalles

Objetos de la Base de Datos

Objetos de la Base de Datos Objetos de la Base de Datos Todos los datos de una base de datos de Microsoft SQL Server 2005/8 están contenidos en objetos llamados tablas. Cada tabla representa algún tipo de objeto con significado para

Más detalles

III. ADMINISTRACIÓN DE ORACLE.

III. ADMINISTRACIÓN DE ORACLE. III. ADMINISTRACIÓN DE ORACLE. 1.- Qué es Oracle? Qué hace un Administrador? 2.- Herramientas de ORACLE. 3.- Características. 4.- Arquitectura. 4.1.- Componentes de la BD. 4.2.- Estructura de la memoria.

Más detalles

Oracle 12c DISEÑO Y PROGRAMACIÓN

Oracle 12c DISEÑO Y PROGRAMACIÓN Oracle 12c Se estudia el servidor de bases de datos empresarial Oracle 12c, centrándose especialmente en el punto de vista de un diseñador o programador de bases de datos, pero explicando también cómo

Más detalles

2 Bloque de consulta básico

2 Bloque de consulta básico 2 Bloque de consulta básico En una base de datos relacional los datos son almacenados en estructuras de almacenamiento o tablas. Las dos operaciones básicas a llevar a cabo sobre una base de datos relacional

Más detalles

Es objetivo del diplomado es proporcionar al profesional el conocimiento y la habilidad necesaria para:

Es objetivo del diplomado es proporcionar al profesional el conocimiento y la habilidad necesaria para: I. Objetivo Es objetivo del diplomado es proporcionar al profesional el conocimiento y la habilidad necesaria para: Instalación del software de base de datos Oracle en Plataformas Linux y Windows Gestión

Más detalles

Planos de ejecución en Velneo V7

Planos de ejecución en Velneo V7 Planos de ejecución en Velneo V7 Por Jesús Arboleya Introducción 3 Arquitectura Cliente/Servidor 4 1. Objetos que siempre se ejecutan en el servidor 5 2. Objetos que siempre se ejecutan en el cliente 6

Más detalles

DBA 2.0 y Gestión del Desempeño con Enterprise Manager Packs

DBA 2.0 y Gestión del Desempeño con Enterprise Manager Packs DBA 2.0 y Gestión del Desempeño con Enterprise Manager Packs John Morales PERU Oracle Users Group GBS Peru Miguel Palacios PERU Oracle Users Group GBS Peru 28 Noviembre 2008 Introducción

Más detalles