Disponible en descarga gratuita Cuadernos de Viaje - Oriente Próximo, el libro con nuestras aventuras en Jordania, Siria e Israel.

miércoles, 10 de marzo de 2010

Oracle: Optimización

Los trabajos de optimización de un gestor de base de datos Oracle pasan siempre por el estudio de las tablas de estadísticas propias del motor. Estas tablas dan información relativa a lo sucedido desde el último arranque, es decir, con cada reinicio de la instancia de base de datos se vacían.
Oracle utiliza dos estructuras de memoria principales para su trabajo: el Área Global del Sistema, SGA (System Global Area o también Shared Global Area) y el Área Global de Programa, (Program Global Area), PGA.
En la SGA Oracle guarda información sobre su estado de manera compartida. Está disponible para todos los procesos, por eso se dice que está compartida.
La SGA consta del
  • Database Buffer Cache
  • Redo Log Buffer
  • Shared Pool
  • Large Pool
  • Java Pool
  • Streams Pool
Empezando por la SGA los valores a estudiar son
  • La cantidad de memoria libre en la Shared Pool
SELECT * FROM v$sgastat WHERE name='free memory';
  • El porcentaje de aciertos de caché, según esta fórmula:
Cache Hit Ratio = 1 - (physical reads / (db block gets + consistent gets))
SELECT name, value FROM v$sysstat WHERE name IN ('db block gets', 'consistent gets', 'physical reads')
También con
SELECT physical_reads, db_block_gets, consistent_gets, name FROM v$buffer_pool_statistics
Con un valor inferior a 90% es recomendable aumentar la database buffer cache.
  • La relación entre paradas para acceder al redo log y accesos en caché.
SELECT name,value FROM v$sysstat WHERE name ='redo entries' OR name ='redo log space requests'
Con una relación superior a 1:5.000 es necesario ampliar el tamaño del buffer de redo.
  • Los aciertos de Library Cache
SELECT SUM (pins - reloads) / SUM (pins) FROM v$librarycache
Con un valor menor a 95% se recomienda aumentar el tamaño de la Shared Pool.
  • Los aciertos en el diccionario de datos
SELECT SUM(gets) , SUM( getmisses), (SUM( getmisses)/SUM(gets))*100 FROM v$rowcache
Con un porcentaje de fallos (getmisses) frente al de aciertos (gets) mayor de 10-15% es necesario aumentar la Shared Pool y estudiar las consultas lanzadas para asegurarse de que usan parámetros.

Aquí la PGA y el resto.

3 comentarios:

风骚达哥 dijo...

20151127 junda
kate spade handbags
jordan 8
michael kors handbags
christian louboutin
coach outlet
longchamp outlet
gucci outlet
barbour uk
gucci outlet
ray ban
mont blanc pens
canada gooses jackets
nike store
coach factory outlet
michael kors
ghd straighteners
ralph lauren outlet
michael kors outlet uk
gucci borse
tommy hilfiger outlet
nike blazers
kate spade outlet
moncler jackets
ray ban
michael kors
mcm outlet
soccer jerseys
ugg sale
ray ban sunglasses
louis vuitton
louis vuitton
adidas shoes uk
coach outlet
true religion outlet
cheap ugg boots
canada goose jackets
coach factorty outlet
instyler max
cheap jordan shoes
nike uk

风骚达哥 dijo...

20151127 junda
kate spade handbags
jordan 8
michael kors handbags
christian louboutin
coach outlet
longchamp outlet
gucci outlet
barbour uk
gucci outlet
ray ban
mont blanc pens
canada gooses jackets
nike store
coach factory outlet
michael kors
ghd straighteners
ralph lauren outlet
michael kors outlet uk
gucci borse
tommy hilfiger outlet
nike blazers
kate spade outlet
moncler jackets
ray ban
michael kors
mcm outlet
soccer jerseys
ugg sale
ray ban sunglasses
louis vuitton
louis vuitton
adidas shoes uk
coach outlet
true religion outlet
cheap ugg boots
canada goose jackets
coach factorty outlet
instyler max
cheap jordan shoes
nike uk

raybanoutlet001 dijo...

adidas nmd runner
ralph lauren
chiefs jersey
cheap nike shoes
hollister clothing
new england patriots jerseys
chaussure louboutin
chicago bears jerseys
ugg boots
michael kors handbags