

# Realización de tareas diversas para instancias de base de datos de Oracle
<a name="Appendix.Oracle.CommonDBATasks.Misc"></a>

A continuación, puede encontrar cómo realizar varias tareas de DBA en las instancias de base de datos de Amazon RDS que ejecutan Oracle. Para ofrecer una experiencia de servicio administrado, Amazon RDS no proporciona acceso mediante shell a las instancias de bases de datos y restringe el acceso a ciertos procedimientos y tablas del sistema que requieren privilegios avanzados. 

**Topics**
+ [Creación y eliminación de directorios en el espacio de almacenamiento de datos principal](#Appendix.Oracle.CommonDBATasks.NewDirectories)
+ [Descripción de los archivos de un directorio de instancia de base de datos](#Appendix.Oracle.CommonDBATasks.ListDirectories)
+ [Lectura de archivos de un directorio de instancia de base de datos](#Appendix.Oracle.CommonDBATasks.ReadingFiles)
+ [Acceso a los archivos de Opatch](#Appendix.Oracle.CommonDBATasks.accessing-opatch-files)
+ [Administrar tareas del asesor](#Appendix.Oracle.CommonDBATasks.managing-advisor-tasks)
+ [Transporte de espacios de tabla](rdsadmin_transport_util.md)

## Creación y eliminación de directorios en el espacio de almacenamiento de datos principal
<a name="Appendix.Oracle.CommonDBATasks.NewDirectories"></a>

Utilice el procedimiento de Amazon RDS para crear directorio `rdsadmin.rdsadmin_util.create_directory`. Puede crear hasta 10 000 directorios, todos ellos en el espacio principal de almacenamiento de datos. Para eliminar directorios, utilice el procedimiento de Amazon RDS `rdsadmin.rdsadmin_util.drop_directory`.

Los procedimientos `create_directory` y `drop_directory` tienen el siguiente parámetro requerido. 


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_directory_name`  |  VARCHAR2  |  —  |  Sí  |  El nombre del directorio.  | 

En el siguiente ejemplo se crea un directorio denominado `PRODUCT_DESCRIPTIONS`. 

```
EXEC rdsadmin.rdsadmin_util.create_directory(p_directory_name => 'product_descriptions');
```

El diccionario de datos almacena el nombre del directorio en mayúsculas. Es posible obtener un listado de los directorios consultando `DBA_DIRECTORIES`. El sistema elige automáticamente la ruta de acceso real del host. En el ejemplo siguiente se obtiene la ruta del directorio denominado `PRODUCT_DESCRIPTIONS`: 

```
SELECT DIRECTORY_PATH 
  FROM DBA_DIRECTORIES 
 WHERE DIRECTORY_NAME='PRODUCT_DESCRIPTIONS';
        
DIRECTORY_PATH
----------------------------------------
/rdsdbdata/userdirs/01
```

El nombre de usuario maestro de la instancia de base de datos tiene privilegios de lectura y escritura en el nuevo directorio y puede conceder acceso a otros usuarios. Los privilegios de `EXECUTE` no están disponibles para directorios en una instancia de base de datos. Los directorios se crean en el espacio principal de almacenamiento de datos, y consumen espacio y ancho de banda de E/S. 

En el ejemplo siguiente se elimina el directorio denominado `PRODUCT_DESCRIPTIONS`. 

```
EXEC rdsadmin.rdsadmin_util.drop_directory(p_directory_name => 'product_descriptions');
```

**nota**  
También puede eliminar un directorio mediante el comando de Oracle SQL `DROP DIRECTORY`. 

Al eliminar un directorio, no se elimina su contenido. Debido a que el procedimiento `rdsadmin.rdsadmin_util.create_directory` puede reutilizar los nombres de ruta, los archivos de los directorios eliminados pueden aparecer en un directorio que se acaba de crear. Antes de eliminar un directorio, recomendamos que utilice `UTL_FILE.FREMOVE` para eliminar los archivos del directorio. Para más información, consulte [FREMOVE Procedure](https://docs.oracle.com/database/121/ARPLS/u_file.htm#ARPLS70924) en la documentación de Oracle.

## Descripción de los archivos de un directorio de instancia de base de datos
<a name="Appendix.Oracle.CommonDBATasks.ListDirectories"></a>

Utilice el procedimiento de Amazon RDS para obtener un listado de los archivos de un directori `rdsadmin.rds_file_util.listdir`. No se admite este procedimiento en una réplica de Oracle. El procedimiento `listdir` tiene los siguientes parámetros. 


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_directory`  |  varchar2  |  —  |  Sí  |  El nombre del directorio cuyo listado se desea obtener.  | 

El siguiente ejemplo concede privilegios de lectura o escritura en el directorio `PRODUCT_DESCRIPTIONS` al usuario `rdsadmin` y, luego, enumera los archivos de este directorio. 

```
GRANT READ,WRITE ON DIRECTORY PRODUCT_DESCRIPTIONS TO rdsadmin;
SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => 'PRODUCT_DESCRIPTIONS'));
```

## Lectura de archivos de un directorio de instancia de base de datos
<a name="Appendix.Oracle.CommonDBATasks.ReadingFiles"></a>

Utilice el procedimiento de Amazon RDS para leer un archivo de text `rdsadmin.rds_file_util.read_text_file`. El procedimiento `read_text_file` tiene los siguientes parámetros. 


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_directory`  |  varchar2  |  —  |  Sí  |  El nombre del directorio que contiene el archivo.  | 
|  `p_filename`  |  varchar2  |  —  |  Sí  |  El nombre del archivo que se va a leer.  | 

En el ejemplo siguiente se crea el archivo `rice.txt` en el directorio `PRODUCT_DESCRIPTIONS`. 

```
declare
  fh sys.utl_file.file_type;
begin
  fh := utl_file.fopen(location=>'PRODUCT_DESCRIPTIONS', filename=>'rice.txt', open_mode=>'w');
  utl_file.put(file=>fh, buffer=>'AnyCompany brown rice, 15 lbs');
  utl_file.fclose(file=>fh);
end;
/
```

En el siguiente ejemplo se lee el archivo `rice.txt` del directorio `PRODUCT_DESCRIPTIONS`. 

```
SELECT * FROM TABLE
    (rdsadmin.rds_file_util.read_text_file(
        p_directory => 'PRODUCT_DESCRIPTIONS',
        p_filename  => 'rice.txt'));
```

## Acceso a los archivos de Opatch
<a name="Appendix.Oracle.CommonDBATasks.accessing-opatch-files"></a>

Opatch es una utilidad de Oracle que permite la aplicación y la restauración de parches en el software de Oracle. El mecanismo de Oracle para determinar qué parches se han aplicado a una base de datos es el comando `opatch lsinventory`. Para abrir solicitudes de servicio para clientes de Bring Your Own License (BYOL), Oracle Support solicita el archivo `lsinventory` y a veces el archivo `lsinventory_detail` generado por Opatch.

Para ofrecer una experiencia de servicio administrado, Amazon RDS no proporciona acceso mediante shell a Opatch. En su lugar, el `lsinventory-dbv.txt` en el directorio BDUMP contiene la información del parche relacionada con la versión actual del motor. Cuando realiza una actualización menor o importante, Amazon RDS actualiza `lsinventory-dbv.txt` dentro de una hora después de aplicar el parche. Para verificar los parches aplicados, lea `lsinventory-dbv.txt`. Esta acción es similar a ejecutar el comando `opatch lsinventory`.

**nota**  
Los ejemplos de esta sección suponen que el directorio BDUMP se llama `BDUMP`. En una réplica de lectura, el nombre del directorio BDUMP es diferente. Para obtener información sobre cómo obtener el nombre BDUMP mediante una consulta `V$DATABASE.DB_UNIQUE_NAME` en una réplica de lectura, consulte [Descripción de archivos](USER_LogAccess.Concepts.Oracle.md#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.ViewingBackgroundDumpDest).

Los archivos de inventario utilizan la convención de nomenclatura de Amazon RDS `lsinventory-dbv.txt` y `lsinventory_detail-dbv.txt`, donde *dbv* es el nombre completo de su versión de base de datos. El archivo `lsinventory-dbv.txt` está disponible en todas las versiones de base de datos. El correspondiente `lsinventory_detail-dbv.txt` está disponible en 19.0.0.0, ru-2020-01.rur-2020-01.r1 o versiones posteriores.

Por ejemplo, si su versión de base de datos es 19.0.0.0.ru-2021-07.rur-2021-07.r1, los archivos de inventario tienen los siguientes nombres.

```
lsinventory-19.0.0.0.ru-2021-07.rur-2021-07.r1.txt
lsinventory_detail-19.0.0.0.ru-2021-07.rur-2021-07.r1.txt
```

Asegúrese de descargar los archivos que coinciden con la versión actual de su motor de base de datos.

### Consola
<a name="Appendix.Oracle.CommonDBATasks.accessing-opatch-files.console"></a>

**Para descargar un archivo de inventario mediante la consola**

1. Abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, seleccione **Databases (Bases de datos)**.

1. Seleccione el nombre de la instancia de base de datos que tiene el archivo de registro que desea visualizar.

1. Seleccione la pestaña **Logs & events (Registros y eventos)**.

1. Desplácese hacia abajo hasta la sección **Logs**.

1. En la sección **Registros**, busque `lsinventory`.

1. Seleccione el archivo al que desea acceder y, a continuación, elija **Descargar**.

### SQL
<a name="Appendix.Oracle.CommonDBATasks.accessing-opatch-files.sql"></a>

Para leer `lsinventory-dbv.txt` en un cliente SQL, puede utilizar una instrucción `SELECT`. Para esta técnica, utilice cualquiera de las siguientes funciones de `rdsadmin`: `rdsadmin.rds_file_util.read_text_file` o `rdsadmin.tracefile_listing`.

En la siguiente consulta de ejemplo, reemplace *dbv* por la versión de la base de datos de Oracle. Por ejemplo, es posible que su versión de base de datos sea 19.0.0.0.ru-2020-04.rur-2020-04.r1.

```
SELECT text
FROM   TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'lsinventory-dbv.txt'));
```

### PL/SQL
<a name="Appendix.Oracle.CommonDBATasks.accessing-opatch-files.plsql"></a>

Para leer `lsinventory-dbv.txt` en un cliente SQL, puede escribir un programa PL/SQL. Este programa utiliza `utl_file` para leer el archivo y `dbms_output` para imprimirlo. Estos son paquetes suministrados por Oracle. 

En el siguiente programa de ejemplo, reemplace *dbv* por la versión de base de datos de Oracle. Por ejemplo, es posible que su versión de base de datos sea 19.0.0.0.ru-2020-04.rur-2020-04.r1.

```
SET SERVEROUTPUT ON
DECLARE
  v_file              SYS.UTL_FILE.FILE_TYPE;
  v_line              VARCHAR2(1000);
  v_oracle_home_type  VARCHAR2(1000);
  c_directory         VARCHAR2(30) := 'BDUMP';
  c_output_file       VARCHAR2(30) := 'lsinventory-dbv.txt';
BEGIN
  v_file := SYS.UTL_FILE.FOPEN(c_directory, c_output_file, 'r');
  LOOP
    BEGIN
      SYS.UTL_FILE.GET_LINE(v_file, v_line,1000);
      DBMS_OUTPUT.PUT_LINE(v_line);
    EXCEPTION
      WHEN no_data_found THEN
        EXIT;
    END;
  END LOOP;
END;
/
```

O consulta `rdsadmin.tracefile_listing` e incorpora la salida a un archivo. En el ejemplo siguiente se incorpora la salida a `/tmp/tracefile.txt`.

```
SPOOL /tmp/tracefile.txt
SELECT * 
FROM   rdsadmin.tracefile_listing 
WHERE  FILENAME LIKE 'lsinventory%';
SPOOL OFF;
```

## Administrar tareas del asesor
<a name="Appendix.Oracle.CommonDBATasks.managing-advisor-tasks"></a>

Oracle Database incluye varios asesores. Cada asesor soporta tareas automatizadas y manuales. Puede utilizar procedimientos en el paquete `rdsadmin.rdsadmin_util` para administrar algunas tareas del asesor.

Los procedimientos de tareas del asesor están disponibles en las siguientes versiones del motor:
+ Oracle Database 21c (21.0.0)
+ Versión 19.0.0.0.ru-2021-01.rur-2021-01.r1 Oracle Database 19c y versiones posteriores 

  Para obtener más información, consulte la sección sobre la [versión 19.0.0.0.ru-2021-01.rur-2021-01.r1](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/oracle-version-19-0.html#oracle-version-RU-RUR.19.0.0.0.ru-2021-01.rur-2021-01.r1) en las *notas de la versión de Amazon RDS for Oracle*.

**Topics**
+ [Configuración de parámetros para tareas del asesor](#Appendix.Oracle.CommonDBATasks.setting-task-parameters)
+ [Desactivación de AUTO\$1STATS\$1ADVISOR\$1TASK](#Appendix.Oracle.CommonDBATasks.dropping-advisor-task)
+ [Volver a habilitar AUTO\$1STATS\$1ADVISOR\$1TASK](#Appendix.Oracle.CommonDBATasks.recreating-advisor-task)

### Configuración de parámetros para tareas del asesor
<a name="Appendix.Oracle.CommonDBATasks.setting-task-parameters"></a>

A fin de establecer parámetros para algunas tareas del asesor, utilice el Amazon RDS procedimiento `rdsadmin.rdsadmin_util.advisor_task_set_parameter`. El procedimiento `advisor_task_set_parameter` tiene los siguientes parámetros.


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_task_name`  |  varchar2  |  —  |  Sí  |  El nombre de la tarea del asesor cuyos parámetros desea cambiar. Los siguientes valores son válidos: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.Misc.html)  | 
|  `p_parameter`  |  varchar2  |  —  |  Sí  |  El nombre del parámetro de la tarea. A fin de buscar parámetros válidos para una tarea del asesor, ejecute la siguiente consulta. Sustituya *p\$1task\$1name* con un valor válido para `p_task_name`: <pre>COL PARAMETER_NAME FORMAT a30<br />COL PARAMETER_VALUE FORMAT a30<br />SELECT PARAMETER_NAME, PARAMETER_VALUE<br />FROM DBA_ADVISOR_PARAMETERS<br />WHERE TASK_NAME='p_task_name'<br />AND PARAMETER_VALUE != 'UNUSED'<br />ORDER BY PARAMETER_NAME;</pre>  | 
|  `p_value`  |  varchar2  |  —  |  Sí  |  El valor de un parámetro de tarea. Para buscar valores válidos para los parámetros de tarea, ejecute la siguiente consulta. Sustituya *p\$1task\$1name* con un valor válido para `p_task_name`: <pre>COL PARAMETER_NAME FORMAT a30<br />COL PARAMETER_VALUE FORMAT a30<br />SELECT PARAMETER_NAME, PARAMETER_VALUE<br />FROM DBA_ADVISOR_PARAMETERS<br />WHERE TASK_NAME='p_task_name'<br />AND PARAMETER_VALUE != 'UNUSED'<br />ORDER BY PARAMETER_NAME;</pre>  | 

El siguiente programa PL/SQL establece `ACCEPT_PLANS` a `FALSE` para `SYS_AUTO_SPM_EVOLVE_TASK`. La tarea automatizada de administración de planes SQL verifica los planes y genera un informe de sus conclusiones, pero no evoluciona los planes automáticamente. Puede utilizar un informe para identificar nuevas líneas base de plan SQL y aceptarlas manualmente.

```
BEGIN 
  rdsadmin.rdsadmin_util.advisor_task_set_parameter(
    p_task_name => 'SYS_AUTO_SPM_EVOLVE_TASK',
    p_parameter => 'ACCEPT_PLANS',
    p_value     => 'FALSE');
END;
```

El siguiente programa PL/SQL establece `EXECUTION_DAYS_TO_EXPIRE` a `10` para `AUTO_STATS_ADVISOR_TASK`. La tarea predefinida `AUTO_STATS_ADVISOR_TASK` se ejecuta automáticamente en el periodo de mantenimiento una vez al día. En el ejemplo se establece el periodo de retención para la ejecución de la tarea en 10 días. 

```
BEGIN 
  rdsadmin.rdsadmin_util.advisor_task_set_parameter(
    p_task_name => 'AUTO_STATS_ADVISOR_TASK',
    p_parameter => 'EXECUTION_DAYS_TO_EXPIRE',
    p_value     => '10');
END;
```

### Desactivación de AUTO\$1STATS\$1ADVISOR\$1TASK
<a name="Appendix.Oracle.CommonDBATasks.dropping-advisor-task"></a>

Para deshabilitar `AUTO_STATS_ADVISOR_TASK`, utilice el Amazon RDS procedimiento `rdsadmin.rdsadmin_util.advisor_task_drop`. El procedimiento `advisor_task_drop` acepta el siguiente parámetro.


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_task_name`  |  varchar2  |  —  |  Sí  |  El nombre de la tarea del asesor que se va a deshabilitar. El único valor válido es `AUTO_STATS_ADVISOR_TASK`.  | 

El siguiente comando se coloca `AUTO_STATS_ADVISOR_TASK`.

```
EXEC rdsadmin.rdsadmin_util.advisor_task_drop('AUTO_STATS_ADVISOR_TASK')
```

Puede volver a habilitar `AUTO_STATS_ADVISOR_TASK` con `rdsadmin.rdsadmin_util.dbms_stats_init`.

### Volver a habilitar AUTO\$1STATS\$1ADVISOR\$1TASK
<a name="Appendix.Oracle.CommonDBATasks.recreating-advisor-task"></a>

Para volver a habilitar `AUTO_STATS_ADVISOR_TASK`, utilice el Amazon RDS procedimiento `rdsadmin.rdsadmin_util.dbms_stats_init`. El procedimiento `dbms_stats_init` no acepta parámetros.

El siguiente comando vuelve a habilitar `AUTO_STATS_ADVISOR_TASK`.

```
EXEC rdsadmin.rdsadmin_util.dbms_stats_init()
```

# Transporte de espacios de tabla
<a name="rdsadmin_transport_util"></a>

Utilice el paquete Amazon RDS `rdsadmin.rdsadmin_transport_util` para copiar un conjunto de espacios de tabla de una base de datos Oracle en las instalaciones a una instancia de base de datos de RDS para Oracle. A nivel físico, la característica de espacio de tabla transportable copia de forma incremental los archivos de datos de origen y los archivos de metadatos en la instancia de destino. Puede transferir los archivos mediante Amazon EFS o Amazon S3. Para obtener más información, consulte [Migración mediante espacios de tabla transportables de Oracle](oracle-migrating-tts.md).

**Topics**
+ [Importación de espacios de tabla transportados a su instancia de base de datos](rdsadmin_transport_util_import_xtts_tablespaces.md)
+ [Importación de metadatos de espacios de tabla transportables a su instancia de base de datos](rdsadmin_transport_util_import_xtts_metadata.md)
+ [Enumeración de los archivos huérfanos después de importar un espacio de tabla](rdsadmin_transport_util_list_xtts_orphan_files.md)
+ [Eliminación de los archivos de datos huérfanos después de importar un espacio de tabla](rdsadmin_transport_util_cleanup_incomplete_xtts_import.md)

# Importación de espacios de tabla transportados a su instancia de base de datos
<a name="rdsadmin_transport_util_import_xtts_tablespaces"></a>

Utilice el procedimiento `rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces` para restaurar los espacios de tabla que haya exportado anteriormente desde una instancia de base de datos de origen. En la fase de transporte, 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 a su instancia de base de datos de destino y se importan tanto los espacios de tabla. Para obtener más información, consulte [Fase 4: Transportar los espacios de tabla](oracle-migrating-tts.md#oracle-migrating-tts.final-br-phase). 

## Sintaxis
<a name="rdsadmin_transport_util_import_xtts_tablespaces-syntax"></a>

```
FUNCTION import_xtts_tablespaces(
    p_tablespace_list IN CLOB,
    p_directory_name  IN VARCHAR2,
    p_platform_id     IN NUMBER DEFAULT 13,
    p_parallel        IN INTEGER DEFAULT 0) RETURN VARCHAR2;
```

## Parameters
<a name="rdsadmin_transport_util_import_xtts_tablespaces-parameters"></a>


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_tablespace_list`  |  `CLOB`  |  —  |  Sí  |  La lista de espacios de tabla que se van a importar.  | 
|  `p_directory_name`  |  `VARCHAR2`  |  —  |  Sí  | El directorio que contiene las copias de seguridad del espacio de tabla. | 
|  `p_platform_id`  |  `NUMBER`  |  `13`  |  No  |  Proporcione un ID de plataforma que coincida con el especificado durante la fase de copia de seguridad. Para encontrar una lista de plataformas, consulte `V$TRANSPORTABLE_PLATFORM`. La plataforma predeterminada es Linux x86 de 64 bits, que tiene un formato little endian.  | 
|  `p_parallel`  |  `INTEGER`  |  `0`  |  No  |  El grado de paralelismo. De forma predeterminada, el paralelismo está desactivado.  | 

## Ejemplos
<a name="rdsadmin_transport_util_import_xtts_tablespaces-examples"></a>

En el siguiente ejemplo se importan los espacios de tabla *TBS1*, *TBS2* y *TBS3* del directorio *DATA\$1PUMP\$1DIR*. 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
```

# Importación de metadatos de espacios de tabla transportables a su instancia de base de datos
<a name="rdsadmin_transport_util_import_xtts_metadata"></a>

Utilice el procedimiento `rdsadmin.rdsadmin_transport_util.import_xtts_metadata` para importar los metadatos del espacio de tabla transportable a su instancia de base de datos de RDS para Oracle. Durante la operación, el estado de la importación de metadatos se muestra en la tabla `rdsadmin.rds_xtts_operation_info`. Para obtener más información, consulte [Paso 5: Importar los metadatos del espacio de tabla en la instancia de base de datos de destino](oracle-migrating-tts.md#oracle-migrating-tts.transport.import-dmp).

## Sintaxis
<a name="rdsadmin_transport_util_import_xtts_metadata-syntax"></a>

```
PROCEDURE import_xtts_metadata(
    p_datapump_metadata_file IN SYS.DBA_DATA_FILES.FILE_NAME%TYPE,
    p_directory_name         IN VARCHAR2,
    p_exclude_stats          IN BOOLEAN DEFAULT FALSE,
    p_remap_tablespace_list  IN CLOB DEFAULT NULL,
    p_remap_user_list        IN CLOB DEFAULT NULL);
```

## Parameters
<a name="rdsadmin_transport_util_import_xtts_metadata-parameters"></a>


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_datapump_metadata_file`  |  `SYS.DBA_DATA_FILES.FILE_NAME%TYPE`  |  —  |  Sí  |  El nombre del archivo de Oracle Data Pump que contiene los metadatos de los espacios de tabla transportables.  | 
|  `p_directory_name`  |  `VARCHAR2`  |  —  |  Sí  |  El nombre del directorio que contiene el archivo de Data Pump.  | 
|  `p_exclude_stats`  |  `BOOLEAN`  |  `FALSE`  |  No  |  Indicador que señala si se deben excluir las estadísticas.  | 
|  `p_remap_tablespace_list`  |  `CLOB`  |  NULL  |  No  |  Una lista de espacios de tabla que se van a reasignar durante la importación de metadatos. Utilice el formato `from_tbs:to_tbs`. Por ejemplo, especifique `users:user_data`.   | 
|  `p_remap_user_list`  |  `CLOB`  |  NULL  |  No  |  Una lista de esquemas de usuario que se van a reasignar durante la importación de metadatos. Utilice el formato `from_schema_name:to_schema_name`. Por ejemplo, especifique `hr:human_resources`.   | 

## Ejemplos
<a name="rdsadmin_transport_util_import_xtts_metadata-examples"></a>

El ejemplo importa los metadatos del espacio de tabla del archivo *xttdump.dmp*, que se encuentra en el directorio *DATA\$1PUMP\$1DIR*.

```
BEGIN
  rdsadmin.rdsadmin_transport_util.import_xtts_metadata('xttdump.dmp','DATA_PUMP_DIR');
END;
/
```

# Enumeración de los archivos huérfanos después de importar un espacio de tabla
<a name="rdsadmin_transport_util_list_xtts_orphan_files"></a>

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. Después de identificar los archivos de datos, puede eliminarlos llamando a `rdsadmin.rdsadmin_transport_util.cleanup_incomplete_xtts_import`.

## Sintaxis
<a name="rdsadmin_transport_util_list_xtts_orphan_files-syntax"></a>

```
FUNCTION list_xtts_orphan_files RETURN xtts_orphan_files_list_t PIPELINED;
```

## Ejemplos
<a name="rdsadmin_transport_util_list_xtts_orphan_files-examples"></a>

En el siguiente ejemplo se ejecuta el procedimiento `rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files`. El resultado muestra dos archivos de datos huérfanos.

```
SQL> SELECT * FROM TABLE(rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files);

FILENAME       FILESIZE
-------------- ---------
datafile_7.dbf 104865792
datafile_8.dbf 104865792
```

# Eliminación de los archivos de datos huérfanos después de importar un espacio de tabla
<a name="rdsadmin_transport_util_cleanup_incomplete_xtts_import"></a>

Utilice el procedimiento `rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files` para eliminar los archivos de datos que quedaron huérfanos tras la importación de un espacio de tabla. La ejecución de este comando genera un archivo de registro que usa el formato de nombre `rds-xtts-delete_xtts_orphaned_files-YYYY-MM-DD.HH24-MI-SS.FF.log` en el directorio `BDUMP`. Utilice el procedimiento `rdsadmin.rdsadmin_transport_util.cleanup_incomplete_xtts_import` para buscar los archivos huérfanos. Para leer el archivo de registro, llame al procedimiento `rdsadmin.rds_file_util.read_text_file`. Para obtener más información, consulte [Fase 6: Limpiar los archivos sobrantes](oracle-migrating-tts.md#oracle-migrating-tts.cleanup).

## Sintaxis
<a name="rdsadmin_transport_util_cleanup_incomplete_xtts_import-syntax"></a>

```
PROCEDURE cleanup_incomplete_xtts_import(
    p_directory_name IN VARCHAR2);
```

## Parameters
<a name="rdsadmin_transport_util_cleanup_incomplete_xtts_import-parameters"></a>


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_directory_name`  |  `VARCHAR2`  |  —  |  Sí  |  El directorio que contiene los archivos de datos huérfanos.  | 

## Ejemplos
<a name="rdsadmin_transport_util_cleanup_incomplete_xtts_import-examples"></a>

En el siguiente ejemplo se eliminan los archivos de datos huérfanos en *DATA\$1PUMP\$1DIR*.

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

En el siguiente ejemplo se lee el archivo de registro generado por el comando anterior. 

```
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.
```