Hola, En el alert log de mi base de datos aparece muy a menudo "tread 1 cannot allocate new log" checkpoint not completed Puede alguien decirme de que se trata y la solución. Gracias anticipadas
1 Respuesta
Respuesta de hugogonzalez
1
1
hugogonzalez, Administrador de Bases de Datos Oracle(7
Noto que dominas un poco el tema de Base de Datos, por lo que me permito darte una breve de el significado de "Check Point"; en un lenguaje muy tecnico; según el manual: Es un evento de la base de datos que Sincroniza los bloques modificados de los datos en memoria con los "datafiles" en disco. Ofrece a Oracle los medios para asegurar la consistencia de los datos modificados por transacciones. El mecanismo de escritura de los bloques modificados en disco en Oracle no se sincroniza necesariamente con el "commit" de las transacciones correspondientes. Un "check point" tiene dos propósitos: (1) para establecer consistencia de los datos, y (2) permite una recuperación de base de datos más rápida. ¿Cómo es la recuperación más rápida? Porque todos los cambios de la base de datos hasta el "check point" se han registrado en los datafiles, haciendo innecesario aplicar los "redologs" antes del punto del "check point". El "check point" debe asegurarse de que todos los "buffers" intermedios modificados en el "cache" realmente estén escritos a los datafiles correspondientes para evitar la pérdida de datos que puedan ocurrir un "crash" (falla del disco). ¿Un poco confuso no? Pero en fin lo importante es que debe quedar clar que debes resolver ester caso lo más pronto posible, pues se trata de un mecanismo especializado de la B.D. Oracle que incide en dos ascpectos fundamentales: seguridad y performance. Esto es Básico. Por otro lado te comento que cada vez que se realiza un "check point" la base de datos se "paraliza" o "congela" hasta terminarlo, es por ello que debe estar bien entonado" tal proceso(el del "check point". "Check point not completed": Significa basicamente --->"TIEMPOS DE ESPERA". Oracle no puede completar el "cehck point" y debe esperar hasta que esto ocurra, "check point not ..." simplemente te avisa que debes tomar accion respecto a esto. En un documento en "Meta Link" aparece esto: -- -- -- The way to resolve incomplete checkpoints is through tuning checkpoints and logs: 1) Give the checkpoint process more time to cycle through the logs - Add more redo log groups - Increase the size of the redo logs 2) Reduce the frequency of checkpoints - increase LOG_CHECKPOINT_INTERVAL - increase size of online redo logs 3) Improve the efficiency of checkpoints enabling the CKPT process with CHECKPOINT_PROCESS=TRUE 4) Set LOG_CHECKPOINT_TIMEOUT = 0. This disables the checkpointing based on time interval. 5) Another means of solving this error is for DBWR to quickly write the dirty buffers on disk. The parameter linked to this task is: -- -- -- Nota: el DocId: 147468.1 Normalmente, la solución es aumentar el tamaño de los "redo logs". Esto es lo recomendado, lo más inmediato posible. DocId: 1035935.6 Luego te invito a que des una revisión a fondo, para ello te sugiero el uso del "StatsPack" para poder determinar cual es la solución más apropiada para este caso. DocId:94224.1 Espero haber ayudado, Un cordial saludo, ___________________________ Hugo Goznalez, Cc's Venezuela.
Muy bien, el tema da la entonación me quedo muy claro. Gracias. Tu tiendes a ser bien explicativo. Extrañada que hayas abreviado. Alguien que no este familiarizado seguramente te re-preguntaría ... Bye.