You are on page 1of 22

MIGRACION DE BASE DE DATOS

ALCALDIA DE SAN ANTONIO SENA

A continuacin realizaremos los pasos para configurar Oracle en el cual


realizaremos la migracin de datos.

CONFIGURACIN DE IDIOMA

A continuacin se presenta la configuracin con un ejemplo:

Seleccionar en inicio panel de control clic en reloj, idioma y regin.

En la siguiente ventana seleccionar administrativo.

En esta ventana selecciona cambiar configuracin regional del sistema.

En esta ventana selecciona el idioma espaol (Espaa)

En esta ventana clic en aceptar.

CONFIGURACIN DE ORGENES DE BASE DE DATOS (ODBC)

En panel de control buscamos herramientas administrativas clic y selecciona


orgenes de datos (ODBC).

En la siguiente ventana clic en agregar.

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.

Introduce la password y pulsa el botn

Se devuelve a la ventana administrador orgenes de datos y doble en clic en el


nombre de la base de datos.

Automticamente 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.

Copia de seguridad lgica en lnea con expdp export en Oracle 11g


Oracle Database 11g permite hacer copia de seguridad lgica de los datos que
componen la base de datos: tablas, vistas, procedimientos almacenados,
secuencias, funciones, disparadores, paquetes, sinnimos, usuarios, etc. Dicha
copia se realiza con el comando expdp y se realizar en lnea (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
exportacin. Puede exportar la base de datos completa, usuarios determinados o
tablas especficas (entre otras opciones de exportacin).
Una vez exportados los datos, podran 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
versin Enterprise o bien Oracle Database 11g Client. En loa siguientes artculos
explicamos cmo 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 contrasea de Oracle y del sistema operativo con permisos


suficientes
Otro de los requisitos es disponer de usuario y contrasea 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.
Tambin deberemos disponer de un usuario y contrasea del sistema operativo
con permisos suficientes para leer y escribir en la carpeta destino del fichero de
volcado (resultado del export). Obviamente, adems, deberemos disponer de

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
instalacin de Oracle y la carpeta "bin" donde se encuentra el comando "expdp".
Para comprobar esto podremos hacerlo de dos formas:
1. Desde el botn "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
Debera aparecer algo as:
Path=C:/app/ajpdsoft/product/11.2.0/dbhome_1/bin;C:/Windows/system32;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. Tambin es posible ver el valor de la variable de entorno PATH en Windows


Server 2008 desde las propiedades del sistema, desde el botn "Inicio" - pulsando
con el botn derecho del ratn sobre "Equipo" y seleccionando "Propiedades":

En la ventana de "Sistema" pulsaremos en "Configuracin avanzada del sistema":

En la ventana de "Propiedades del sistema" seleccionaremos la pestaa


"Opciones avanzadas" y pulsaremos en "Variables de entorno":

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":

En "Valor de la variable" debe aparecer la ruta de instalacin de Oracle ms 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:

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 lnea de comandos) con el siguiente comando:
sqlplus /nolog

Nos conectaremos a Oracle con el comando:


connect usuario/contrasea as sysdba;

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: operacin no vlida
ORA-39070: No se ha podido abrir el archivo
ORA-29283: operacin de archivo no vlida
ORA-06512: en "SYS.UTL_FILE", lnea 536
ORA-29283: operacin de archivo no vlida

El archivo de volcado de exportacin anterior no debe existir


Si ya existe un archivo de volcado de exportacin el comando expdp dar error
pues no reemplaza uno existente, el error:
ORA-39001: valor de argumento no vlido
ORA-39000: especificacin de archivo de volcado errnea
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: opcin <CREATE> especificada; el archivo ya existe
Por lo tanto si decidimos crear una tarea programada para ejecutar este comando
automticamente cada da deberemos, previamente, eliminar el archivo de
volvado de exportacin anterior antes de ejecutar el expdp.

Parmetros para comando expdp export de Oracle 11g


El comando expdp en Oracle 11g tiene los siguientes parmetros (obtenidos
ejecutando expdp help=y):

ATTACH: conectar a un trabajo existente. Por ejemplo,


ATTACH=nombre_trabajo.
COMPRESSION: reduce el tamao de un archivo de volcado. Los valores
de palabras clave vlidos son: ALL, DATA_ONLY, [METADATA_ONLY] y
NONE.
CONTENT: especifica los datos que se van a descargar. Los valores de
palabras clave vlidos son: [ALL], DATA_ONLY y METADATA_ONLY.
DATA_OPTIONS: indicadores de opciones de nivel de datos. Los valores
de palabra clave vlidos 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 vlidos son: ALL, DATA_ONLY,
ENCRYPTED_COLUMNS_ONLY, METADATA_ONLY y NONE.
ENCRYPTION_ALGORITHM: especifica cmo se debe hacer el cifrado.
Los valores de palabras clave vlidos son: [AES128], AES192 y AES256.
ENCRYPTION_MODE: mtodo para generar la clave de cifrado. Los
valores de palabras clave vlidos son: DUAL, PASSWORD y
[TRANSPARENT].
ENCRYPTION_PASSWORD: clave de contrasea para crear datos cifrados
en un archivo de volcado.

ESTIMATE: calcula estimaciones de trabajo. Los valores de palabras clave


vlidos son: [BLOCKS] y STATISTICS.
ESTIMATE_ONLY: calcula las estimaciones de trabajo sin realizar la
exportacin.
EXCLUDE: excluye tipos de objeto especficos. Por ejemplo,
EXCLUDE=SCHEMA:"='HR'".
FILESIZE: especifica el tamao de cada archivo de volcado en unidades de
bytes.
FLASHBACK_SCN: SCN utilizado para restablecer la instantnea de
sesin.
FLASHBACK_TIME: tiempo utilizado para buscar el valor de SCN
correspondiente ms cercano.
FULL: exporta toda la base de datos.
HELP: muestra mensajes de ayuda.
INCLUDE: incluye tipos de objetos especficos. Por ejemplo,
INCLUDE=TABLE_DATA.
JOB_NAME: nombre del trabajo de exportacin 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 nmero de workers activos para el trabajo actual.
PARFILE: especifica el nombre del archivo de parmetros.
QUERY: clusula de predicado utilizada para exportar un subjuego de una
tabla. Por ejemplo, QUERY=employees:"WHERE
identificador_departamento > 10".
REMAP_DATA: especifica una funcin de conversin 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
conexin).
SOURCE_EDITION: edicin 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 mtodo transportable se puede utilizar.
Los valores de palabras clave vlidos son: ALWAYS y [NEVER].
TRANSPORT_FULL_CHECK: verifica segmentos de almacenamiento de
todas las tablas.
TRANSPORT_TABLESPACES: lista de tablespaces desde los que se
descargarn los metadatos.

VERSION: versin de los objetos que se van a exportar. Los valores de


palabra cable vlidos son: [COMPATIBLE], LATEST o cualquier versin de
base de datos vlida.

Los siguientes comandos son vlidos 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 sesin del cliente y deja el trabajo ejecutndose.
FILESIZE: tamao 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 nmero 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 vlidos 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 ejecucin del trabajo y sale del cliente. Los
valores de palabra clave vlidos son: IMMEDIATE.

Ejemplos de copia de seguridad lgica en lnea con expdp export en Oracle


11g
A continuacin mostramos algunos ejemplos para realizar backup lgico 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/contrasea dumpfile=copia_oracle_export.dmp
logfile=copia_oracle_export.log directory=CARPETA_EXPORT full=y

Mientras se va realizando la copia lgica con expdp ir mostrando las tablas que
va exportando y el nmero de filas que contienen:

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


indicada en el directory CARPETA_EXPORT con la copia de seguridad lgica de
todos los datos de toda la base de datos Oracle (todos los usuarios, vistas, tablas,
sinnimos, 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/contrasea dumpfile=copia_oracle_export.dmp
logfile=copia_oracle_export.log directory=CARPETA_EXPORT full=y
compression=all
Como ejemplo, el archivo anterior sin compresin 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 tamao predefinido
100MB:
expdp usuario/contrasea 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 parmetro indicar a Oracle que vaya creando tantos
ficheros como necesite del tamao indicando acabando en el nombre con

xxx01.dmp, xxx02.dmp, xxx03.dmp, ... Si no se indican los caracteres "%U" y el


archivo de volcado supera el tamao 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 mtodo de dividir el archivo de volcado resultante en ficheros de un
tamao especificado es muy interesante. Si tenemos una base de datos que
ocupe ms de 10 20 GB podremos tener problemas en algunos sistemas
operativos al generar ficheros de ms de 10 20 GB. Por ello este comando es
muy recomendable, permitir generar ficheros de un tamao mximo, generar
tantos como necesite. En el ejemplo hemos indicado que como mximo 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/contrasea dumpfile=copia_oracle_export.dmp
logfile=copia_oracle_export.log directory=CARPETA_EXPORT
schemas=nombre_usuario
El comando de exportacin anterior slo exportar los objetos (tablas, vistas, etc.)
de los que es propietario el usuario "nombre_usuario". Este comando ser mucho
ms rpido en su ejecucin que si usamos full=yes pues no exportar los objetos
del sistema.

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 direccin 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 direccin que le dimos y veremos el archivo que


contendr nuestra copia de seguridad de la base de datos

RESTAURAR BASE DE DATOS EN ORACLE

1. Iniciar una sesin 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/c248804095-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
{
restore controlfile from '/pruebarman/c-248804095-20090130-04';
alter database mount;
}

6. Restaurar los archivos de base de datos (data files) y restaurar la data al


da del backup utilizado.
run
{
restore database;
switch datafile all;
recover database;
}
7. Inicializar la base de datos para un normal funcionamiento.
RMAN> alter database open resetlogs;
8. Comprobar el funcionamiento de la base de datos restaurada, para ello se
realizaran prueba de conexin a la base de datos:
$ sqlplus / as sysdba
SQL> connect system;
SQL> connect [usuario diferente al sys o system];