Inicio > Exchange > Conceptos generales sobre bases de datos de Exchange

Conceptos generales sobre bases de datos de Exchange


Hay tareas sobre bases de datos que todo buen administrador de Exchange debe tener conciencia y conocimiento acerca de su significado y ejecución. Normalmente la diferencia entre conocer estos puntos y no conocerlos, puede significar que una tarea de recuperación de 10 minutos nos tome horas y horas, con un resultado a veces poco prolijo y con un alto descontento por parte de los usuarios.

Debido a esto, como PFE a veces nos toca la tarea de evaluar el conocimiento de un administrador en los procesos de administración y mantención de una base de datos. Asi que presten atención y prueben los siguientes puntos en laboratorio Smile

 

Resetear la secuencia de los logs de transacciones de una base de datos:

Es un proceso que anteriormente se ocupaba debido a que el log de transacciones de una base de datos era consumido rápidamente, lo que significaba que una base de datos al llegar al número máximo de logs posibles, fallara y se desmontara.

Actualmente no es un proceso que ocurra generalmente, pero en caso de ser necesario, se puede realizar de la siguiente forma:

1. Desmontar la base de datos

2. Asegurese que la base de datos ha sido desmontada satisfactoriamente utilizando el comando eseutil /mh Database_File_Name (Debiese encontrar como resultado Clean Shutdown)

3. Mueva los logs de transacciones de dicha base de datos a otra ubicación.

4. Vuelva a montar la base de datos.

Nota: este cambio hace imposible la restauración de las copias incrementales de una base de datos, por lo tanto se recomienda que se realice un nuevo respaldo de las bases de datos cuando sea posible.

 

Validar que un log de transacciones esté contiguo:

Para verificar que uno cuenta con todos los logs de transacciones de una secuencia, se puede ejecutar el siguiente comando:

eseutil /ml Enn (en donde nn corresponde a los dos primeros números del log de transacciones, el cual es un prefijo que se asocia al set de logs que está asociado a una determinada base de datos)

Si falta algún log de transacciones, podrá observar un error como este:

Missing log file: Enn00000004.log

Operation terminated with error -528 (JET_errMissingLogFile,Current log file missing))

Verificar que un log de transacciones está en un estado consistente:

Para verificar que un log de transacciones está en un estado consistente, puede ejecutar la siguiente variación del comando anterior:

eseutil /ml Enn0000000X.log (en donde Enn000000X.log corresponde al log de transacciones que se desea investigar)

Verificar el estado de una base de datos:

Para verificar el estado de una base de datos, puede ejecutar el siguiente comando:

Eseutil /mh Database_File_Name

Debiese encontrar la línea state con una de estas dos opciones:

Clean Shutdown: La base de datos ha sido desmontada correctamente, por lo que es posible montarla.

Dirty Shutdown: La base de datos no ha sido desmontada correctamente, por lo que es necesario utilizar los logs de transacciones o medidas de reparación para llevar la base de datos a un estado consistente.

 

Diferencias entre Soft/Hard Recovery y Repair

Una recuperación o recovery es el hecho de insertar logs faltantes dentro de una base de datos. Si Exchange detecta que una base de datos está en un estado inconsistente, es posible que intente de manera automática realizar un replay de los logs para dejar la base de datos en un estado consistente al momento de intentar montarla, sin embargo a veces es necesario realizar este procedimiento utilizando Eseutil. Estas dos opciones son llamadas soft recovery.

En el caso que se realice una recuperación desde un respaldo de la base de datos, y sea necesario hacer el replay de los logs utilizando Eseutil y el archivo Restore.env, esto es llamado Hard Recovery.

Si la base de datos está corrupta y no es posible recuperar la información desde un respaldo o a través de los logs, se hace necesario realizar una reparación o repair, utilizando Eseutil con el switch /P.

A continuación podrá ver algunos ejemplo de cuando y como ejecutar estos comandos.

Realizar un Soft Recovery de una base de datos desde la consola de comandos:

Un soft recovery es el proceso en que ocurre un replay de los logs de transacciones cuando Exchange vuelve a montar una base de datos o cuando es necesario hacer el replay de los logs existentes a una base de datos desmontada a través de línea de comandos.

Si el archivo de checkpoint (Enn.chk) no está presente durante la recuperación, el proceso realizará un barrido de todos los logs disponibles hasta encontrar los faltantes. De esta forma, es recomendado que cuente con el archivo de checkpoint para reducir el tiempo de ejecución de la herramienta.

La sintaxis completa para ejecutar un soft recovery usando ESEUTIL es la siguiente:

Eseutil /R Enn /L Log_Files_dir /S Checkpoint_file_dir /D Database_file_path

Realizar un Hard Recovery de una base de datos desde la consola de comandos:

Un hard recovery es el proceso en que ocurre un replay de los logs de transacciones cuando desde Exchange se vuelve a montar una base de datos que ha sido restaurada desde un respaldo o cuando es necesario hacer el replay de los logs desde línea de comandos manualmente usando ESEUTIL hacia una base de datos que ha sido recuperada y que esta offline.

Una restauración desde un respaldo genera un archivo Restore.env que es utilizado de manera similar al checkpoint para definir los logs que serán requeridos para llevar la base de datos a un estado consistente.

Si necesitase ejecutar de manera manual este proceso, la sintaxis completa para ejecutar un hard recovery usando ESEUTIL es la siguiente:

Eseutil /CC Temp_files_path (Temp_files_path es el directorio temporal que se definió en la herramienta de respaldo para colocar los archivos que fueron restaurados)

Nota: Para verificar que log exacto requiere para llevar a modo consistente la base de datos puede ejecutar el comando Eseutil /CM Temp_files_path

Realizar una reparación de una base de datos desde la consola de comandos:

En el caso en que no cuente con los logs de transacciones para poder recuperar una base de datos, puede que sea necesario realizar una reparación de la misma utilizando el eseutil junto con switch /P. Tenga en consideración que este comando analiza cualquier página que este dañada y la descartará. De esta forma puede existir pérdida de información, por lo que este comando debe ser utilizado como última opción.

Si necesitase ejecutar este comando, la sintaxis es la siguiente:

Eseutil /P Database_file_path

Se recomienda realizar un respaldo de la base de datos a reparar antes de ejecutar la acción, mantener el doble de espacio disponible en el disco desde donde ejecutará la herramienta (ya que se generará una base de datos temporal) y tomar en consideración que este procedimiento es el que toma más tiempo de ejecución.

Anuncios
Categorías:Exchange
  1. enero 14, 2014 en 7:00 pm

    Hola, muchas gracias por tu blog para mi ha sido de gran ayuda, solo tengo una duda y un problema critico que te comento a continuación; mi base de datos pesa 0 arruinada por una inconsistencia del disco duro, pero por suerte tengo todos los logs de transacciones, ejecute el comando para reconstruir la base de datos con los logs que tenia
    Eseutil /R E00 /L “G:\Mailbox Database 1656365799” /D “D:\Exchange Server\V14\Mailbox\Mailbox Database 1656365799” pero al llegar al 40 % se traba y me envia el siguiente mensaje, Operation terminate with error -566 (JET_errDbTimeTooOld. dbtime on page smaller than dbtimeBefore in record). Me podrías indicar que puede estar pasando con esto. te lo agradecería mucho. saludos cordiales.

    • febrero 21, 2014 en 2:47 pm

      En este caso, tu solución seria realizar un Eseutil /P luego /D y si es un 2003 un isinteg /fix para luego montar la base de datos y recuperar la informacion (ojala llevarla fuera de esa base de datos).

      http://support.microsoft.com/kb/810199/en-us

      Lamento haber revisando tan tarde tu mensaje.
      Saludos!

  1. No trackbacks yet.

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: