Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Transferencia de bases de datos entre sistemas gestores

17,373 views

Published on

Transferencia de base de datos entre SGBD

Trabajo Administración de Sistemas Informáticos en Red

Published in: Technology

Transferencia de bases de datos entre sistemas gestores

  1. 1. 1. Transferencia de datos 3. Transferencia en SQL y Oracle2. Estrategias a la hora detransferir 4. Herramientas gráficas 5. Transferencia en Microsoft Access 2010 • Alexandru Milea • Isabel María Fernández Reche • Ramón Jesús Suárez Pérez
  2. 2. La tarea transferir bases de datos engloba:  Transferencias completas de base de datos.  Transferencias parciales (tablas, datos…).  Actualizaciones de registros.  Transferencias remotas.Se diferencia de la importación o exportación en que nonecesita copiar el esquema de la base de datos. Conjunto de metadatos que describen la estructura de una base de datos, en un lenguaje formal soportado por un Sistema Gestor de Base de datos. Se define en el diccionario de datos. • Alexandru Milea • Isabel María Fernández Reche • Ramón Jesús Suárez Pérez
  3. 3. Las bases de datos pueden transferirsede dos formas: Modo sin conexión o La base de datos está apagada. o Transporte de datos en diferentes archivos. o Hasta que el proceso no finaliza no se tiene acceso a los datos. Modo en línea o La base de datos permanece activa. o Transferencia en tiempo real (algo más lenta). o Los usuarios pueden tener acceso a los datos que se han transferido. • Alexandru Milea • Isabel María Fernández Reche • Ramón Jesús Suárez Pérez
  4. 4. Conjunto de ideas y técnicas que debemos de tener encuenta a la hora de llevar a cabo una determinada tarea.Para llevar a cabo una transferencia de base de datos hayque tener en cuenta:  Idea de la transferencia que se desea realizar.  Modo en la cual la realizaremos.  Las limitaciones del sistema gestor.  Versión del sistema gestor.  Problemas que se nos pueden presentar.
  5. 5. Copia directa de data files* Transmite una base de datos de forma sin conexión. Con algunos sistemas gestores este método puede ser peligroso para la integridad de los datos. Este método puede utilizarse con cualquier sistema gestor de base de datos, aunque es recomendable no utilizarlos con sistemas gestores complejos con un alto nivel de seguridad. Data file*: Ficheros de datos donde se almacena la información de las bases de datos de forma física.
  6. 6. Copia directa de data filesLa sentencia SQL para conocer el lugar dealmacenamiento de los “data files” en Oracle o MySQL es: SELECT FILE_NAME FROM DBA_DATA_FILES;A tener en cuenta:  Utilizar en mismo sistema gestor de base de datos.  Versión del producto.
  7. 7. Import / Export (DataPump) No está destinado a fines de transmisión de bases de datos, aunque puede usarse como tal. Este tipo de estrategia, normalmente está destinado a copias de seguridad. Su funcionamiento es hacer un export del usuario de la aplicación y se importa en la otra base de datos junto con sus datos.
  8. 8. Import / Export (DataPump)Copia completaexp userid=usuario/pass file=my_db.dmp log=my_db.log full=yimp userid=usuario/pass file=my_db.dmp log=imp.log full=yCopia de un esquemaexp userid=usuario/pass file=my_db.dmp log=my_db.logowner=esquemaimp userid=usuario/pass file=my_db.dmp log=imp.logfromuser=esquema
  9. 9. Import / Export (DataPump) Permite hacer export de versiones anteriores a la nueva base de datos. Necesita disponer de al menos el mismo espacio en disco que la base de datos para poder realizar la exportación. Transferencia de bases de datos grandes lenta. (No apto para bases de datos de más de 20GB)
  10. 10. RMAN Duplicate (Recovery Manager) Utilidad de Oracle para realizar backups/restore. Una opción que es muy interesante es el “duplicate” y como su nombre lo dice duplica una base de datos, aunque este duplicado puede volcarse a otro servidor. Esta utilidad hace un backup de la base de datos, una vez guardado, el resto del trabajo se hace en el servidor con el software de Oracle instalado.
  11. 11. Copia a nivel de SAN Mecanismo ideal para transferencia de bases de datos de gran tamaño (GB a TB+). Copia realizada a nivel de hardware/discos. Equipos conectados directamente en un SAN mediante un switch. Procedimiento realizado mediante el Sistema Operativo. Servidores de almacenamiento que permiten el acceso a discos directamente Fases de la transmisión: desde la red, mediante una conexión vía switc o Se indican los tablespaces. o Base de datos en modo Backup. o Se realiza la copia a nivel de hardware. o Se desactiva el modo backup de la fuente. o Se realiza un recover para que la base de datos sea funcional.
  12. 12. SQL*Plus (Interprete de comandos SQL)SQL*Plus es un intérprete SQL de línea de comandos básico con algunasopciones de edición y formateo de resultados que nos proporcionaORACLE para interactuar con la base de datos.
  13. 13. Copia de datos y estructura de una tabla con (CREATE TABLE) En Oracle, podemos utilizar una sentencia que copiará la estructura y los datos que contiene una tabla determinada: CREATE TABLE nombre_tabla_nueva AS (SELECT * FROM nombre_tabla_original); El único inconveniente es que la sentencia no creará las claves, índices y triggers.Disparador. Es un procedimiento que seejecuta cuando se cumple unadeterminada condición establecida alrealizar una operación.
  14. 14. Copia de registros desde otra tabla(INSERT - INTO - SELECT)Esta sentencia nos ofrece la posibilidad de copiar determinados registrosde una tabla de una base de datos determinada, en una nueva tablacompletamente independiente sin la necesidad de hacer una copiacompleta de esta. INSERT INTO tabla_destino (campo1destino,campo2destino) SELECT campo1origen, campo2origen FROM tabla_origen;Especificando los diferentes campos, podemos discriminar ciertosdatos que no consideremos necesarios en la nueva tabla.
  15. 15. Copia de registros desde otra tabla(INSERT - INTO - SELECT)Ejemplo:Tenemos dos tablas con la siguiente estructura:  Tabla: destino Campos: id_usuario, nombre_usuario, apellido_usuario.  Tabla: origen Campos: id_cliente, nombre_cliente, apellido_cliente, id_pais. Al no especificar losINSERT INTO tabla_destino campos de destino, losSELECT id_cliente, nombre_cliente, apellido_cliente datos copiados delFROM origen [ WHERE id_pais=34]; origen serán insertados en orden. Con WHERE podemos especificar restricciones. En este caso únicamente queremos añadir aquellos clientes que sean del país 34.
  16. 16. Copia de tablas y registros entre base de datos(COPY FROM)Este método es muy rápido y eficiente a la hora de copiar tablas ocolumnas que contenga tipos de datos: BLOB, CLOB o Long. o Copiar tabla desde una base de datos. COPY- FROM permite o Copiar información desde una tabla a otra en la misma base. Con WHERE podeos especificar restricciones. En este caso únicamente queremos añadir aquellos clientes que sean del país 34.
  17. 17. Copia de tablas entre base de datos (COPY FROM) Copiar tabla desde la base • INSERT - Inserta los datos provenientes de la query*. Si no existe la tabla indicada, este DB1 a DB2: comando producirá un error. • •APPEND - Inserta datos si la tabla ya existe. Si la tabla no existe entonces la crea y luego procede a insertar las filas. SQL> COPY FROM usuario/pass@DB1 TO usuario/pass@DB2 ACCION tabla_destino USING SELECT * FROM tabla_origen; • CREATE - Crea la tabla. (Si existe una con el mismo nombre, este comando seria dado como erróneo).Query*: Cadena decomandos estándares de • REPLACE - Reemplaza la tabla existente y laconsulta basados en SQL . vuelve a crear con el mismo nombre. Si no existe, la crea e inserta los datos.
  18. 18. Copia de tablas entre base de datos (COPY FROM) Copiar tabla en la misma • INSERT - Inserta los datos provenientes de la query*. Si no existe la tabla indicada, este base de datos (DB1) : comando producirá un error. • •APPEND - Inserta datos si la tabla ya existe. Si la tabla no existe entonces la crea y luego procede a insertar las filas. SQL> COPY FROM usuario/pass@DB1 TO usuario/pass@DB1 ACCION tabla_destino USING SELECT * FROM tabla_origen; • CREATE - Crea la tabla. (Si existe una con el mismo nombre, este comando seria dado como erróneo).Query*: Cadena decomandos estándares de • REPLACE - Reemplaza la tabla existente y laconsulta basados en SQL . vuelve a crear con el mismo nombre. Si no existe, la crea e inserta los datos.
  19. 19. Transferencia usandoTABLESPACEUn tablespace es el archivo físico donde se almacenarán las tablas ydatos de un usuario en un sistema gestor de base de datos.• Un data file únicamente puede pertenecer a un determinado tablespace y este solo podrá pertenecer a una base de datos.La principal diferencia entre transportar un tablespace y transportar losdatafiles es que con el tablespace no exportamos todos los datos,únicamente transferimos los datos que contiene el datafile, metadatoscorrespondientes y el diccionario de datos. Un diccionario de datos es un conjunto de metadatos que contiene las características lógicas y puntuales de los datos que se van a utilizar en el sistema que se programa.
  20. 20. Transferencia usandoTABLESPACEUn tablespace se define de la siguiente manera: Un tablespace seCREATE TABLESPACE nombre_tablespace puede modificar DATAFILE mediante la sentencia: rutafichero_datafile.ext SIZE XX{K|M}, ALTER{DEFAULT STORAGE( INITIAL XX{K|M} NEXT XX{K|M} TABLESPACE.)} {ONLINE|OFFLINE}{PERMANENT | TEMPORARY}; En el podemos definir el tamaño máximo reservado para almacenar el data file, características de almacenamiento, si es temporal o permanente…
  21. 21. Pasos para transferir unTABLESPACE1º Comprobación de que todos los datafiles estén contenidos en eltablespace.2º Activación del modo solo lectura para generar el archivo demetadatos.3º Exportación del tablespace. EXP usuario_sysdba@db as sysdba TRANSPORT_TABLESPACE=y TABLESPACES=(TBS_DATOS, TBS_INDICES);
  22. 22. Pasos para transferir unTABLESPACE4º Restauración de modo lectura y escritura en el servidor de origen.5º Importación del tablespace.IMP usuario_sysdba@db as sysdbaTRANSPORT_TABLESPACE=yTABLESPACES=(TBS_DATOS, TBS_INDICES);6º Creación de usuarios en el servidor de destino y habilitar lectura yescritura.
  23. 23. Transferencia medianteDBLINKUn Database Link permite acceder a las tablas de una base dedatos remota, como si se tratase de tablas dentro de la mismabase de datos.Sintaxis para la creación de un DBLINK CREATE DATABASE LINK nombre_del_dblink La especificación de los parámetros de la CONNECT TO usuario base de datos remota configuración de IDENTIFIED BY contraseña acceso (IP del host, USING (DESCRIPTION = (ADDRESS =direccion_host usuario, contraseñás, (PROTOCOL = TCP) (HOST = nombre_host) (PORT = protocolos, puertos... ) son indispensables puerto)) (CONNECT_DATA = (SID = al igual que la ruta nombre_sid)))FILE=/ruta/archivo.dmp donde se FILE=/ruta/archivo.log almacenarán los datafiles y logs de las tablas transferidas.
  24. 24. Transferencia medianteDBLINKUna vez estén conectadas ambas base de datos mediante eldblink podemos gestionar las tablas de la base remota como si detablas locales se tratasen utilizando sentencias tales como: CREATE TABLE nombre_tabla_nueva AS SELECT * FROM usuario@identificador_dblink;DBLINK también puede ser utilizado como mecanismo deexportación e importación ya que permite conexiones entrediferentes SGBD como MySQL y Oracle.
  25. 25.  Existen multitud de herramientas gráficas para bases de datos que permiten una fácil manipulación y gestión de los contenidos almacenados en dichas bases de datos. Su sencilla interfaz gráfica que proporciona un enorme control sobre nuestras bases de datos sin la necesidad de utilizar intérpretes de línea de comandos. Suelen ser multifuncionales, permitiendo al usuario desde visualizar sus tablas de modo gráfico, realizar copias de seguridad e incluso transferir bases de datos.
  26. 26.  Algunas de estas aplicaciones soportan más de un SGBD, siempre y cuando todos utilicen lenguajes de interpretación similares como SQL. Navicat soporta MySQL, SQLite, SQLServer, Oracle y PostgreSQL.
  27. 27. Oracle Enterprise Manager (OEMGR)Oracle Enterprise Manager, es una herramienta que permite monitorizarbases de datos Oracle mediante dos tipos de conexiones: El modo Standalone funciona como una aplicación estándar cliente/servidor o Standalone (o modo autónomo) o OMS (Oracle Management Server). la conexión a un OMS utiliza un La conexión a un OMS. utiliza un repositorio repositorio intermedio con información global sobre las bases intermedio con información de datos registradas. global sobre las bases de datos registradas.
  28. 28. Enterprise Manager 10g y 11g Replicar una base de datos existente con Provisioning and Patch Automation Pack Un dba realiza replicaciónes de bases de datos constantemente para la creación de ambientes de desarrollo, pruebas, QA o para un insumo en la configuración de una base de datos de standby. Utilizando el OEM, Oracle Enterprise Manager, se pueden hacer las tareas de manera automatizada, evitando así la generación de scripts.
  29. 29. Enterprise Manager 10g y 11g Replicar una base de datos existente con Provisioning and Patch Automation PackRequisitos: En el servidor destino: o debe existir un Home de base de datos Oracle. o debe estar configurado un agente de grid control. En los servidores de origen y destino: o deben contar con espacio suficiente para poder almacenar el backup de RMAN.
  30. 30. Enterprise Manager 10g y 11g Replicar una base de datos existente con Provisioning and Patch Automation PackRequisitos: El usuario Oracle: o debe tener permiso de escritura en los directorios donde se almacenará el backup en ambos servidores. o debe contar con el id y password, de un usuario que tenga privilegios de sysdba para la base de datos de origen.
  31. 31. Enterprise Manager 10g y 11g
  32. 32. Enterprise Manager 10g y 11g
  33. 33. Enterprise Manager 10g y 11gEn caso de elegir la opción de copiarmediante zonas intermedias, másadelante se debería especificar la ruta dela zona que utilizaremos.
  34. 34. Enterprise Manager 10g y 11g
  35. 35. Enterprise Manager 10g y 11g
  36. 36. Enterprise Manager 10g y 11g
  37. 37. Enterprise Manager 10g y 11g
  38. 38. Enterprise Manager 10g y 11g
  39. 39. Enterprise Manager 10g y 11g
  40. 40. SQL Developer Oracle SQL Developer es una aplicación gratuita de Oracle, cuyo objetivo fundamental de es proporcionar una interfaz más amigable para la consulta y programación de la base de datos Oracle. . La funcionalidades de las que dispone SQL Developer solo son parte de las disponibles a través de comandos en SQL*Plus, pero se corresponden con las tareas más habituales. En las últimas versiones de Oracle SQL Developer se han incorporado mejoras para poder conectar con base de datos no Oracle como SQL Server, MySQL o Access.
  41. 41. SQL DeveloperClonación de una base de datos con Oracle SQL Developer:
  42. 42. SQL DeveloperClonación de una base de datos con Oracle SQL Developer:
  43. 43. SQL DeveloperClonación de una base de datos con Oracle SQL Developer:
  44. 44. SQL DeveloperClonación de una base de datos con Oracle SQL Developer:
  45. 45. • Microsoft Office Access es un sistema de gestión de bases de datos relacionales para los sistemas operativos Microsoft Windows• Access presenta algunas características que lo convierten en uno de los gestores de bases de datos más versátiles: o Exportar contenido a otras aplicaciones. o Importación o vinculación de una tabla de datos contenida en otra base de datos de Access.
  46. 46. Técnicas de almacenamiento de datos externos:  Importación Crea una copia de la información en una tabla nueva de la base de datos, la tabla creada en Access no depende en absoluto del archivo original y no existe nexo de unión entre ambas.  Vinculación Los datos establecen una conexión, de modo que se puedan ver y modificar tanto en la base de datos original como en Microsoft Access.
  47. 47. ¿Cuándo importar y cuándo vincular? Se importarán los datos cuando éstos sólo se vayan a utilizar desde Microsoft Access. Si los datos que desea utilizar los actualiza otro programa diferente de Microsoft Access, es mejor vincularlos. Cuando los datos permanecen vinculados, es posible modificarlos tanto a través de su aplicación original como desde Access.Access trabaja mas rápidamente con datos importados.
  48. 48. Importar o vincular datos en Microsoft Access 2010 Access permite la importación de gran variedad de archivos como Word, Excel, Access, HTML…como desde Access.
  49. 49. Importar o vincular datos en Microsoft Access 2010 Seleccionamos la ruta del archivo de datos a importar o vincular.
  50. 50. Importar o vincular datos en Microsoft Access 2010 Cuando vinculamos datos, únicamente nos dejará seleccionar tablas.
  51. 51. Copiar, pegar y mover datosCuando copiamos, Access crea un duplicado de losdatos que tengamos seleccionados en el portapapeles,manteniendo estos datos, permitiéndole pegarlos entablas distintas e incluso bases de datos distintas.
  52. 52. Copiar, pegar y mover datos Cuando peguemos los datos, siempre pedirá confirmación. Access pegará los datos en el mismo orden en el que están en la tabla original. Siempre que se produzca un error al pegar, Access creara una tabla llamada "Errores de pegado" y colocará en ella los datos que no haya podido pegar en la tabla de destino. Así que es conveniente no perderla nunca de vista y comprobar los problemas que la causaron.
  53. 53. Conexión remota con bases de datos Access  Access no presenta ningún módulo de acceso remoto a bases de datos. Cuando peguemos los datos, siempre pedirá  Se accede a una base de datos remota de Access confirmación. utilizando SQL Server o Microsoft Visual Studio NET para acceder a ella a través del Proveedor OLE DB de Microsoft Jet 4.0.  Existen programas externos como Oracle SQL Developer permite el acceso a bases de datos tipo Access a través de la red, permitiendo así una gestión completa de la base de datos.

×