- Se normaliza 3 copias de seguridad
- 1 a la mano
- 2 administración
- 3 fuera de la organización
- Los datos se guardan en Tablespaces

- Los que hay que respaldar son los de usuarios no los de oracle por que se reinstala y ya
- en Oracle hay componentes que se llaman DATA RECOVERY
- son archivos, componentes e información que se deben configurar para que esten funcionando
- A nivel de disco instalación basica
- d1 -> SO ORACLE
- d2->Datos de usuario

- Pero con data recovery otro disco pero hay que configurarlo

- Oracle recomienda redondar

- Oracle todo funciona en memoria las genera en memoria hasta que haga commit y luego se guardan en los Redo Logs
- INSERT
- CREATE
- INSERT

- En estos registros se guardan en redo logs de manera TEMPORAL contiene información como
- ID operación
- Usuarios
- Fecha
- Sentencias
- Son temporales se gurdan como 20 minutos

- Redo log como funciona
- si hay muchas operaciones se llena el 1 y sigue con el 2

- Y regresa al 1 pero como no se pueden perden

- hay otro componente que es una carpeta llamado FRD / Fast Recovery que crea una carpeta donde copia el contenido de r1 al archivo y lo guarda
- Y cuando ya aseguro borra el contenido del r1
- y permite grabar

- y continua el proceso

- Data recovery
- Redo Logs: la información mas reciente
- FRAD: Archivelog.ARC Información archivada
- Los ARC hay que configurarlos
- en modo ArchiveLog o si no no esta haciendo data recovery
1. Redo log
- forman parte de la data recovery
- Se organizan en grupos
- Oracle recomienda 3 miembros minimo

- y cada uno en disco distinto

- Se guardan las operaciones en binario
- Multiplexado se graban en paralelo

- Si la BD no encuentra los redo logs la BD se cae
- Por estos se recomienda minimo 3
- Descargar la vm con oracle https://www.talleresoracle.com/vm
- https://www.youtube.com/@TalleresOracleONLINE/videos
U: SYSTEM
P: oracle
- Consultar los archivos
----------------------------------------------------
-- 1. Listar los archivos REDO LOG
----------------------------------------------------
SELECT * FROM V$LOGFILE
- Asi podemos ver los miembros
- Vemos los discos
- SO Oracle

- podemos ver que los grupos estan en los mismos discos /u01
- Se se daña perdemos so y datos
- Y le damos la carga de lso redo logs el disco se puede saturar

- La otra vista nos muestra un estado de cada grupo
----------------------------------------------------
-- 2. Mostrando el estado de los Grupos Redo
----------------------------------------------------
SELECT * FROM V$LOG
- Redo log graba en el primer grupo y luego pasa al siguiente

- Current es el grupo activo
- podemos cambiar el el logfile

- Aplicamos

- Cuando se llena pasa al 1 y se asume que se paso al archivado

- Problema todo esta en el mismo disco

- Para moverlos
- Creamos unas carpetas para redo

- Agregamos miembro a grupo1
----------------------------------------------------
-- 3. Agregar un miembro adicional a cada Grupo
----------------------------------------------------
ALTER DATABASE ADD LOGFILE MEMBER
'/u02/redo/redo_m1_g1.log'
TO GROUP 1;
ALTER DATABASE ADD LOGFILE MEMBER
'/u03/redo/redo_m1_g2.log'
TO GROUP 2;
ALTER DATABASE ADD LOGFILE MEMBER
'/u04/redo/redo_m1_g3.log'
TO GROUP 3;

- Consultamos y ya tenemos 5 miembros

- Hay que eliminar entonces los otros para que el disco no tenga sobre carga
- Primero hay que sincromizar cambiando el switch para que se sincornicen ejecutamos esto varias veces

- No podemo elimoinar el mimebro si el fg1 esta activo

----------------------------------------------------
-- 5. Eliminar un miembro de un Grupo
----------------------------------------------------
ALTER DATABASE DROP LOGFILE MEMBER '/u04/redo/redo_m1_g3. log';

- Resultado

- Esto cuando es en filesystem (menos de 10000 usuarios) se maneja asi
- Cuando son mas usarios se usa asm que es una licencia especial que maneja esto
Zona FRA
- Es la carpera de arcivelog donde esta?
- Donde esta
--------------------------------------------------------
-- 3. Configure la zona FRA para ubicarla en “/u03/fra”
--------------------------------------------------------
Ubicación actual
SELECT VALUE FROM V$PARAMETER WHERE NAME = 'db_recovery_file_dest';
- Esto nos dice que cantidad de sesiones tenemos

- Esto nos dice donde esta la zona FRA

- vamos hacer que se llenen los redo logs
- para que se graben en los FRA se graban aqui y crea una carpeta por dia

- Crear datos
CREATE TABLE ARTICULOS ( id integer , NOMBRE VARCHAR(50) );
BEGIN
FOR i IN 1..200000 LOOP
INSERT INTO ARTICULOS VALUES ( I, 'ART_' || I );
COMMIT;
END LOOP;
DBMS_OUTPUT.PUT_LINE ('FINALIZADO');
END;

- y si vamos a la carpeta vemos que no se crearon si no que regresa a g1 o sea no esta en modo Archivado no se esta generando data recovery

- Si entgramos a RMAN y tratamos de hacer backup no sirve por que no esta en modo NOARCHIVELOG

- Configurar modo archivado
- Coinsultar modo
----------------------------------------------------
-- 1. Consultar el MODO archivado de la BD
----------------------------------------------------
SELECT LOG_MODE FROM V$DATABASE;

- Para activarlo modo archivo
----------------------------------------------------
-- 2. Configurar la BD en Modo Archivado
----------------------------------------------------
CMD> SQLPLUS / AS SYSDBA
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP MOUNT
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;
- Una vez levantado con archive

- Creamos carpeta para almacenar la zona FRA

--------------------------------------------------------
-- 3. Configure la zona FRA para ubicarla en “/u03/fra”
--------------------------------------------------------
Ubicación actual
SELECT VALUE FROM V$PARAMETER WHERE NAME = 'db_recovery_file_dest';
Ubicación nueva ( /u02/fra )
$ mkdir /u03/fra
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = '/u03/fra' SCOPE = BOTH;
- SCOPE = BOTH; grabelo en memoria para que lo haga inmediato y guardelo en la tabla

- Vamos la carpeta

- Corremos el proceso

- los crea



- Contiene las operaciones

- Si se corrempe un arc podemos recuperar hasta este punto

- Podemos hacer un script de linux para que respalde en la nube
- o podemos hacer una oracle dataguard que es una copia en la nube

3. BACKUP: Recovery Manager RMAN
- Oracle crea una carpeta donde todos los dias se crea una back de lo historial esto dentro de la zona FRA

- Permite hacer
- backup
- Restore
- Como ingresamos
rman target

- No se le da el nombre el se encarga

- ingresamos

- backup (se guarda en la zona FRA)

- Solo contiene los datafiles no redo logs ni archivelog

- Se crean

- El tiene un catalogo de los bck que tiene y el se encarga de restaurar
- Que se debe guardar para poder restaurar

- vamos a botar la bd

CASO1: Recovery
- Creamos nuevo TB
- Creamos carpeta

Caso 1 : PERDIDA DE TABLESPACE Y RESTAURACION EN LA MISMA UBICACION
Se trata de un TABLESPACE que fue dañado y se requiere restaurarlo en la misma ubicación.
-- 1. CREANDO ESCENARIO:
CREATE TABLESPACE TBS_DATA
DATAFILE '/u02/datos/data01.dbf' SIZE 10M;
CREATE TABLE CURSO ( NOMBRE CHAR(50)) TABLESPACE TBS_DATA;
INSERT INTO CURSO VALUES ('ORACLE');
INSERT INTO CURSO VALUES ('SQL');
COMMIT;
SELECT * FROM CURSO;
- Ahorita estos datos estan en memoria redolog o ARC
- el tB se crea pero no tiene los datos

- Borramos el data file

- Consultamos y si estan los datos

- Oracle va seguir trabajando hasta que se corra un proceso interno que se de cuenta que no hay un datafile
- Podemos forzar a que guarde a disco baja todo lo de menoria a disco


- Solucion
Para iniciar proceso de restauración , debemos llevar a la base de datos en el modo MOUNT
Con el RMAN:
RMAN> STARTUP MOUNT;
RMAN> RESTORE TABLESPACE TBS_DATA;
RMAN> RECOVER TABLESPACE TBS_DATA;
RMAN> ALTER DATABASE OPEN;
Comprobando restauración:
SQL> SELECT * FROM CURSO;
- Hay 2 acrhivos importantes al iniciar la BD
- Control file: tiene información de todos los procesos, backup, etc
- Proceso
- RESTORE TABLESPACE TBS_DATA;
- Tiene el ultimo bak de esto -> no existe
- Existe en el redo log y ARC RECOVER TABLESPACE TBS_DATA;
- y luego abrimos ALTER DATABASE OPEN;
- RESTORE TABLESPACE TBS_DATA;
- Ingresamos BD con error no iniciada

- Montamos

- Restaurar TB
- crea el tb del back (si existe)
- Si no lo crea limpio

- Complementar redo log y ARC

- iniciamos

- Comprobamos

Caso2: con asesor
- Herramienta Asessor de recuperación del rman
- Consultamos los data files

- Borramos varios archivos


- checkpoint

- la BD no sirve y se trata de levantar
- Esto indica que sp file esta b ien

- Esto indica que el controlfile esta bien

- Esto ques un datfile

- Entramos a traget

- Mountamos

- Listamos arcvhivos
list failure;

- pedir mas detalles
list failure 102 detail;

list failure 142 detail;

Asesorar en fallas
- Asesorame
advise failure 142;


vamos a la carpeta

- o muestramelo en pantalla
repair failure preview;

- Y si quiere que lo aplique

- caso 2 102






- quiere abriri la BD

- Datos restaurados
