Gestión de memoria para Oracle 10g y >=Oracle 11g

En las versiones 10g y 11g de Oracle Database, se ha simplificado la configuración de las estructuras de memoria tanto para el SGA como el PGA de forma notable.

Oracle versión >=10g

A partir de la versión 10g se introducen 2 nuevos parámetros de gestión de memoria que simplifican enormente esta tarea.

SGA_TARGET, simplemente se fija un valor y redimensiona a demanda los valores (siempre y cuando sean=0):

  • Buffer cache (DB_CACHE_SIZE)
  • Shared pool (SHARED_POOL_SIZE)
  • Large pool (LARGE_POOL_SIZE)
  • Java pool (JAVA_POOL_SIZE)
  • Streams pool (STREAMS_POOL_SIZE)

Continue reading

MySQL tuning parámetros para cualquier motor

Muchas gente realiza instalaciones MySQL y no se preocupan de la parametrización. La parametrización es importantísima, una BD puede funcionar bien (de momento) con los parámetros por defecto, los problemas aparecen cuando la BD crece o aumenta su carga de trabajo.

En esta entrada trataremos los parámetros que pueden afectar al rendimiento de cualquier motor (los más usados son INNODB y MyISAM).

Las variables son usadas por el servidor para dimensionar estructuras de memoria cruciales para el buen rendimiento del motor de BD, los estados del servidor nos indicarán si las variables que hemos definido realmente están causando algún efecto positivo o por el contrario no sirven para absolutamente nada.

Continue reading

Pasar de un solo datafile InnoDB a uno por tabla (MYSQL)

Durante una instalación por defecto de MySQL, un error muy común es no modificar la configuración de como almacena los datos en motor InnoDB. Por defecto toda la información es almacenada en un solo datafile, que normalmente se llama:

Source   
ibdata1

Continue reading

Variables estado MySQL

Para realizar un tuning de MySQL, antes hay que familiarizarse con un par de conceptos, MySQL tiene VARIABLES y ESTADOS:

  • Una variable tiene asociado un valor que puede ser fijado en el fichero my.cnf (my.ini en Windows) o símplemente se ha fijado uno por defecto de forma implícita, aunque también es posible modificar algunas variables en tiempo de ejecución (atención que no queda reflejado el cambio en los ficheros de configuración). Según la versión de que estemos usando podemos tener más de 300 (como ocurre con la versión 5.5). Es posible conocer el valor de todas las variables con:

Continue reading

Índices fake en Oracle

Recientemente siguiendo el documento ID 456468.1, he realizado una verificación de la integridad del catálogo. El caso es que han aparecido un par de errores indicando un problema con un identificador de objeto:

1703982

Este objeto existe en dba_objets, la consulta:

Continue reading

Error ORA-13605 al ejecutar SQL Access Advisor en Oracle 10.2.0.5

Una vez más se vuelve a repetir la historio, se instala un PathSet con la idea de solucionar problemas y aparecen otros nuevos (esta vez sin documentas).

Esta vez ha sido al instalar el PatchSer 10.2.0.5 sobre la versión 10.2.0.1. El caso es que ahora al intentar ejecutar el SQL Access Advisor, no aparece la tarea recién creada pero si un error en el alert:

Continue reading

MySQL consultas lentas, activación log consultas lentas o sin índices

En un entorno de producción, es muy recomendable tener activado el log de consultas lentas, para irlo analizando de vez en cuando.

La activación se realiza en el fichero de parámetros usado (por ejemplo my.cnf), añadiendo dentro de la sección [mysqld]:

Source   
log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 10
log-queries-not-using-indexes

Continue reading