Tablespace transportable de RMAN con pump de datos

Sólo se puede utilizar este método si la plataforma local tiene formato little endian y los juegos de caracteres de la base de datos local y la base de datos del servicio de base de datos son compatibles.

Puede utilizar este método para eliminar la colocación de los tablespaces en modo READ ONLY, según sea necesario para el método tablespace transportable de pump de datos.

Para migrar una base de datos origen local a un despliegue de base de datos en el servicio de base de datos mediante el tablespace transportable de RMAN con el método de pump de datos, realice estas tareas:

  1. En el host de la base de datos local, invoque RMAN y cree el juego de tablespaces transportables.

  2. Utilice una herramienta de copia segura para transferir el archivo de volcado de exportación de pump de datos y los archivos de datos de tablespace al nodo de cálculo del servicio de base de datos.

  3. En el nodo de cálculo del servicio de base de datos, prepare la base de datos para la importación del tablespace.

  4. En el nodo de cálculo del servicio de base de datos, invoque la importación de pump de datos y conéctese a la base de datos. Importe los datos a la base de datos con la opción TRANSPORT_DATAFILES.

  5. Después de verificar que los datos se han importado correctamente, puede eliminar el archivo de volcado.

Tablespace transportable de RMAN con pump de datos: ejemplo

Este ejemplo proporciona una demostración paso a paso de las tareas necesarias para migrar tablespaces de una base de datos Oracle local a una base de datos del servicio de base de datos.

En este ejemplo se realiza una migración de los tablespaces FSDATA y FSINDEX.

En este ejemplo, la base de datos local está en un host de Linux.

  1. En el host de la base de datos local, invoque RMAN y cree el juego de tablespaces transportables.

    1. En el host de la base de datos local, cree un directorio del sistema operativo para los archivos de datos.

      mkdir /u01/app/oracle/admin/orcl/rman_transdest
    2. En el host de datos local, cree un directorio del sistema operativo para los archivos de instancia auxiliar de RMAN.

      mkdir /u01/app/oracle/admin/orcl/rman_auxdest
    3. Invoque RMAN y conéctese como usuario SYSTEM. Introduzca la contraseña del usuario SYSTEM cuando se le solicite.

      rman target system
    4. Ejecute el comando TRANSPORT TABLESPACE.

      RMAN> TRANSPORT TABLESPACE fsdata, fsindex
      2> TABLESPACE DESTINATION '/u01/app/oracle/admin/orcl/rman_transdest'
      3> AUXILIARY DESTINATION '/u01/app/oracle/admin/orcl/rman_auxdest';
    5. Cierre sesión en RMAN.

    6. También puede ir al directorio especificado para TABLESPACE DESTINATION y ver los archivos creados por la operación TRANSPORT TABLESPACE.

      cd /u01/app/oracle/admin/orcl/rman_transdest
      $ ls
      dmpfile.dmp  fsdata01.dbf  fsindex01.dbf  impscrpt.sql
  2. Utilice una herramienta de copia segura para transferir el archivo de volcado de exportación de pump de datos y los archivos de datos de tablespace al nodo de cálculo del servicio de base de datos.

    En este ejemplo, el archivo de volcado se copia en el directorio /u01. Seleccione la ubicación adecuada según el tamaño del archivo que se va a transferir.

    1. En el nodo de cálculo del servicio de base de datos, cree un directorio para el archivo de volcado.

      mkdir /u01/app/oracle/admin/ORCL/dpdump/from_onprem
    2. Antes de utilizar el comando scp para copiar archivos, asegúrese de que la clave privada SSH que proporciona acceso al nodo de cálculo del servicio de base de datos esté disponible en el host local.

    3. En el host de la base de datos local, use la herramienta SCP para transferir el archivo de volcado y todos los archivos de datos del juego transportable al nodo de cálculo del servicio de base de datos.

      scp -i private_key_file \
      /u01/app/oracle/admin/orcl/rman_transdest/dmpfile.dmp \
      oracle@IP_address_DBaaS_VM:/u01/app/oracle/admin/ORCL/dpdump/from_onprem
      
      $ scp -i private_key_file \
      /u01/app/oracle/admin/orcl/rman_transdest/fsdata01.dbf \
      oracle@IP_address_DBaaS_VM:/u02/app/oracle/oradata/ORCL
      
      $ scp -i private_key_file \
      /u01/app/oracle/admin/orcl/rman_transdest/fsindex01.dbf \
      oracle@IP_address_DBaaS_VM:/u02/app/oracle/oradata/ORCL
  3. En el nodo de cálculo del servicio de base de datos, prepare la base de datos para la importación del tablespace.

    1. En el nodo de cálculo del servicio de base de datos, llame a SQL*Plus y conéctese a la base de datos como usuario SYSTEM.

    2. Cree un objeto de directorio en la base de datos del servicio de base de datos.

      SQL> CREATE DIRECTORY dp_from_onprem AS '/u01/app/oracle/admin/ORCL/dpdump/from_onprem';
    3. Si los propietarios de los objetos que se van a importar no existen en la base de datos, créelos antes de realizar la importación. El modo tablespace transportable de la importación no crea los usuarios.

      SQL> CREATE USER fsowner
        2  PROFILE default
        3  IDENTIFIED BY fspass
        4  TEMPORARY TABLESPACE temp
        5  ACCOUNT UNLOCK;
  4. En el nodo de cálculo del servicio de base de datos, invoque la importación de pump de datos y conéctese a la base de datos.

    Importe los datos a la base de datos con la opción TRANSPORT_DATAFILES.

    impdp system DIRECTORY=dp_from_onprem DUMPFILE='dmpfile.dmp' \
    TRANSPORT_DATAFILES='/u02/app/oracle/oradata/ORCL/fsdata01.dbf', \
    '/u02/app/oracle/oradata/ORCL/fsindex01.dbf'
  5. Después de verificar que los datos se han importado correctamente, puede eliminar el archivo de volcado dmpfile.dmp.