Вы находитесь на странице: 1из 22

GESTIÓN Y SEGURIDAD DE BASES DE DATOS

AA5-Ev3

SERVICIO NACIONAL DE APRENDIZAJE

CURSO
GESTIÓN Y SEGURIDAD DE BASES DE DATOS

APRENDIZ

ALFREDO MARTINEZ ARIZA

AA5-Ev3

Migración de Bases de Datos

TUTOR
Camilo Andres Gutierrez Oviedo

SERVICIO NACIONAL DE APRENDIZAJE


GESTIÓN Y SEGURIDAD DE BASES DE
DATOS

A continuación realizaremos los pasos para configurar Oracle en el


cual realizaremos la migración de datos.
GESTIÓN Y SEGURIDAD DE BASES DE DATOS
AA5-Ev3

CONFIGURACIÓN DE IDIOMA
A continuación se presenta la configuración con un ejemplo:

Seleccionar en inicio panel de control clic en reloj, idioma y región.


GESTIÓN Y SEGURIDAD DE BASES DE DATOS
AA5-Ev3
En la siguiente ventana seleccionar administrativo.

En esta ventana selecciona cambiar configuración regional del sistema.


GESTIÓN Y SEGURIDAD DE BASES DE DATOS
AA5-Ev3
En esta ventana selecciona el idioma español (España)

En esta ventana clic en aceptar.

CONFIGURACIÓN DE ORÍGENES DE BASE DE DATOS


(ODBC)
GESTIÓN Y SEGURIDAD DE BASES DE DATOS
AA5-Ev3

En panel de control buscamos herramientas administrativas clic y selecciona


orígenes de datos (ODBC).

En la siguiente ventana clic en agregar.


GESTIÓN Y SEGURIDAD DE BASES DE DATOS
AA5-Ev3

Buscamos SQL SERVER clic en finalizar.

En la siguiente ventana en la columna del nombre coloca el nombre de a la base


de datos y en la columna del servidor colocamos (local) clic en finalizar.
GESTIÓN Y SEGURIDAD DE BASES DE DATOS
AA5-Ev3
Introduce la password y pulsa el botón

Se devuelve a la ventana administrador orígenes de datos y doble en clic en el


nombre de la base de datos.

Automáticamente aparece esta ventana con el nombre de la base de datos clic en


aceptar Y finalizar. Ya queda configurada la base de datos con el (ODBC)
terminado el proceso.
GESTIÓN Y SEGURIDAD DE BASES DE DATOS
AA5-Ev3
Copia de seguridad lógica en línea con expdp export en
Oracle 11g

Oracle Database 11g permite hacer copia de seguridad lógica de los datos que
componen la base de datos: tablas, vistas, procedimientos almacenados,
secuencias, funciones, disparadores, paquetes, sinónimos, usuarios, etc. Dicha
copia se realiza con el comando expdp y se realizará en línea (sin detener la base
de datos). Durante el proceso de export puede que caiga un poco el rendimiento
pero seguirá funcionando la base de datos normalmente. La utilidad expdp
(Export) de Oracle consulta la base de datos, incluyendo el diccionario de datos, y
escribe el resultado en un archivo binario llamado archivo de volcado de
exportación. Puede exportar la base de datos completa, usuarios determinados o
tablas específicas (entre otras opciones de exportación).

Una vez exportados los datos, podrían importarse con el comando impdp
(Import) en otra base de datos o en la misma si queremos "sobreescribirla".

Requisitos para funcionamiento del comando expdp de

Oracle 11g Oracle Database 11g Enterprise o Client

Obviamente, el primer requisito es disponer de Oracle Database 11g (bien en


su versión Enterprise o bien Oracle Database 11g Client. En loa siguientes
artículos explicamos cómo instalar Oracle Database 11g en un equipos con
sistemas operativos Microsoft Windows:

 Instalar Oracle 11g x64 en Windows Server 2008 R2 Enterprise x64.


 Instalar Oracle Database 11g R2 Enterprise 64bits en Windows Server 2003
64 bits.
 Instalar Oracle Database 11g Standard Edition en Windows XP Profesional.
 Instalar Oracle Database 11g Release 1 en Microsoft Windows 7.

Usuario y contraseña de Oracle y del sistema operativo con


permisos suficientes

Otro de los requisitos es disponer de usuario y contraseña de Oracle con


permisos suficientes para hacer copias de seguridad. Normalmente el usuario
SYS y el usuario SYSTEM tienen estos permisos, aunque cualquier usuario con el
Rol "DBA" podrá hacer copias de seguridad.

También deberemos disponer de un usuario y contraseña del sistema


operativo con permisos suficientes para leer y escribir en la carpeta destino
del fichero de volcado (resultado del export). Obviamente, además, deberemos
disponer de
GESTIÓN Y SEGURIDAD DE BASES DE DATOS
AA5-Ev3
espacio libre suficiente en el destino de la copia de seguridad. En Oracle 11g con
expdp el fichero de volcado (fichero resultante de la copia de seguridad) se puede
comprimir para ahorrar espacio.

Variable de entorno PATH apuntando a carpeta bin de


Oracle

En la variable de entorno PATH del sistema operativo deberá existir la ruta de


instalación de Oracle y la carpeta "bin" donde se encuentra el comando
"expdp". Para comprobar esto podremos hacerlo de dos formas:

1. Desde el botón "Inicio" - "Todos los programas" - "Accesorios" - "Ejecutar" (o


pulsando las teclas Windows + R), introduciremos "cmd" y pulsaremos "Aceptar".
En la ventana de MS-DOS que aparece escribimos el comando:

set path

Debería aparecer algo así:

Path=C:/app/ajpdsoft/product/11.2.0/dbhome_1/bin;C:/Windows/syste
m32;C:/W indows;
C:/Windows/System32/Wbem;C:/Windows/System32/WindowsPowerShell/v1.
0/ PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

2. También es posible ver el valor de la variable de entorno PATH en Windows


Server 2008 desde las propiedades del sistema, desde el botón "Inicio" - pulsando
con el botón derecho del ratón sobre "Equipo" y seleccionando "Propiedades":
GESTIÓN Y SEGURIDAD DE BASES DE DATOS
AA5-Ev3

En la ventana de "Sistema" pulsaremos en "Configuración avanzada del sistema":

En la ventana de "Propiedades del sistema" seleccionaremos la pestaña


"Opciones avanzadas" y pulsaremos en "Variables de entorno":
GESTIÓN Y SEGURIDAD DE BASES DE DATOS
AA5-Ev3

En la ventana de "Variables de entorno", en "Variables del sistema" buscaremos


la variable "Path". En esta variable se especifica cada ruta (path) separada por
punto y coma. Para consultar si está la ruta de la carpeta "bin" de Oracle
pulsaremos en "Editar":
GESTIÓN Y SEGURIDAD DE BASES DE DATOS
AA5-Ev3

En "Valor de la variable" debe aparecer la ruta de instalación de Oracle más


la carpeta "bin", algo así:

C:/Oracle/product/11.2.0/dbhome_1/bin

Esta variable de entorno es necesaria para que al programar y ejecutar un expdp


desde una ventana de MS-DOS, al escribir el comando desde cualquier carpeta el
sistema, lo encuentre en la carpeta "bin" de Oracle:
GESTIÓN Y SEGURIDAD DE BASES DE DATOS
AA5-Ev3

Si en la variable PATH no tenemos la carpeta "bin" de Oracle, para ejecutar el


comando expdp tendremos que indicar la ruta donde se encuentra o acceder a
esa carpeta y ejecutarlo.

Objeto de tipo directory creado en Oracle

Otro requisito indispensable para realizar un export (expdp) en Oracle Database


11g es disponer de un objeto de tipo Directory creado en la base de datos.
Este Directory debe apuntar a la unidad y carpeta destino de la copia de
seguridad.

Para crear este objeto Directory abriremos una ventana de MS-DOS (desde
"Inicio" - "Ejecutar" - "cmd"), abriremos SQL*Plus (utilidad para administrar
Oracle desde la línea de comandos) con el siguiente comando:

sqlplus /nolog

Nos conectaremos a Oracle con el comando:

connect usuario/contraseña as sysdba;


GESTIÓN Y SEGURIDAD DE BASES DE DATOS
AA5-Ev3
Crearemos el objeto directory con el comando:

create directory CARPETA_EXPORT as 'c:/backup/export';

Donde:

 CARPETA_EXPORT: será el nombre que le asignemos al directory, será el


que usemos en el comando export (expdp).
 'c:/backup/export': unidad y carpeta asignada al directory, será el destino
de la copia de seguridad export.

Para comprobar que el directorio se ha creado correctamente podemos ejecutar la


siguiente select:

select directory_name from dba_directories;

Nos devolverá varios directory, entre ellos el creado anteriormente:

La carpeta de destino debe existir, si no está creada el export devolverá el error:

ORA-39002: operación no válida


ORA-39070: No se ha podido abrir el
archivo ORA-29283: operación de archivo
no válida ORA-06512: en "SYS.UTL_FILE",
línea 536
ORA-29283: operación de archivo no válida
GESTIÓN Y SEGURIDAD DE BASES DE DATOS
AA5-Ev3
El archivo de volcado de exportación anterior no debe
existir

Si ya existe un archivo de volcado de exportación el comando expdp dará error


pues no reemplaza uno existente, el error:

ORA-39001: valor de argumento no válido


ORA-39000: especificación de archivo de volcado
errónea ORA-31641: no se ha podido crear el archivo de
volcado "c:/backup/export/copia_oracle_export.dmp"
ORA-27038: el archivo creado ya existe
OSD-04010: opción <CREATE> especificada; el archivo ya existe

Por lo tanto si decidimos crear una tarea programada para ejecutar este
comando automáticamente cada día deberemos, previamente, eliminar el
archivo de volvado de exportación anterior antes de ejecutar el expdp.

Parámetros para comando expdp export de Oracle 11g

El comando expdp en Oracle 11g tiene los siguientes parámetros (obtenidos


ejecutando expdp help=y):

 ATTACH: conectar a un trabajo existente. Por ejemplo,


ATTACH=nombre_trabajo.
 COMPRESSION: reduce el tamaño de un archivo de volcado. Los valores
de palabras clave válidos son: ALL, DATA_ONLY, [METADATA_ONLY] y
NONE.
 CONTENT: especifica los datos que se van a descargar. Los valores de
palabras clave válidos son: [ALL], DATA_ONLY y METADATA_ONLY.
 DATA_OPTIONS: indicadores de opciones de nivel de datos. Los valores
de palabra clave válidos son: XML_CLOBS.
 DIRECTORY: objeto de directorio que se va a utilizar para los archivos de
volcado y log.
 DUMPFILE: lista de nombres de archivo de volcado de destino
[expdat.dmp]. Por ejemplo, DUMPFILE=scott1.dmp,
scott2.dmp, dmpdir:scott3.dmp.
 ENCRYPTION: cifra todo o parte del archivo de volcado. Los valores de
palabras clave válidos son: ALL, DATA_ONLY,
ENCRYPTED_COLUMNS_ONLY, METADATA_ONLY y NONE.
 ENCRYPTION_ALGORITHM: especifica cómo se debe hacer el cifrado.
Los valores de palabras clave válidos son: [AES128], AES192 y AES256.
 ENCRYPTION_MODE: método para generar la clave de cifrado. Los
valores de palabras clave válidos son: DUAL, PASSWORD y
[TRANSPARENT].
 ENCRYPTION_PASSWORD: clave de contraseña para crear datos cifrados
en un archivo de volcado.
GESTIÓN Y SEGURIDAD DE BASES DE DATOS
AA5-Ev3
 ESTIMATE: calcula estimaciones de trabajo. Los valores de palabras clave
válidos son: [BLOCKS] y STATISTICS.
 ESTIMATE_ONLY: calcula las estimaciones de trabajo sin realizar la
exportación.
 EXCLUDE: excluye tipos de objeto específicos. Por ejemplo,
EXCLUDE=SCHEMA:"='HR'".
 FILESIZE: especifica el tamaño de cada archivo de volcado en unidades de
bytes.
 FLASHBACK_SCN: SCN utilizado para restablecer la instantánea de
sesión.
 FLASHBACK_TIME: tiempo utilizado para buscar el valor de
SCN correspondiente más cercano.
 FULL: exporta toda la base de datos.
 HELP: muestra mensajes de ayuda.
 INCLUDE: incluye tipos de objetos específicos. Por ejemplo,
INCLUDE=TABLE_DATA.
 JOB_NAME: nombre del trabajo de exportación que se va a crear.
 LOGFILE: especifica el nombre del archivo log [export.log].
 NETWORK_LINK: nombre del enlace de base de datos remota al sistema
de origen.
 NOLOGFILE: no se escribe el archivo log.
 PARALLEL: cambia el n·mero de workers activos para el trabajo actual.
 PARFILE: especifica el nombre del archivo de parámetros.
 QUERY: cláusula de predicado utilizada para exportar un subjuego de una
tabla. Por ejemplo, QUERY=employees:"WHERE
identificador_departamento > 10".
 REMAP_DATA: especifica una función de conversión de datos. Por
ejemplo, REMAP_DATA=EMP.EMPNO:REMAPPKG.EMPNO.
 REUSE_DUMPFILES: sobrescribe el archivo de volcado de destino si
existe.
 SAMPLE: porcentaje de datos para exportar.
 SCHEMAS: lista de esquemas que se van a exportar (esquema de
conexión).
 SOURCE_EDITION: edición que se usará para extraer metadatos.
 STATUS: estado del trabajo de frecuencia (seg) que se va a controlar
donde el valor por defecto (0) mostrará el nuevo estado cuando esté
disponible.
 TABLES: identifica una lista de tablespaces que se van a exportar. Por
ejemplo, TABLES=HR.EMPLOYEES,SH.SALES:SALES_1995.
 TABLESPACES: identifica una lista de tablespaces que se van a exportar.
 TRANSPORTABLE: especifica si el método transportable se puede utilizar.
Los valores de palabras clave válidos son: ALWAYS y [NEVER].
 TRANSPORT_FULL_CHECK: verifica segmentos de almacenamiento de
todas las tablas.
 TRANSPORT_TABLESPACES: lista de tablespaces desde los que se
descargarán los metadatos.
GESTIÓN Y SEGURIDAD DE BASES DE DATOS
AA5-Ev3
 VERSION: versión de los objetos que se van a exportar. Los valores de
palabra cable válidos son: [COMPATIBLE], LATEST o cualquier versión de
base de datos válida.

Los siguientes comandos son válidos en el modo interactivo:

 ADD_FILE: agrega un archivo de volcado al juego de archivos de volcado.


 CONTINUE_CLIENT: vuelve al modo de registro. El trabajo se reiniciará
si está inactivo.
 EXIT_CLIENT: sale de la sesión del cliente y deja el trabajo ejecutándose.
 FILESIZE: tamaño de archivo (bytes) por defecto para los comandos
ADD_FILE posteriores.
 HELP: resume los comandos interactivos.
 KILL_JOB: desconecta y suprime un trabajo.
 PARALLEL: cambia el número de workers activos para el trabajo actual.
 REUSE_DUMPFILES: sobrescribe el archivo de volcado de destino si
existe.
 START_JOB: inicia o reanuda el trabajo actual. Los valores de palabra
clave válidos son: SKIP_CURRENT.
 STATUS: estado del trabajo de frecuencia (seg) que se va a controlar
donde el valor por defecto (0) mostrará el nuevo estado cuando está
disponible.
 STOP_JOB: cierra en orden la ejecución del trabajo y sale del cliente. Los
valores de palabra clave válidos son: IMMEDIATE.

Ejemplos de copia de seguridad lógica en línea con expdp export en


Oracle 11g

A continuación mostramos algunos ejemplos para realizar backup lógico de


los datos de Oracle Database 11g. Para ejecutar el comando expdp
correctamente necesitaremos disponer de los requisitos explicados aquí.

1. Ejemplo de export full (copia de seguridad completa de la base de datos)


con un único archivo de volcado:

expdp usuario/contraseña dumpfile=copia_oracle_export.dmp


logfile=copia_oracle_export.log directory=CARPETA_EXPORT
full=y

Mientras se va realizando la copia lógica con expdp irá mostrando las tablas que
va exportando y el número de filas que contienen:
GESTIÓN Y SEGURIDAD DE BASES DE DATOS
AA5-Ev3

El comando anterior generará el fichero "copia_oracle_export.dmp" en la


carpeta indicada en el directory CARPETA_EXPORT con la copia de seguridad
lógica de todos los datos de toda la base de datos Oracle (todos los usuarios,
vistas, tablas, sinónimos, procedimientos, funciones, ...). Generará un fichero
llamado "copia_oracle_export.log" con el resultado de la copia:

2. Ejemplo de export full con un único archivo de volcado comprimido:

expdp usuario/contraseña dumpfile=copia_oracle_export.dmp


logfile=copia_oracle_export.log directory=CARPETA_EXPORT
full=y compression=all

Como ejemplo, el archivo anterior sin compresión ocupaba 270MB, mientras que
el comprimido de la misma base de datos ha ocupado 68MB.

3. Ejemplo de export full con varios archivos de volcado de tamaño predefinido


100MB:

expdp usuario/contraseña dumpfile=copia_oracle_export_%U.dmp


logfile=copia_oracle_export.log directory=CARPETA_EXPORT
full=y filesize=100M

En negrita hemos indicado los caracteres "%U" en el nombre del fichero de


volcado (dumpfile), este parámetro indicará a Oracle que vaya creando
tantos ficheros como necesite del tamaño indicando acabando en el nombre
con
GESTIÓN Y SEGURIDAD DE BASES DE DATOS
AA5-Ev3
xxx01.dmp, xxx02.dmp, xxx03.dmp, ... Si no se indican los caracteres "%U" y el
archivo de volcado supera el tamaño de filesize, el expdp mostrará el error:

ORA-39095: Se ha agotado el espacio del archivo de volcado: No se han podido


asignar XXX bytes
El trabajo "SYSTEM"."SYS_EXPORT_FULL_01" se ha parado debido a un
error fatal en 21:44:01

Nota: este método de dividir el archivo de volcado resultante en ficheros de un


tamaño especificado es muy interesante. Si tenemos una base de datos que ocupe
más de 10 ó 20 GB podremos tener problemas en algunos sistemas operativos al
generar ficheros de más de 10 ó 20 GB. Por ello este comando es muy
recomendable, permitirá generar ficheros de un tamaño máximo, generará
tantos como necesite. En el ejemplo hemos indicado que como máximo cree
ficheros de100MB, aunque lo habitual es indicar 2000MB (2GB). El resultado del
volcado quedará en varios ficheros:

4. Ejemplo de export del esquema de un usuario concreto de Oracle (tablas,


vistas y objetos de los que ese usuario es propietario):

expdp usuario/contraseña
dumpfile=copia_oracle_export.dmp
logfile=copia_oracle_export.log
directory=CARPETA_EXPORT schemas=nombre_usuario

El comando de exportación anterior sólo exportará los objetos (tablas, vistas,


etc.) de los que es propietario el usuario "nombre_usuario". Este comando será
mucho más rápido en su ejecución que si usamos full=yes pues no exportará los
objetos del sistema.
GESTIÓN Y SEGURIDAD DE BASES DE DATOS
AA5-Ev3
PASOS DE LAS COPIAS DE SEGURIDAD

Utilizamos el comando pg_dump y escogemos la tabla de datos a la cual le


sacaremos la copia de seguridad y luego le damos la dirección en la que la vamos
a guardar y la clase de documento que va a ser en este caso es .bak pero puede ser
.ora.

Luego buscamos el archivo en la dirección que le dimos y veremos el archivo que


contendrá nuestra copia de seguridad de la base de datos
GESTIÓN Y SEGURIDAD DE BASES DE DATOS
AA5-Ev3
RESTAURAR BASE DE DATOS EN ORACLE

1. Iniciar una sesión desde un terminal del servidor como usuario Oracle
2. Conectarse al RMAN:
$ rman target / nocatalog
3. Iniciar la base de datos sin montarla y restaurar el pfile utilizando el
autobackup:
RMAN> set DBID=248804095;
startup
nomount; run

restore spfile to pfile '/oracle/product/10.2.0/dbs/gobierno.ora' from


'/Migra/c- 248804095-20090130-04';
shutdown abort;
4. Iniciar la base de datos utilizando el pfile restaurado.
RMAN> set DBID=248804095;
RMAN> startup force nomount pfile =
/oracle/product/10.2.0/dbs/gobierno.ora';
5. Restaurar los archivos de control e la base de datos (control files)
run

6. restore controlfile from '/pruebarman/c-248804095-20090130-


04'; alter database mount;
AA5-Ev3
7. Restaurar los archivos de base de datos (data files) y restaurar la data al día del
backup utilizado.
run
restore database;
switch datafile all;
recover database;

8. Inicializar la base de datos para un normal funcionamiento.


RMAN> alter database open resetlogs;
9. Comprobar el funcionamiento de la base de datos restaurada, para ello se
realizaran prueba de conexión a la base de datos:
$ sqlplus / as sysdba
SQL> connect system;
SQL> connect [us

Вам также может понравиться