Migración mediante espacios de tabla transportables de Oracle - Amazon Relational Database Service

Migración mediante espacios de tabla transportables de Oracle

Puede utilizar la característica de espacios de tabla transportables de Oracle para copiar un conjunto de espacios de tabla de una base de datos de Oracle en las instalaciones a una instancia de base de datos de RDS para Oracle. En el nivel físico, los archivos de datos de origen y los archivos de metadatos se transfieren a la instancia de base de datos de destino mediante Amazon EFS o Amazon S3. La característica de espacios de tabla transportables utiliza el paquete rdsadmin.rdsadmin_transport_util. Para obtener información sobre la sintaxis y la semántica de este paquete, consulte Transporte de espacios de tabla.

Para ver publicaciones de blog que explican cómo transportar espacios de tabla, consulte Migrate Oracle Databases to AWS using transportable tablespace y Amazon RDS for Oracle Transportable Tablespaces using RMAN.

Descripción general de los espacios de tabla transportables de Oracle

Un conjunto de espacios de tabla transportables consta de archivos de datos para el conjunto de espacios de tabla que se transportan y un archivo de volcado de exportación que contiene los metadatos del espacio de tabla. En una solución de migración física, como los espacios de tabla transportables, se transfieren archivos físicos: archivos de datos, archivos de configuración y archivos de volcado de Data Pump.

Ventajas y desventajas de los espacios de tabla transportables

Le recomendamos que utilice espacios de tabla transportables cuando tenga que migrar uno o más espacios de tabla grandes a RDS con un tiempo de inactividad mínimo. Los espacios de tabla transportables ofrecen las siguientes ventajas con respecto a la migración lógica:

  • El tiempo de inactividad es inferior al de la mayoría de las demás soluciones de migración de Oracle.

  • Dado que la característica de espacio de tabla transportable solo copia archivos físicos, evita los errores de integridad de los datos y la corrupción lógica que pueden producirse en la migración lógica.

  • No se requiere ninguna licencia adicional.

  • Puede migrar un conjunto de espacios de tabla en diferentes plataformas y tipos de endianness, por ejemplo, de una plataforma Oracle Solaris a Linux. Sin embargo, no se admite el transporte de espacios de tabla hacia y desde servidores Windows.

    nota

    Linux está totalmente probado y es compatible. No se han probado todas las variantes de UNIX.

Si usa espacios de tabla transportables, puede transportar datos mediante Amazon S3 o Amazon EFS:

  • Si utiliza EFS, las copias de seguridad permanecen en el sistema de archivos EFS durante la importación. Podrá eliminar los archivos después. En esta técnica, no es necesario aprovisionar el almacenamiento de EBS para la instancia de base de datos. Por este motivo, se recomienda utilizar Amazon EFS en lugar de S3. Para obtener más información, consulte Integración de Amazon EFS.

  • Si usa S3, debe descargar las copias de seguridad de RMAN al almacenamiento de EBS adjunto a su instancia de base de datos. Los archivos permanecerán en su almacenamiento de EBS durante la importación. Tras la importación, puede liberar este espacio, que sigue asignado a la instancia de base de datos.

La principal desventaja de los espacios de tabla transportables es que se necesitan conocimientos relativamente avanzados de Oracle Database. Para obtener más información, consulte el tema sobre cómo transportar espacios de tabla entre bases de datos en la Guía del administrador de bases de datos de Oracle.

Limitaciones de los espacios de tabla transportables

Las limitaciones de Oracle Database para los espacios de tabla transportables se aplican cuando se utiliza esta característica en RDS para Oracle. Para obtener más información, consulte los apartados sobre limitaciones de los espacios de tabla transportables y limitaciones generales del transporte de datos en la Guía del administrador de bases de datos de Oracle. Tenga en cuenta las siguientes limitaciones adicionales para los espacios de tabla transportables en RDS para Oracle:

  • Ni la base de datos de origen ni la de destino pueden utilizar Standard Edition 2 (SE2). Solo se admite la edición Enterprise.

  • No puede utilizar una base de datos Oracle Database 11g como origen. La característica de espacios de tablas transportables multiplataforma de RMAN se basa en el mecanismo de transporte RMAN, que Oracle Database 11g no admite.

  • No puede migrar datos de una instancia de base de datos de RDS para Oracle mediante espacios de tabla transportables. Solo puede usar espacios de tabla transportables para migrar datos a una instancia de base de datos de RDS para Oracle.

  • No admite el sistema operativo Windows.

  • No puede transportar espacios de tabla a una base de datos con un nivel de versión inferior. La base de datos de destino debe estar en el mismo nivel de versión o en una versión posterior que la base de datos de origen. Por ejemplo, no puede transportar espacios de tabla de Oracle Database 21c a Oracle Database 19c.

  • No puede transportar espacios de tablas administrativas como SYSTEM y SYSAUX.

  • No puede transportar objetos que no sean de datos, como paquetes PL/SQL, clases de Java, vistas, desencadenadores, secuencias, usuarios, roles y tablas temporales. Para transportar objetos que no sean de datos, créelos manualmente o utilice la exportación e importación de metadatos de Data Pump. Para obtener más información, consulte My Oracle Support Note 1454872.1.

  • No puede transportar espacios de tabla cifrados ni utilizar columnas cifradas.

  • Si transfiere archivos mediante Amazon S3, el tamaño máximo de archivo admitido será de 5 TiB.

  • Si la base de datos de origen utiliza opciones de Oracle, como Spatial, no podrá transportar espacios de tabla a menos que se configuren las mismas opciones en la base de datos de destino.

  • No puede transportar espacios de tabla a una instancia de base de datos de RDS para Oracle en una configuración de réplica de Oracle. Como solución alternativa, puede eliminar todas las réplicas, transportar los espacios de tabla y, a continuación, volver a crear las réplicas.

Requisitos previos para los espacios de tabla transportables

Antes de empezar, complete las siguientes tareas:

Fase 1: Configurar el host de origen

En este paso, se copian los scripts de espacios de tabla transportables proporcionados por My Oracle Support y se configuran los archivos de configuración necesarios. En los siguientes pasos, el host de origen ejecuta la base de datos que contiene los espacios de tabla que se transportarán a la instancia de destino.

Para configurar el host de origen
  1. Inicie sesión en su host de origen como propietario de su inicio de Oracle.

  2. Asegúrese de que sus variables de entorno ORACLE_HOME y ORACLE_SID apunten hacia la base de datos de origen.

  3. Inicie sesión en la base de datos como administrador y compruebe que la versión de zona horaria, el juego de caracteres de la base de datos y el conjunto de caracteres nacionales sean los mismos que los de la base de datos de destino.

    SELECT * FROM V$TIMEZONE_FILE; SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER IN ('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET');
  4. Configure la utilidad de espacio de tabla transportable tal como se describe en la nota de soporte de Oracle 2471245.1.

    La configuración incluye la edición del archivo xtt.properties en el host de origen. El siguiente archivo xtt.properties de ejemplo especifica las copias de seguridad de tres espacios de tabla del directorio /dsk1/backups. Estos son los espacios de tabla que pretende transportar a la instancia de base de datos de destino. También especifica el ID de la plataforma de origen para convertir el endianness automáticamente.

    nota

    Para encontrar los ID de plataforma válidos, consulte Data Guard Support for Heterogeneous Primary and Physical Standbys in Same Data Guard Configuration (Doc ID 413484.1) (Compatibilidad de Data Guard para instancias en espera principales y físicas heterogéneos en la misma configuración de Data Guard).

    #linux system platformid=13 #list of tablespaces to transport tablespaces=TBS1,TBS2,TBS3 #location where backup will be generated src_scratch_location=/dsk1/backups #RMAN command for performing backup usermantransport=1

Fase 2: Preparar la copia de seguridad completa del espacio de tabla

En esta fase, realiza una copia de seguridad de los espacios de tabla por primera vez, transfiere las copias de seguridad al host de destino y, a continuación, las restaura siguiendo el procedimiento rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces. Cuando se complete esta fase, las copias de seguridad iniciales del espacio de tabla estarán en la instancia de base de datos de destino y se podrán actualizar con copias de seguridad incrementales.

Paso 1: realice copias de seguridad de los espacios de tabla en el host de origen

En este paso, utilizará el script xttdriver.pl para hacer una copia de seguridad completa de sus espacios de tabla. La salida de xttdriver.pl se almacena en la variable de entorno TMPDIR.

Para hacer una copia de seguridad de los espacios de tabla
  1. Si los espacios de tabla están en modo de solo lectura, inicie sesión en la base de datos de origen como usuario con el privilegio ALTER TABLESPACE y coloque los espacios de tabla en modo de lectura/escritura. De no ser así, vaya al siguiente paso.

    En el siguiente ejemplo se establecen tbs1, tbs2 y tbs3 en modo de lectura/escritura.

    ALTER TABLESPACE tbs1 READ WRITE; ALTER TABLESPACE tbs2 READ WRITE; ALTER TABLESPACE tbs3 READ WRITE;
  2. Realice una copia de seguridad de los espacios de tabla con el script xttdriver.pl. Si lo desea, puede especificar --debug para que ejecute el script en modo de depuración.

    export TMPDIR=location_of_log_files cd location_of_xttdriver.pl $ORACLE_HOME/perl/bin/perl xttdriver.pl --backup

Paso 2: transfiera los archivos de copia de seguridad a la instancia de base de datos de destino

En este paso, debe copiar los archivos de copia de seguridad y de configuración de la ubicación inicial a la instancia de base de datos de destino. Seleccione una de las siguientes opciones:

  • Si los hosts de origen y destino comparten un sistema de archivos de Amazon EFS, use una utilidad del sistema operativo, por ejemplo, cp, para copiar los archivos de copia de seguridad y el archivo res.txt de su ubicación inicial a un directorio compartido. A continuación, diríjase a Paso 3: importe los espacios de tabla en la instancia de base de datos de destino.

  • Si necesita organizar sus copias de seguridad en un bucket de Amazon S3, siga estos pasos.

Transfiera los archivos mediante Amazon EFS o Amazon S3.

Paso 2.2: Cargar las copias de seguridad en el bucket de Amazon S3

Cargue las copias de seguridad y el archivo res.txt del directorio inicial al bucket de Amazon S3. Para obtener más información, consulte Carga de objetos en la Guía del desarrollador de Amazon Simple Storage Service.

Paso 2.3: Descargar las copias de seguridad desde el bucket de Amazon S3 a la instancia de base de datos de destino

En este paso, utilizará el procedimiento rdsadmin.rdsadmin_s3_tasks.download_from_s3 para descargar las copias de seguridad en la instancia de base de datos de RDS para Oracle.

Para descargar las copias de seguridad del bucket de Amazon S3
  1. Inicie SQL*Plus u Oracle SQL Developer e inicie sesión en la instancia de base de datos de destino de RDS para Oracle.

  2. Descargue las copias de seguridad del bucket de Amazon S3 en la instancia de base de datos de destino mediante el procedimiento de Amazon RDS rdsadmin.rdsadmin_s3_tasks.download_from_s3 para d. En el siguiente ejemplo se descargan todos los archivos de un bucket de Amazon S3 denominado amzn-s3-demo-bucket en el directorio DATA_PUMP_DIR.

    EXEC UTL_FILE.FREMOVE ('DATA_PUMP_DIR', 'res.txt'); SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3( p_bucket_name => 'amzn-s3-demo-bucket', p_directory_name => 'DATA_PUMP_DIR') AS TASK_ID FROM DUAL;

    La instrucción SELECT devuelve el identificador de la tarea en un tipo de datos VARCHAR2. Para obtener más información, consulte Descarga de archivos desde un bucket de Amazon S3 en una instancia de base de datos de Oracle.

Paso 3: importe los espacios de tabla en la instancia de base de datos de destino

Utilice el procedimiento rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces para restaurar los espacios de tabla en la instancia de base de datos de destino. Este procedimiento convierte automáticamente los archivos de datos al formato endian correcto.

Si realiza la importación desde una plataforma que no sea Linux, especifique la plataforma de origen mediante el parámetro p_platform_id cuando llame a import_xtts_tablespaces. Asegúrese de que el id. de plataforma coincida con el especificado en el archivo xtt.properties en Paso 2: exporte los metadatos del espacio de tabla en el host de origen.

Importar los espacios de tabla en la instancia de base de datos de destino
  1. Inicie un cliente de Oracle SQL e inicie sesión como usuario maestro en su instancia de base de datos de destino de RDS para Oracle.

  2. Ejecute el procedimiento rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces y especifique los espacios de tabla que se van a importar y el directorio que contiene las copias de seguridad.

    En el siguiente ejemplo se importan los espacios de tabla TBS1, TBS2 y TBS3 del directorio DATA_PUMP_DIR. La plataforma de origen es AIX-Based Systems (64 bits), con el id. de plataforma 6. Puede encontrar los id. de plataforma consultando V$TRANSPORTABLE_PLATFORM.

    VAR task_id CLOB BEGIN :task_id:=rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces( 'TBS1,TBS2,TBS3', 'DATA_PUMP_DIR', p_platform_id => 6); END; / PRINT task_id
  3. (Opcional) Supervise el progreso consultando la tabla rdsadmin.rds_xtts_operation_info. La columna xtts_operation_state muestra el valor EXECUTING, COMPLETED o FAILED.

    SELECT * FROM rdsadmin.rds_xtts_operation_info;
    nota

    Para operaciones de larga duración, también puede consultar V$SESSION_LONGOPS, V$RMAN_STATUS y V$RMAN_OUTPUT.

  4. Para ver el registro de la importación finalizada, utilice el ID de la tarea del paso anterior.

    SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||'&task_id'||'.log'));

    Asegúrese de que se haya completado correctamente la importación antes de continuar con el siguiente paso.

Fase 3: Realizar y transferir copias de seguridad incrementales

En esta fase, se realizan y transfieren copias de seguridad incrementales periódicamente mientras la base de datos de origen esté activa. Esta técnica reduce el tamaño de la copia de seguridad final del espacio de tabla. Si realiza varias copias de seguridad incrementales, debe copiar el archivo res.txt después de la última copia de seguridad incremental antes de poder aplicarlo en la instancia de destino.

Los pasos son los mismos que en Fase 2: Preparar la copia de seguridad completa del espacio de tabla, excepto que el paso de importación es opcional.

Fase 4: Transportar los espacios de tabla

En esta fase, se realiza una copia de seguridad de los espacios de tabla de solo lectura y se exportan los metadatos de Data Pump, se transfiere estos archivos al host de destino y se importan tanto los espacios de tabla como los metadatos.

Paso 1: realice una copia de seguridad de los espacios de tabla de solo lectura

Este paso es idéntico al Paso 1: realice copias de seguridad de los espacios de tabla en el host de origen, salvo que aquí se establecen los espacios de tabla en modo de solo lectura antes de hacer una copia de seguridad de los espacios de tabla por última vez.

En el siguiente ejemplo se establecen tbs1, tbs2 y tbs3 en modo de solo lectura.

ALTER TABLESPACE tbs1 READ ONLY; ALTER TABLESPACE tbs2 READ ONLY; ALTER TABLESPACE tbs3 READ ONLY;

Paso 2: exporte los metadatos del espacio de tabla en el host de origen

Para exportar los metadatos del espacio de tabla, ejecute la utilidad expdb en el host de origen. En el siguiente ejemplo se exportan los espacios de tabla TBS1, TBS2 y TBS3 al archivo de volcado xttdump.dmp en el directorio DATA_PUMP_DIR.

expdp username/pwd \ dumpfile=xttdump.dmp \ directory=DATA_PUMP_DIR \ statistics=NONE \ transport_tablespaces=TBS1,TBS2,TBS3 \ transport_full_check=y \ logfile=tts_export.log

Si DATA_PUMP_DIR es un directorio compartido en Amazon EFS, vaya a Paso 4: Importar los espacios de tabla en la instancia de base de datos de destino.

Paso 3: (solo Amazon S3) transfiera los archivos de copia de seguridad y exporte los archivos a la instancia de base de datos de destino

Si utiliza Amazon S3 para organizar las copias de seguridad del espacio de tabla y el archivo de exportación de Data Pump, siga estos pasos.

Paso 3.1: cargue las copias de seguridad y el archivo de volcado del host de origen en el bucket de Amazon S3

Cargue las copias de seguridad y los archivos de volcado del host de origen en el bucket de Amazon S3. Para obtener más información, consulte Carga de objetos en la Guía del desarrollador de Amazon Simple Storage Service.

Paso 3.2: Descargar las copias de seguridad y el archivo de volcado desde el bucket de Amazon S3 a la instancia de base de datos de destino

En este paso, se utiliza el procedimiento rdsadmin.rdsadmin_s3_tasks.download_from_s3 para descargar las copias de seguridad y el archivo de volcado en la instancia de base de datos de RDS para Oracle. Siga los pasos de Paso 2.3: Descargar las copias de seguridad desde el bucket de Amazon S3 a la instancia de base de datos de destino.

Paso 4: Importar los espacios de tabla en la instancia de base de datos de destino

Utilice el procedimiento rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces para restaurar los espacios de tabla. Para obtener información sobre la semántica de este procedimiento, consulte Importación de espacios de tabla transportados a su instancia de base de datos.

importante

Tras completar la importación final del espacio de tabla, el siguiente paso es importar los metadatos de Oracle Data Pump. Si se produce un error en la importación, es importante que la instancia de base de datos vuelva a su estado anterior al error. Por lo tanto, le recomendamos que cree una instantánea de base de datos de la instancia de base de datos siguiendo las instrucciones de Creación de una instantánea de base de datos para una instancia de base de datos single-AZ. La instantánea contendrá todos los espacios de tabla importados, por lo que si se produce un error en la importación, no tendrá que repetir el proceso de copia de seguridad e importación.

Si la instancia de base de datos de destino tiene activadas las copias de seguridad automáticas y Amazon RDS no detecta que se haya iniciado una instantánea válida antes de importar los metadatos, RDS intentará crear una instantánea. En función de la actividad de la instancia, esta instantánea puede o no funcionar correctamente. Si no se detecta una instantánea válida o no se puede iniciar una instantánea, la importación de metadatos se cerrará con errores.

Importar los espacios de tabla en la instancia de base de datos de destino
  1. Inicie un cliente de Oracle SQL e inicie sesión como usuario maestro en su instancia de base de datos de destino de RDS para Oracle.

  2. Ejecute el procedimiento rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces y especifique los espacios de tabla que se van a importar y el directorio que contiene las copias de seguridad.

    En el siguiente ejemplo se importan los espacios de tabla TBS1, TBS2 y TBS3 del directorio DATA_PUMP_DIR.

    BEGIN :task_id:=rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces('TBS1,TBS2,TBS3','DATA_PUMP_DIR'); END; / PRINT task_id
  3. (Opcional) Supervise el progreso consultando la tabla rdsadmin.rds_xtts_operation_info. La columna xtts_operation_state muestra el valor EXECUTING, COMPLETED o FAILED.

    SELECT * FROM rdsadmin.rds_xtts_operation_info;
    nota

    Para operaciones de larga duración, también puede consultar V$SESSION_LONGOPS, V$RMAN_STATUS y V$RMAN_OUTPUT.

  4. Para ver el registro de la importación finalizada, utilice el ID de la tarea del paso anterior.

    SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||'&task_id'||'.log'));

    Asegúrese de que se haya completado correctamente la importación antes de continuar con el siguiente paso.

  5. Realice una instantánea manual de la base de datos siguiendo las instrucciones de Creación de una instantánea de base de datos para una instancia de base de datos single-AZ.

Paso 5: Importar los metadatos del espacio de tabla en la instancia de base de datos de destino

En este paso, se importan los metadatos del espacio de tabla transportables a la instancia de base de datos de RDS para Oracle mediante el procedimiento rdsadmin.rdsadmin_transport_util.import_xtts_metadata. Para obtener información sobre la sintaxis y la semántica de este procedimiento, consulte Importación de metadatos de espacios de tabla transportables a su instancia de base de datos. Durante la operación, el estado de la importación se muestra en la tabla rdsadmin.rds_xtts_operation_info.

importante

Antes de importar los metadatos, le recomendamos encarecidamente que confirme la creación correcta de la instantánea de base de datos después de importar los espacios de tabla. Si se produce un error en el paso de importación, restaure la instancia de base de datos, corrija los errores de importación y, a continuación, vuelva a intentar la importación.

Importar los metadatos de Data Pump a la instancia de base de datos de RDS para Oracle
  1. Inicie el cliente de Oracle SQL e inicie sesión como usuario maestro en su instancia de base de datos de destino.

  2. Cree los usuarios que posean esquemas en los espacios de tabla transportados, si estos usuarios aún no existen.

    CREATE USER tbs_owner IDENTIFIED BY password;
  3. Importe los metadatos, especificando el nombre del archivo de volcado y su ubicación en el directorio.

    BEGIN rdsadmin.rdsadmin_transport_util.import_xtts_metadata('xttdump.dmp','DATA_PUMP_DIR'); END; /
  4. (Opcional) Consulte la tabla del historial de espacios de tabla transportables para ver el estado de la importación de los metadatos.

    SELECT * FROM rdsadmin.rds_xtts_operation_info;

    Cuando finalice la operación, los espacios de tabla estarán en modo de solo lectura.

  5. (Opcional) Vea el archivo de registro.

    En el ejemplo siguiente se muestra el contenido del directorio BDUMP y, a continuación, se consulta el registro de importación.

    SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => 'BDUMP')); SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file( p_directory => 'BDUMP', p_filename => 'rds-xtts-import_xtts_metadata-2023-05-22.01-52-35.560858000.log'));

Fase 5: Validar los espacios de tabla transportados

En este paso opcional, se validan los espacios de tabla transportados mediante el procedimiento rdsadmin.rdsadmin_rman_util.validate_tablespace y, a continuación, los espacios de tabla se establecen en modo de lectura/escritura.

Para validar los datos transportados
  1. Inicie SQL*Plus o SQL Developer e inicie sesión como usuario maestro en su instancia de base de datos de destino.

  2. Valide los espacios de tabla mediante el procedimiento rdsadmin.rdsadmin_rman_util.validate_tablespace.

    SET SERVEROUTPUT ON BEGIN rdsadmin.rdsadmin_rman_util.validate_tablespace( p_tablespace_name => 'TBS1', p_validation_type => 'PHYSICAL+LOGICAL', p_rman_to_dbms_output => TRUE); rdsadmin.rdsadmin_rman_util.validate_tablespace( p_tablespace_name => 'TBS2', p_validation_type => 'PHYSICAL+LOGICAL', p_rman_to_dbms_output => TRUE); rdsadmin.rdsadmin_rman_util.validate_tablespace( p_tablespace_name => 'TBS3', p_validation_type => 'PHYSICAL+LOGICAL', p_rman_to_dbms_output => TRUE); END; /
  3. Coloque los espacios de tabla en modo de lectura/escritura.

    ALTER TABLESPACE TBS1 READ WRITE; ALTER TABLESPACE TBS2 READ WRITE; ALTER TABLESPACE TBS3 READ WRITE;

Fase 6: Limpiar los archivos sobrantes

En este paso opcional, se eliminan los archivos innecesarios. Utilice el procedimiento rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files para enumerar los archivos de datos que quedaron huérfanos tras la importación de un espacio de tabla y, a continuación, utilice el procedimiento rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files para eliminarlos. Para obtener información sobre la sintaxis y la semántica de estos procedimientos, consulte Enumeración de los archivos huérfanos después de importar un espacio de tabla y Eliminación de los archivos de datos huérfanos después de importar un espacio de tabla.

Para limpiar los archivos sobrantes
  1. Elimine las copias de seguridad antiguas en DATA_PUMP_DIR de la siguiente manera:

    1. Para enumerar los archivos de copia de seguridad, ejecute rdsadmin.rdsadmin_file_util.listdir.

      SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => 'DATA_PUMP_DIR'));
    2. Para eliminar las copias de seguridad una por una, llame a UTL_FILE.FREMOVE.

      EXEC UTL_FILE.FREMOVE ('DATA_PUMP_DIR', 'backup_filename');
  2. Si ha importado espacios de tabla pero no ha importado metadatos para estos espacios de tabla, puede eliminar los archivos de datos huérfanos de la siguiente manera:

    1. Haga una lista de los archivos de datos huérfanos que debe eliminar. En el siguiente ejemplo se ejecuta el procedimiento rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files.

      SQL> SELECT * FROM TABLE(rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files); FILENAME FILESIZE -------------- --------- datafile_7.dbf 104865792 datafile_8.dbf 104865792
    2. Para eliminar los archivos huérfanos, ejecute el procedimiento rdsadmin.rdsadmin_transport_util.cleanup_incomplete_xtts_import.

      BEGIN rdsadmin.rdsadmin_transport_util.cleanup_incomplete_xtts_import('DATA_PUMP_DIR'); END; /

      La operación de limpieza genera un archivo de registro que utiliza el formato de nombre rds-xtts-delete_xtts_orphaned_files-YYYY-MM-DD.HH24-MI-SS.FF.log del directorio BDUMP.

    3. Lea el archivo de registro generado en el paso anterior. En el siguiente ejemplo se lee el registro rds-xtts-delete_xtts_orphaned_files-2023-06-01.09-33-11.868894000.log.

      SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file( p_directory => 'BDUMP', p_filename => 'rds-xtts-delete_xtts_orphaned_files-2023-06-01.09-33-11.868894000.log')); TEXT -------------------------------------------------------------------------------- orphan transported datafile datafile_7.dbf deleted. orphan transported datafile datafile_8.dbf deleted.
  3. Si ha importado espacios de tabla y metadatos para estos espacios de tabla, pero se ha topado con errores de compatibilidad u otros problemas de Oracle Data Pump, limpie los archivos de datos parcialmente transportados de la siguiente manera:

    1. Enumere los espacios de tabla que contienen archivos de datos parcialmente transportados mediante consultas DBA_TABLESPACES.

      SQL> SELECT TABLESPACE_NAME FROM DBA_TABLESPACES WHERE PLUGGED_IN='YES'; TABLESPACE_NAME -------------------------------------------------------------------------------- TBS_3
    2. Elimine los espacios de tabla y los archivos de datos parcialmente transportados.

      DROP TABLESPACE TBS_3 INCLUDING CONTENTS AND DATAFILES;