Você está na página 1de 1

Base de Datos Lenta | Dataprix TI

Pgina 1 de 1

Base de Datos Lenta


1 reply [ltimo envo]
5 March, 2014 - 18:52

Gustavo.chavez Joined: 14/08/2013


Offline

Puntos: 9

Hola buen dia!


Me gustaria pedir informacion acerca de la optimizacion de la BD oracle, ya que en actualmente tenemos un problema con
una base de datos, el problema es que nuestra base de datos esta muy lenta.
Ya le hemos cambiado algunos parametros en la BD, pero aun asi nada.
Utilzamos una aplicacion Cliente - Servidor y untilizamos el procesamiento por lotes (Batch).

Me podrian apoyar indicandome que comsultas pudiera correr para investigar si mi base de datos esta sana, y el porque
de la lentitud.

Adjunto una imagen el cual me indica en el plana de ejecucion los siguientes datos,

Saludos

Adjunto

Tamao

Imagen1.jpg 26.1 KB
Twittear

Share

Me gusta

Top

2779 lecturas
#1

30 May, 2014 - 21:22

OMARE
Offline

Joined: 07/12/2010
Puntos: 30

Que tal Gustavo


La lentitud se puede dar por n escenarios querys mal diseados, bloqueos en la base de datos, consumo en I/O,
fragmentacion en las tablas e indices, etc.

Por lo que muestras en el plan de ejecucion te recomiendo lo siguiente:


--Generar estadisticas tu esquema owner (ejemplo con X7)
exec dbms_stats.gather_schema_stats (ownname=>'X7', estimate_percetnt=>10);

--Habilitar el monitoreo de los indices que de tu owner


ALTER INDEX "INDEXNAME" MONITORING USAGE;

ALTER INDEX "INDEXNAME" NOMONITORING USAGE; (para deshabilitar el monitoreo)


Revisa la vista v$object_usage para validar cuales se estan utilizando, los que si se usen recrealos con un REBUILD los
que no eliminalos de tu base de datos

--Shrink de tablas
Con esto vas a compactar los bloques vacios que tengas en tablespace, esto te ayuda a no tener tanto I/O en tablespace
my grandes, si son tablas grandes evalua el particionamiento.

Primero habilitas el monitoreo


ALTER TABLE "TABLENAME" ENABLE ROW MOVEMENT;

ALTER TABLE "TABLENAME" SHRINK SPACE CASCADE;


si no te recupera espacio muevelos a otro tablespace con un ALTER TABLE "NOMBRE" MOVE TABLESPACE
"TBSNAME"; y luego regresalos al original, ten cuidado con los segmentos LOB para esos la sentencia para moverlos es
ALTER TABLE OWNER.TABLA MOVE LOB("nombredecolumnalob") store as (tablespace "nombredetablespace")

Ya que acabes con esto genera otra vez las estadisticas por los cambios de bloques y registros en los indices.

Si la consulta no te toma los indices checa la opcion de usar el HINT para forzara a que los use.

http://www.dataprix.com/foro/software-it/software-oracle/oracle-database/base-datos-... 27/09/2015

Você também pode gostar