Mantenimiento de la base de datos Oracle 11g

12,402 views

Published on

Mantenimiento de la base de datos Oracle 11g R2

Published in: Education
1 Comment
17 Likes
Statistics
Notes
  • Hola muy bueno, cual es el orden de sus presentaciones (tutoriales), cual debo leer primero?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
12,402
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
0
Comments
1
Likes
17
Embeds 0
No embeds

No notes for slide

Mantenimiento de la base de datos Oracle 11g

  1. 1. ADMINISTRACIÓN DE ORACLE 11G Mantenimiento de la base de datos 1Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  2. 2. INTRODUCCIÓN  El rendimiento de las sentencias SQL es crítico y se puede mejorar diseñando planes de ejecución eficientes a partir de determinadas estadísticas.  La recolección de estadísticas puede ser manual o automática.  A partir de las estadísticas, podemos conocer la causa de un problema de bajo rendimiento y solucionarlo o prevenirlo. 2Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  3. 3. GESTIÓN DE LAS ESTADÍSTICAS DE OPTIMIZACIÓN  Una consulta puede ejecutarse de muchas formas diferentes:  Empezar un join por una tabla o por otra.  Utilizar los índices o no hacerlo.  Aprovechar los datos ya cargados en memoria.  La estrategia que se escoja es el plan de ejecución.  El plan de ejecución que se escoja influencia en las estadísticas de rendimiento que se recogen después.  Existen muchos tipos de estadísticas que ahora veremos. 3Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  4. 4. TIPOS DE ESTADÍSTICAS  Estadísticas de una tabla concreta, en DBA_TABLES:  Número de filas en una tabla.  Número de bloques de una tabla y si han sido utilizados.  Espacio libre en los bloques utilizados.  Número de filas que ocupan más de un bloque (chained rows)  Estadísticas de una columna de una tabla, en DBA_TAB_COLUMNS:  Número de valores diferentes.  El valor más alto y el más bajo.  Número de NULLs.  La media de la longitud de la columna.  Estadísticas de los índices de las tablas, en DBA_INDEXES:  Cuántas entradas tiene sobre los valores de la columna.  Cuál es el número de valores diferentes que tiene la columna. 4Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  5. 5. RECOGIENDO ESTADÍSTICAS MANUALMENTE  Las estadísticas anteriores no son en tiempo real. Los datos no tienen porqué estar actualizados.  Para asegurar que el optimizador de planes de ejecución utilice estadísticas reales, hemos de procurar que estos datos estén actualizados.  Para actualizar las estadísticas manualmente, tenemos de utilizar los procedures del package DBMS_STATS. 5Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  6. 6. TALLER 1 Actualizar las estadísticas manualmente. Carmen Soler Chorro - http://www.linkedin.com/in/casoch 6
  7. 7. ACTUALIZACIÓN DE ESTADÍSTICAS  ¿Cada cuánto deben actualizarse las estadísticas?  Si tenemos la última versión de todo, el optimizador nos dará la opción más rápida. Pero si se actualiza más veces de las necesarias, el rendimiento también se verá perjudicado.  Si no las actualizamos a menudo, el optimizador nos dará planes de ejecución inapropiados y mucho más lentos.  Desde el Database Control Tool podemos hacer que esta actualización sea automática.  El parámetros STATISTICS_LEVEL permite controlarlo. 7Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  8. 8. ACTUALIZACIÓN DE ESTADÍSTICAS  Las estadísticas se van almacenando en memoria (en la instancia) y, cada cierto tiempo, MMON vuelca estos datos en AWR (Automatic Workload Repository).  Luego, estas estadísticas, se pueden analizar con llamadas a los procedures del paquete DBMS_STATS.  Con el parámetro STATISTICS_LEVEL, podemos decir qué estadísticas se recogerán y cuándo:  Si vale TYPICAL (valor por defecto)  Se recogen automáticamente las estadísticas necesarias para mejorar el rendimiento de la base de datos.  Activa el análisis diario de objetos.  Si vale BASIC  No hay recolección automática de estadísticas.  Tampoco hay ajustes automáticos ni análisis diarios.  Si vale ALL  Recoge automáticamente todas las estadísticas posibles, intentando optimizar todo al máximo.  Esto puede afectar negativamente al rendimiento de la base de datos. 8Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  9. 9. TALLER 2 Herramientas para recoger estadísticas. Carmen Soler Chorro - http://www.linkedin.com/in/casoch 9
  10. 10. AWR (AUTOMATIC WORKLOAD REPOSITORY)  AWR es un conjunto de tablas en el tablespace de SYSAUX.  Si el parámetro STATISTICS_LEVEL vale TYPICAL o ALL, las estadísticas se van acumulando en la SGA y cada cierto tiempo se vuelcan en disco (AWR snapshot) gracias a MMON.  Si trabajamos en TYPICAL, se vuelca cada hora.  Estos datos se mantienen en disco durante 8 días (por defecto). El periodo es configurable.  Se ha de vigilar cada cuanto tiempo se recogen estadísticas y el tiempo que se conservan, por el espacio que ocupará en disco.  Podemos controlar el AWR desde el Database Control Tool, que utiliza los procedures del paquete DBMS_WORKLOAD_REPOSITORY. 10Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  11. 11. TALLER 3 Monitorizar el AWR. Carmen Soler Chorro - http://www.linkedin.com/in/casoch 11
  12. 12. ADVISORY FRAMEWORK  La base de datos tiene una serie de “consejeros” que se basan en las estadísticas que se recolectan en el AWR.  Desde el Database Control Tool podemos consultar todos los Advisors que tenemos disponibles:  ADDM (Automatic Database Diagnostic Monitor)  Memory Advisors  SQL Access, Tuning y Repair Advisors  Automatic Undo Advisor  Mean Time to Recover Advisor (MTTR)  Data Recovery Advisor  Segment Advisor. 12Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  13. 13. ADDM  Permite generar informes de rendimiento entre dos snapshots del AWR.  En estos informes, pueden aconsejar:  Cambios de hardware (añadir CPU).  Cambiar la configuración de la base de datos (algún parámetro de memoria de la instancia).  Cambios en objetos (particionar tablas)  Utilizar otros advisors (para ver recomendaciones más detalladas) 13Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  14. 14. MEMORY ADVISORS  Son una serie de advisors que controlan las estructuras de memoria de la SGA y de la PGA.  Tenemos advisors para cada subestructura de la SGA y un advisor para la SGA entera. 14Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  15. 15. SQL ADVISORS  SQL Access Advisor:  Se fija en la carga de trabajo que supone una consulta.  Propone crear o borrar índices, particionar tablas, etc.  SQL Tunning Advisor:  Recomienda la generación de nuevas estadísticas que permitan afinar más los planes de ejecución.  SQL Repair Advisor:  Determinados planes de ejecución lanzan un error ORA- 600. Este advisor propone un plan alternativo para evitar este error. 15Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  16. 16. AUTOMATIC UNDO ADVISOR  Recomienda un tamaño mínimo para el undo tablespace, para asegurar se almacenan todos los datos necesarios. 16Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  17. 17. MEAN TIME TO RECOVER ADVISOR  Estima cuánto tiempo tardará en recuperarse la base de datos después de un fallo.  Por ejemplo, después de un shutdown abort. 17Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  18. 18. DATA RECOVERY ADVISOR  Cuando se daña la base de datos: bloques corruptos o ficheros eliminados, se tarda un tiempo en identificar el problema.  Existen varias formas de recuperarse de la situación:  Restaurar el fichero entero o sólo los bloques dañados.  El Data Recovery Advisor nos aconseja sobre qué es lo mejor a hacer. 18Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  19. 19. SEGMENT ADVISOR  Cuando insertamos datos en una tabla, Oracle o el DBA se encargan de expandir los segmentos para que quepan todos los datos.  Sin embargo, cuando eliminamos datos, los segmentos no se encogen automáticamente.  El segment advisor nos aconseja como reorganizar los datos de la mejor forma. 19Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  20. 20. TAREAS DE MANTENIMIENTO AUTOMÁTICAS  A partir de la versión 10g, existe el Scheduler, este permite ejecutar tareas automáticamente:  Recoger estadísticas  Activar los Segment Advisor  Activar los SQL Advisor  Podemos indicar cada cuánto queremos que se activen estas tareas. 20Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  21. 21. TALLER 4 Generar el informe de ADDM. Carmen Soler Chorro - http://www.linkedin.com/in/casoch 21
  22. 22. GESTIÓN DE ALERTAS Y LÍMITES  El sistema de alertas ahorra al DBA el trabajo de ir controlando las situaciones excepcionales que puedan ocurrir en la base de datos.  Existe desde la versión 10g. 22Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  23. 23. GESTIONAR LAS CONDICIONES DE ALERTA Y NOTIFICACIONES  Un ejemplo de tarea que debe hacer un DBA:  Gestionar el espacio que queda libre en un tablespace.  Tiene que lanzar una consulta para ver cuanto queda libre y tiene que hacerlo para todos los tablespaces existentes.  El DBA también puede dudar si hacer que un tablespaces se autoextienda o no y cuánto.  El Alert System le ahorra todo este trabajo.  Está configurado para lanzar una alerta al llegar al 85% de ocupación y una alerta crítica cuando llega al 97%.  Para que se lance una alerta se tienen que haber configurado unos límites. En este caso serían el 85% y el 97% 23Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  24. 24. RESUMEN  Uso y administración del Optimizer Statistics  Las estadísticas de Objetos se recolectan atomáticamente. Excepto si el parámetro STATISTICS_LEVEL está fijado a BASIC.  Las estadísticas de Objetos no se mantienen en tiempo real.  AWR almacena un historial de las estadísticas de los objetos; las estadísticas actuales se almacenan en el diccionario de datos. 24Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  25. 25. RESUMEN  Uso y administración de AWR(Automatic Workload Repository)  Por defecto, los snapshots se toman cada hora y se almacenan durante 8 días.  Adicionalmente los snapshots pueden ser tomados bajo demanda.  Los Snapshots se pueden guardar indefinidamente si son requeridos por una línea de base (baseline).  MMON es el reponsable de crear los snapshots y de lanzar el ADDM.  El AWR consiste en tablas (y objetos relacionados) en el esquema SYSMAN en el tablespace SYSAUX. 25Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  26. 26. RESUMEN  Uso del Advisory Framework  El ADDM se ejecuta automáticamente cada vez que se toma una instantánea y de manualmente bajo demanda.  Los informes ADDM darán consejos directos y podrán recomendar la ejecución de otros asesores.  Por defecto, el SQL Tuning Advisor y el Segment Advisor se ejecutan automáticamente en la ventana de mantenimiento.  Si establecemos STATISTICS_LEVEL a BASIC desactivaremos la obtención de snapshots y de los advisors. 26Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  27. 27. RESUMEN  Administración de Alertas y umbrales  Las alertas con estado deben estar configuradas con los umbrales.  Si aparece una alerta de estado, se mantendrá hasta que la situación se solucione.  Los umbrales se almacenan en la AWR.  El proceso en segundo plano MMON lanza la alerta, y generalmente Enterprise Manager quien informa. 27Carmen Soler Chorro - http://www.linkedin.com/in/casoch

×