Alejandro Trujillo, Información y Tecnologías Ecuador

Oracle, Microsoft, Administración, y algo más

Eliminando Contención de I/O

La contención de disco ocurre cuando múltiples procesos intentan acceder al mismo disco físico simultáneamente, lo que causa una baja en el rendimiento de la base de datos. En este artículo vamos a conocer un poco más en detalle como los escenarios en los que se da este problema y ciertos mecanismos para evitarlo.La solución más obvia para reducir la contención de disco es reducir las entradas I/O. esto se logra distribuyendo las I/O sobre las diferentes unidades de disco lógicas que tiene el servidor. Para distribuir las entradas de I/O será necesario mover los Datafiles que estén saturados en lectura y escritura. Lo que se debe hacer primero es identificar dichos Datafiles mediante las vistas dinámicas V$FILESTAT y V$DATAFILE.
Nota: V$FILESTAT y V$DATAFILE no funcionan para Tablespaces temporales. Para monitorear tablespaces temporales se debe usar V$TEMPFILE y V$TEMPSTATS.  
SQL> col name format a25
SQL> SELECT name, phyrds, phywrts, readtim, writetim
   2     FROM v$filestat a, v$datafile b
   3     WHERE a.file#=b.file#;

Mediante esta consulta es posible identificar los Datafiles que tienen la mayor cantidad de lecturas y escrituras. Una vez identificados los Datafiles procedemos a mover los tablespaces a otra unidad/partición para equilibrar I/O: Para esto tenemos que seguir los siguientes pasos:

Tomamos el tablespace correspondiente al datafile que tiene la mayor cantidad de I/O y lo ponemos en estado Offline
SQL> ALTER TABLESPACE USERS OFFLINE;

Copiamos el Datafile a la nueva ubicación (En otra partición/disco)
Renombramos el Datafile apuntándolo a la nueva ubicación
SQL> ALTER DATABASE USERS RENAME DATAFILE
   2    ‘D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP10G\USERS01.dbf’ to
   3    ‘H:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP10G\USERS01.dbf’;

Volvemos a poner el tablespace en estado Online
SQL> ALTER TABLESPACE USERS OFFLINE;

Verificamos si el Control File actualizó la base de datos mediante la vista dinámica V$DATAFILE
SQL> col name format a50
SQL> select file#, name from v$datafile;

octubre 9, 2008 - Posted by | Oracle | , ,

Aún no hay comentarios.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: