Backups de bases de datos Oracle

Abro este tema a proposito de una consulta de Monica sobre Backups de BBDD Oracle.

Como la creación y gestión de copias de seguridad es un tema muy amplio y puede dar para muchas aportaciones y discusiones mejor dedicarle un tema específico de este foro de BBDD Oracle. 

El tema de los backups de BBDD es demasiado amplio, y la utilización de un método u otro depende mucho de tus necesidades. Seguramente estaría bien escribir un artículo sólo sobre backups de BBDD Oracle, pero ahora mismo no creo que tenga tiempo de hacerlo.

Comentarte sólo que a partir de la versión 10g de Oracle la consola de administración web (Oracle Enterprise Manager) facilita mucho las tareas de backup, y es relativamente fácil preparar un sistema de backup  sencillo ayudándote del asistente.

Trabajar con RMAN, por ejemplo, requiere mucho más conocimiento.

Eso sí, te recomiendo que antes hagas pruebas en un entorno de desarrollo, con los backups no cuesta mucho acabar consumiendo todo el espacio disponible, o saturando los recursos del server de BBDD.

Te indico también algunos enlaces que he encontrado 'googleando', y pienso que te pueden ser útiles para empezar:

http://www.databasedesign-resource.com/oracle-backup.html

http://systemadmin.es/2009/10/realizar-un-export-backup-de-oracle-mediante-exp

 

Otra opción es utilizar Oracle Secure Backup para gestionar los backups de BBDD Oracle. Como mínimo tendrás una documentación muy completa en la web de Oracle sobre cómo utilizar este producto y establecer tus políticas de backups para bases de datos Oracle.

 

En respuesta a por Carlos

Segun mi propia experiencia, trabajar con RMAN no me parece tan complejo una vez profundizamos un poco. La copia es rápida y autocomprimida ocupa poco espacio.

Las copias desde Enterprise Manager son más sencillas pero a mi personalmente todo lo que se puede hacer desde la consola lo acabo haciendo desde linea de comandos... Es bonita pero no es muy de mi agrado para cualquier cosa que no sea detectar picos de uso en la base de datos.

Por cierto, si dispones de suficiente espacio y ventana horaria no está mal acompañar las copias de rman con un export (copia lógica) de la base de datos como apunta Carlos en su segundo enlace.

En respuesta a por Carlos

 Hola Carlos,

Tus notas son interesantes. Te cuento que tengo un problema, actualmente uso rman, antes todo funcionaba bien porque mis backups salian a disco y todos felices el catalogo no requeria mucho mantenimento. hace dos meses compraron la solucion del tivoli y ahora los backups salen directo a cinta. Los problemas que tengo son los siguientes:

- Mi escenario es que algunos backups estan en modo expired y otros en modo available.

- Necesito que los backups que estan en modo expired, pasen a modo available.

- Se requiere que se borre solo los backups, de hace un mes, los anteriores no se deben eliminar, es decir quiero que sigan en el catalogo como available. solo se requiere elimnar los del 14 de mayo de este año hasta el 14 de junio de este año.

Se requiere esto, porque tivoli dice que si los borro de mi catalogo, tivoli los borra de cinta.

Lo de borrar por fechas es posible?

He probado los siguientes comandos.

*delete backup tag='numero de tag del backup', pero no lo borra por lo menos en el catalogo sigue apareciendo.

*no quiero hacer delete expired backup, porque va a borrar los del año pasado, y eso aun los necesitamos, dado que ahi esta en backup anual, porque cuando me piden restaurar la data, yo hago un duplicate con rman, y si ese backup se elimina del catalogo, ya no voy a poder hacer el duplicate o si?

Espero me puedas ayudar. Gracias 

Saludos,

Hola me podrian ayudar a como escojer un esquema e impórtelo en otra

base de datos, teniendo en cuenta de solo subir la data y teniendo en

cuenta que el esquema pre existe,

debe subirse la información correspondiente a los

backups del 06 junio 2009, 15 agosto 2009, 01 enero 2010 en un tablespace 

les agradezco mucho el favor su pagina es muy buena

En respuesta a por monicamaria

Para hacer una exportación/importación de sólo uno o dos esquemas quizás lo más sencillo sea utilizar la utilidad imp/exp de Oracle.

No se la versión de BD que tienes, pero a partir de la versión 10g también se puede usar Oracle Data Pump, que dicen que es más eficiente, pero imp/exp también debería funcionarte bien.

Te pongo un ejemplo de algo parecido a lo que haría yo, pero busca documentación sobre las opciones, haz alguna prueba y adáptalo a tu caso.

 

Desde linea de comandos, y utilizando el usuario propietario de la instalación de Oracle, o uno que pueda ejecutar las utilidades de Oracle, puedes utilizar el comando exp para crear un fichero de exportación con los objetos de los dos esquemas.

1. Exportación de los dos objetos de los dos esquemas en el fichero dosesquemas.dmp

> exp system/password@basededatos file=dosesquemas.dmp full=n
      OWNER=(USER1, USER2) GRANTS=y COMPRESS=y
      log=dosesquemas_exp.log

2. Copia del fichero de exportación al servidor donde se hará la importación

> scp dosesquemas.* oracleuser@servidor:/directorio

3. Abriendo una sesión de terminal en el servidor de la base de datos destino, importación de los esquemas

> imp system/password@basededatos2 file=/directorio/dosesquemas.dmp
      FROMUSER=USER1,USER2 TOUSER=USER1,USER2
      log=dosesquemas_imp.log ignore=yes

 

 
Enlazo algunos sitios donde he encontrado información que te puede ser de utilidad:
 
Manual de Backup y Recuperación con Oracle, Universidad de Valladolid
Import Export FAQ, Orafaq
Oracle export Utility y Oracle Import Burleson consulting

 

En respuesta a por monica (no verificado)

No se si te entiendo bien, pero el backup no se suele hacer por fechas. Hay muchas maneras de hacerlo, pero básicamente consiste en que cada cierto tiempo la base de datos guarda una copia completa de su estado actual, o va haciendo copias incrementales de los cambios.

Si tienes un backup de una copia completa podrás recuperar lo que había el dia que hiciste la copia, y si te interesan sólo registros creados o modificados entre dos fechas, tendrás que crear un campo adicional para almacenar esa fecha, y después discriminar por fecha en la recuperación, pero ya te digo que no se suele hacer así.

Con backups incrementales, después de activar en la base de datos el modo de Archivado (Archive Log), lo que sí puedes hacer es recuperar la base de datos tal como estaba en un momento o fecha determinada, que también podría ser lo que estás preguntando. Pero piensa que tampoco es sencillo, la operación tiene su miga, y tienes que crear una política de backups con todos los valores bien ajustados para no consumir demasiado espacio en el servidor, ni reducir demasiado el rendimiento de la BD.

Por eso te recomiendo que consultes bien la documentación para encontrar lo que necesitas. Para empezar a hacerte una idea general de cómo funcionan los backups de Oracle yo comenzaría por el Manual de Backup y Recuperación con Oracle.

En respuesta a por Carlos

HOLA 

carlos  seria posible tua ayuda?

 

en mi caso replique el servidor de produccion para generar un servidor de pruebas,  las bases de datos son identicas, hace poco hice un backup en frio que quedo bn de igual manera genere un expotr completo antes del backup : expdp

 ahora solo quiero exportar los datos que se generaron despues de la exportacion a la fecha actual he tratado con el parametro  inctype=cumulative pero me genera error : parametro desconocido , ya valide el  expdp help = y no esta 

 

seria posible de su ayuda para generar el export acumulativo y tambien el import

el servidor es win2003 con oracle 10g

 

gracias 


expdp  system/12345 full=y inctype=cumulative constraints=Y dumpfile=EXP_DIC_15.dmp logfile=log_exprt_DIC_15.log full=y directory=export_1  

Hola,

He encontrado este comando que logra solo correr el crosscheck para ciertas fechas:

 ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE sbt;

CROSSCHECK BACKUP 

  COMPLETED BETWEEN '14-May-10' AND '14-Jun-10';

- Pero ahora tengo el problema, que hay otros backups que estan en estado expirados, hay alguna manera que vuelvan a estar en modo available? Espero que si

Saludos,

Elizabeth

 

 

Hola carlos, la cuestion es esta

 

Soy algo nuevo con esto de las bases de datos, cuando yo tome el rol de DBA estaban las estructuras, usuarios, etc. ya creados y he dado una revisada y mantenimiento a esto en primera instancia, ahora queiro establecer un esquema de respaldos, actualmente solamente se hacen respaldos logicos de manera full diaria con el export, pero no se hacen respaldos fisicos de los ficheros de datos, control file, etc. pienso comenzar a hacer los respaldos en frio de la DB ya que esta en modo NOARCHIVELOG, alguna recomendacion que tengas para hacer este tipo de respaldo o algún sitio donde pueda tener mayor referencia tanto a respaldos en caliente y respaldos en frio,

 

saludos

Hola .. tengo un problema ...

en la universidad me mandaron hacer un proyecto de BDD

Oracle esta instalado en una mquina virtual  y la interfaz esta hecha  en una maquina fisica necesito sacar un respaldo de la base pero no se como hacerlo desde la maquina fisica a la virtual..

podrias ayudarme por favor