El problema es que no tengo unidad de cinta para backup y sólo hago copia de seguridad de Oracle con Export (expdp), no hago RMAN ni nada por el estilo. La base de datos la tengo en modo archivado (archivelog). He visto que la unidad C donde tengo instalado Oracle 10g x64 se está quedando sin espacio y he visto una carpeta llamada "flash_recovery_area" donde Oracle va metiendo ficheros con el nombre:
O1_MF_1_52_7JK26TKV_.ARC
de unos 40MB de tamaño.
No tengo muchos conocimientos de Oracle ¿se pueden eliminar estos ficheros? si se pueden eliminar ¿cómo se hace? ¿puedo eliminarlos directamente? estos ficheros ocupan 10GB y Oracle va creando varios cada día.
Ultima edición por varios el Sab Jun 09, 2012 5:12 pm, editado 2 veces
El problema es que no tengo unidad de cinta para backup y sólo hago copia de seguridad de Oracle con Export (expdp), no hago RMAN ni nada por el estilo. La base de datos la tengo en modo archivado (archivelog). He visto que la unidad C donde tengo instalado Oracle 10g x64 se está quedando sin espacio y he visto una carpeta llamada "flash_recovery_area" donde Oracle va metiendo ficheros con el nombre:
O1_MF_1_52_7JK26TKV_.ARC
de unos 40MB de tamaño.
No tengo muchos conocimientos de Oracle ¿se pueden eliminar estos ficheros? si se pueden eliminar ¿cómo se hace? ¿puedo eliminarlos directamente? estos ficheros ocupan 10GB y Oracle va creando varios cada día.
A grandes rasgos, los ficheros que nos comentas son ficheros de Archive Log (Log archivado). Cuando los ficheros de Redo Log se llenan el contenido de los mismos se copia a disco a estos ficheros de Log Archivado antes de que estos datos sean reemplazados en los ficheros de Redo Log, también se escriben a los ficheros de datos (datafiles) de Oracle. Digamos, a grandes rasgos, que Oracle hace algo así:
Todas las transacciones, modificaciones y demás en las tablas de datos de Oracle se guardan en un primer lugar en los ficheros de Redo Log, estos ficheros no son muy grandes, conforme se van llenando, los datos pasan a los datafiles (ficheros de datos de los tablespaces de Oracle) y, si tienes la base de datos en modo archive log también pasarán a los Log archivados que son los ficheros que nos comentas.
La ventaja de usar los ficheros de log archivado es que Oracle te permitirá mediante RMAN recuperar una base de datos en el tiempo, por ejemplo en el estado en que se encontrara hace una semana, pues en estos ficheros de log archivado se guardan todas las transacciones ejecutadas y el modo de revertirlas.
Por supuesto te lo hemos explicado a muy grandes rasgos, el proceso real de Oracle es más complejo.
Estos ficheros sólo deben ser eleminados mediante RMAN, realizando una copia de seguridad. No deben ser eliminados manualmente.
A continuación te indicamos cómo hacer copia de seguridad a disco en Oracle 10g con RMAN, no necesitas unidad de copia de seguridad.
1. Prepara una unidad y carpeta como destino de la copia de seguridad de Oracle con RMAN, intenta que no sea la misma unidad donde tienes los datos de Oracle, por ejemplo:
D:\copia_rman
2. Puesto que usas Windows Server 2008, abre una ventana de MS-DOS, una consola de comandos.
3. Ejecuta el siguiente comando para acceder a RMAN:
Código:
rman target sys/contraseña@SID_BD
Donde "sys" será el usuario sys de Oracle (DBA), "contraseña" será la contraseña de este usuario y "SID_BD" será el nombre (SID) de la base de datos.
4. Dentro de RMAN añade las siguientes líneas (pulsa intro para cada línea):
Código:
run {
allocate channel C1 device type DISK format 'D:\copia_rman\csbd_%d_%u_%t.bak';
backup database include current controlfile plus archivelog delete all input;
}
Con lo anterior harás copia de seguridad de Oracle sin necesidad de deternelo (en caliente) y eliminará los ficheros de log archivado, digamos que los pasará al destino indicado e indicará a Oracle que ya han sido eliminados y respaldados.
Prueba esto y nos cuentas.
Ultima edición por alonsojpd el Sab Jun 09, 2012 8:00 pm, editado 1 vez
4. Dentro de RMAN añade las siguientes líneas (pulsa intro para cada línea):
Código:
run {
allocate channel C1 device type DISK format 'D:\copia_rman\csbd_%d_%u_%t.bak';
backup database include current controlfile plus archivelog delete all input;
}
Con lo anterior harás copia de seguridad de Oracle sin necesidad de deternelo (en caliente) y eliminará los ficheros de log archivado, digamos que los pasará al destino indicado e indicará a Oracle que ya han sido eliminados y respaldados.
Prueba esto y nos cuentas.
Muchas gracias por la respuesta, ya está solucionado, me ha eliminado los ficheros ejecutando RMAN y ha creado varios de 2GB de tamaño en la unidad que le he indicado ¿qué hago con estos ficheros creados? para ejecutar el RMAN he tenido que acceder con el comando CD a la carpeta bin donde se encuentra rman.exe:
Muchas gracias por la respuesta, ya está solucionado, me ha eliminado los ficheros ejecutando RMAN y ha creado varios de 2GB de tamaño en la unidad que le he indicado ¿qué hago con estos ficheros creados? para ejecutar el RMAN he tenido que acceder con el comando CD a la carpeta bin donde se encuentra rman.exe:
C:\oracle\product\10.2.0\db_1\BIN
El fichero resultante de la copia de seguridad con RMAN será eliminado por el script RMAN que te hemos comentado anteriormente, por lo tanto antes de que sea reemplazado por el script es recomendable que hagas copia de este fichero y la guardes durante un tiempo.
Lo ideal es que programes el RMAN a una hora y calcules cuánto tiempo tarda, para después programar una segunda copia del fichero resultante de RMAN a otra unidad o cinta.
El fichero resultante de la copia de seguridad con RMAN será eliminado por el script RMAN que te hemos comentado anteriormente, por lo tanto antes de que sea reemplazado por el script es recomendable que hagas copia de este fichero y la guardes durante un tiempo.
Lo ideal es que programes el RMAN a una hora y calcules cuánto tiempo tarda, para después programar una segunda copia del fichero resultante de RMAN a otra unidad o cinta.
¿Cómo puedo hacer un script o un fichero .bat para ejecutar RMAN de forma automática? mi idea es hacer un .bat (o lo que sea) y añadir una tarea programada a Windows para que ejecute este proceso de RMAN todos los días.
¿Cómo puedo hacer un script o un fichero .bat para ejecutar RMAN de forma automática? mi idea es hacer un .bat (o lo que sea) y añadir una tarea programada a Windows para que ejecute este proceso de RMAN todos los días.
Sigue los pasos que indicamos en el siguiente post de este foro:
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A