Contension i/o

Buen día, si no le molestate quisiera preguntar como detecto una contension de discos en oracle, he visto la vistas v$filestat pero no se que valores que me devuelven las columnas serian los óptimos y cuales son los problemáticos.
Desde ya muchas gracias.

1 respuesta

Respuesta
1
Es un poco amplia tu consulta, realmente es de analizar todo el escenario de tu esquema de base de datos, desde tu configuración de discos hasta la revisión en si de los parámetros que bien haces en consultar en la v$filestat, que de igual forma es de analizar aquellos archivos que presentan un tiempo alto de escritura o de lectura, y aun así dependerá de la transacción que se este ejecutando. Tal vez puedas dar mayores detalles de la problemática.
Éxitos
El problema es que tengo el tablespace temp con muchas i/o según el awr:
Tablespace IO Stats
ordered by IOs (Reads + Writes) desc
Tablespace           ReadsAv Reads/sAv Rd(ms)Av Blks/RdWritesAv Writes/sBuffer WaitsAv Buf Wt(ms)
TEMP 16,319 5 0.02 2.75 6,424 2 0 0.00
TB_TG 5,235 1 0.82 2.96 260 0 0 0.00
TB_IG                      2,347 1  2.27 4.49 576 0
en cualquier momento  que elija realizar el informe me sale que el tablespace temp tiene casi el triple a veces mas i/o que todos los demas tablespaces y si calculo el ratio de las querys ordenadas en memoria me sale casi 100 % o sea que se ordenan casi todas en memoria no se porque tanta diferencia entre este tablespaces y los demas
select 100*(1 - (f1 - f2 - f3)/(r1 + r2 - f2 - f3)) HitRatio
from (select value f1 from v$sysstat where name='physical reads'),
 (select value f2 from v$sysstat where name='physical reads direct'),
 (select value f3 from v$sysstat where name='physical reads direct (lob)'),
 (select value r1 from v$sysstat where name='consistent gets'),
 (select value r2 from v$sysstat where name='db block gets')
HitRatio
99.80
Es una cuestión de rendimiento. Oracle utiliza los segmentos del ts temporal para realizar las consultas, es como el área de trabajo para los usuarios, luego de utilizarlos les pone una marca de sucio, de forma que los procesos saben que pueden reutilizar esos segmentos. Se supone haciéndolo así mejora el rendimiento.
Es de lo más normal que los ts temporales estén casi siempre al 99% de uso y que tengan un alto indice de i/o, pero eso no implica que debes ampliarlos o que sea un problema de contension, a menos que realmente te bloquee transacciones para lo que tendrían que realizar operación de redistribución de datafiles en diversos discos o la ampliación del mismo.
Tu Hit Ratio esta excelente, quiere decir que las consultas las realiza en su mayoría de memoria o en su defecto del ts temporal y no tiene que ir a leer los bloques de disco de los datafiles de los datos, lo cual lo hace más eficiente, es en si el propósito del ts temporal, a parte de las otras áreas de memoria propias de la base. Recuerda también que en este ts realizan las operaciones de ordenamiento si utilizas un ORDER BY.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas