Documente Academic
Documente Profesional
Documente Cultură
5 Instalación de Swingbench La solución ideal para un escenario de recuperación de una tabla o un objeto de la
base de datos, es utilizar un respaldo realizado con Export Data Pump. Por falla en
el archivo dmp, porque no existe dmp para una fecha en que se desea restaurar el
Editores Generales
5a. Ave. 5-55 Zona14,Edificio Euro Plaza Torreobjeto, entre otras razones, es necesario recurrir a un respaldo RMAN para
II, Nivel 12
Francisco Barrundia recuperar uno o varios objetos.
Teléfono: (502)2364-5300Fax: (502)2364-5311
Alejandro Lau
Email.info@datum.com.gt Veamos la restauración de una tabla, en versión 11gR2 o inferior de Pagina
base de1/10
datos
Debbie Morán Oracle, a través de un respaldo RMAN. Luego comparemos la nueva característica
disponible en 12c para el mismo escenario.
Autores
Contribuyentes Restauración de tabla en 11gR2 con respaldo RMAN
Luis Alonzo
1. Obtener respaldo RMAN de la base de datos, la cual debe estar en modo
Alejandro Lau ARCHIVELOG. Se requerirán archivelogs para recuperar el objeto, a una fecha
Manuel Carrillo y hora específica.
2. Es posible restaurar en el mismo servidor origen, pero el procedimiento es
propenso a errores. Para reducir el riesgo en un ambiente de producción, se
recomienda realizarse en un servidor alterno con la misma plataforma y versión
de Oracle Database.
3. Crear una instancia de base de datos temporal, que servirá únicamente para
restaurar los tablespaces SYSTEM, SYSAUX, UNDO y el que contiene el
objeto a restaurar.
5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 Página 1
PBX (502) 2364-5300 Fax (502) 2364-5311
newsletter@datum.com.gt
4. Una vez configurados correctamente los parámetros de la instancia temporal y definidas las
rutas donde se restaurarán el control file, datafiles y online logs, se inicia la instancia en modo
NOMOUNT y se restaura el control file con RMAN. Luego se monta la base de datos.
5. Colocar OFFLINE todos los datafiles que no se van a restaurar.
6. Definir fecha y hora a la que se desea realizar la recuperación, con la cláusula SET UNTIL
TIME en un bloque de RMAN. Realizar la restauración y recuperación.
7. Verificar que existan las rutas y que hay espacio para crear los online logs. En este punto ya
podemos abrir la base de datos en modo lectura/escritura con la opción RESETLOGS.
8. Realizar export de la tabla que deseamos recuperar. Con este archivo, ya podemos realizar un
import en la base de datos origen, con la opción REMAP_SCHEMA.
Se realiza con la instrucción RECOVER TABLE de RMAN, la cual permite recuperar una o varias
tablas o particiones, utilizando una instancia auxiliar. El proceso es el mismo que en versiones
previas, pero de forma automatizada. Esto reduce la posibilidad de errores.
1. La base de datos origen debe estar abierta en modo de escritura y en modo ARCHIVELOG.
2. Deben estar disponibles los respaldos RMAN y archivelogs necesarios para la recuperación a
la fecha y hora requerida. En 12c se requiere un tablespace adicional: SYSTEXT.
3. Espacio disponible en ruta auxiliar para la restauración de tablespaces.
El procedimiento es el siguiente:
En este ejemplo se crea una instancia auxiliar en la ruta indicada, donde se restaurarán
únicamente los datafiles necesarios para la tabla EMPLOYEES en la PLUGGABLE DATABASE
T12CPDB1. Una vez restaurada la base de datos auxiliar, se realiza un export con Data Pump, se
elimina la base de datos auxiliar y se realiza un import a la base de datos indicada.
Para bases de datos que no pertenecen a un Container Database, únicamente se puede generar
un export de la tabla; no es posible importarlo directamente. Lo anterior se logra utilizando las
cláusulas DATAPUMP DESTINATION y DUMPFILE.
En resumen, hay varias mejoras a RMAN en 12c; la presentada en este artículo permite reducir el
tiempo de recuperación y el riesgo a errores humanos.
5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 Página 2
En instalaciones de Oracle Database previas a la versión 10g solo tenemos dos opciones para
ubicar los datafiles: filesystem y raw devices. Los filesystems nos brindan mucha flexibilidad en la
administración. Los raw devices ofrecen un rendimiento óptimo para el acceso a los datos, pero la
administración es muy complicada.
A partir de 10g surge una nueva alternativa, Automatic Storage Management o ASM, que ofrece un
rendimiento casi igual a los raw devices, pero sin la complejidad de administración. ASM es un tipo
especial de filesystem que no se puede ver desde el sistema operativo, pero sí desde el Enterprise
Manager, desde el utilitario asmcmd y desde el Recovery Manager (RMAN).
Si contamos con una instalación Oracle Database previa a 10g o 10g sobre filesystem, tenemos la
opción de migrar hacia 10g con ASM. Se recomienda como mínimo contar con un diskgroup para
datos (por ejemplo DATA) y un diskgroup para archivelogs y respaldos (por ejemplo RECO). El
diskgroup RECO se recomienda al menos dos veces más grande que el diskgroup DATA.
En algún caso podríamos necesitar mover la base de datos desde ASM hacia filesystem. Por
ejemplo, si queremos cambiar los discos asociados al ASM, pero tomará varios días y no
queremos una interrupción de servicio tan prolongada.
Si tenemos una base de datos 10g ya existente sobre filesystems y queremos moverla
completamente hacia ASM, el procedimiento es sencillo. Asumamos que la base de datos se llama
orcl10g:
5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 Página 3
Una vez realizado el comando switch database to copy, los archivos originales quedan como
copias y los nuevos archivos pasan a ser utilizados por la base de datos.
4. Agregar un nuevo archivo temporal y botar el anterior:
RMAN> alter database open;
SQL> alter tablespace TEMP add tempfile '+DATA' SIZE 100M;
SQL> alter database tempfile '/u01/oradata/orcl10g/temp01.dbf' drop;
5. Crear nuevos miembros de logs y botar los anteriores. Supongamos que hay 3 grupos
actualmente:
SQL> alter database add logfile member '+DATA' to group 1;
SQL> alter database add logfile member '+DATA' to group 2;
SQL> alter database add logfile member '+DATA' to group 3;
SQL> alter database drop logfile member 'nombre completo grupo1';
SQL> alter database drop logfile member 'nombre completo grupo2';
SQL> alter database drop logfile member 'nombre completo grupo3';
6. Verificar que todos los archivos han sido movidos hacia ASM:
SQL> select name from v$controlfile
union
select name from v$datafile
union
select name from v$tempfile
union
select member name from v$logfile;
Para mover la base de datos de ASM hacia filesystem se realiza el mismo procedimiento,
cambiando las ubicaciones fuente y destino.
Los parametros EXCLUDE e INCLUDE están disponibles con DataPump (expdp, impdp), los
mismos pueden ser utilizados para limitar lo que se importa o exporta, ya sean tablas,
índices, triggers, funciones…
EXCLUDE=[object_type]:[name_clause],[object_type]:[name_clause]
INCLUDE=[object_type]:[name_clause],[object_type]:[name_clause]
5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 Página 4
1. Instalar JDK 6:
Editar $JAVA_HOME y ejecutar
"datagenerator":
5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 Página 5
5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 Página 6
5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 Página 7
Con archivelog
Tiempo
Compresión (minutos)
Nula sin paralelismo 75
Nula con paralelismo 21
For Query con paralelismo 19
5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 Página 8
Con paralelismo
5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 Página 9
5a Av. 5-55 Zona14, Europlaza World Business Center, Torre II, Nivel 12 Página 10