Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Db2 10 afinamiento

2.065 visualizaciones

Publicado el

  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí

Db2 10 afinamiento

  1. 1. UniversidadCenfotec.Curso:Afinamiento de bases de datos.Alumno:Andrés Calvo | Germán Rodríguez.
  2. 2. DB2-for Z/os (mainframe).- for i Series (midrange).- for LUW (linux, unix, windows)
  3. 3.  DB2 Everyplace DB2 Everyplace es más que solo una infraestructura de computaciónmóvil. DB2 Personal Edition DB2 Personal Edition (DB2 Personal) es un RDBMS de un solo usuarioque se ejecuta en hardware de escritorio de bajo costo. DB2 Express-C DB2 Express - C realmente no se considera una edición de la familiaDB2, pero proporciona la mayoría de las capacidades de DB2 Express.
  4. 4.  DB2 Express-C Una característica definitiva de DB2 Express - C es que no tiene loslímites que normalmente están asociados con estos tipos deofrecimientos por parte de otros proveedores. DB2 Express Edition DB2 Express Edition (DB2 Express) es un RDBMS de cliente/servidorcon funciones completas y habilitado paraWeb. DB2 Express proporciona un servidor de bajo costo y de nivel deentrada que está dirigido principalmente a empresas pequeñas ycomputación por departamentos.
  5. 5.  DB2Workgroup Edition DB2Workgroup proporciona un servidor de bajo costo y de nivel deentrada que está dirigido principalmente a empresas pequeñas ycomputación por departamentos. DB2 Enterprice Edidion Está disponible para todos los sabores soportados de Linux, UNIX yWindows. DB2 Enterprise está dirigido para servidores pordepartamentos de tamaño grande y mediano.
  6. 6.  Herramientas de Monitoreo. DB2 colecciona información a nivel de: Las bases de datos. Del manejador de bases de datos. Las aplicaciones conectadas a la base de datos. Existen dos maneras de monitorear la base de datos: Table Functions. Con ellas se puede ver información del estado de variosaspectos de la base de datos a un punto específico en el tiempo. Snapshoots. Se pueden crear monitores de eventos que capturaninformación histórica con forme ocurren eventos específicos de basede datos.
  7. 7.  Se utilizan para coleccionar y ver información sobresistemas, actividades u objetos. La información es continuamente acumulada en memoriay disponible para consulta. Se puede filtrar datos para un objeto en específico o paratodos los objetos. La perspectiva de monitoreo del sistema abarca elvolumen completo de trabajo en el servidor, desde estaperspectiva se puede determinar qué es lo que hace elservidor como un todo así como examinar solicitudesparticulares de aplicaciones.
  8. 8.  Existe gran variedad de table functions, entre ellas se puede usarlas siguientes: MON_GET_SERVICE_SUBCLASS yMON_GET_SERVICE_SUBCLASS_DETAILS MON_GET_WORKLOAD y MON_GET_WORKLOAD_DETAILS MON_GET_CONNECTION y MON_GET_CONNECTION_DETAILS MON_GET_UNIT_OF_WORK yMON_GET_UNIT_OF_WORK_DETAILS MON_GET_BUFFERPOOL MON_GET_TABLESPACE MON_GET_CONTAINER MON_GET_TABLE MON_GET_INDEX MON_GET_LOCKS MON_GET_APPL_LOCKWAIT
  9. 9.  Como identificar las retinas más consumidoras de CPU: SELECTROUTINESCHEMA, ROUTINEMODULENAME, ROUTINENAME, SPECIFICNAME, SUM(TOTAL_CPU_TIME)ASTOTAL_CPUFROMTABLE(MON_GET_ROUTINE(NULL,NULL,NULL,NULL,-2)) ASTGROUP BYROUTINESCHEMA, ROUTINEMODULENAME, ROUTINENAME, SPECIFICNAMEORDER BYTOTAL_CPU DESC Investigando el rendimiento de un procedimiento almacenado llamadotest.proc1. SELECT B.EXECUTABLE_ID, 100*B.COORD_STMT_EXEC_TIME /A.TOTAL_ROUTINE_COORD_EXEC_TIMEAS PERCENT_EXEC_TIME,(SELECTSUBSTR(C.STMT_TEXT,1,120)FROMTABLE(MON_GET_PKG_CACHE_STMT(NULL,B.EXECUTABLE_ID,NULL,-2))ASC) AS STMT_TEXTFROMTABLE(MON_GET_ROUTINE(P,TEST,NULL,PROC1, -2)) ASA, TABLE(MON_GET_ROUTINE_EXEC_LIST(P,TEST,NULL,PROC1, -1)) ASBWHEREA.TOTAL_ROUTINE_COORD_EXEC_TIME<>0ORDER BYPERCENT_EXEC_TIME DESC
  10. 10.  Se pueden usar snapshots monitors para capturar informaciónsobre la base de datos y para cualquier aplicación conectada a untiempo especifico. Son muy utilices para determinar el estado del sistema de base dedatos. También se pueden tomar periódicamente en intervalos regularespara observar tendencias y prever problemas potenciales. Existen varios tipos de snapshots disponibles, cada uno de ellosretornando información de monitoreo especifica, por ejemplo sepueden capturar snapshots que retornen solo información delbuffer pool, o por ejemplo información del manejador de bases dedatos.
  11. 11.  Se pueden accesar de las siguientes dos formas: Vistas administrativas: Un snapshot de información de aplicación para la base de datosSAMPLE. SELECT * FROM SYSIBMADM.SNAPAPPL Un snapshot para obtener información de bloqueo para la base dedatos actual seria así:▪ SELECT * FROM SYSIBMADM.SNAPLOCK Table function: Por ejemplo para capturar información de bloqueo de la base de datosSAMPLE se ejecutaría la siguiente instrucción:▪ SELECT * FROMTABLE(SNAP_GET_LOCK(SAMPLE,-1))AS SNAPLOCK
  12. 12.  WLM le permite a DB2 poder maximizar el usode los recursos de hardware disponibles en elservidor donde se encuentre instalado paraobtener un óptimo desempeño del servicio. Definición de objetivos, ejemplos: Las consultas provenientes de una aplicación enparticular no pueden consumir más de un 10% delCPU. Que una cierta una utilidad batch ejecutada en lanoche debe estar lista antes de determinada hora dela madrugada.
  13. 13.  Identificación de la carga de trabajo. Se debe saber los detallessobre la carga, sobre todo el origen de la carga, por ejemplo saberla aplicación que genera la carga, el usuario que la genera, etc. Manejo de la carga. Esta fase requiere de tener mecanismos paralograr la meta y de acciones definidas en caso en que la meta noesté siendo alcanzada. En esta etapa existen los llamados “serviceclass”, que definen el ambiente de ejecución sobre el que la cargapuede correr. Los service class incluyen recursos disponibles yumbrales de ejecución. Monitoreo. El monitoreo es importante porque es por medio deeste que logramos saber si estamos cumpliendo con los objetivos.Asi mismo por medio de monitoreo el motor puede saber siproblemas presentes pueden afectar el logro de un objetivo.
  14. 14.  Esta herramienta contribuye significativamente en el mejoramiento delrendimiento de la carga de trabajo del servidor. Seleccionar cuales índices, MQTs, dimensiones clúster o particiones debase de datos deben existir para una carga de trabajo grande puede sercompleja. El design advisor identifica todos los objetos que son necesarios paramejorar el rendimiento de la carga de trabajo. Dado una traza de la carga de trabajo esta herramienta generarecomendaciones para: Incluir nuevos índices. Incluir nuevos índices clúster. Nuevas MQTs. (materialized query tables). Redistribution de tablas.
  15. 15.  Requisitos de Disco El espacio de disco necesario para el productodepende del tipo de instalación que se elija y del tipode sistema de archivos de que se disponga. El Asistente de instalación de DB2 proporcionaestimaciones de tamaño dinámicas basadas en loscomponentes seleccionados durante una instalacióntípica, compacta o personalizada. En sistemas operativos Linux y UNIX, se recomiendadisponer de 2 GB de espacio libre en el directorio /tmp.
  16. 16.  Requisitos de Memoria Los requisitos de memoria se ven afectados por eltamaño y la complejidad del sistema de bases de datosy la magnitud de la actividad de la base de datos y elnúmero de clientes que acceden al sistema. Como mínimo, un sistema de base de datos DB2requiere 256 MB de RAM1. Para un sistema que sólo ejecute un producto DB2 ylas herramientas de la GUI de DB2 se requieren 512 MBde RAM como mínimo.
  17. 17.  Requisitos de Espacio de Paginacion DB2 requiere que se habilite lapaginación, también denominada intercambio. Esta configuración es necesaria para dar soporte avarias funciones de DB2 que supervisan odependen del conocimiento de la utilización deespacio de intercambio/paginación.
  18. 18.  Información preliminar sobre lasautorizaciones para BD Las autorizaciones proporcionan una forma deagrupar privilegios y de controlar las operacionesde mantenimiento y de programa de utilidad paralas instancias, las bases de datos y los objetos debase de datos.
  19. 19.  Información preliminar sobre las autorizacionespara BD SYSADM▪ Es el nivel más alto de autorización administrativa.▪ Incluye todos los privilegios sobre las BD de la instancia deDB2 así como la autorización para otorgar y revocar todas lasdemás autorizaciones y privilegios. DBADM▪ Proporciona autorización administrativa para una base dedatos específica.▪ Permite al usuario acceder y modificar todos los objetos deesa base de datos.
  20. 20.  Información preliminar sobre las autorizacionespara BD SYSCTRL▪ Es la autorización para controlar los recursos utilizados por elgestor de bases de datos (por ejemplo, crear y suprimir basesde datos).▪ No permite acceder a los datos de la base de datos. SYSMAINT▪ Es la autorización para realizar operaciones de mantenimientocomo, por ejemplo, iniciar y detener el servidor DB2 y hacercopia de seguridad y restaurar bases de datos.
  21. 21.  Información preliminar sobre las autorizacionespara BD LOAD▪ La autorización LOAD en el nivel de base de datos, combinadacon el privilegio INSERT de una tabla, permite al usuariocargar datos en esa tabla. SECADM(security administrator)▪ Se aplica a nivel de base de datos y es la autorizaciónnecesaria para crear, modificar y eliminar componentes deetiquetas de seguridad, políticas de seguridad y etiquetas deseguridad, que se utilizan para proteger tablas.
  22. 22.  Afinamiento uso de la memoria El comando db2pd se utiliza para solucionarproblemas porque puede muestra una visión rápiday establece la información inmediata de la memoriade DB2.▪ El comando de db2pd -memblock puede ser útil cuandousted está tratando de entender el uso de la memoria
  23. 23.  Administrador de tareas del SO Utilice esta herramienta para averiguar que losprocesos de DB2 está ejecutando y diagnosticarproblemas de rendimiento. Con esta herramienta, puede determinar el uso dememoria, límites de memoria, swapper, espacioutilizado y fugas de memoria para un proceso.
  24. 24.  db2syscs (Win) Este es el controlador principal o motor del sistema DB2. A partir de DB2 9.5, hay un único motor principal multi-hilopara toda la partición. El servidor de bases de datos no puede funcionar sin esteproceso. db2acd Es el demonio de computación autonómica y se usa pararealizar tareas automáticas del lado del cliente, tales comoel monitor de salud, utilitarios automáticos paramantenimiento y el programador de tareas administrativas.
  25. 25.  db2wdog El “perro guardián” (watchdog) de DB2. Está por encima de el proceso principal del motorDB2 y se encarga de liberar recursos en caso que elproceso db2sysc termine anormalmente. db2vend Fué introducido en la versión 9.5 de DB2. Proceso que es ejecutado e invocado por tercerasaplicaciones.
  26. 26.  db2wdog El “perro guardián” (watchdog) de DB2. Está por encima de el proceso principal del motorDB2 y se encarga de liberar recursos en caso que elproceso db2sysc termine anormalmente. db2vend Fué introducido en la versión 9.5 de DB2. Proceso que es ejecutado e invocado por tercerasaplicaciones.
  27. 27.  db2fmp Proceso que ejecuta código de usuario en elservidor por fuera del firewall tanto paraprocedimientos almacenados como para funcionesdefinidas por el usuario. Db2sysc Es responsable del arranque y la detención delsistema y el manejo de la instancia en ejecución.
  28. 28.  db2tcpcm Proceso que escucha las comunicacionesTCP/IP db2agent Agente coordinador que realiza operaciones debase de datos en nombre de las aplicaciones. Hay al menos uno por conexión, dependiendo si elConcentrador de Conexiones está activado
  29. 29.  db2agntp Es un subagente activo que es generado siINTRA_PARALLEL tiene el valorYES. db2agent Agente coordinador que realiza operaciones debase de datos en nombre de las aplicaciones. Hay al menos uno por conexión, dependiendo si elConcentrador de Conexiones está activado
  30. 30.  La mejor práctica es controlar regularmente elsistema de carga con vmstat y iostat en Linux ysistemas basados ​​en UNIX, y perfmon(Monitor derendimiento deWindows). También puede utilizar las vistasadministrativas, comoENV_SYS_RESOURCES, para recuperar elsistema operativo, la CPU, la memoria, y otrainformación relacionada con el sistema.
  31. 31.  REORG El comando REORG toma el espacio desperdiciadoy reorganiza los datos para hacer la extracción máseficiente. La mayoría de las tablas que son frecuentementemodificadas se beneficiarán al ejecutar REORG. RUNSTATS Utilizado para actualizar estas estadísticas. Correr este comando es esencial para mantener lasestadísticas actualizadas.
  32. 32.  BIND / REBIND Los planes de acceso del SQL estático son definidoscuando se ejecuta un comando BIND. Las estadísticas usadas cuando se ejecutó el BINDno serán siempre las mismas que las actuales.
  33. 33.  El optimizador puede elegir un plan de acceso para ejecutar unaconsulta sql en paralelo si el grado de paralelismo es especificadocuando la consulta es compilada. En tiempo de ejecución múltiples procesos “agentes”, son creadospara ejecutar la consulta. El número de agentes es menor o igual al grado de paralelismoque fue especificado cuando la sentencia fue compilada. Para paralelizar el plan de acceso el optimizador lo divide enporciones que son corridas por cada agente y una porción que escorrida por un agente coordinador. Los agentes pasan datos al agente coordinador a través de colasde tablas.
  34. 34.  Table e Index Scan Paralelos. La tabla o el índice es divido en rangos de paginas o filas, mismo queson asignados a los agentes. Cuando un agente termina su escaneo se le puede asignar otro rangodel objeto. Este tipo de paralelismo provee una distribución equitativa deltrabajo. El objetivo es que balancear la carga entre los agentes paramantenerlos ocupados equitativamente. Si el número de agentes ocupados es igual al número de CPUs y losdiscos duros son recargados con IO se dice que los recursos de lamaquina están siendo usados efectivamente. Del mismo modo el optimizador puede aplicar estrategias deparalelismo para ejecutar ordenamientos, agrupaciones ycreaciones de tablas temporales.
  35. 35.  Se puede pensar en una MQT como una tabla cuya definición estábasada en el resultado de una consulta sql. La MQT almacena físicamente la data resultado de la SQL y esposible trabajar con ella en lugar de usar la data de las tablas base. MQT son una poderosa manera de mejorar el tiempo de respuestapara consultas complejas. Esto es especialmente cierto paraconsultas con una o más de las siguientes operaciones: Agregaciones sobre una o más dimensiones. Muchos Joins. Datos comúnmente accesados. Durante la compilación de las sentencias SQL en la fase de sobreescritura el optimizador evalúa las MTQ y decide si correspondesubstituir las tablas base por MQTs.
  36. 36.  Esta herramienta provee información detallada sobre el plan deacceso que el optimizador selecciona para una consulta SQL. Esta información le sirve al programador o al DBA en el proceso detunning de la consulta o de la instancia de la base de datos. Esta herramienta le colabora en tareas como: Entender como el manejador de la base de datos accesa las tablas eíndices para satisfacer una consulta. Evaluar el rendimiento de las modificaciones hechas durante eltunning. Luego de modificar la sentencia o el parámetro se debe correr denuevo esta herramienta para ver que, como y cuanto se mejoro conrespecto a la versión anterior.
  37. 37.  El siguiente es un ejemplo de un plan deejecución desde la aplicación IBM Data Studio3.1.1 para la sentencia: SELECT DECIMAL(AVG(salary),12,2) asaverage_sal, location, deptnameFROM staff a, org bWHERE b.deptnumb=a.deptGROUP BY dept,location, deptnameORDER BY average_sal DESC
  38. 38.  Reduce la sobre carga por re ejecución de planes de acceso modificandosentencias SQL dinámicas en el servidor de base de datos, de modo quesentencias similares pero no idénticas puedan compartir el mismo plande acceso. En bases de datos OLTP, sentencias simples podrían ser generadasrepetitivamente con diferentes valores literales. En estos casos el costode recompilar la sentencia puede agregar una sobrecarga significativa. Esta herramienta evita esta sobrecarga permitiendo que sentenciascompiladas sean reusadas sin importar el valor de los literales. El statement concentrator esta deshabilitado por defecto. Puede serhabilitado para todas las sentencias dinámicas en la base de datosasignando el parámetro smt_conc al valor LITERALS.
  39. 39.  Ejemplo. Estas dos sentencias son ejecutadas. select firstnme, lastname from employee where empno=’000020’ select firstnme, lastname from employee where empno=’000070’ Las sentencias comparten la misma entrada en el package cache yesas sentencias usan el siguiente forma: select firstnme, lastname from employee where empno=:L0 DB2 provee el valor de: L0 (000020 o 000070), basado en elliteral que fue usando en la sentencia original.
  40. 40.  El sistema operativo debe estar instalado sobre unalmacenamiento exclusivo. Esto es dedicar un LUN en el servidorsolo para alojar la instalación del sistema operativo de modo quelas cargas de IO del sistema operativo no compitan con las cargasgeneradas por la base de datos en los LUN donde se ubiquen losarchivos de datos. Separar datos de archivos log. El servidor debe estar configuradopara brindar almacenamiento exclusivo para estas dos cargas dedatos. Utilice file Systems en lugar de dispositivos raw. Instalación periódica de patchs o hot fixes del sistemaoperativo.

×