Etiqueta: backup

Regresar una tabla en el tiempo en Oracle con Flashback

volvereneltiempoRegresar una tabla en el tiempo en Oracle con Flashback.

Teniendo un tiempo sin actualizar porque he tenido mucho trabajo, dejare un aporte que espero que pueda serle de utilidad por lo menos a uno aqui hablare de como Regresar una tabla en el tiempo en Oracle con Flashback.

 

La función de UNDO de Oracle es algo que cualquier DBA debería de saber, de todas maneras lo explicare aquí por si alguien tiene alguna duda. En caso que dañemos o queramos recuperar una tabla modificada o eliminada siempre podemos recurrir a la función de «Flashback Table» con esto podemos desde hacer selects a una tabla de a como se encontraba en algún punto en el pasado como recuperarla en la misma tabla u otra, por si quisiéramos comparar datos.

 

Para activar el UNDO en nuestra base de datos, existen 2 variables que tienen que estar en el SPFILE o PFILE, que son UNDO_MANAGEMENT que es el que define si está activo el UNDO y la variable UNDO_RETENTION, que marca en segundos cuanto tiempo podemos recuperar nuestras tablas, a mayor cantidad de UNDO_RETENTION mayor tiene que ser el tablespace de UNDO.

 

Alter system set UNDO_MANAGEMENT=AUTO;
Alter system set UNDO_RETENTION=86400;

// 86,400 segundos equivalen a 1,440 minutos o 24 horas en base a esto puedes calcular la retención.

 

Si tenemos la base de datos con una instancia dinámica (SPFILE) podemos modificar los anteriores valores de la siguiente manera:

Para hacer un SELECT a una tabla de cómo se encontraba un día antes de estos momentos, se hace de la siguiente manera («usuario» es el nombre de usuario dueño de la tabla):

select * from usuario.tabla1 AS OF TIMESTAMP SYSDATE – 1;

Así de sencillo.

 

Si tenemos el undo para varios días y quiero hacer el select para una fecha y hora en específico, se hace de la siguiente manera:

select * FROM usuario.tabla1 AS OF TIMESTAMP TO_TIMESTAMP(‘2013-12-04 22:00:00’, ‘YYYY-MM-DD HH24:MI:SS’);
// Con el anterior query hacemos que nos regrese la tabla a como estaba el «4 de diciembre del 2013»

 

Si quisiéramos crear una tabla que sea igual a otra tabla pero en una fecha anterior, se hace casi igual:
create table usuario.tabla_antes as select * FROM usuario.tabla1 AS OF TIMESTAMP TO_TIMESTAMP(‘2013-12-04 22:00:00’, ‘YYYY-MM-DD HH24:MI:SS’);

 

Si queremos crear una vista dinámica que nos muestre como estaba una tabla hace una hora (de forma dinámica) es así:
CREATE VIEW usuario.haceunahora AS SELECT * FROM usuario.tabla AS OF TIMESTAMP (SYSTIMESTAMP – INTERVAL ’60’ MINUTE);

 

Esto es de una gran utilidad para los DBA que están empezando.

 

Si al hacer estas tablas muestra el error
ORA-01555 Snapshot Too Old
Esto significa que la tabla no se encuentra dentro de la retención del UNDO, esto puede ser por el tiempo configurado o por falta de espacio en el UNDO

 

Como hacer un respaldo en Oracle usando RMAN de la forma mas sencilla

respaldo en oracle usando rman

Respaldo en Oracle usando RMAN:

Para descargar este tutorial en un PDF mucho mas fácil de seguir:
RespaldoyRecuperacionRMAN

 

Escribo este artículo porque al buscar sobre respaldos de Oracle o son extensas explicaciones de cómo funciona RMAN, solo hablare de lo mínimo necesario para tener un respaldo

  • Los scripts están pensados para implementarse en Unix/linux
  • Respaldo completo de la base de datos completa respaldando todos los datafiles
    Respaldo del controlfile
  • Respaldo completo de todos los archivelogs, permitiendo la posibilidad de mover la BD a un punto en el tiempo hacia atrás (definido por el tiempo de retención)
  • Todos los archivos de respaldos ya se encuentran compresos al nivel más eficiente
  • El script configura un tiempo de retención de 7 días, modifica esto dependiendo del tamaño de la BD
  • La ubicación donde guarda los archivos de respaldo no sigue las recomendaciones OFA, los guarda en /Backup/diario por conveniencia de la SAN
  • Dominando los pasos de recuperación se puede recuperar, mover o clonar la base de datos en 15-60 min dependiendo del tamaño de la BD

Read more

Oracle OFA o el estandar OFA

OFA o «Oracle Flexible Arquitecture» es la guia oficial que saco Oracle que especifica un estandar para la creacion de archivos y directorios para una correcta administracion de las bases de datos de Oracle.

Basicamente, si no existiera este estandar los DBA’s pondrian las carpetas y los archivos de los datafiles donde ellos quisieran, causando problemas de espacios, consistencias, los respaldos se volverian mas complicados, etc.

Seguir el OFA, simplemente significa crear las carpetas en el lugar adecuado siguiendo un solo orden, las ventajas son:

  • Organizar grandes cantidades de datos y software en el disco para mantener un orden y para evitar cuellos de botella.
  • Facilitar tareas administrativas sobre la misma información, como respaldos.
  • Facilitar el cambio entre distintas bases de datos Oracle.
  • Manejar de manera adecuada el crecimiento de las bases de datos Oracle.
  • Ayudar a evitar la defragmentación y evitar la contención de datos.

Continuar leyendo …

Read more

Configurar replicacion en MySQL

Instalacion de la replicacion de MySQL en ambiente maestro-esclavo para alta disponibilidad

Crear instancia de DataGuard

Nota: la instalacion de Oracle RDBMS se instala en la BD primaria y Standby, en este caso en la standby solo tiene la instalacion. …

Desarrollo de aplicación de reconocimiento de rostros y emociones

Este es uno de los desarrollos hechos por nuestro equipo, tiene como funcionalidad ser un demo de la capacidad de nuestra …