Está en la página 1de 22

Infraestructura tecnológica de la organización

Andrés Danilo Vásquez Murcia

Instructor
Cesar Manuel Castillo Rodríguez
PLAN DE MIGRACIÓN DE DATOS PARA SAN ANTONIO DEL SENA

Sena
Gestión y seguridad de bases de datos
Bogotá
Agosto de 2019
A continuación realizaremos los pasos para configurar Oracle en el cual
realizaremos la migración de datos.

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.


En la siguiente ventana seleccionar administrativo.

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


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)


En panel de control buscamos herramientas administrativas clic y selecciona
orígenes 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 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.
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
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/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. 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":
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":
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 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:
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;


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
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.
 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.
 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:
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
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.
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
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
{
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
día 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 conexión a la base de datos:
$ sqlplus / as sysdba
SQL> connect system;
SQL> connect [usuario diferente al sys o system];

También podría gustarte