• Save
Transferencia de datos en Oracle
Upcoming SlideShare
Loading in...5
×
 

Transferencia de datos en Oracle

on

  • 1,789 views

Transferencia de datos en Oracle 11g R2, Oracle 11g R2, Data Pump, import/export data

Transferencia de datos en Oracle 11g R2, Oracle 11g R2, Data Pump, import/export data

Statistics

Views

Total Views
1,789
Views on SlideShare
1,789
Embed Views
0

Actions

Likes
1
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Transferencia de datos en Oracle Transferencia de datos en Oracle Presentation Transcript

  • ADMINISTRACIÓN DE ORACLE 11G Transferencia de datos 1Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  • INTRODUCCIÓN  En muchos casos es necesario volcar datos a la base de datos o intercambiar datos entre bases de datos.  El INSERT no es siempre la mejor opción.  Oracle nos da las herramientas:  SQL*Loader  Data Pump 2Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  • MÉTODOS PARA MOVER DATOS SQL*Loader Directory Objects External Tables 3Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  • SQL*LOADER  En muchos casos nos encontraremos con la situación que tenemos que volcar datos que nos llegan de un tercero. Por ejemplo en un fichero.  El DBA puede configurar SQL*Loader para que sea capaz de entender el formato de este fichero y pueda volcar los datos.  SQL*Loader puede insertar filas de 2 formas:  La convencional  Utiliza INSERTS y COMMITS  La directa  No se usa la SGA, no se usa el database buffer cache ni los logs.  Se manda escribir en una zona libre del datafile marcando los bloques sin que sean “visibles”.  Al terminar avisa a la base de datos y se hacen visibles (“commit”) 4Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  • SQL*LOADER  Inconvenientes del método directo:  Las restricciones de integridad deben eliminarse o desactivarse durante la operación.  Si hay triggers definidos, no se lanzarán.  Las tablas afectadas quedarán bloqueadas para otros usuarios.  No se puede aplicar a tablas en modo cluster. 5Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  • SQL*LOADER  Ficheros necesarios en una operación SQL*Loader:  El fichero de entrada  Donde están los datos a cargar.  El fichero de control  Tiene extensión ctl  Es el que contiene las reglas para interpretar el fichero de entrada (secuencia que se seguirá, campos, delimitadores).  Los ficheros de log  Resumen el proceso y los errores que hubieron durante la carga.  Puede ser que algunas de las filas no se carguen por algún error.  De formato  De integridad de la base de datos  Las filas que dan error se guardan en un “bad file” 6Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  • TALLER 1 Ejemplo de ejecución de SQL*Loader. Carmen Soler Chorro - http://www.linkedin.com/in/casoch 7
  • DIRECTORY OBJECTS  Directory Object es una estructura lógica que representa un directorio físico del sistema de ficheros de servidor.  Son propiedad del usuario SYS, aunque los cree otro usuario.  Su nombre no puede repetirse  Los permisos no coinciden con los permisos del sistema operativo  Los ficheros que estan dentro del directorio tienen los mismos permisos que éste.  El parámetro UTL_FILE_DIR indica qué paths pueden ser accedidos (separados por comas).  Por defecto es null  Puede ser * si queremos que sea cualquier directorio (esto no es NADA recomendable).  Estos objetos son necesarios para poder hacer las operaciones de Data Pump. 8Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  • TALLER 2 Cómo crear un directorio. Carmen Soler Chorro - http://www.linkedin.com/in/casoch 9
  • TABLAS EXTERNAS  Una tabla externa es un objeto de la base de datos que se almacena como tal, pero no tiene segmentos, porque su estructura depende exclusivamente del sistema operativo.  Se pueden hacer consultas sobre ellas, como si se trataran de tablas normales, pero no se pueden hacer operaciones DML estándar.  No pueden tener índices, ni restricciones ni triggers asociados.  Se utilizan para las operaciones de Data Pump.  Se accede a ellas a través de los directorios. 10Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  • TABLAS EXTERNAS  Para crearlas se utiliza CREATE TABLE con las palabras clave ORGANIZATION EXTERNAL.  Esto indica que la tabla no existe como segmento, sino como fichero dentro del sistema operativo. 11Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  • TABLAS EXTERNAS  El comando anterior:  Crea una tabla externa que toma los valores del fichero depts.txt  Busca este fichero en el DEFAULT DIRECTORY  Como hemos dicho que el tipo de la tabla es oracle_loader, los parámetros que recibe son idénticos que en SQL*Loader.  Podríamos insertar datos en esta tabla con un CREATE TABLE…AS SELECT… 12Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  • TABLAS EXTERNAS  Si el tipo que se le da a la tabla es DATAPUMP, sólo se permite la escritura de datos en formato Data Pump.  No serían necesarios otros parámetros.  Una vez creada de esta manera, el comportamiento sería el mismo. 13Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  • TALLER 3 Usar SQL*Loader Carmen Soler Chorro - http://www.linkedin.com/in/casoch 14
  • TALLER 4 Usar tablas externas. Carmen Soler Chorro - http://www.linkedin.com/in/casoch 15
  • DATA PUMP VS EXPORT/IMPORT  El objetivo es el mismo: extraer grandes cantidades de datos e insertarlos en otra parte.  En versiones antiguas se daban las utilidades Export e Import.  Tienen la limitación de que se han de conectar a la base de datos a través de un proceso de servidor, por lo que nos tenemos que conectar desde un cliente (herramienta cliente/servidor)  El formato de un fichero de Export/Import y de Data Pump, no tienen nada que ver.  Data Pump existe a partir de la versión 10g.  Por lo que para importar datos de bases de datos más antiguas la única opción es utilizar Export/Import.  Data Pump tiene como ventaja que no necesita de un proceso de servidor, es sólo una utilidad de servidor (no necesita un cliente desde el que conectarse).  Gracias a esto mejora notablemente el rendimiento, al tener acceso directo a los datafiles y a la SGA. No se entra por sesión. 16Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  • DATA PUMP VS EXPORT/IMPORT  Procesos relacionados:  Expdp.exe y impdp.exe  Se utilizan para lanzar, controlar y monitorizar las tareas de Data Pump  Cuando se inicia una tarea de Data Pump se apoya en un proceso llamado DWn.  Como pueden haber varios, necesita un DMnn (Data Pump Master process) que lo gestione.  Un Data Pump genera 3 tipos de ficheros:  Fichero SQL  Con el DDL que definen los objetos de los que se hace data pump  Se pueden generar con o sin datos.  Dump files  Contiene los datos exportados de la base de datos.  Logfiles  Describe todo lo que ha ocurrido durante el proceso. 17Carmen Soler Chorro - http://www.linkedin.com/in/casoch
  • TALLER 5 Hacer un Data Pump Export e Import. Carmen Soler Chorro - http://www.linkedin.com/in/casoch 18