

# Administración de la instancia de base de datos de RDS para Oracle
<a name="Appendix.Oracle.CommonDBATasks"></a>

A continuación, se presentan las tareas de administración comunes que se llevan a cabo con una instancia de base de datos de RDS para Oracle. Algunas tareas son las mismas para todas las instancias de base de datos de RDS. Otras tareas son específicas de RDS para Oracle.

Las siguientes tareas son comunes para todas las bases de datos de RDS, pero Oracle Database tiene algunos elementos particulares. Por ejemplo, se conecta a una base de datos de Oracle con los clientes de Oracle SQL\$1Plus y SQL Developer.


****  

| Área de la tarea | Documentación relacionada | 
| --- | --- | 
|  **Clases de instancias, almacenamiento y PIOPS** Si está creando una instancia de producción, aprenda cómo funcionan las clases de instancia, los tipos de almacenamiento y las IOPS provisionadas en Amazon RDS.   |  [Clases de instancias de base de datos de RDS para Oracle](Oracle.Concepts.InstanceClasses.md) [Tipos de almacenamiento de Amazon RDS](CHAP_Storage.md#Concepts.Storage)  | 
|  **Implementaciones Multi-AZ** Una instancia de base de datos de producción debe usar implementaciones Multi-AZ. Las implementaciones Multi-AZ proporcionan unos niveles superiores de disponibilidad, durabilidad de los datos y tolerancia a errores para las instancias de base de datos.   |  [Configuración y administración de una implementación multi-AZ para Amazon RDS](Concepts.MultiAZ.md)  | 
|  **Amazon VPC** Si su cuenta de AWS tiene una nube privada virtual (VPC) predeterminada, la instancia de base de datos se creará automáticamente dentro de la VPC predeterminada. Si su cuenta no tiene una VPC predeterminada y desea que la instancia de base de datos esté en una VPC, cree los grupos de VPC y de subredes antes de crear la instancia.   |  [Uso de una instancia de base de datos en una VPC](USER_VPC.WorkingWithRDSInstanceinaVPC.md)  | 
|  **Grupos de seguridad** De forma predeterminada, las instancias de base de datos utilizan un firewall que impide el acceso. Asegúrese de crear un grupo de seguridad con las direcciones IP y la configuración de red correctas para acceder a la instancia de base de datos.  |  [Control de acceso con grupos de seguridad](Overview.RDSSecurityGroups.md)  | 
|  **Grupos de parámetros** Si su instancia de base de datos va a requerir unos parámetros de base de datos concretos, cree un grupo de parámetros antes de crear la instancia de base de datos.   |  [Grupos de parámetros para Amazon RDS](USER_WorkingWithParamGroups.md)  | 
|  **Grupos de opciones** Si la instancia de base de datos requiere opciones de base de datos concretas, cree un grupo de opciones antes de crear la instancia de base de datos.   |  [Adición de opciones a instancias de base de datos de Oracle](Appendix.Oracle.Options.md)  | 
|  **Conexión a la instancia de base de datos** Después de crear un grupo de seguridad y de asociarlo a una instancia de base de datos, puede conectarse a la instancia de base de datos usando cualquier aplicación cliente estándar de SQL, como Oracle SQL Plus.   |  [Conexión a una instancia de base de datos de Oracle](USER_ConnectToOracleInstance.md)  | 
|  **Copia de seguridad y restauración** Puede configurar su instancia de base de datos para que realice backups automatizados o tomar snapshots manuales y restaurar después las instancias a partir de los backups o los snapshots.   |  [Copia de seguridad, restauración y exportación de datos](CHAP_CommonTasks.BackupRestore.md)  | 
|  **Supervisión** Puede monitorizar una base de datos Oracle utilizando las métricas, los eventos y la monitorización avanzada de CloudWatch Amazon RDS.   |  [Consulta de métricas en la consola de Amazon RDS](USER_Monitoring.md) [Consulta de eventos de Amazon RDS](USER_ListEvents.md)  | 
|  **Archivos de registro** Puede obtener acceso a los archivos de log de la instancia de base de datos Oracle.   |  [Supervisión de archivos de registro de Amazon RDS](USER_LogAccess.md)  | 

A continuación, puede encontrar una descripción para implementaciones específicas de Amazon RDS de tareas comunes de DBA para RDS Oracle. Para ofrecer una experiencia de servicio administrado, Amazon RDS no proporciona acceso mediante shell a las instancias de base de datos. Además, RDS restringe el acceso a ciertos procedimientos y tablas del sistema que requieren privilegios avanzados. En muchas de las tareas, ejecute el paquete de `rdsadmin` , que es una herramienta específica de Amazon RDS que permite administrar la base de datos.

A continuación se indican las tareas comunes de DBA para las instancias de bases de datos que ejecutan Oracle:
+ [Tareas del sistema](Appendix.Oracle.CommonDBATasks.System.md)  
****    
<a name="dba-tasks-oracle-system-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.html)

 
+ [Tareas de bases de datos](Appendix.Oracle.CommonDBATasks.Database.md)  
****    
<a name="dba-tasks-oracle-database-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.html)

 
+ [Tareas relacionadas con los registros](Appendix.Oracle.CommonDBATasks.Log.md)  
****    
<a name="dba-tasks-oracle-log-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.html)

 
+ [Tareas de RMAN](Appendix.Oracle.CommonDBATasks.RMAN.md)  
****    
<a name="dba-tasks-oracle-rman-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.html)

 
+ [Tareas del programador de Oracle](Appendix.Oracle.CommonDBATasks.Scheduler.md)  
****    
<a name="dba-tasks-oracle-scheduler-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.html)

 
+ [Diagnóstico de problemas](Appendix.Oracle.CommonDBATasks.Diagnostics.md)  
****    
<a name="dba-tasks-oracle-diagnostic-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.html)

 
+ [Otras tareas](Appendix.Oracle.CommonDBATasks.Misc.md)  
****    
<a name="dba-tasks-oracle-misc-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.html)

 

También puede utilizar procedimientos de Amazon RDS para integración de Amazon S3 con Oracle y para ejecutar tareas de base de datos de OEM Management Agent. Para obtener más información, consulte [Integración de Amazon S3](oracle-s3-integration.md) y [Realización de tareas de base de datos con Management Agent](Oracle.Options.OEMAgent.md#Oracle.Options.OEMAgent.DBTasks).

# Realización de tareas comunes del sistema para instancias de base de datos de Oracle
<a name="Appendix.Oracle.CommonDBATasks.System"></a>

A continuación, puede encontrar cómo realizar ciertas tareas comunes de DBA relacionadas con el sistema 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**
+ [Desconexión de una sesión](Appendix.Oracle.CommonDBATasks.DisconnectingSession.md)
+ [Terminación de una sesión](Appendix.Oracle.CommonDBATasks.KillingSession.md)
+ [Cancelación de una instrucción SQL en una sesión](Appendix.Oracle.CommonDBATasks.CancellingSQL.md)
+ [Activación y desactivación de sesiones restringidas](Appendix.Oracle.CommonDBATasks.RestrictedSession.md)
+ [Vaciado del grupo compartido](Appendix.Oracle.CommonDBATasks.FlushingSharedPool.md)
+ [Concesión de privilegios SELECT o EXECUTE para objetos SYS](Appendix.Oracle.CommonDBATasks.TransferPrivileges.md)
+ [Revocación de privilegios SELECT o EXECUTE para objetos SYS](Appendix.Oracle.CommonDBATasks.RevokePrivileges.md)
+ [Administración de vistas RDS\$1X\$1 para instancias de bases de datos de Oracle](Appendix.Oracle.CommonDBATasks.X-dollar.md)
+ [Concesión de privilegios a usuarios no maestros](Appendix.Oracle.CommonDBATasks.PermissionsNonMasters.md)
+ [Creación de funciones personalizadas para comprobar contraseñas](Appendix.Oracle.CommonDBATasks.CustomPassword.md)
+ [Configuración de un servidor DNS personalizado](#Appendix.Oracle.CommonDBATasks.CustomDNS)
+ [Establecer y anular eventos de diagnóstico del sistema](Appendix.Oracle.CommonDBATasks.SystemEvents.md)

# Desconexión de una sesión
<a name="Appendix.Oracle.CommonDBATasks.DisconnectingSession"></a>

Utilice el procedimiento de Amazon RDS para desconectar la sesión actual mediante la finalización del proceso del servidor dedicad `rdsadmin.rdsadmin_util.disconnect`. El procedimiento `disconnect` tiene los siguientes parámetros. 


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `sid`  |  número  |  —  |  Sí  |  El identificador de sesión.  | 
|  `serial`  |  número  |  —  |  Sí  |  El número de serie de la sesión.  | 
|  `method`  |  varchar  |  'IMMEDIATE'  |  No  |  Los valores válidos son `'IMMEDIATE'` o `'POST_TRANSACTION'`.  | 

En el siguiente ejemplo se desconecta una sesión.

```
begin
    rdsadmin.rdsadmin_util.disconnect(
        sid    => sid, 
        serial => serial_number);
end;
/
```

Para obtener el identificador de la sesión y el número serie de la sesión, consulte la vista `V$SESSION`. En el siguiente ejemplo se obtienen todas las sesiones del usuario `AWSUSER`.

```
SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE USERNAME = 'AWSUSER';
```

La base de datos debe estar abierta para utilizar este método. Para obtener más información acerca de cómo desconectar una sesión, consulte [ALTER SYSTEM](http://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_2014.htm#SQLRF53166) en la documentación de Oracle. 

# Terminación de una sesión
<a name="Appendix.Oracle.CommonDBATasks.KillingSession"></a>

Para terminar una sesión, utilice el procedimiento de Amazon RDS `rdsadmin.rdsadmin_util.kill`. El procedimiento `kill` tiene los siguientes parámetros.


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `sid`  |  número  |  —  |  Sí  |  El identificador de sesión.  | 
|  `serial`  |  número  |  —  |  Sí  |  El número de serie de la sesión.  | 
|  `method`  |  varchar  |  null  |  No  |  Los valores válidos son `'IMMEDIATE'` o `'PROCESS'`. Si especifica `IMMEDIATE`, tiene el mismo efecto que ejecutar la siguiente instrucción: <pre>ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE</pre> Si especifica `PROCESS`, termina los procesos asociados a una sesión. Solo debe especificar `PROCESS` si no consigue terminar la sesión mediante el uso de `IMMEDIATE`.  | 

Para obtener el identificador de la sesión y el número serie de la sesión, consulte la vista `V$SESSION`. En el siguiente ejemplo se obtienen todas las sesiones del usuario *AWSUSER*..

```
SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE USERNAME = 'AWSUSER';
```

En el ejemplo siguiente se termina una sesión.

```
BEGIN
    rdsadmin.rdsadmin_util.kill(
        sid    => sid, 
        serial => serial_number,
        method => 'IMMEDIATE');
END;
/
```

En el siguiente ejemplo, se terminan los procesos asociados a una sesión.

```
BEGIN
    rdsadmin.rdsadmin_util.kill(
        sid    => sid, 
        serial => serial_number,
        method => 'PROCESS');
END;
/
```

# Cancelación de una instrucción SQL en una sesión
<a name="Appendix.Oracle.CommonDBATasks.CancellingSQL"></a>

Utilice el procedimiento de Amazon RDS para cancelar una instrucción SQL en una sesió `rdsadmin.rdsadmin_util.cancel`.

**nota**  
Este procedimiento se admite para Oracle Database 19c (19.0.0) y todas las versiones principales y secundarias posteriores de RDS for Oracle.

El procedimiento `cancel` tiene los siguientes parámetros. 


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `sid`  |  número  |  —  |  Sí  |  El identificador de sesión.  | 
|  `serial`  |  número  |  —  |  Sí  |  El número de serie de la sesión.  | 
|  `sql_id`  |  varchar2  |  null  |  No  |  El identificador SQL de la instrucción SQL.   | 

En el siguiente ejemplo se cancela una instrucción SQL en una sesión.

```
begin
    rdsadmin.rdsadmin_util.cancel(
        sid    => sid, 
        serial => serial_number,
        sql_id => sql_id);
end;
/
```

Para obtener el identificador de la sesión, el número de serie de la sesión y el identificador SQL de una instrucción SQL, consulte la vista `V$SESSION`. En el siguiente ejemplo se obtienen todas las sesiones e identificadores SQL del usuario `AWSUSER`.

```
select SID, SERIAL#, SQL_ID, STATUS from V$SESSION where USERNAME = 'AWSUSER';
```

# Activación y desactivación de sesiones restringidas
<a name="Appendix.Oracle.CommonDBATasks.RestrictedSession"></a>

Utilice el procedimiento de Amazon RDS para activar y desactivar las sesiones restringida `rdsadmin.rdsadmin_util.restricted_session`. El procedimiento `restricted_session` tiene los siguientes parámetros. 


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Sí | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_enable`  |  booleano  |  true  |  No  |  Establézcalo en `true` para activar las sesiones restringidas y en `false` para desactivarlas.   | 

En el siguiente ejemplo se muestra cómo activar y desactivar las sesiones restringidas. 

```
/* Verify that the database is currently unrestricted. */

SELECT LOGINS FROM V$INSTANCE;
 
LOGINS
-------
ALLOWED

/* Enable restricted sessions */

EXEC rdsadmin.rdsadmin_util.restricted_session(p_enable => true);
 

/* Verify that the database is now restricted. */

SELECT LOGINS FROM V$INSTANCE;
 
LOGINS
----------
RESTRICTED
 

/* Disable restricted sessions */

EXEC rdsadmin.rdsadmin_util.restricted_session(p_enable => false);
 

/* Verify that the database is now unrestricted again. */

SELECT LOGINS FROM V$INSTANCE;
 
LOGINS
-------
ALLOWED
```

# Vaciado del grupo compartido
<a name="Appendix.Oracle.CommonDBATasks.FlushingSharedPool"></a>

Utilice el procedimiento de Amazon RDS para vaciar el grupo compartid `rdsadmin.rdsadmin_util.flush_shared_pool`. El procedimiento `flush_shared_pool` no tiene ningún parámetro. 

En el siguiente ejemplo se vacía el grupo compartido.

```
EXEC rdsadmin.rdsadmin_util.flush_shared_pool;
```

## Vaciado de la caché de búfer
<a name="Appendix.Oracle.CommonDBATasks.FlushingBufferCache"></a>

Utilice el procedimiento de Amazon RDS para vaciar la caché del búfe `rdsadmin.rdsadmin_util.flush_buffer_cache`. El procedimiento `flush_buffer_cache` no tiene ningún parámetro. 

En el siguiente ejemplo se vacía la caché de búfer.

```
EXEC rdsadmin.rdsadmin_util.flush_buffer_cache;
```

## Vaciado de la caché flash inteligente de la base de datos
<a name="Appendix.Oracle.CommonDBATasks.flushing-shared-pool"></a>

Para vaciar la caché flash inteligente de la base de datos, utilice el procedimiento `rdsadmin.rdsadmin_util.flush_flash_cache` de Amazon RDS. El procedimiento `flush_flash_cache` no tiene ningún parámetro. En el siguiente ejemplo se vacía la caché flash inteligente de la base de datos.

```
EXEC rdsadmin.rdsadmin_util.flush_flash_cache;
```

Para obtener más información acerca del uso de la caché flash inteligente de la base de datos con RDS para Oracle, consulte [Almacenamiento de datos temporales en un almacén de instancias de RDS para Oracle](CHAP_Oracle.advanced-features.instance-store.md).

# Concesión de privilegios SELECT o EXECUTE para objetos SYS
<a name="Appendix.Oracle.CommonDBATasks.TransferPrivileges"></a>

Por lo general, para transferir privilegios se utilizan los roles, que pueden contener muchos objetos. Utilice el procedimiento de Amazon RDS para conceder privilegios a un solo objet `rdsadmin.rdsadmin_util.grant_sys_object`. El procedimiento solo concede los privilegios que ya haya obtenido el usuario maestro mediante un rol o una concesión directa. 

El procedimiento `grant_sys_object` tiene los siguientes parámetros. 

**importante**  
Para todos los valores de parámetros, utilice mayúsculas a no ser que haya creado el usuario con un identificador que distingue entre mayúsculas y minúsculas. Por ejemplo, si ejecuta `CREATE USER myuser` o `CREATE USER MYUSER`, el diccionario de datos almacena `MYUSER`. Sin embargo, si utiliza comillas dobles en `CREATE USER "MyUser"`, el diccionario de datos almacena `MyUser`.


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_obj_name`  |  varchar2  |  —  |  Sí  |  El nombre del objeto para el que se van a conceder privilegios. El objeto puede ser un directorio, una función, un paquete, un procedimiento, una secuencia, una tabla o una vista. Los nombres de los objetos deben escribirse exactamente como aparecen en `DBA_OBJECTS`. La mayoría de los objetos del sistema están definidos en mayúsculas, por lo que recomendamos que lo intente como primera opción.   | 
|  `p_grantee`  |  varchar2  |  —  |  Sí  |  El nombre del objeto al que se van a conceder privilegios. El objeto puede ser un esquema o un rol.   | 
|  `p_privilege`  |  varchar2  |  null  |  Sí  |  —  | 
|  `p_grant_option`  |  booleano  |  false  |  No  |  Establézcalo en `true` para usar la opción de concesión (WITH GRANT OPTION).  | 

En el siguiente ejemplo se le concede el privilegio SELECT sobre el objeto `V_$SESSION` al usuario `USER1`.

```
begin
    rdsadmin.rdsadmin_util.grant_sys_object(
        p_obj_name  => 'V_$SESSION',
        p_grantee   => 'USER1',
        p_privilege => 'SELECT');
end;
/
```

En el siguiente ejemplo se le concede el privilegio SELECT sobre el objeto `V_$SESSION` al usuario `USER1` con la opción de concesión.

```
begin
    rdsadmin.rdsadmin_util.grant_sys_object(
        p_obj_name     => 'V_$SESSION',
        p_grantee      => 'USER1',
        p_privilege    => 'SELECT',
        p_grant_option => true);
end;
/
```

Para poder conceder privilegios sobre un objeto, una cuenta debe haber obtenido los privilegios directamente con la opción de concesión o a través de un rol concedido utilizando `with admin option`. En el caso más común, es posible que desee conceder `SELECT` para una vista de DBA que se haya concedido al rol `SELECT_CATALOG_ROLE`. Si a su usuario no se le ha concedido ese rol directamente utilizando `with admin option`, no podrá transferir el privilegio. Si tiene el privilegio de DBA, puede conceder el rol directamente a otro usuario. 

En el siguiente ejemplo se conceden `SELECT_CATALOG_ROLE` y `EXECUTE_CATALOG_ROLE` a `USER1`. Dado que se utiliza `with admin option`, `USER1` ahora puede conceder acceso a los objetos SYS que se hayan concedido a `SELECT_CATALOG_ROLE`. 

```
GRANT SELECT_CATALOG_ROLE TO USER1 WITH ADMIN OPTION; 
GRANT EXECUTE_CATALOG_ROLE to USER1 WITH ADMIN OPTION;
```

No es necesario volver a conceder los objetos que ya se han concedido a `PUBLIC`. Si utiliza el procedimiento `grant_sys_object` para volver a conceder acceso, la llamada al procedimiento se realiza correctamente. 

# Revocación de privilegios SELECT o EXECUTE para objetos SYS
<a name="Appendix.Oracle.CommonDBATasks.RevokePrivileges"></a>

Utilice el procedimiento de Amazon RDS para revocar privilegios a un solo objet `rdsadmin.rdsadmin_util.revoke_sys_object`. El procedimiento solo revoca los privilegios que ya haya obtenido la cuenta maestra mediante un rol o una concesión directa. 

El procedimiento `revoke_sys_object` tiene los siguientes parámetros. 


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_obj_name`  |  varchar2  |  —  |  Sí  |  El nombre del objeto para el que se van a revocar privilegios. El objeto puede ser un directorio, una función, un paquete, un procedimiento, una secuencia, una tabla o una vista. Los nombres de los objetos deben escribirse exactamente como aparecen en `DBA_OBJECTS`. La mayoría de los objetos del sistema están definidos en mayúsculas, por lo que recomendamos que pruebe así primero.   | 
|  `p_revokee`  |  varchar2  |  —  |  Sí  |  El nombre del objeto para el que se van a revocar privilegios. El objeto puede ser un esquema o un rol.   | 
|  `p_privilege`  |  varchar2  |  null  |  Sí  |  —  | 

En el siguiente ejemplo se le revoca el privilegio SELECT sobre el objeto `V_$SESSION` desde un usuario `USER1`.

```
begin
    rdsadmin.rdsadmin_util.revoke_sys_object(
        p_obj_name  => 'V_$SESSION',
        p_revokee   => 'USER1',
        p_privilege => 'SELECT');
end;
/
```

# Administración de vistas RDS\$1X\$1 para instancias de bases de datos de Oracle
<a name="Appendix.Oracle.CommonDBATasks.X-dollar"></a>

Puede que necesite acceder a las tablas fijas `SYS.X$`, a las que solo se puede acceder mediante `SYS`. Para crear vistas `SYS.RDS_X$` en las tablas `X$` aptas, utilice los procedimientos del paquete `rdsadmin.rdsadmin_util`. A su usuario maestro se le concede automáticamente el privilegio `SELECT … WITH GRANT OPTION` sobre las vistas `RDS_X$`. 

Los procedimientos `rdsadmin.rdsadmin_util` están disponibles en los siguientes casos:
+ Instancias de bases de datos existentes que nunca se han actualizado y utilizan las siguientes versiones:
  + `21.0.0.0.ru-2023-10.rur-2023-10.r1` y versiones de 21c posteriores
  + `19.0.0.0.ru-2023-10.rur-2023-10.r1` y versiones de 19c posteriores
+ Cualquier instancia de base de datos nueva que cree
+ Cualquier instancia de base de datos existente que haya actualizado

**importante**  
Internamente, el paquete `rdsadmin.rdsadmin_util` crea vistas en las tablas `X$`. Las tablas `X$` son objetos internos del sistema que no se describen en la documentación de Oracle Database. Se recomienda probar vistas específicas en la base de datos que utilice fuera de producción y que solo cree vistas en la base de datos de producción sirviéndose de la orientación de Oracle Support.

## Enumeración de tablas fijas X\$1 aptas para su uso en las vistas RDS\$1X\$1
<a name="Appendix.Oracle.CommonDBATasks.list-allowed-X-dollar"></a>

Para enumerar tablas X\$1 aptas para su uso en vistas `RDS_X$`, utilice el procedimiento de RDS `rdsadmin.rdsadmin_util.list_allowed_sys_x$_views`. Este procedimiento no acepta parámetros. En las siguientes instrucciones se enumeran todas las tablas `X$` aptas (se incluye un ejemplo de resultados).

```
SQL> SET SERVEROUTPUT ON
SQL> SELECT * FROM TABLE(rdsadmin.rdsadmin_util.list_allowed_sys_x$_views);

'X$BH'
'X$K2GTE'
'X$KCBWBPD'
'X$KCBWDS'
'X$KGLLK'
'X$KGLOB'
'X$KGLPN'
'X$KSLHOT'
'X$KSMSP'
'X$KSPPCV'
'X$KSPPI'
'X$KSPPSV'
'X$KSQEQ'
'X$KSQRS'
'X$KTUXE'
'X$KQRFP'
```

La lista de tablas `X$` aptas puede cambiar con el tiempo. Para asegurarse de que su lista de tablas fijas `X$` aptas esté actualizada, vuelva a ejecutar `list_allowed_sys_x$_views` periódicamente.

## Creación de vistas SYS.RDS\$1X\$1
<a name="Appendix.Oracle.CommonDBATasks.create-X-dollar"></a>

Para crear una vista `RDS_X$` en una tabla `X$` apta, utilice el procedimiento de RDS `rdsadmin.rdsadmin_util.create_sys_x$_view`. Solo puede crear vistas para las tablas que figuren en la salida de `rdsadmin.rdsadmin_util.list_allowed_sys_x$_views`. El procedimiento `create_sys_x$_view` acepta los siguientes parámetros.


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_x$_tbl`  |  varchar2  |  Nulo  |  Sí  |  Un nombre de tabla `X$` válido. El valor debe ser una de las tablas `X$` notificadas por `list_allowed_sys_x$_views`.  | 
|  `p_force_creation`  |  Booleano  | FALSE |  No  |  Un valor que indica si se debe forzar la creación de una vista `RDS_X$` que ya exista para una tabla `X$`. De forma predeterminada, RDS no creará una vista si ya existe. Para forzar la creación, defina este parámetro como `TRUE`.  | 

En el siguiente ejemplo se crea una vista `SYS.RDS_X$KGLOB` de la tabla `X$KGLOB`. El formato del nombre de la vista es `RDS_X$tablename`.

```
SQL> SET SERVEROUTPUT ON
SQL> EXEC rdsadmin.rdsadmin_util.create_sys_x$_view('X$KGLOB');

PL/SQL procedure successfully completed.
```

La siguiente consulta del diccionario de datos muestra la vista `SYS.RDS_X$KGLOB` y su estado. A su usuario maestro se le concede automáticamente el privilegio `SELECT ... WITH GRANT OPTION` sobre esta vista.

```
SQL> SET SERVEROUTPUT ON
SQL> COL OWNER FORMAT A30 
SQL> COL OBJECT_NAME FORMAT A30
SQL> COL STATUS FORMAT A30
SQL> SET LINESIZE 200
SQL> SELECT OWNER, OBJECT_NAME, STATUS 
FROM DBA_OBJECTS 
WHERE OWNER = 'SYS' AND OBJECT_NAME = 'RDS_X$KGLOB';

OWNER                          OBJECT_NAME                    STATUS
------------------------------ ------------------------------ ------------------------------
SYS                            RDS_X$KGLOB                    VALID
```

**importante**  
No se garantiza que las tablas `X$` permanezcan iguales antes y después de una actualización. RDS para Oracle elimina y vuelve a crear las vistas `RDS_X$` de las tablas `X$` durante una actualización del motor. A continuación, concede el privilegio `SELECT ... WITH GRANT OPTION` al usuario maestro. Tras una actualización, conceda los privilegios necesarios a los usuarios de la base de datos en las vistas `RDS_X$` correspondientes.

## Enumeración de vistas SYS.RDS\$1X\$1
<a name="Appendix.Oracle.CommonDBATasks.list-created-X-dollar"></a>

Para enumerar las vistas `RDS_X$` existentes, utilice el procedimiento de RDS `rdsadmin.rdsadmin_util.list_created_sys_x$_views`. El procedimiento muestra solo las vistas que se crearon mediante el procedimiento `create_sys_x$_view`. En el siguiente ejemplo, se enumeran las tablas `X$` que tienen las vistas `RDS_X$` correspondientes (se incluye un ejemplo de salida).

```
SQL> SET SERVEROUTPUT ON
SQL> COL XD_TBL_NAME FORMAT A30
SQL> COL STATUS FORMAT A30
SQL> SET LINESIZE 200
SQL> SELECT * FROM TABLE(rdsadmin.rdsadmin_util.list_created_sys_x$_views);

XD_TBL_NAME                    STATUS
------------------------------ ------------------------------
X$BH                           VALID
X$K2GTE                        VALID
X$KCBWBPD                      VALID

3 rows selected.
```

## Eliminación de vistas RDS\$1X\$1
<a name="Appendix.Oracle.CommonDBATasks.drop-X-dollar"></a>

Para eliminar una vista `SYS.RDS_X$`, utilice el procedimiento de RDS `rdsadmin.rdsadmin_util.drop_sys_x$_view`. Solo puede eliminar vistas que figuren en la salida de `rdsadmin.rdsadmin_util.list_allowed_sys_x$_views`. El procedimiento `drop_sys_x$_view` acepta el siguiente parámetro.


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_x$_tbl`  |  varchar2  |  Nulo  |  Sí  |  Un nombre de tabla fija `X$` válido. El valor debe ser una de las tablas fijas `X$` notificadas por `list_created_sys_x$_views`.  | 

En el siguiente ejemplo se elimina una vista `RDS_X$KGLOB`, que se creó en la tabla `X$KGLOB`.

```
SQL> SET SERVEROUTPUT ON
SQL> EXEC rdsadmin.rdsadmin_util.drop_sys_x$_view('X$KGLOB');

PL/SQL procedure successfully completed.
```

El siguiente ejemplo muestra que la vista `SYS.RDS_X$KGLOB` se ha eliminado (se incluye un ejemplo de salida).

```
SQL> SET SERVEROUTPUT ON
SQL> COL OWNER FORMAT A30 
SQL> COL OBJECT_NAME FORMAT A30
SQL> COL STATUS FORMAT A30
SQL> SET LINESIZE 200
SQL> SELECT OWNER, OBJECT_NAME, STATUS 
FROM DBA_OBJECTS 
WHERE OWNER = 'SYS' AND OBJECT_NAME = 'RDS_X$KGLOB';

no rows selected
```

# Concesión de privilegios a usuarios no maestros
<a name="Appendix.Oracle.CommonDBATasks.PermissionsNonMasters"></a>

Puede conceder privilegios SELECT para muchos objetos del esquema `SYS` utilizando el rol `SELECT_CATALOG_ROLE`. El rol `SELECT_CATALOG_ROLE` concede a los usuarios privilegios `SELECT` para las vistas del diccionario de datos. En el siguiente ejemplo se concede el rol `SELECT_CATALOG_ROLE` a un usuario denominado `user1`. 

```
GRANT SELECT_CATALOG_ROLE TO user1;
```

Puede conceder privilegios `EXECUTE` para muchos objetos del esquema `SYS` utilizando el rol `EXECUTE_CATALOG_ROLE`. El rol `EXECUTE_CATALOG_ROLE` concede a los usuarios privilegios `EXECUTE` para los paquetes y los procedimientos del diccionario de datos. En el siguiente ejemplo se concede el rol `EXECUTE_CATALOG_ROLE` a un usuario denominado *user1*. 

```
GRANT EXECUTE_CATALOG_ROLE TO user1;
```

En el siguiente ejemplo se obtienen los permisos que conceden los roles `SELECT_CATALOG_ROLE` y `EXECUTE_CATALOG_ROLE`. 

```
  SELECT * 
    FROM ROLE_TAB_PRIVS  
   WHERE ROLE IN ('SELECT_CATALOG_ROLE','EXECUTE_CATALOG_ROLE') 
ORDER BY ROLE, TABLE_NAME ASC;
```

En el siguiente ejemplo se crea un usuario no maestro denominado `user1`, se le concede el privilegio `CREATE SESSION` y el privilegio `SELECT` para una base de datos denominada *sh.sales*.

```
CREATE USER user1 IDENTIFIED BY PASSWORD;
GRANT CREATE SESSION TO user1;
GRANT SELECT ON sh.sales TO user1;
```

# Creación de funciones personalizadas para comprobar contraseñas
<a name="Appendix.Oracle.CommonDBATasks.CustomPassword"></a>

Puede crear una función personalizada de verificación de contraseñas de las siguientes maneras.
+ Para usar la lógica de verificación estándar y guardar la función en el esquema `SYS`, utilice el procedimiento `create_verify_function`. 
+ Para usar la lógica de verificación personalizada y evitar guardar la función en el esquema `SYS`, utilice el procedimiento `create_passthrough_verify_fcn`. 

# El procedimiento create\$1verify\$1function
<a name="Appendix.Oracle.CommonDBATasks.CustomPassword.Standard"></a>

Puede crear una función personalizada para comprobar las contraseñas mediante el procedimiento de Amazon RDS `rdsadmin.rdsadmin_password_verify.create_verify_function`. El procedimiento `create_verify_function` admite todas las versiones de RDS para Oracle.

El procedimiento `create_verify_function` tiene los siguientes parámetros. 


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_verify_function_name`  |  varchar2  |  —  |  Sí  |  El nombre de la función personalizada. Esta función se crea automáticamente en el esquema SYS. Esta función se asigna a los perfiles de usuario.   | 
|  `p_min_length`  |  número  |  8  |  No  |  El número mínimo necesario de caracteres.  | 
|  `p_max_length`  |  número  |  256  |  No  |  El número máximo de caracteres permitido.  | 
|  `p_min_letters`  |  número  |  1  |  No  |  El número mínimo necesario de letras.  | 
|  `p_min_uppercase`  |  número  |  0  |  No  |  El número mínimo necesario de letras mayúsculas.  | 
|  `p_min_lowercase`  |  número  |  0  |  No  |  El número mínimo necesario de letras minúsculas.  | 
|  `p_min_digits`  |  número  |  1  |  No  |  El número mínimo necesario de dígitos.  | 
|  `p_min_special`  |  número  |  0  |  No  |  El número mínimo necesario de caracteres especiales.  | 
|  `p_min_different_chars`  |  número  |  3  |  No  |  El número mínimo de caracteres diferentes necesarios entre la contraseña antigua y la nueva.  | 
|  `p_disallow_username`  |  booleano  |  true  |  No  |  Establezca esta opción en `true` para no permitir el nombre de usuario en la contraseña.  | 
|  `p_disallow_reverse`  |  booleano  |  true  |  No  |  Establézcalo en `true` para impedir que se use el nombre de usuario a la inversa en la contraseña.  | 
|  `p_disallow_db_name`  |  booleano  |  true  |  No  |  Establézcalo en `true` para impedir que se use el nombre de la base de datos o del servidor en la contraseña.  | 
|  `p_disallow_simple_strings`  |  booleano  |  true  |  No  |  Establézcalo en `true` para impedir que se usen cadenas sencillas en la contraseña.  | 
|  `p_disallow_whitespace`  |  booleano  |  false  |  No  |  Establézcalo en `true` para impedir que se usen caracteres de espacio en blanco en la contraseña.  | 
|  `p_disallow_at_sign`  |  booleano  |  false  |  No  |  Establézcalo en `true` para impedir que se use el carácter @ en la contraseña.  | 

Puede crear distintas funciones de verificación de contraseñas.

El nombre de la función personalizada está sujeto a ciertas restricciones. Su función personalizada no puede tener el mismo nombre que un objeto de sistema existente. El nombre no puede tener más de 30 caracteres de longitud. Asimismo, el nombre debe incluir una de las siguientes cadenas: `PASSWORD`, `VERIFY`, `COMPLEXITY`, `ENFORCE` o `STRENGTH`. 

El siguiente ejemplo crea una función con el nombre `CUSTOM_PASSWORD_FUNCTION`. La función requiere que una contraseña tenga al menos 12 caracteres, 2 caracteres en mayúsculas, 1 dígito y 1 carácter especial, y que la contraseña no incluya el carácter @. 

```
begin
    rdsadmin.rdsadmin_password_verify.create_verify_function(
        p_verify_function_name => 'CUSTOM_PASSWORD_FUNCTION', 
        p_min_length           => 12, 
        p_min_uppercase        => 2, 
        p_min_digits           => 1, 
        p_min_special          => 1,
        p_disallow_at_sign     => true);
end;
/
```

Para ver el texto de la función de verificación, realice una consulta de `DBA_SOURCE`. En el siguiente ejemplo se obtiene el texto de una función de contraseña personalizada llamada `CUSTOM_PASSWORD_FUNCTION`. 

```
COL TEXT FORMAT a150

  SELECT TEXT 
    FROM DBA_SOURCE 
   WHERE OWNER = 'SYS' 
     AND NAME = 'CUSTOM_PASSWORD_FUNCTION' 
ORDER BY LINE;
```

Para asociar la función de verificación a un perfil de usuario, utilice `ALTER PROFILE`. En el siguiente ejemplo se asocia una función de verificación PL/SQL llamada `CUSTOM_PASSWORD_FUNCTION` al perfil de usuario `DEFAULT`. `PASSWORD_VERIFY_FUNCTION` es el nombre del recurso del perfil de Oracle. 

```
ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION CUSTOM_PASSWORD_FUNCTION;
```

Para ver qué perfiles de usuario están asociados a qué función de verificación, consulte `DBA_PROFILES`. En el siguiente ejemplo se obtienen los perfiles asociados a la función de verificación personalizada llamada `CUSTOM_PASSWORD_FUNCTION`. 

```
SELECT * FROM DBA_PROFILES WHERE RESOURCE_NAME = 'PASSWORD_VERIFY_FUNCTION' AND LIMIT = 'CUSTOM_PASSWORD_FUNCTION';


PROFILE                    RESOURCE_NAME                     RESOURCE  LIMIT
-------------------------  --------------------------------  --------  ------------------------
DEFAULT                    PASSWORD_VERIFY_FUNCTION          PASSWORD  CUSTOM_PASSWORD_FUNCTION
```

En el siguiente ejemplo se obtienen todos los perfiles y las funciones de verificación de contraseñas a las que están asociados. 

```
SELECT * FROM DBA_PROFILES WHERE RESOURCE_NAME = 'PASSWORD_VERIFY_FUNCTION';

PROFILE                    RESOURCE_NAME                     RESOURCE  LIMIT
-------------------------  --------------------------------  --------  ------------------------
DEFAULT                    PASSWORD_VERIFY_FUNCTION          PASSWORD  CUSTOM_PASSWORD_FUNCTION
RDSADMIN                   PASSWORD_VERIFY_FUNCTION          PASSWORD  NULL
```

# El procedimiento create\$1passthrough\$1verify\$1fcn
<a name="Appendix.Oracle.CommonDBATasks.CustomPassword.Custom"></a>

El procedimiento `create_passthrough_verify_fcn` admite todas las versiones de RDS para Oracle.

Puede crear una función personalizada para comprobar las contraseñas mediante el procedimiento de Amazon RDS `rdsadmin.rdsadmin_password_verify.create_passthrough_verify_fcn`. El procedimiento `create_passthrough_verify_fcn` tiene los siguientes parámetros. 


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_verify_function_name`  |  varchar2  |  —  |  Sí  |  El nombre de la función de verificación personalizada. Es una función contenedora que se crea automáticamente en el esquema SYS y no contiene ninguna lógica de verificación. Esta función se asigna a los perfiles de usuario.   | 
|  `p_target_owner`  |  varchar2  |  —  |  Sí  |  El propietario del esquema de la función de verificación personalizada.  | 
|  `p_target_function_name`  |  varchar2  |  —  |  Sí  |  El nombre de la función personalizada existente que contiene la lógica de verificación. La función personalizada debe devolver un valor booleano. La función debe devolver `true` si la contraseña es válida y `false` si la contraseña no es válida.   | 

En el siguiente ejemplo se crea una función de verificación de contraseñas que utiliza la lógica de la función `PASSWORD_LOGIC_EXTRA_STRONG`. 

```
begin
    rdsadmin.rdsadmin_password_verify.create_passthrough_verify_fcn(
        p_verify_function_name => 'CUSTOM_PASSWORD_FUNCTION', 
        p_target_owner         => 'TEST_USER',
        p_target_function_name => 'PASSWORD_LOGIC_EXTRA_STRONG');
end;
/
```

Para asociar la función de verificación a un perfil de usuario, utilice `alter profile`. En el siguiente ejemplo se asocia la función de verificación al perfil de usuario `DEFAULT`. 

```
ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION CUSTOM_PASSWORD_FUNCTION;
```

## Configuración de un servidor DNS personalizado
<a name="Appendix.Oracle.CommonDBATasks.CustomDNS"></a>

Amazon RDS admite el acceso de red saliente en las instancias de bases de datos que ejecutan Oracle. Para obtener más información acerca del acceso de red saliente, incluidos los requisitos previos, consulte [Configuración del acceso UTL\$1HTTP mediante certificados y un wallet de Oracle.](Oracle.Concepts.ONA.md). 

Amazon RDS Oracle permite realizar la resolución del servicio de nombres de dominio (DNS) desde un servidor DNS personalizado propiedad del cliente. Solo es posible resolver nombres de dominio completos desde una instancia de base de datos de Amazon RDS a través de un servidor DNS personalizado. 

Después de configurar un servidor de nombres DNS personalizado, se tardan hasta 30 minutos en propagar los cambios a la instancia de base de datos. Una vez que se propaguen los cambios a la instancia de base de datos, todo el tráfico de red saliente que requiera una búsqueda de DNS consultará el servidor DNS personalizado a través del puerto 53. 

Para configurar un servidor DNS personalizado para su instancia de base de datos de Amazon RDS for Oracle, haga lo siguiente: 
+ Desde el conjunto de opciones de DHCP asociado a la nube virtual privada (VPC), establezca la opción `domain-name-servers` en la dirección IP del servidor de nombres DNS. Para obtener más información, consulte [Conjuntos de opciones de DHCP](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html). 
**nota**  
La opción `domain-name-servers` acepta hasta cuatro valores, pero la instancia de base de datos de Amazon RDS solo utiliza el primer valor. 
+ Asegúrese de que el servidor DNS puede resolver todas las consultas de búsqueda, incluidos los nombres de DNS públicos, los nombres de DNS privados de Amazon EC2 y los nombres de DNS específicos del cliente. Si el tráfico de red saliente contiene búsquedas de DNS que el servidor DNS no puede resolver, este debe tener configurados los proveedores de DNS correspondientes. 
+ Configure el servidor DNS para que genere respuestas de protocolo de datagramas de usuario (UDP) de 512 bytes como máximo. 
+ Configure el servidor DNS para que genere respuestas de protocolo de control de transmisión (TCP) de 1024 bytes como máximo. 
+ Configure el servidor DNS para que permita el tráfico entrante desde las instancias de bases de datos de Amazon RDS a través del puerto 53. Si el servidor DNS está en una Amazon VPC, la VPC debe tener un grupo de seguridad que contenga reglas entrantes que permitan el tráfico UDP y TCP en el puerto 53. Si el servidor DNS no está en una Amazon VPC, debe tener lista de permitidos de firewall apropiada para permitir el tráfico entrante UDP y TCP en el puerto 53.

  Para obtener más información, consulte [Grupos de seguridad de su VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) y [Adición, eliminación y actualización de reglas](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#AddRemoveRules). 
+ Configure la VPC de la instancia de base de datos de Amazon RDS para que permita el tráfico saliente a través del puerto 53. La VPC debe tener un grupo de seguridad que contenga reglas salientes que permitan el tráfico UDP y TCP en el puerto 53. 

  Para obtener más información, consulte [Grupos de seguridad de su VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) y [Adición, eliminación y actualización de reglas](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#AddRemoveRules). 
+ La ruta de direccionamiento entre la instancia de base de datos de Amazon RDS y el servidor DNS debe configurarse correctamente para permitir el tráfico de DNS. 
  + Si la instancia de base de datos de Amazon RDS y el servidor DNS no están en la misma VPC, debe establecerse una interconexión entre ellos. Para obtener más información, consulte [¿Qué es un emparejamiento de VPC?](https://docs.aws.amazon.com/vpc/latest/peering/Welcome.html) 

# Establecer y anular eventos de diagnóstico del sistema
<a name="Appendix.Oracle.CommonDBATasks.SystemEvents"></a>

Para establecer y anular eventos de diagnóstico a nivel de sesión, puede utilizar la instrucción de Oracle SQL `ALTER SESSION SET EVENTS`. Sin embargo, para establecer eventos a nivel del sistema no puede utilizar Oracle SQL. En vez de eso, utilice los procedimientos de evento de sistema que hay en el paquete `rdsadmin.rdsadmin_util`. Los procedimientos de evento de sistema están disponibles en las siguientes versiones del motor:
+ Todas las versiones de Oracle Database 21c
+ 19.0.0.0.ru-2020-10.rur-2020-10.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-2020-10.rur-2020-10.r1](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/oracle-version-19-0.html#oracle-version-RU-RUR.19.0.0.0.ru-2020-10.rur-2020-10.r1) en las *notas de la versión de Amazon RDS para Oracle*.

**importante**  
Internamente, con el paquete `rdsadmin.rdsadmin_util` se establecen eventos mediante el uso de la instrucción `ALTER SYSTEM SET EVENTS`. Esta instrucción `ALTER SYSTEM` no figura en la Documentación de la base de datos de Oracle. Algunos eventos de diagnóstico del sistema pueden generar grandes cantidades de información de seguimiento, provocar contención o afectar la disponibilidad de la base de datos. Se recomienda probar eventos de diagnóstico concretos en la base de datos que no utilice para producir y que solo establezca eventos en la base de datos de producción sirviéndose de la orientación de Oracle Support.

## Hacer una lista de los eventos de diagnóstico del sistema permitidos
<a name="Appendix.Oracle.CommonDBATasks.SystemEvents.listing"></a>

Para hacer una lista de los eventos de sistema que puede establecer, utilice el procedimiento de Amazon RDS `rdsadmin.rdsadmin_util.list_allowed_system_events`. Este procedimiento no acepta parámetros.

En el ejemplo siguiente se hace una lista de todos los eventos de sistema que puede establecer.

```
SET SERVEROUTPUT ON
EXEC rdsadmin.rdsadmin_util.list_allowed_system_events;
```

En la siguiente salida de ejemplo se muestran los números de eventos y sus descripciones. Utilice el procedimiento `set_system_event` de Amazon RDS para establecer estos eventos y el procedimiento `unset_system_event` de Amazon RDS para anularlos.

```
604   - error occurred at recursive SQL level
942   - table or view does not exist
1401  - inserted value too large for column
1403  - no data found
1410  - invalid ROWID
1422  - exact fetch returns more than requested number of rows
1426  - numeric overflow
1427  - single-row subquery returns more than one row
1476  - divisor is equal to zero
1483  - invalid length for DATE or NUMBER bind variable
1489  - result of string concatenation is too long
1652  - unable to extend temp segment by  in tablespace
1858  - a non-numeric character was found where a numeric was expected
4031  - unable to allocate  bytes of shared memory ("","","","")
6502  - PL/SQL: numeric or value error
10027 - Specify Deadlock Trace Information to be Dumped
10046 - enable SQL statement timing
10053 - CBO Enable optimizer trace
10173 - Dynamic Sampling time-out error
10442 - enable trace of kst for ORA-01555 diagnostics
12008 - error in materialized view refresh path
12012 - error on auto execute of job
12504 - TNS:listener was not given the SERVICE_NAME in CONNECT_DATA
14400 - inserted partition key does not map to any partition
31693 - Table data object  failed to load/unload and is being skipped due to error:
```

**nota**  
La lista de eventos de sistema permitidos puede cambiar con el tiempo. Para confirmar que tiene la lista más reciente de eventos aptos, use `rdsadmin.rdsadmin_util.list_allowed_system_events`.

## Establecimiento de eventos de diagnóstico del sistema
<a name="Appendix.Oracle.CommonDBATasks.SystemEvents.setting"></a>

Para establecer un evento de sistema, utilice el procedimiento de Amazon RDS `rdsadmin.rdsadmin_util.set_system_event`. Solo puede establecer eventos que figuren en la salida de `rdsadmin.rdsadmin_util.list_allowed_system_events`. El procedimiento `set_system_event` acepta los siguientes parámetros.


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_event`  |  número  |  —  |  Sí  |  El número de evento de sistema. El valor debe ser uno de los números de evento que se informaron mediante `list_allowed_system_events`.  | 
|  `p_level`  |  número  |  —  |  Sí  |  El nivel del evento. Consulte la Documentación de la base de datos de Oracle u Oracle Support para obtener las descripciones de diferentes valores de niveles.  | 

Con el procedimiento `set_system_event` se construyen y se ejecutan las instrucciones `ALTER SYSTEM SET EVENTS` requeridas de acuerdo con los siguientes principios:
+ El tipo de evento (`context` o `errorstack`) se determina automáticamente.
+ Con una instrucción `ALTER SYSTEM SET EVENTS 'event LEVEL event_level'` se establecen los eventos de contexto. Esta notación es equivalente a `ALTER SYSTEM SET EVENTS 'event TRACE NAME CONTEXT FOREVER, LEVEL event_level'`.
+ Con una instrucción `ALTER SYSTEM SET EVENTS 'event ERRORSTACK (event_level)'` se establecen los eventos de pila de errores. Esta notación es equivalente a `ALTER SYSTEM SET EVENTS 'event TRACE NAME ERRORSTACK LEVEL event_level'`.

En el ejemplo siguiente se establece el evento 942 a nivel 3 y el evento 10442 a nivel 10. Se incluye la salida de muestra.

```
SQL> SET SERVEROUTPUT ON
SQL> EXEC rdsadmin.rdsadmin_util.set_system_event(942,3);
Setting system event 942 with: alter system set events '942 errorstack (3)'

PL/SQL procedure successfully completed.

SQL> EXEC rdsadmin.rdsadmin_util.set_system_event(10442,10);
Setting system event 10442 with: alter system set events '10442 level 10'

PL/SQL procedure successfully completed.
```

## Hacer una lista de los eventos de diagnóstico del sistema establecidos
<a name="Appendix.Oracle.CommonDBATasks.SystemEvents.listing-set"></a>

Para hacer una lista de los eventos del sistema establecidos, utilice el procedimiento de Amazon RDS `rdsadmin.rdsadmin_util.list_set_system_events`. Con este procedimiento se informan solo los eventos establecidos a nivel del sistema por `set_system_event`.

En el ejemplo siguiente se hace una lista de los eventos de sistema activos.

```
SET SERVEROUTPUT ON
EXEC rdsadmin.rdsadmin_util.list_set_system_events;
```

En la siguiente salida de ejemplo se muestran la lista de eventos, el tipo de evento, el nivel a que los eventos están configurados actualmente y la hora a que se estableció el evento.

```
942 errorstack (3) - set at 2020-11-03 11:42:27
10442 level 10 - set at 2020-11-03 11:42:41

PL/SQL procedure successfully completed.
```

## Anular eventos de diagnóstico del sistema
<a name="Appendix.Oracle.CommonDBATasks.SystemEvents.unsetting"></a>

Para anular un evento de sistema, utilice el procedimiento de Amazon RDS `rdsadmin.rdsadmin_util.unset_system_event`. Solo puede anular eventos que figuren en la salida de `rdsadmin.rdsadmin_util.list_allowed_system_events`. El procedimiento `unset_system_event` acepta el siguiente parámetro.


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_event`  |  número  |  —  |  Sí  |  El número de evento de sistema. El valor debe ser uno de los números de evento que se informaron mediante `list_allowed_system_events`.  | 

En el ejemplo siguiente se anulan los eventos 942 y 10442. Se incluye la salida de muestra.

```
SQL> SET SERVEROUTPUT ON
SQL> EXEC rdsadmin.rdsadmin_util.unset_system_event(942);
Unsetting system event 942 with: alter system set events '942 off'

PL/SQL procedure successfully completed.

SQL> EXEC rdsadmin.rdsadmin_util.unset_system_event(10442);
Unsetting system event 10442 with: alter system set events '10442 off'

PL/SQL procedure successfully completed.
```

# Ejecución de tareas comunes de base de datos para instancias de base de datos
<a name="Appendix.Oracle.CommonDBATasks.Database"></a>

A continuación, puede encontrar cómo realizar ciertas tareas comunes de DBA relacionadas con las bases de datos 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 base de datos. Amazon RDS también restringe el acceso a ciertos procedimientos y tablas del sistema que requieren privilegios avanzados. 

**Topics**
+ [Cambio del nombre global de una base de datos](Appendix.Oracle.CommonDBATasks.RenamingGlobalName.md)
+ [Uso de espacios de tablas en RDS para Oracle](Appendix.Oracle.CommonDBATasks.TablespacesAndDatafiles.md)
+ [Uso de tempfiles en RDS para Oracle](Appendix.Oracle.CommonDBATasks.using-tempfiles.md)
+ [Redimensionamiento de espacios de tablas, archivos de datos y archivos temporales en RDS para Oracle](Appendix.Oracle.CommonDBATasks.ResizeTempSpaceReadReplica.md)
+ [Movimiento de datos entre volúmenes de almacenamiento en RDS para Oracle](Appendix.Oracle.CommonDBATasks.MovingDataBetweenVolumes.md)
+ [Uso de tablas externas en RDS para Oracle](Appendix.Oracle.CommonDBATasks.External_Tables.md)

# Cambio del nombre global de una base de datos
<a name="Appendix.Oracle.CommonDBATasks.RenamingGlobalName"></a>

Utilice el procedimiento de Amazon RDS para cambiar el nombre global de una base de dato `rdsadmin.rdsadmin_util.rename_global_name`. El procedimiento `rename_global_name` tiene los siguientes parámetros. 


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_new_global_name`  |  varchar2  |  —  |  Sí  |  El nuevo nombre global de la base de datos.  | 

La base de datos debe estar abierta para que se produzca el cambio de nombre. Para obtener más información acerca de cómo cambiar el nombre global de una base de datos, consulte [ALTER DATABASE](http://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_1004.htm#SQLRF52547) en la documentación de Oracle. 

En el siguiente ejemplo se cambia el nombre global de una base de datos a `new_global_name`.

```
EXEC rdsadmin.rdsadmin_util.rename_global_name(p_new_global_name => 'new_global_name');
```

# Uso de espacios de tablas en RDS para Oracle
<a name="Appendix.Oracle.CommonDBATasks.TablespacesAndDatafiles"></a>

Puede utilizar los espacios de tabla con RDS para Oracle, que es una unidad de almacenamiento lógico que almacena los datos de la base de datos.

**importante**  
Si la instancia de base de datos tiene réplicas, le recomendamos que utilice la configuración de los grupos de parámetros en lugar de los cambios por sesión para administrar las ubicaciones de los archivos predeterminadas. Los cambios por sesión en las ubicaciones de archivos predeterminadas de la instancia principal no se reflejan automáticamente en las réplicas. El uso de la configuración de los grupos de parámetros garantiza la coherencia de las ubicaciones de los archivos en las instancias principal y de réplica.

**Topics**
+ [Especificación de ubicaciones de archivos de base de datos en RDS para Oracle](#Appendix.Oracle.CommonDBATasks.DatabaseFileLocations)
+ [Creación y redimensionamiento de los espacios de tablas en RDS para Oracle](#Appendix.Oracle.CommonDBATasks.CreatingTablespacesAndDatafiles)
+ [Creación de espacios de tabla en volúmenes de almacenamiento adicionales en RDS para Oracle](#Appendix.Oracle.CommonDBATasks.CreatingTablespacesWithFileLocations)
+ [Configuración del espacio de tabla predeterminado en RDS para Oracle](#Appendix.Oracle.CommonDBATasks.SettingDefaultTablespace)
+ [Configuración del espacio de tabla temporal predeterminado en RDS para Oracle](#Appendix.Oracle.CommonDBATasks.SettingDefTempTablespace)
+ [Creación de un espacio de tablas temporal en el almacén de instancias](#Appendix.Oracle.CommonDBATasks.creating-tts-instance-store)

## Especificación de ubicaciones de archivos de base de datos en RDS para Oracle
<a name="Appendix.Oracle.CommonDBATasks.DatabaseFileLocations"></a>

RDS para Oracle usa Oracle Managed Files (OMF) para nombrar archivos de base de datos. Al crear archivos de base de datos, la base de datos obtiene la configuración en función de la configuración actual del parámetro de inicialización `DB_CREATE_FILE_DEST`.

El valor predeterminado del parámetro de inicialización `DB_CREATE_FILE_DEST` es `/rdsdbdata/db` para bases de datos independientes y `/rdsdbdata/db/pdb` para arquitecturas en contenedores (CDB/MT). Si la instancia de base de datos tiene volúmenes de almacenamiento adicionales, puede configurar `DB_CREATE_FILE_DEST` en las ubicaciones de los volúmenes. Por ejemplo, si la instancia tiene un volumen montado en `/rdsdbdata/db`, puede establecer `DB_CREATE_FILE_DEST` en este valor.

Puede modificar el parámetro `DB_CREATE_FILE_DEST` por sesión o instancia de base de datos de Oracle.

### Modificación de DB\$1CREATE\$1FILE\$1SET por instancia
<a name="Appendix.Oracle.CommonDBATasks.InstanceLevelModification"></a>

Para modificar el parámetro por instancia, actualice el parámetro en el grupo de parámetros asignado a la instancia de base de datos y aplíquelo. Para obtener más información, consulte [Parámetros de inicialización de RDS para Oracle](Oracle.Concepts.FeatureSupport.Parameters.md) y [Modificación de los parámetros de un grupo de parámetros de base de datos en Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

### Modificación de DB\$1CREATE\$1FILE\$1DEST por sesión
<a name="Appendix.Oracle.CommonDBATasks.SessionLevelModification"></a>

Puede modificar el parámetro por sesión mediante la ejecución de una instrucción `ALTER SESSION`. Este enfoque resulta útil cuando se desean crear archivos de base de datos en una ubicación específica para una sesión determinada sin que ello afecte a toda la instancia.

El siguiente ejemplo muestra cómo comprobar el valor del parámetro actual y cómo modificarlo para la sesión:

```
SHOW PARAMETER db_create_file_dest

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest                  string      /rdsdbdata/db

ALTER SESSION SET db_create_file_dest = '/rdsdbdata2/db';

Session altered.

SHOW PARAMETER db_create_file_dest

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest                  string      /rdsdbdata2/db
```

## Creación y redimensionamiento de los espacios de tablas en RDS para Oracle
<a name="Appendix.Oracle.CommonDBATasks.CreatingTablespacesAndDatafiles"></a>

Al crear espacios de tabla, la base de datos crea los archivos de datos en el volumen de almacenamiento especificado por el parámetro de inicialización `DB_CREATE_FILE_DEST` en el momento de la creación. De forma predeterminada, si no especifica el tamaño de archivo de datos, los espacios de tabla se crean con el tamaño predeterminado de `AUTOEXTEND ON` y sin tamaño máximo. En el siguiente ejemplo, el espacio de tablas *users1* es ampliable automáticamente.

```
CREATE TABLESPACE users1;
```

Debido a estos valores predeterminados, los espacios de tabla pueden llegar a consumir todo el almacenamiento asignado. Recomendamos que especifique un tamaño máximo adecuado para los espacios de tabla permanentes y temporales, y que monitorice cuidadosamente el uso del espacio. 

En el siguiente ejemplo, se crea un espacio de tabla denominado *users2* con un tamaño inicial de 1 gigabyte. Dado que se especifica el tamaño de un archivo de datos, pero no se especifica `AUTOEXTEND ON`, el espacio de tablas no se puede ampliar automáticamente.

```
CREATE TABLESPACE users2 DATAFILE SIZE 1G;
```

En el siguiente ejemplo, se crea un espacio de tabla denominado *users3* con un tamaño inicial de 1 gigabyte, con la ampliación automática activada y un tamaño máximo de 10 gigabytes.

```
CREATE TABLESPACE users3 DATAFILE SIZE 1G AUTOEXTEND ON MAXSIZE 10G;
```

En el siguiente ejemplo, se crea un espacio de tabla temporal denominado *temp01*.

```
CREATE TEMPORARY TABLESPACE temp01;
```

Puede cambiar el tamaño de un espacio de tabla bigfile utilizando `ALTER TABLESPACE`. Puede especificar el tamaño en kilobytes (K), megabytes (M), gigabytes (G) o terabytes (T). En el siguiente ejemplo, se cambia el tamaño de un espacio de tabla bigfile denominado *users\$1bf* a 200 MB.

```
ALTER TABLESPACE users_bf RESIZE 200M;
```

En el siguiente ejemplo, se añade un archivo de datos adicional a un espacio de tabla smallfile denominado *users\$1sf*.

```
ALTER TABLESPACE users_sf ADD DATAFILE SIZE 100000M AUTOEXTEND ON NEXT 250m MAXSIZE UNLIMITED;
```

## Creación de espacios de tabla en volúmenes de almacenamiento adicionales en RDS para Oracle
<a name="Appendix.Oracle.CommonDBATasks.CreatingTablespacesWithFileLocations"></a>

Para crear un espacio de tabla en un volumen de almacenamiento adicional, modifique el parámetro `DB_CREATE_FILE_DEST` por la ubicación del volumen. En el siguiente ejemplo, se establece la ubicación del archivo en `/rdsdbdata2/db`.

```
ALTER SESSION SET db_create_file_dest = '/rdsdbdata2/db';

Session altered.
```

En el siguiente ejemplo, se crea un espacio de tablas en un `/rdsdbdata2/db` de volumen adicional.

```
CREATE TABLESPACE new_tablespace DATAFILE SIZE 10G;

Tablespace created.

SELECT tablespace_name,file_id,file_name FROM dba_data_files
WHERE tablespace_name = 'NEW_TABLESPACE';

TABLESPACE_NAME              FILE_ID FILE_NAME
------------------------- ---------- --------------------------------------------------------------------------------
NEW_TABLESPACE                     7 /rdsdbdata2/db/ORCL_A/datafile/o1_mf_newtable_a123b4c5_.dbf
```

Para crear un espacio de tablas de archivos pequeños y distribuir sus archivos de datos en distintos volúmenes de almacenamiento, agregue archivos de datos al espacio de tablas después de crearlo. En el siguiente ejemplo, se crea un espacio de tablas con los archivos de datos en la ubicación predeterminada de `/rdsdbdata/db`. A continuación, establezca el destino predeterminado en `/rdsdbdata/db2`. Al agregar un archivo de datos al espacio de tablas recién creado, la base de datos almacena el archivo en `/rdsdbdata/db2`.

```
ALTER SESSION SET db_create_file_dest = '/rdsdbdata/db';

Session altered.

CREATE SMALLFILE TABLESPACE smalltbs DATAFILE SIZE 10G;

Tablespace created.

SELECT tablespace_name,file_id,file_name FROM dba_data_files
WHERE tablespace_name = 'SMALLTBS';

TABLESPACE_NAME              FILE_ID FILE_NAME
------------------------- ---------- --------------------------------------------------------------------------------
SMALLTBS                           8 /rdsdbdata/db/ORCL_A/datafile/o1_mf_smalltbs_n563yryk_.dbf

ALTER SESSION SET db_create_file_dest = '/rdsdbdata2/db';

Session altered.

ALTER TABLESPACE smalltbs ADD DATAFILE SIZE 10G;

Tablespace altered.

SELECT tablespace_name,file_id,file_name FROM dba_data_files
WHERE tablespace_name = 'SMALLTBS';

TABLESPACE_NAME              FILE_ID FILE_NAME
------------------------- ---------- --------------------------------------------------------------------------------
SMALLTBS                           8 /rdsdbdata/db/ORCL_A/datafile/o1_mf_smalltbs_n563yryk_.dbf
SMALLTBS                           9 /rdsdbdata2/db/ORCL_A/datafile/o1_mf_smalltbs_n564004g_.dbf
```

## Configuración del espacio de tabla predeterminado en RDS para Oracle
<a name="Appendix.Oracle.CommonDBATasks.SettingDefaultTablespace"></a>

Utilice el procedimiento de Amazon RDS para configurar el espacio de tabla predeterminad `rdsadmin.rdsadmin_util.alter_default_tablespace`. El procedimiento `alter_default_tablespace` tiene los siguientes parámetros. 


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `tablespace_name`  |  varchar  |  —  |  Sí  |  El nombre del espacio de tabla predeterminado.  | 

En el siguiente ejemplo se establece el espacio de tabla predeterminado en *users2*: 

```
EXEC rdsadmin.rdsadmin_util.alter_default_tablespace(tablespace_name => 'users2');
```

## Configuración del espacio de tabla temporal predeterminado en RDS para Oracle
<a name="Appendix.Oracle.CommonDBATasks.SettingDefTempTablespace"></a>

Utilice el procedimiento de Amazon RDS para configurar el espacio de tabla temporal predeterminad `rdsadmin.rdsadmin_util.alter_default_temp_tablespace`. El procedimiento `alter_default_temp_tablespace` tiene los siguientes parámetros. 


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `tablespace_name`  |  varchar  |  —  |  Sí  |  El nombre del espacio de tabla temporal predeterminado.  | 

En el siguiente ejemplo se establece el espacio de tabla temporal predeterminado en *temp01*. 

```
EXEC rdsadmin.rdsadmin_util.alter_default_temp_tablespace(tablespace_name => 'temp01');
```

## Creación de un espacio de tablas temporal en el almacén de instancias
<a name="Appendix.Oracle.CommonDBATasks.creating-tts-instance-store"></a>

Utilice el procedimiento `rdsadmin.rdsadmin_util.create_inst_store_tmp_tblspace` de Amazon RDS para crear un espacio de tabla temporal en el almacén de instancias. El procedimiento `create_inst_store_tmp_tblspace` tiene los siguientes parámetros. 


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_tablespace_name`  |  varchar  |  —  |  Sí  |  El nombre del espacio de tabla temporal.  | 

En el siguiente ejemplo, se crea el espacio de tablas temporal *temp01* en el almacén de instancias. 

```
EXEC rdsadmin.rdsadmin_util.create_inst_store_tmp_tblspace(p_tablespace_name => 'temp01');
```

**importante**  
Cuando se ejecuta `rdsadmin_util.create_inst_store_tmp_tblspace`, el espacio de tabla temporal recién creado no se establece automáticamente como el espacio de tabla temporal predeterminado. Para configurarlo como predeterminado, consulte [Configuración del espacio de tabla temporal predeterminado en RDS para Oracle](#Appendix.Oracle.CommonDBATasks.SettingDefTempTablespace).

Para obtener más información, consulte [Almacenamiento de datos temporales en un almacén de instancias de RDS para Oracle](CHAP_Oracle.advanced-features.instance-store.md).

# Uso de tempfiles en RDS para Oracle
<a name="Appendix.Oracle.CommonDBATasks.using-tempfiles"></a>

## Adición de un archivo temporal al almacén de instancias en una réplica de lectura
<a name="Appendix.Oracle.CommonDBATasks.adding-tempfile-replica"></a>

Cuando crea un espacio de tabla temporal en una instancia de base de datos principal, la réplica de lectura no crea archivos temporales. Supongamos que existe un espacio de tablas temporal vacío en la réplica de lectura por cualquiera de los siguientes motivos:
+ Eliminó un archivo temporal del espacio de tablas de su réplica de lectura. Para obtener más información, consulte [Eliminación de archivos temporales en una réplica de lectura](Appendix.Oracle.CommonDBATasks.dropping-tempfiles-replica.md).
+ Creó un nuevo espacio de tablas temporal en la instancia de base de datos principal. En este caso, RDS para Oracle sincroniza los metadatos con la réplica de lectura.

Puedes añadir un archivo temporal al espacio de tablas temporal vacío y almacenar el archivo temporal en el almacén de instancias. Utilice el procedimiento `rdsadmin.rdsadmin_util.add_inst_store_tempfile` de Amazon RDS para crear un archivo temporal en el almacén de instancias. Este procedimiento solo se puede utilizar en una réplica de lectura. El procedimiento tiene los siguientes parámetros.


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_tablespace_name`  |  varchar  |  —  |  Sí  |  El nombre del espacio de tabla temporal de la réplica de lectura.  | 

En el siguiente ejemplo, el espacio de tabla temporal vacío *temp01* existe en la réplica de lectura. Ejecute el siguiente comando para crear un archivo temporal para este espacio de tabla y almacénelo en el almacén de instancias.

```
EXEC rdsadmin.rdsadmin_util.add_inst_store_tempfile(p_tablespace_name => 'temp01');
```

Para obtener más información, consulte [Almacenamiento de datos temporales en un almacén de instancias de RDS para Oracle](CHAP_Oracle.advanced-features.instance-store.md).

# Eliminación de archivos temporales en una réplica de lectura
<a name="Appendix.Oracle.CommonDBATasks.dropping-tempfiles-replica"></a>

No puede eliminar un espacio de tabla temporal existente en una réplica de lectura. Puede cambiar el almacenamiento del archivo temporal en una réplica de lectura de Amazon EBS al almacén de instancias o del almacén de instancias a Amazon EBS. Para lograr estos objetivos, haga lo siguiente:

1. Elimine los archivos temporales actuales en el espacio de tablas temporal de la réplica de lectura.

1. Cree nuevos archivos temporales en un almacenamiento diferente.

Utilice el procedimiento `rdsadmin.rdsadmin_util. drop_replica_tempfiles` de Amazon RDS para eliminar archivos temporales. Este procedimiento solo se puede utilizar en réplicas de lectura. El procedimiento `drop_replica_tempfiles` tiene los siguientes parámetros.


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_tablespace_name`  |  varchar  |  —  |  Sí  |  El nombre del espacio de tabla temporal de la réplica de lectura.  | 

Suponga que un espacio de tablas temporal denominado *temp01* reside en el almacén de instancias de su réplica de lectura. Elimine todos los archivos temporales de este espacio de tabla ejecutando el siguiente comando.

```
EXEC rdsadmin.rdsadmin_util.drop_replica_tempfiles(p_tablespace_name => 'temp01');
```

Para obtener más información, consulte [Almacenamiento de datos temporales en un almacén de instancias de RDS para Oracle](CHAP_Oracle.advanced-features.instance-store.md).

# Redimensionamiento de espacios de tablas, archivos de datos y archivos temporales en RDS para Oracle
<a name="Appendix.Oracle.CommonDBATasks.ResizeTempSpaceReadReplica"></a>

De forma predeterminada, los espacios de tabla de Oracle se crean con la ampliación automática activada y sin tamaño máximo. Debido a estos valores predeterminados, los espacios de tabla pueden llegar a ser demasiado grandes en algunos casos. Recomendamos que especifique un tamaño máximo adecuado para los espacios de tabla permanentes y temporales, y que monitorice cuidadosamente el uso del espacio.

## Redimensionamiento de espacios de tabla permanentes
<a name="resizing-perm-tbs"></a>

Para cambiar el tamaño de un espacio de tabla permanente en una instancia de base de datos de RDS para Oracle, utilice cualquiera de los siguientes procedimientos de Amazon RDS:
+ `rdsadmin.rdsadmin_util.resize_datafile`
+ `rdsadmin.rdsadmin_util.autoextend_datafile`

El procedimiento `resize_datafile` tiene los siguientes parámetros.


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_data_file_id`  |  número  |  —  |  Sí  |  El identificador del archivo de datos que se va a cambiar de tamaño.  | 
|  `p_size`  |  varchar2  |  —  |  Sí  |  El tamaño del archivo de datos. Puede especificar el tamaño en bytes (la opción predeterminada), kilobytes (K), megabytes (M) o gigabytes (G).   | 

El procedimiento `autoextend_datafile` tiene los siguientes parámetros.


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_data_file_id`  |  número  |  —  |  Sí  |  El identificador del archivo de datos que se va a cambiar de tamaño.  | 
|  `p_autoextend_state`  |  varchar2  |  —  |  Sí  |  El estado de la característica de ampliación automática. Especifique `ON` para ampliar el archivo de datos automáticamente y `OFF` para desactivar la ampliación automática.   | 
|  `p_next`  |  varchar2  |  —  |  No  |  El tamaño del incremento del siguiente archivo de datos. Puede especificar el tamaño en bytes (la opción predeterminada), kilobytes (K), megabytes (M) o gigabytes (G).  | 
|  `p_maxsize`  |  varchar2  |  —  |  No  |  El espacio máximo en disco permitido para la ampliación automática. Puede especificar el tamaño en bytes (la opción predeterminada), kilobytes (K), megabytes (M) o gigabytes (G). Puede especificar `UNLIMITED` para eliminar el límite de tamaño del archivo.  | 

En el ejemplo siguiente, se cambia el tamaño del archivo de datos de 4 a 500 MB.

```
EXEC rdsadmin.rdsadmin_util.resize_datafile(4,'500M');
```

En el siguiente ejemplo, se desactiva la ampliación automática del archivo de datos 4. También se activa la ampliación automática para el archivo de datos 5, con un incremento de 128 MB y sin tamaño máximo.

```
EXEC rdsadmin.rdsadmin_util.autoextend_datafile(4,'OFF');
EXEC rdsadmin.rdsadmin_util.autoextend_datafile(5,'ON','128M','UNLIMITED');
```

## Redimensionamiento de espacios de tabla temporales
<a name="resizing-temp-tbs"></a>

Para redimensionar un espacio de tabla temporal en una instancia de base de datos de RDS para Oracle, incluida una réplica de lectura, utilice cualquiera de los siguientes procedimientos de Amazon RDS:
+ `rdsadmin.rdsadmin_util.resize_temp_tablespace`
+ `rdsadmin.rdsadmin_util.resize_tempfile`
+ `rdsadmin.rdsadmin_util.autoextend_tempfile`

El procedimiento `resize_temp_tablespace` tiene los siguientes parámetros.


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_temp_tablespace_name`  |  varchar2  |  —  |  Sí  |  El nombre del espacio de tabla temporal al que se va a cambiar el tamaño.  | 
|  `p_size`  |  varchar2  |  —  |  Sí  |  El tamaño del espacio de tabla. Puede especificar el tamaño en bytes (la opción predeterminada), kilobytes (K), megabytes (M) o gigabytes (G).   | 

El procedimiento `resize_tempfile` tiene los siguientes parámetros.


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_temp_file_id`  |  número  |  —  |  Sí  |  El identificador del archivo temporal al que se va a cambiar el tamaño.  | 
|  `p_size`  |  varchar2  |  —  |  Sí  |  El tamaño del archivo temporal. Puede especificar el tamaño en bytes (la opción predeterminada), kilobytes (K), megabytes (M) o gigabytes (G).   | 

El procedimiento `autoextend_tempfile` tiene los siguientes parámetros.


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_temp_file_id`  |  número  |  —  |  Sí  |  El identificador del archivo temporal al que se va a cambiar el tamaño.  | 
|  `p_autoextend_state`  |  varchar2  |  —  |  Sí  |  El estado de la característica de ampliación automática. Especifique `ON` para ampliar el archivo temporal automáticamente y `OFF` para desactivar la ampliación automática.   | 
|  `p_next`  |  varchar2  |  —  |  No  |  El tamaño del incremento del siguiente archivo temporal. Puede especificar el tamaño en bytes (la opción predeterminada), kilobytes (K), megabytes (M) o gigabytes (G).  | 
|  `p_maxsize`  |  varchar2  |  —  |  No  |  El espacio máximo en disco permitido para la ampliación automática. Puede especificar el tamaño en bytes (la opción predeterminada), kilobytes (K), megabytes (M) o gigabytes (G). Puede especificar `UNLIMITED` para eliminar el límite de tamaño del archivo.  | 

Los siguientes ejemplos cambian el tamaño de un espacio de tabla temporal llamado `TEMP` hasta 4 GB.

```
EXEC rdsadmin.rdsadmin_util.resize_temp_tablespace('TEMP','4G');
```

```
EXEC rdsadmin.rdsadmin_util.resize_temp_tablespace('TEMP','4096000000');
```

El siguiente ejemplo cambia el tamaño de un espacio de tabla temporal en función del archivo temporal con el identificador de archivo `1` hasta los 2 MB.

```
EXEC rdsadmin.rdsadmin_util.resize_tempfile(1,'2M');
```

En el siguiente ejemplo, se desactiva la ampliación automática del archivo temporal 1. También se establece el tamaño máximo de ampliación automática del archivo temporal de 2 a 10 GB, con un incremento de 100 MB.

```
EXEC rdsadmin.rdsadmin_util.autoextend_tempfile(1,'OFF');
EXEC rdsadmin.rdsadmin_util.autoextend_tempfile(2,'ON','100M','10G');
```

Para obtener más información acerca de las réplicas de lectura para las instancias de base de datos de Oracle, consulte [Trabajo con las réplicas de lectura para Amazon RDS para Oracle](oracle-read-replicas.md).

# Movimiento de datos entre volúmenes de almacenamiento en RDS para Oracle
<a name="Appendix.Oracle.CommonDBATasks.MovingDataBetweenVolumes"></a>

Puede mover archivos de datos y objetos de base de datos entre los volúmenes de almacenamiento principal y los adicionales. Antes de mover los datos, se tienen en cuenta los siguientes puntos:
+ Los volúmenes de origen y destino deben tener suficiente espacio libre.
+ Las operaciones de movimiento de datos consumen E/S en ambos volúmenes.
+ Los grandes movimientos de datos pueden afectar al rendimiento de la base de datos.
+ Si restaura una instantánea, el movimiento de los datos entre los volúmenes de almacenamiento puede resultar lento si se ve afectado por la carga diferida de EBS.

**Topics**
+ [Movimiento de archivos de datos entre volúmenes en RDS para Oracle](#Appendix.Oracle.CommonDBATasks.MovingDatafiles)
+ [Movimiento de datos de tablas e índices entre volúmenes en RDS para Oracle](#Appendix.Oracle.CommonDBATasks.MovingTableData)
+ [Administración del almacenamiento de LOB mediante volúmenes adicionales](#Appendix.Oracle.CommonDBATasks.ManagingLargeLOBStorage)

## Movimiento de archivos de datos entre volúmenes en RDS para Oracle
<a name="Appendix.Oracle.CommonDBATasks.MovingDatafiles"></a>

Para mover archivos de datos entre volúmenes de almacenamiento, utilice el procedimiento `rdsadmin.rdsadmin_util.move_datafile` de Amazon RDS. Tenga en cuenta los siguientes requisitos:
+ Debe utilizar Oracle Enterprise Edition para ejecutar el procedimiento `move_datafile`.
+ No puede mover el espacio de tablas `SYSTEM` y `RDSADMIN`.

El procedimiento `move_datafile` tiene los siguientes parámetros.


****  

| Nombre del parámetro | Tipo de datos | Obligatorio | Descripción | 
| --- | --- | --- | --- | 
|  `p_data_file_id`  |  número  |  Sí  |  El ID del archivo de datos que se va a mover.  | 
|  `p_location`  |  varchar2  |  Sí  |  El volumen de almacenamiento al que desea mover el archivo de datos.  | 

En el siguiente ejemplo, se mueve un espacio de tabla del volumen predeterminado `rdsdbdata` al volumen adicional `rdsdbdata2`.

```
SQL> SELECT tablespace_name,file_id,file_name FROM dba_data_files
 WHERE tablespace_name = 'MYNEWTABLESPACE';

TABLESPACE_NAME              FILE_ID FILE_NAME
------------------------- ---------- --------------------------------------------------------------------------------
MYNEWTABLESPACE                    6 /rdsdbdata/db/ORCL_A/datafile/o1_mf_mynewtab_n123abcd_.dbf

EXECUTE rdsadmin.rdsadmin_util.move_datafile( 6, 'rdsdbdata2');

PL/SQL procedure successfully completed.

SQL> SELECT tablespace_name,file_id,file_name FROM dba_data_files
  WHERE tablespace_name = 'MYNEWTABLESPACE';

TABLESPACE_NAME              FILE_ID FILE_NAME
------------------------- ---------- --------------------------------------------------------------------------------
MYNEWTABLESPACE                    6 /rdsdbdata2/db/ORCL_A/datafile/o1_mf_mynewtab_n356efgh_.dbf
```

## Movimiento de datos de tablas e índices entre volúmenes en RDS para Oracle
<a name="Appendix.Oracle.CommonDBATasks.MovingTableData"></a>

Puede optimizar el almacenamiento de la base de datos mediante la creación de espacios de tabla en volúmenes de almacenamiento adicionales. A continuación, puede mover objetos como tablas, índices y particiones a estos espacios de tabla mediante el SQL estándar de Oracle. Este enfoque es valioso para ajustar el rendimiento cuando la base de datos contiene datos con patrones de acceso diferentes. Por ejemplo, puede almacenar los datos operativos a los que se accede con frecuencia en volúmenes de almacenamiento de alto rendimiento y, al mismo tiempo, trasladar los datos históricos a los que se accede con menos frecuencia a volúmenes de almacenamiento de menor costo.

En el siguiente ejemplo, se crea un nuevo espacio de tablas en un volumen de alto rendimiento `rdsdbdata2`. A continuación, mueva una tabla al volumen de almacenamiento adicional mientras la tabla está en línea. También mueve el índice al mismo volumen. El movimiento de tablas y la reconstrucción de índices mientras se está en línea necesita Oracle Enterprise Edition.

```
ALTER SESSION SET db_create_file_dest = '/rdsdbdata2/db';
CREATE TABLESPACE perf_tbs DATAFILE SIZE 10G;

ALTER TABLE employees
  MOVE TABLESPACE perf_tbs ONLINE;

ALTER INDEX employees_idx
  REBUILD ONLINE TABLESPACE perf_tbs;
```

En el siguiente ejemplo, se crea un espacio de tablas en un volumen de bajo costo. A continuación, mueva una partición de tabla al volumen de almacenamiento de bajo costo mediante una operación en línea.

```
ALTER SESSION SET db_create_file_dest = '/rdsdbdata3/db';
CREATE TABLESPACE hist_tbs DATAFILE SIZE 10G;

ALTER TABLE orders
  MOVE PARTITION orders_2022
  TABLESPACE hist_tbs ONLINE;
```

En el siguiente ejemplo, consulte las operaciones largas de sesiones activas.

```
SELECT sid,opname,sofar,totalwork,time_remaining,elapsed_seconds 
  FROM v$session_longops 
  WHERE time_remaining > 0;
```

Puede verificar el uso de los espacios de tabla con la siguiente consulta.

```
SELECT tablespace_name, used_percent
  FROM dba_tablespace_usage_metrics
  ORDER BY used_percent DESC;
```

## Administración del almacenamiento de LOB mediante volúmenes adicionales
<a name="Appendix.Oracle.CommonDBATasks.ManagingLargeLOBStorage"></a>

La base de datos puede contener tablas con objetos BLOB o CLOB que consumen una cantidad considerable de almacenamiento, pero a los que se accede con poca frecuencia. Para optimizar el almacenamiento, puede reubicar estos segmentos de LOB en un espacio de tablas en un volumen de almacenamiento adicional.

En el siguiente ejemplo, se crea un espacio de tabla para datos de LOB en un volumen de bajo costo destinado a datos de poco acceso. A continuación, cree una tabla que almacene los datos de este volumen.

```
ALTER SESSION SET db_create_file_dest = '/rdsdbdata3/db';
CREATE TABLESPACE lob_data DATAFILE SIZE 5G AUTOEXTEND ON NEXT 1G;

CREATE TABLE documents (
    doc_id NUMBER PRIMARY KEY,
    doc_date DATE,
    doc_content CLOB
) TABLESPACE user_data
LOB(doc_content) STORE AS (TABLESPACE lob_data);
```

# Uso de tablas externas en RDS para Oracle
<a name="Appendix.Oracle.CommonDBATasks.External_Tables"></a>

Las *tablas externas de Oracle *son tablas con datos no incluidos en la base de datos. Los datos se encuentran en archivos externos a los que la base de datos puede acceder. Las tablas externas le permiten acceder a datos sin cargarlos en la base de datos. Para obtener más información sobre las tablas externas, consulte la sección [Managing External Tables](http://docs.oracle.com/database/121/ADMIN/tables.htm#ADMIN01507) en la documentación de Oracle. 

Amazon RDS le permite almacenar archivos de tablas externas en objetos de directorio. Puede crear un objeto de directorio o utilizar uno predefinido en la base de datos Oracle como, por ejemplo, el directorio DATA\$1PUMP\$1DIR. Para obtener información sobre la creación de objetos de directorio, consulte [Creación y eliminación de directorios en el espacio de almacenamiento de datos principal](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.NewDirectories). Puede consultar la vista ALL\$1DIRECTORIES para elaborar una lista de los objetos de directorio de la instancia de base de datos de Oracle en Amazon RDS.

**nota**  
Los objetos de directorio apuntan hacia el espacio de almacenamiento de datos principal (volumen de Amazon EBS) utilizado por la instancia. El espacio utilizado, junto con los archivos de datos, registros REDO, archivos de auditoría, de seguimiento y de otro tipo, cuenta a la hora de calcular el almacenamiento asignado.

Puede desplazar un archivo de datos externos de una base de datos Oracle a otra base de datos utilizando el paquete [ DBMS\$1FILE\$1TRANSFER](https://docs.oracle.com/database/121/ARPLS/d_ftran.htm#ARPLS095) o el paquete [UTL\$1FILE](https://docs.oracle.com/database/121/ARPLS/u_file.htm#ARPLS069). El archivo de datos externos se traslada de un directorio en la base de datos de origen al directorio especificado en la base de datos de destino. Para obtener más información sobre del uso de `DBMS_FILE_TRANSFER`, consulte [Importación mediante Oracle Data Pump](Oracle.Procedural.Importing.DataPump.md).

Después de trasladar el archivo de datos externos, este le permite crear una tabla externa. En el siguiente ejemplo se crea una tabla externa que usa el archivo `emp_xt_file1.txt` en el directorio USER\$1DIR1.

```
CREATE TABLE emp_xt (
  emp_id      NUMBER,
  first_name  VARCHAR2(50),
  last_name   VARCHAR2(50),
  user_name   VARCHAR2(20)
)
ORGANIZATION EXTERNAL (
  TYPE ORACLE_LOADER
  DEFAULT DIRECTORY USER_DIR1
  ACCESS PARAMETERS (
    RECORDS DELIMITED BY NEWLINE
    FIELDS TERMINATED BY ','
    MISSING FIELD VALUES ARE NULL
    (emp_id,first_name,last_name,user_name)
  )
  LOCATION ('emp_xt_file1.txt')
)
PARALLEL
REJECT LIMIT UNLIMITED;
```

Suponga que quiere trasladar datos de una instancia de base de datos de Oracle en Amazon RDS a un archivo de datos externos. En ese caso, puede rellenar el archivo de datos externos creando una tabla externa y seleccionando los datos de la tabla en la base de datos. Por ejemplo, la siguiente instrucción SQL crea la tabla externa `orders_xt` mediante la consulta a la tabla `orders` de la base de datos.

```
CREATE TABLE orders_xt
  ORGANIZATION EXTERNAL
   (
     TYPE ORACLE_DATAPUMP
     DEFAULT DIRECTORY DATA_PUMP_DIR
     LOCATION ('orders_xt.dmp')
   )
   AS SELECT * FROM orders;
```

En este ejemplo, los datos se rellenan en el archivo `orders_xt.dmp` del directorio DATA\$1PUMP\$1DIR.

# Creación de un punto de comprobación de una base de datos
<a name="Appendix.Oracle.CommonDBATasks.CheckpointingDatabase"></a>

Utilice el procedimiento de Amazon RDS para crear un punto de comprobación de la base dato `rdsadmin.rdsadmin_util.checkpoint`. El procedimiento `checkpoint` no tiene ningún parámetro. 

En el siguiente ejemplo, se crea un punto de comprobación de la base de datos.

```
EXEC rdsadmin.rdsadmin_util.checkpoint;
```

# Configuración de la recuperación distribuida
<a name="Appendix.Oracle.CommonDBATasks.SettingDistributedRecovery"></a>

Utilice los procedimientos `rdsadmin.rdsadmin_util.enable_distr_recovery` y `disable_distr_recovery` de Amazon RDS para configurar la recuperación distribuida. Los procedimientos no tienen ningún parámetro. 

En el siguiente ejemplo se activa la recuperación distribuida.

```
EXEC rdsadmin.rdsadmin_util.enable_distr_recovery;
```

En el siguiente ejemplo se desactiva la recuperación distribuida.

```
EXEC rdsadmin.rdsadmin_util.disable_distr_recovery;
```

# Configuración de la zona horaria de la base de datos
<a name="Appendix.Oracle.CommonDBATasks.TimeZoneSupport"></a>

Puede definir la zona horaria de la base de datos de Amazon RDS for Oracle de las siguientes maneras: 
+ La opción `Timezone`

  La opción `Timezone` cambia la zona horaria en el nivel del host y afecta a todos los valores y columnas de fecha, como `SYSDATE`. Para obtener más información, consulte [Zona horaria Oracle](Appendix.Oracle.Options.Timezone.md). 
+ El procedimiento de Amazon RDS `rdsadmin.rdsadmin_util.alter_db_time_zone`

  El procedimiento `alter_db_time_zone` solo cambia la zona horaria de determinados tipos de datos y no cambia `SYSDATE`. En la [documentación de Oracle](http://docs.oracle.com/cd/B19306_01/server.102/b14225/ch4datetime.htm#i1006705) se especifican otras restricciones para configurar la zona horaria. 

**nota**  
También puede establecer la zona horaria predeterminada para Oracle Scheduler. Para obtener más información, consulte [Configuración de zona horaria para trabajos de Oracle Scheduler](Appendix.Oracle.CommonDBATasks.Scheduler.md#Appendix.Oracle.CommonDBATasks.Scheduler.TimeZone).

El procedimiento `alter_db_time_zone` tiene los siguientes parámetros. 


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_new_tz`  |  varchar2  |  —  |  Sí  |  La nueva zona horaria expresada como una región con nombre o un desfase absoluto con relación a la hora universal coordinada (UTC). Los desfases válidos oscilan entre -12:00 y \$114:00.   | 

En el siguiente ejemplo se cambia la zona horaria a UTC más tres horas. 

```
EXEC rdsadmin.rdsadmin_util.alter_db_time_zone(p_new_tz => '+3:00');
```

En el siguiente ejemplo, se cambia la zona horaria a la de la región África/Argel. 

```
EXEC rdsadmin.rdsadmin_util.alter_db_time_zone(p_new_tz => 'Africa/Algiers');
```

Después de cambiar la zona horaria utilizando el procedimiento `alter_db_time_zone`, reinicie su instancia de base de datos para que el cambio surta efecto. Para obtener más información, consulte [Reinicio de una instancia de base de datos ](USER_RebootInstance.md). Para obtener información acerca de cómo actualizar las zonas horarias, consulte [Consideraciones sobre la zona horaria](USER_UpgradeDBInstance.Oracle.OGPG.md#USER_UpgradeDBInstance.Oracle.OGPG.DST).

# Generación de informes de rendimiento con Automatic Workload Repository (AWR)
<a name="Appendix.Oracle.CommonDBATasks.AWR"></a>

Para recopilar datos de rendimiento y generar informes, Oracle recomienda Automatic Workload Repository (AWR). AWR requiere Oracle Database Enterprise Edition y una licencia para los paquetes Diagnostics and Tuning. Para habilitar AWR, establezca el parámetro de inicialización `CONTROL_MANAGEMENT_PACK_ACCESS` en `DIAGNOSTIC` o `DIAGNOSTIC+TUNING`. 

## Trabajar con informes de AWR en RDS
<a name="Appendix.Oracle.CommonDBATasks.AWRTechniques"></a>

Para generar informes de AWR, puede ejecutar scripts como `awrrpt.sql`. Estos scripts se instalan en el servidor host de la base de datos. En Amazon RDS, no tiene acceso directo al host. Sin embargo, puede obtener copias de scripts SQL desde otra instalación de Oracle Database. 

También puede utilizar AWR ejecutando procedimientos en el paquete `SYS.DBMS_WORKLOAD_REPOSITORY` PL/SQL. Puede utilizar este paquete para administrar bases de referencia e instantáneas, así como para mostrar informes ASH y AWR. Por ejemplo, para generar un informe AWR en formato de texto, ejecute el procedimiento `DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_TEXT`. Sin embargo, no puede acceder a estos informes de AWR desde la Consola de administración de AWS. 

Cuando se trabaja con AWR, se recomienda utilizar los procedimientos `rdsadmin.rdsadmin_diagnostic_util`. Puede utilizar estos procedimientos para generar lo siguiente:
+ Informes AWR
+ Informes de Historial de Sesiones Activas (ASH)
+ Informes del Monitor de diagnóstico automático de bases de datos (ADDM)
+ Archivos de volcado de datos AWR de Oracle Data Pump Export

Los procedimientos `rdsadmin_diagnostic_util` guardan los informes en el sistema de archivos de instancia de base de datos. Puede acceder a estos informes desde la consola. También puede acceder a los informes mediante los procedimientos `rdsadmin.rds_file_util` y puede acceder a los informes que se copian en Amazon S3 mediante la opción Integración de S3. Para obtener más información, consulte [Lectura de archivos de un directorio de instancia de base de datos](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ReadingFiles) y [Integración de Amazon S3](oracle-s3-integration.md). 

Puede utilizar los procedimientos `rdsadmin_diagnostic_util` en las siguientes versiones del motor para bases de datos de Amazon RDS for Oracle:
+ Todas las versiones de Oracle Database 21c
+ 19.0.0.0.ru-2020-04.rur-2020-04.r1 Oracle Database 19c y versiones posteriores

Para ver un blog que explica cómo trabajar con los informes de diagnóstico en un escenario de replicación, consulte [Generate AWR reports for Amazon RDS for Oracle read replicas](https://aws.amazon.com/blogs/database/generate-awr-reports-for-amazon-rds-for-oracle-read-replicas/).

## Parámetros comunes para el paquete de utilidad de diagnóstico
<a name="Appendix.Oracle.CommonDBATasks.CommonAWRParam"></a>

Normalmente se utilizan los siguientes parámetros al administrar AWR y ADDM con el paquete `rdsadmin_diagnostic_util`.

<a name="rds-provisioned-iops-storage-range-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.AWR.html)

Normalmente, se utilizan los siguientes parámetros al administrar ASH con el paquete rdsadmin\$1diagnostic\$1util.

<a name="rds-provisioned-iops-storage-range-reference"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.AWR.html)

## Generación de un informe AWR
<a name="Appendix.Oracle.CommonDBATasks.GenAWRReport"></a>

Para generar un informe AWR, utilice el procedimiento `rdsadmin.rdsadmin_diagnostic_util.awr_report`.

En el ejemplo siguiente se genera un informe AWR para el rango de instantáneas 101–106. El archivo de texto de salida se denomina `awrrpt_101_106.txt`. Puede obtener acceso a este informe desde la Consola de administración de AWS. 

```
EXEC rdsadmin.rdsadmin_diagnostic_util.awr_report(101,106,'TEXT');
```

En el ejemplo siguiente se genera un informe HTML para el rango de instantáneas 63–65. El archivo HTML de salida se denomina `awrrpt_63_65.html`. El procedimiento escribe el informe en el directorio de base de datos no predeterminado denominado `AWR_RPT_DUMP`.

```
EXEC rdsadmin.rdsadmin_diagnostic_util.awr_report(63,65,'HTML','AWR_RPT_DUMP');
```

## Extracción de datos de AWR en un archivo de volcado
<a name="Appendix.Oracle.CommonDBATasks.ExtractAWR"></a>

Para extraer datos de AWR en un archivo de volcado, utilice el procedimiento `rdsadmin.rdsadmin_diagnostic_util.awr_extract`. Puede utilizar esta función solo en PDB.

En el siguiente ejemplo se extrae el rango de instantáneas 101–106. El archivo de volcado de salida se denomina `awrextract_101_106.dmp`. Puede acceder a este archivo a través de la consola.

```
EXEC rdsadmin.rdsadmin_diagnostic_util.awr_extract(101,106);
```

En el siguiente ejemplo se extrae el rango de instantáneas 63–65. El archivo de volcado de salida se denomina `awrextract_63_65.dmp`. El archivo se almacena en el directorio de base de datos no predeterminado denominado `AWR_RPT_DUMP`.

```
EXEC rdsadmin.rdsadmin_diagnostic_util.awr_extract(63,65,'AWR_RPT_DUMP');
```

## Generación de un informe ADDM
<a name="Appendix.Oracle.CommonDBATasks.ADDM"></a>

Para generar un informe ADDM, utilice el procedimiento `rdsadmin.rdsadmin_diagnostic_util.addm_report`. 

En el ejemplo siguiente se genera un informe ADDM para el rango de instantáneas 101–106. El archivo de texto de salida se denomina `addmrpt_101_106.txt`. Puede acceder al informe a través de la consola.

```
EXEC rdsadmin.rdsadmin_diagnostic_util.addm_report(101,106);
```

En el ejemplo siguiente se genera un informe ADDM para el rango de instantáneas 63–65. El archivo de texto de salida se denomina `addmrpt_63_65.txt`. El archivo se almacena en el directorio de base de datos no predeterminado denominado `ADDM_RPT_DUMP`.

```
EXEC rdsadmin.rdsadmin_diagnostic_util.addm_report(63,65,'ADDM_RPT_DUMP');
```

## Generación de un informe ASH
<a name="Appendix.Oracle.CommonDBATasks.ASH"></a>

Para generar un informe ASH, utilice el procedimiento `rdsadmin.rdsadmin_diagnostic_util.ash_report`. 

En el ejemplo siguiente se genera un informe ASH que incluye los datos desde hace 14 minutos hasta la hora actual. El nombre del archivo de salida utiliza el formato `ashrptbegin_timeend_time.txt`, donde `begin_time` y `end_time` utilizan el formato `YYYYMMDDHH24MISS`. Puede acceder al archivo a través de la consola.

```
BEGIN
    rdsadmin.rdsadmin_diagnostic_util.ash_report(
        begin_time     =>     SYSDATE-14/1440,
        end_time       =>     SYSDATE,
        report_type    =>     'TEXT');
END;
/
```

En el siguiente ejemplo se genera un informe ASH que incluye los datos del 18 de noviembre de 2019, a las 6:07 PM hasta el 18 de noviembre de 2019, a las 6:15 PM. El nombre del informe HTML de salida es `ashrpt_20190918180700_20190918181500.html`. El informe se almacena en el directorio de base de datos no predeterminado denominado `AWR_RPT_DUMP`.

```
BEGIN
    rdsadmin.rdsadmin_diagnostic_util.ash_report(
        begin_time     =>    TO_DATE('2019-09-18 18:07:00', 'YYYY-MM-DD HH24:MI:SS'),
        end_time       =>    TO_DATE('2019-09-18 18:15:00', 'YYYY-MM-DD HH24:MI:SS'),
        report_type    =>    'html',
        dump_directory =>    'AWR_RPT_DUMP');
END;
/
```

## Acceso a los informes de AWR desde la consola o la CLI
<a name="Appendix.Oracle.CommonDBATasks.AWRConsole"></a>

Para acceder a informes de AWR o exportar archivos de volcado, puede utilizar la Consola de administración de AWS o la AWS CLI. Para obtener más información, consulte [Descarga de un archivo de registro de base de datos](USER_LogAccess.Procedural.Downloading.md). 

# Ajuste de los enlaces de base de datos para usarlos con las instancias de bases de datos de una VPC
<a name="Appendix.Oracle.CommonDBATasks.DBLinks"></a>

Para utilizar enlaces de base de datos Oracle con instancias de bases de datos de Amazon RDS dentro de la misma nube virtual privada (VPC) o VPC interconectadas, debe existir una ruta válida entre las dos instancias de bases de datos. Compruebe que existe una ruta válida entre las instancias de bases de datos utilizando las tablas de enrutamiento de VPC y la lista de control de acceso (ACL) de red. 

El grupo de seguridad de cada instancia de base de datos debe permitir la entrada y la salida desde la otra instancia de base de datos. Las reglas de entrada y salida pueden referirse a grupos de seguridad de la misma VPC o de una VPC interconectada. Para obtener más información, consulte [Actualización de los grupos de seguridad para que hagan referencia a grupos de la VPC del mismo nivel](https://docs.aws.amazon.com/vpc/latest/peering/working-with-vpc-peering.html#vpc-peering-security-groups). 

Si ha configurado un servidor DNS personalizado mediante los conjuntos de opciones de DHCP en la VPC, el servidor DNS personalizado debe ser capaz de resolver el nombre del destino del enlace de base de datos. Para obtener más información, consulte [Configuración de un servidor DNS personalizado](Appendix.Oracle.CommonDBATasks.System.md#Appendix.Oracle.CommonDBATasks.CustomDNS). 

Para obtener más información acerca del uso de los enlaces de base de datos con Oracle Data Pump, consulte [Importación mediante Oracle Data Pump](Oracle.Procedural.Importing.DataPump.md). 

# Configuración de la edición predeterminada para una instancia de base de datos
<a name="Appendix.Oracle.CommonDBATasks.DefaultEdition"></a>

Puede redefinir objetos de la base de datos en un entorno privado llamado edición. Puede utilizar la redefinición basada en la edición para actualizar los objetos de la base de datos de una aplicación con un tiempo de inactividad mínimo. 

Puede definir la edición predeterminada de una instancia de base de datos de Oracle en Amazon RDS mediante el uso del procedimiento de Amazon RDS `rdsadmin.rdsadmin_util.alter_default_edition`. 

En el siguiente ejemplo se define la edición predeterminada de la instancia de base de datos de Oracle en Amazon RDS en `RELEASE_V1`. 

```
EXEC rdsadmin.rdsadmin_util.alter_default_edition('RELEASE_V1');
```

En el siguiente ejemplo se vuelve a definir la edición predeterminada de la instancia de base de datos de Oracle en Amazon RDS como la edición predeterminada de Oracle. 

```
EXEC rdsadmin.rdsadmin_util.alter_default_edition('ORA$BASE');
```

Para obtener más información sobre la redefinición basada en la edición de Oracle, consulte [About Editions and Edition-Based Redefinition](https://docs.oracle.com/database/121/ADMIN/general.htm#ADMIN13167) en la documentación de Oracle.

# Activación de la auditoría para la tabla SYS.AUD\$1
<a name="Appendix.Oracle.CommonDBATasks.EnablingAuditing"></a>

Utilice el procedimiento `SYS.AUD$` de Amazon RDS para activar la auditoría en la tabla de prueba de auditoría de base datos `rdsadmin.rdsadmin_master_util.audit_all_sys_aud_table`. La única propiedad de auditoría admitida es `ALL`. No puede auditar o no auditar declaraciones u operaciones individuales.

La activación de la auditoría se admite en instancias de base de datos Oracle que ejecutan las siguientes versiones:
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

El procedimiento `audit_all_sys_aud_table` tiene los siguientes parámetros.


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_by_access`  |  booleano  |  true  |  No  |  Establézcalo en `true` para auditar `BY ACCESS`. Establézcalo en `false` para auditar `BY SESSION`.  | 

La siguiente consulta devuelve la configuración de auditoría actual de `SYS.AUD$` para una base de datos.

```
SELECT * FROM DBA_OBJ_AUDIT_OPTS WHERE OWNER='SYS' AND OBJECT_NAME='AUD$';
```

Los siguientes comandos activan la auditoría de `ALL` en `SYS.AUD$` `BY ACCESS`.

```
EXEC rdsadmin.rdsadmin_master_util.audit_all_sys_aud_table;

EXEC rdsadmin.rdsadmin_master_util.audit_all_sys_aud_table(p_by_access => true);
```

Los siguientes comandos activan la auditoría de `ALL` en `SYS.AUD$` `BY SESSION`.

```
EXEC rdsadmin.rdsadmin_master_util.audit_all_sys_aud_table(p_by_access => false);
```

Para más información, consulte [AUDIT (Traditional Auditing)](https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sqlrf/AUDIT-Traditional-Auditing.html#GUID-ADF45B07-547A-4096-8144-50241FA2D8DD) en la documentación de Oracle. 

# Desactivación de la auditoría para la tabla SYS.AUD\$1
<a name="Appendix.Oracle.CommonDBATasks.DisablingAuditing"></a>

Utilice el procedimiento `SYS.AUD$` de Amazon RDS para desactivar la auditoría en la tabla de prueba de auditoría de base de datos `rdsadmin.rdsadmin_master_util.noaudit_all_sys_aud_table`. Este procedimiento no acepta parámetros. 

La siguiente consulta devuelve la configuración de auditoría actual de `SYS.AUD$` para una base de datos:

```
SELECT * FROM DBA_OBJ_AUDIT_OPTS WHERE OWNER='SYS' AND OBJECT_NAME='AUD$';
```

El siguiente comando desactiva la auditoría de `ALL` en `SYS.AUD$`.

```
EXEC rdsadmin.rdsadmin_master_util.noaudit_all_sys_aud_table;
```

Para más información, consulte [NO AUDIT (Traditional Auditing)](https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sqlrf/NOAUDIT-Traditional-Auditing.html#GUID-9D8EAF18-4AB3-4C04-8BF7-37BD0E15434D) en la documentación de Oracle. 

# Limpieza de construcciones interrumpidas de índices en línea
<a name="Appendix.Oracle.CommonDBATasks.CleanupIndex"></a>

Para limpiar construcciones de índices online fallidas, utilice el procedimiento de Amazon RDS `rdsadmin.rdsadmin_dbms_repair.online_index_clean`. 

El procedimiento `online_index_clean` tiene los siguientes parámetros.


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `object_id`  |  entero\$1binario  |  `ALL_INDEX_ID`  |  No  |  El ID de objeto del índice. Por lo general, puede usar el ID de objeto del texto de error ORA-08104.  | 
|  `wait_for_lock`  |  entero\$1binario  |  `rdsadmin.rdsadmin_dbms_repair.lock_wait`  |  No  |  Especifique `rdsadmin.rdsadmin_dbms_repair.lock_wait`, el valor predeterminado, para intentar obtener un bloqueo en el objeto subyacente y volver a intentarlo hasta que se alcance un límite interno si el bloqueo falla. Especifique `rdsadmin.rdsadmin_dbms_repair.lock_nowait` para intentar obtener un bloqueo en el objeto subyacente, pero sin volver a intentarlo si falla el bloqueo.  | 

El siguiente ejemplo limpia una construcción de índice online fallida:

```
declare
  is_clean boolean;
begin
  is_clean := rdsadmin.rdsadmin_dbms_repair.online_index_clean(
    object_id     => 1234567890, 
    wait_for_lock => rdsadmin.rdsadmin_dbms_repair.lock_nowait
  );
end;
/
```

Para obtener más información, consulte [ONLINE\$1INDEX\$1CLEAN Function](https://docs.oracle.com/database/121/ARPLS/d_repair.htm#ARPLS67555) en la documentación de Oracle. 

# Omisión de bloques dañados
<a name="Appendix.Oracle.CommonDBATasks.SkippingCorruptBlocks"></a>

Para omitir bloques dañados durante análisis de índice y tablas, utilice el paquete `rdsadmin.rdsadmin_dbms_repair`.

Los siguientes procedimientos encapsulan la funcionalidad del procedimiento `sys.dbms_repair.admin_table` y no toman parámetros:
+ `rdsadmin.rdsadmin_dbms_repair.create_repair_table`
+ `rdsadmin.rdsadmin_dbms_repair.create_orphan_keys_table`
+ `rdsadmin.rdsadmin_dbms_repair.drop_repair_table`
+ `rdsadmin.rdsadmin_dbms_repair.drop_orphan_keys_table`
+ `rdsadmin.rdsadmin_dbms_repair.purge_repair_table`
+ `rdsadmin.rdsadmin_dbms_repair.purge_orphan_keys_table`

Los siguientes procedimientos toman los mismos parámetros que sus contrapartes en el paquete `DBMS_REPAIR` para bases de datos de Oracle:
+ `rdsadmin.rdsadmin_dbms_repair.check_object`
+ `rdsadmin.rdsadmin_dbms_repair.dump_orphan_keys`
+ `rdsadmin.rdsadmin_dbms_repair.fix_corrupt_blocks`
+ `rdsadmin.rdsadmin_dbms_repair.rebuild_freelists`
+ `rdsadmin.rdsadmin_dbms_repair.segment_fix_status`
+ `rdsadmin.rdsadmin_dbms_repair.skip_corrupt_blocks`

Para obtener más información sobre la gestión de daños en la base de datos, consulte [DBMS\$1REPAIR](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_REPAIR.html#GUID-B8EC4AB3-4D6A-46C9-857F-4ED53CD9C948) en la documentación de Oracle.

**Example Respuesta a bloques dañados**  
En este ejemplo se muestra el flujo de trabajo básico para responder a bloques dañados. Sus pasos dependerán de la ubicación y la naturaleza del daño de sus bloques.  
Antes de intentar reparar bloques dañados, revise detenidamente la documentación de [DBMS\$1REPAIR](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_REPAIR.html#GUID-B8EC4AB3-4D6A-46C9-857F-4ED53CD9C948).

**Para omitir bloques dañados durante análisis de índices y tablas**

1. Ejecute los siguientes procedimientos para crear tablas de reparación si aún no existen.

   ```
   EXEC rdsadmin.rdsadmin_dbms_repair.create_repair_table;
   EXEC rdsadmin.rdsadmin_dbms_repair.create_orphan_keys_table;
   ```

1. Ejecute los siguientes procedimientos para verificar los registros existentes y purgarlos, si corresponde.

   ```
   SELECT COUNT(*) FROM SYS.REPAIR_TABLE;
   SELECT COUNT(*) FROM SYS.ORPHAN_KEY_TABLE;
   SELECT COUNT(*) FROM SYS.DBA_REPAIR_TABLE;
   SELECT COUNT(*) FROM SYS.DBA_ORPHAN_KEY_TABLE;
   
   EXEC rdsadmin.rdsadmin_dbms_repair.purge_repair_table;
   EXEC rdsadmin.rdsadmin_dbms_repair.purge_orphan_keys_table;
   ```

1. Ejecute el siguiente procedimiento para verificar si hay bloques dañados.

   ```
   SET SERVEROUTPUT ON
   DECLARE v_num_corrupt INT;
   BEGIN
     v_num_corrupt := 0;
     rdsadmin.rdsadmin_dbms_repair.check_object (
       schema_name => '&corruptionOwner',
       object_name => '&corruptionTable',
       corrupt_count =>  v_num_corrupt
     );
     dbms_output.put_line('number corrupt: '||to_char(v_num_corrupt));
   END;
   /
   
   COL CORRUPT_DESCRIPTION FORMAT a30
   COL REPAIR_DESCRIPTION FORMAT a30
   
   SELECT OBJECT_NAME, BLOCK_ID, CORRUPT_TYPE, MARKED_CORRUPT, 
          CORRUPT_DESCRIPTION, REPAIR_DESCRIPTION 
   FROM   SYS.REPAIR_TABLE;
   
   SELECT SKIP_CORRUPT 
   FROM   DBA_TABLES 
   WHERE  OWNER = '&corruptionOwner'
   AND    TABLE_NAME = '&corruptionTable';
   ```

1. Utilice el procedimiento `skip_corrupt_blocks` para habilitar o desactivar la omisión de daños de las tablas afectadas. En función de la situación, es posible que también necesite extraer datos en una tabla nueva y, a continuación, soltar la tabla que contiene el bloque dañado.

   Ejecute el siguiente procedimiento para habilitar la omisión de daños en tablas afectadas.

   ```
   begin
     rdsadmin.rdsadmin_dbms_repair.skip_corrupt_blocks (
       schema_name => '&corruptionOwner',
       object_name => '&corruptionTable',
       object_type => rdsadmin.rdsadmin_dbms_repair.table_object,
       flags => rdsadmin.rdsadmin_dbms_repair.skip_flag);
   end;
   /
   select skip_corrupt from dba_tables where owner = '&corruptionOwner' and table_name = '&corruptionTable';
   ```

   Ejecute el siguiente procedimiento para desactivar la omisión de daños.

   ```
   begin
     rdsadmin.rdsadmin_dbms_repair.skip_corrupt_blocks (
       schema_name => '&corruptionOwner',
       object_name => '&corruptionTable',
       object_type => rdsadmin.rdsadmin_dbms_repair.table_object,
       flags => rdsadmin.rdsadmin_dbms_repair.noskip_flag);
   end;
   /
   
   select skip_corrupt from dba_tables where owner = '&corruptionOwner' and table_name = '&corruptionTable';
   ```

1. Cuando haya completado todo el trabajo de reparación, ejecute los siguientes procedimientos para eliminar las tablas de reparación.

   ```
   EXEC rdsadmin.rdsadmin_dbms_repair.drop_repair_table;
   EXEC rdsadmin.rdsadmin_dbms_repair.drop_orphan_keys_table;
   ```

## Depuración de la Papelera de reciclaje
<a name="Appendix.Oracle.CommonDBATasks.PurgeRecycleBin"></a>

Cuando se elimina una tabla, la base de datos Oracle no elimina inmediatamente su espacio de almacenamiento. La base de datos cambia el nombre de la tabla y la coloca junto con los objetos asociados en una papelera de reciclaje. Al eliminar la papelera de reciclaje, se eliminan estos elementos y se libera su espacio de almacenamiento. 

Para eliminar toda la papelera de reciclaje, utilice el procedimiento de Amazon RDS `rdsadmin.rdsadmin_util.purge_dba_recyclebin`. Sin embargo, este procedimiento no puede eliminar la papelera de reciclaje de objetos `SYS` y `RDSADMIN`. Si necesita eliminar estos objetos, contáctese con AWS Support. 

En el ejemplo siguiente se elimina toda la papelera de reciclaje.

```
EXEC rdsadmin.rdsadmin_util.purge_dba_recyclebin;
```

# Configuración de los valores mostrados de forma predeterminada para la redacción completa
<a name="Appendix.Oracle.CommonDBATasks.FullRedaction"></a>

Para cambiar los valores mostrados de forma predeterminada para la redacción completa en la instancia de Oracle de Amazon RDS, use el procedimiento de Amazon RDS `rdsadmin.rdsadmin_util.dbms_redact_upd_full_rdct_val`. Tenga en cuenta que crea una política de redacción con el paquete PL/SQL `DBMS_REDACT`, tal y como se explica en la documentación de Oracle Database. El procedimiento `dbms_redact_upd_full_rdct_val` especifica los caracteres que se mostrarán para los diferentes tipos de datos afectados por una política actual.

El procedimiento `dbms_redact_upd_full_rdct_val` tiene los siguientes parámetros.


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_number_val`  |  número  |  Nulo  |  No  |  Modifica el valor predeterminado de las columnas del tipo de datos `NUMBER`.  | 
|  `p_binfloat_val`  |  binary\$1float  |  Nulo  |  No  |  Modifica el valor predeterminado de las columnas del tipo de datos `BINARY_FLOAT`.  | 
|  `p_bindouble_val`  |  binary\$1double  |  Nulo  |  No  |  Modifica el valor predeterminado de las columnas del tipo de datos `BINARY_DOUBLE`.  | 
|  `p_char_val`  |  char  |  Nulo  |  No  |  Modifica el valor predeterminado de las columnas del tipo de datos `CHAR`.  | 
|  `p_varchar_val`  |   varchar2  |  Nulo  |  No  |  Modifica el valor predeterminado de las columnas del tipo de datos `VARCHAR2`.  | 
|  `p_nchar_val`  |  nchar  |  Nulo  |  No  |  Modifica el valor predeterminado de las columnas del tipo de datos `NCHAR`.  | 
|  `p_nvarchar_val`  |  nvarchar2  |  Nulo  |  No  |  Modifica el valor predeterminado de las columnas del tipo de datos `NVARCHAR2`.  | 
|  `p_date_val`  |  date  |  Nulo  |  No  |  Modifica el valor predeterminado de las columnas del tipo de datos `DATE`.  | 
|  `p_ts_val`  |  marca de tiempo  |  Nulo  |  No  |  Modifica el valor predeterminado de las columnas del tipo de datos `TIMESTAMP`.  | 
|  `p_tswtz_val`  |  timestamp with time zone  |  Nulo  |  No  |  Modifica el valor predeterminado de las columnas del tipo de datos `TIMESTAMP WITH TIME ZONE`.  | 
|  `p_blob_val`  |  blob  |  Nulo  |  No  |  Modifica el valor predeterminado de las columnas del tipo de datos `BLOB`.  | 
|  `p_clob_val`  |  clob  |  Nulo  |  No  |  Modifica el valor predeterminado de las columnas del tipo de datos `CLOB`.  | 
|  `p_nclob_val`  |  nclob  |  Nulo  |  No  |  Modifica el valor predeterminado de las columnas del tipo de datos `NCLOB`.  | 

El siguiente ejemplo cambia el valor redactado predeterminado a \$1 para el tipo de datos `CHAR`:

```
EXEC rdsadmin.rdsadmin_util.dbms_redact_upd_full_rdct_val(p_char_val => '*');
```

El siguiente ejemplo cambia los valores redactados predeterminados para los tipos de datos `NUMBER`, `DATE` y `CHAR`:

```
BEGIN
rdsadmin.rdsadmin_util.dbms_redact_upd_full_rdct_val(
    p_number_val=>1,
    p_date_val=>to_date('1900-01-01','YYYY-MM-DD'),
    p_varchar_val=>'X');
END;
/
```

Después de modificar los valores predeterminados para la redacción completa con el procedimiento `dbms_redact_upd_full_rdct_val`, reinicie la instancia de base de datos para que el cambio surta efecto. Para obtener más información, consulte [Reinicio de una instancia de base de datos ](USER_RebootInstance.md).

# Realización de tareas comunes relacionadas con el registro para instancias de base de datos Oracle
<a name="Appendix.Oracle.CommonDBATasks.Log"></a>

A continuación, puede encontrar cómo realizar ciertas tareas comunes de DBA relacionadas con el registro 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. 

Para obtener más información, consulte [Archivos de registro de base de datos de Amazon RDS para Oracle](USER_LogAccess.Concepts.Oracle.md). 

**Topics**
+ [Activación del modo force logging](#Appendix.Oracle.CommonDBATasks.SettingForceLogging)
+ [Activación del modo supplemental logging](#Appendix.Oracle.CommonDBATasks.AddingSupplementalLogging)
+ [Cambio de archivos de registro en línea](#Appendix.Oracle.CommonDBATasks.SwitchingLogfiles)
+ [Adición de registros REDO en línea](#Appendix.Oracle.CommonDBATasks.RedoLogs)
+ [Eliminación de registros REDO en línea](#Appendix.Oracle.CommonDBATasks.DroppingRedoLogs)
+ [Cambio de tamaño de los registros REDO en línea](Appendix.Oracle.CommonDBATasks.ResizingRedoLogs.md)
+ [Retención de los registros REDO archivados](Appendix.Oracle.CommonDBATasks.RetainRedoLogs.md)
+ [Acceso a los registros de rehacer en línea y archivados](Appendix.Oracle.CommonDBATasks.Log.Download.md)
+ [Descargue registros de rehacer archivados de Amazon S3](Appendix.Oracle.CommonDBATasks.download-redo-logs.md)

## Activación del modo force logging
<a name="Appendix.Oracle.CommonDBATasks.SettingForceLogging"></a>

En el modo force logging, Oracle registra todos los cambios realizados en la base de datos, excepto los cambios efectuados en los espacios de tabla temporales y los segmentos temporales (las cláusulas `NOLOGGING` se omiten). Para obtener más información, consulte [Specifying FORCE LOGGING Mode](https://docs.oracle.com/cd/E11882_01/server.112/e25494/create.htm#ADMIN11096) en la documentación de Oracle. 

Utilice el procedimiento de Amazon RDS para configurar el modo force loggin `rdsadmin.rdsadmin_util.force_logging`. El procedimiento `force_logging` tiene los siguientes parámetros. 


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Sí | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_enable`  |  booleano  |  true  |  No  |  Establezca este parámetro en `true` para poner la base de datos en modo force logging, y en `false` para quitar la base de datos del modo force logging.   | 

En el siguiente ejemplo se pone la base de datos en el modo force logging. 

```
EXEC rdsadmin.rdsadmin_util.force_logging(p_enable => true);
```

## Activación del modo supplemental logging
<a name="Appendix.Oracle.CommonDBATasks.AddingSupplementalLogging"></a>

Si habilita el registro complementario, LogMiner tiene la información necesaria para admitir filas encadenadas y tablas agrupadas. Para obtener más información, consulte [Supplemental Logging](https://docs.oracle.com/cd/E11882_01/server.112/e22490/logminer.htm#SUTIL1582) en la documentación de Oracle.

Oracle Database no tiene activado el modo supplemental logging de forma predeterminada. Utilice el procedimiento de Amazon RDS para activar y desactivar el modo supplemental loggin `rdsadmin.rdsadmin_util.alter_supplemental_logging`. Para obtener más información acerca de cómo gestiona Amazon RDS la conservación de los registros REDO archivados para las instancias de bases de datos Oracle, consulte [Retención de los registros REDO archivados](Appendix.Oracle.CommonDBATasks.RetainRedoLogs.md). 

El procedimiento `alter_supplemental_logging` tiene los siguientes parámetros. 


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `p_action`  |  varchar2  |  —  |  Sí  |  `'ADD'` para activar el modo supplemental logging, `'DROP'` para desactivarlo.   | 
|  `p_type`  |  varchar2  |  null  |  No  |  El tipo de supplemental logging. Los valores válidos son: `'ALL'`, `'FOREIGN KEY'`, `'PRIMARY KEY'`, `'UNIQUE'` o `PROCEDURAL`.   | 

En el siguiente ejemplo se activa el modo supplemental logging.

```
begin
    rdsadmin.rdsadmin_util.alter_supplemental_logging(
        p_action => 'ADD');
end;
/
```

En el siguiente ejemplo se activa el modo supplemental logging para todas las columnas de tamaño máximo y de longitud fija. 

```
begin
    rdsadmin.rdsadmin_util.alter_supplemental_logging(
        p_action => 'ADD',
        p_type   => 'ALL');
end;
/
```

En el siguiente ejemplo se activa el modo supplemental logging para las columnas de clave principal. 

```
begin
    rdsadmin.rdsadmin_util.alter_supplemental_logging(
        p_action => 'ADD',
        p_type   => 'PRIMARY KEY');
end;
/
```

## Cambio de archivos de registro en línea
<a name="Appendix.Oracle.CommonDBATasks.SwitchingLogfiles"></a>

Utilice el procedimiento de Amazon RDS para cambiar los archivos de registr `rdsadmin.rdsadmin_util.switch_logfile`. El procedimiento `switch_logfile` no tiene ningún parámetro. 

En el siguiente ejemplo se cambian los archivos de registro.

```
EXEC rdsadmin.rdsadmin_util.switch_logfile;
```

## Adición de registros REDO en línea
<a name="Appendix.Oracle.CommonDBATasks.RedoLogs"></a>

Una instancia de base de datos de Amazon RDS que ejecuta Oracle comienza con cuatro registros REDO online de 128 MB cada uno. Utilice el procedimiento de Amazon RDS para añadir registros REDO adicionale `rdsadmin.rdsadmin_util.add_logfile`. 

El procedimiento `add_logfile` tiene los siguientes parámetros.

**nota**  
Los parámetros son mutuamente excluyentes.


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `bytes`  |  positivo  |  null  |  No  |  El tamaño del archivo de registro en bytes.  Utilice este parámetro solo si el tamaño del registro es inferior a 2 147 483 648 bytes (2 GiB). De lo contrario, RDS emite un error. Para tamaños de registro superiores a este valor en bytes, utilice el parámetro `p_size` en su lugar.  | 
|  `p_size`  |  varchar2  |  —  |  Sí  |  El tamaño del archivo de registro en kilobytes (K), megabytes (M) o gigabytes (G).  | 

El comando siguiente añade un archivo de registro de 100 MB.

```
EXEC rdsadmin.rdsadmin_util.add_logfile(p_size => '100M');
```

## Eliminación de registros REDO en línea
<a name="Appendix.Oracle.CommonDBATasks.DroppingRedoLogs"></a>

Utilice el procedimiento de Amazon RDS para eliminar registros RED `rdsadmin.rdsadmin_util.drop_logfile`. El procedimiento `drop_logfile` tiene los siguientes parámetros. 


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `grp`  |  positivo  |  —  |  Sí  |  El número de grupo del registro.  | 

En el siguiente ejemplo se elimina el registro cuyo grupo es el número 3. 

```
EXEC rdsadmin.rdsadmin_util.drop_logfile(grp => 3);
```

Solo puede eliminar los registros cuyo estado sea no utilizado o inactivo. En el siguiente ejemplo se obtienen los estados de los registros.

```
SELECT GROUP#, STATUS FROM V$LOG;

GROUP#     STATUS
---------- ----------------
1          CURRENT
2          INACTIVE
3          INACTIVE
4          UNUSED
```

# Cambio de tamaño de los registros REDO en línea
<a name="Appendix.Oracle.CommonDBATasks.ResizingRedoLogs"></a>

Una instancia de base de datos de Amazon RDS que ejecuta Oracle comienza con cuatro registros REDO online de 128 MB cada uno. En el siguiente ejemplo se muestra cómo puede utilizar los procedimientos de Amazon RDS para cambiar el tamaño de cada uno de los registros de 128 MB a 512 MB. 

```
/* Query V$LOG to see the logs.          */
/* You start with 4 logs of 128 MB each. */

SELECT GROUP#, BYTES, STATUS FROM V$LOG;

GROUP#     BYTES      STATUS
---------- ---------- ----------------
1          134217728  INACTIVE
2          134217728  CURRENT
3          134217728  INACTIVE
4          134217728  INACTIVE


/* Add four new logs that are each 512 MB */

EXEC rdsadmin.rdsadmin_util.add_logfile(bytes => 536870912);
EXEC rdsadmin.rdsadmin_util.add_logfile(bytes => 536870912);
EXEC rdsadmin.rdsadmin_util.add_logfile(bytes => 536870912);
EXEC rdsadmin.rdsadmin_util.add_logfile(bytes => 536870912);


/* Query V$LOG to see the logs. */ 
/* Now there are 8 logs.        */

SELECT GROUP#, BYTES, STATUS FROM V$LOG;

GROUP#     BYTES      STATUS
---------- ---------- ----------------
1          134217728  INACTIVE
2          134217728  CURRENT
3          134217728  INACTIVE
4          134217728  INACTIVE
5          536870912  UNUSED
6          536870912  UNUSED
7          536870912  UNUSED
8          536870912  UNUSED


/* Drop each inactive log using the group number. */

EXEC rdsadmin.rdsadmin_util.drop_logfile(grp => 1);
EXEC rdsadmin.rdsadmin_util.drop_logfile(grp => 3);
EXEC rdsadmin.rdsadmin_util.drop_logfile(grp => 4);


/* Query V$LOG to see the logs. */ 
/* Now there are 5 logs.        */

select GROUP#, BYTES, STATUS from V$LOG;

GROUP#     BYTES      STATUS
---------- ---------- ----------------
2          134217728  CURRENT
5          536870912  UNUSED
6          536870912  UNUSED
7          536870912  UNUSED
8          536870912  UNUSED


/* Switch logs so that group 2 is no longer current. */

EXEC rdsadmin.rdsadmin_util.switch_logfile;


/* Query V$LOG to see the logs.        */ 
/* Now one of the new logs is current. */

SQL>SELECT GROUP#, BYTES, STATUS FROM V$LOG;

GROUP#     BYTES      STATUS
---------- ---------- ----------------
2          134217728  ACTIVE
5          536870912  CURRENT
6          536870912  UNUSED
7          536870912  UNUSED
8          536870912  UNUSED


/* If the status of log 2 is still "ACTIVE", issue a checkpoint to clear it to "INACTIVE".  */

EXEC rdsadmin.rdsadmin_util.checkpoint;


/* Query V$LOG to see the logs.            */ 
/* Now the final original log is inactive. */

select GROUP#, BYTES, STATUS from V$LOG;

GROUP#     BYTES      STATUS
---------- ---------- ----------------
2          134217728  INACTIVE
5          536870912  CURRENT
6          536870912  UNUSED
7          536870912  UNUSED
8          536870912  UNUSED


# Drop the final inactive log.

EXEC rdsadmin.rdsadmin_util.drop_logfile(grp => 2);


/* Query V$LOG to see the logs.    */ 
/* Now there are four 512 MB logs. */

SELECT GROUP#, BYTES, STATUS FROM V$LOG;

GROUP#     BYTES      STATUS
---------- ---------- ----------------
5          536870912  CURRENT
6          536870912  UNUSED
7          536870912  UNUSED
8          536870912  UNUSED
```

# Retención de los registros REDO archivados
<a name="Appendix.Oracle.CommonDBATasks.RetainRedoLogs"></a>

Puede retener los registros de rehacer archivados localmente en una instancia de base de datos para su uso con productos como Oracle LogMiner (`DBMS_LOGMNR`). Después de conservar los registros REDO, puede utilizar LogMiner para analizarlos. Para obtener más información, consulte [Using LogMiner to Analyze Redo Log Files](http://docs.oracle.com/cd/E11882_01/server.112/e22490/logminer.htm) en la documentación de Oracle. 

Utilice el procedimiento de Amazon RDS para conservar los registros REDO archivado `rdsadmin.rdsadmin_util.set_configuration`. Si utiliza este procedimiento en una instancia principal de Oracle Data Guard, RDS cambia la configuración de retención del registro de archivado en la instancia principal y abre las réplicas de lectura, pero no en las réplicas montadas. RDS retiene los registros REDO del archivo más recientes en las réplicas montadas durante un breve periodo de tiempo. RDS elimina automáticamente los registros más antiguos descargados en las réplicas montadas.

El procedimiento `set_configuration` tiene los siguientes parámetros. 


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `name`  |  varchar  |  —  |  Sí  |  El nombre de la configuración que se debe actualizar. Para cambiar las horas de retención de los registros REDO archivados, defina el nombre en `archivelog retention hours`.  | 
|  `value`  |  varchar  |  —  |  Sí  |  El valor de la configuración. Defina el valor del número de horas que se van a retener los registros.  | 

En el siguiente ejemplo se conservan 24 horas de registros REDO. 

```
begin
    rdsadmin.rdsadmin_util.set_configuration(
        name  => 'archivelog retention hours',
        value => '24');
end;
/
commit;
```

**nota**  
La confirmación es necesaria para que los cambios surtan efecto.

Utilice el procedimiento de Amazon RDS para ver durante cuánto tiempo se conservan los registros REDO archivados para la instancia de base de dato `rdsadmin.rdsadmin_util.show_configuration`.

El siguiente ejemplo muestra el tiempo de retención del registro.

```
set serveroutput on
EXEC rdsadmin.rdsadmin_util.show_configuration;
```

La salida muestra el valor actual de `archivelog retention hours`. La siguiente salida muestra que los registros REDO archivados se conservan durante 48 horas.

```
NAME:archivelog retention hours
VALUE:48
DESCRIPTION:ArchiveLog expiration specifies the duration in hours before archive/redo log files are automatically deleted.
```

Dado que los registros REDO archivados se conservan en la instancia de base de datos, asegúrese de que esta tenga suficiente almacenamiento asignado para los registros que se van a conservar. Para determinar cuánto espacio ha utilizado la instancia de base de datos en las últimas X horas, puede ejecutar la consulta siguiente, sustituyendo X por el número de horas. 

```
SELECT SUM(BLOCKS * BLOCK_SIZE) bytes 
  FROM V$ARCHIVED_LOG
 WHERE FIRST_TIME >= SYSDATE-(X/24) AND DEST_ID=1;
```

RDS for Oracle solo se genera registros de rehacer si el periodo de retención de copia de seguridad de la instancia de base de datos es mayor que cero. De forma predeterminada, el periodo de retención de copia de seguridad es mayor que cero.

Cuando expira el periodo de retención de registros archivados, RDS for Oracle elimina los registros de rehacer archivados de la instancia de base de datos. Para admitir la restauración de la instancia de base de datos en un momento determinado, Amazon RDS retiene los registros de rehacer archivados fuera de la instancia de base de datos en función del periodo de retención de copia de seguridad. Para modificar el periodo de retención de copia de seguridad, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

**nota**  
En algunos casos, podría utilizar JDBC en Linux para descargar registros REDO archivados y experimentar tiempos de latencia largos y restablecimientos de conexión. En tales casos, los problemas pueden estar causados por el ajuste predeterminado del generador de números aleatorios en su cliente Java. Recomendamos configurar los controladores JDBC para usar un generador de números aleatorio sin bloqueos.

# Acceso a los registros de rehacer en línea y archivados
<a name="Appendix.Oracle.CommonDBATasks.Log.Download"></a>

Es posible que desee obtener acceso a los archivos de registros REDO online y archivados para realizar tareas de minería de datos con herramientas externas como GoldenGate, Attunity, Informatica y otras. Para acceder a estos archivos, haga lo siguiente:

1. Cree objetos de directorio que proporcionen acceso de solo lectura a las rutas de acceso de los archivos físicos.

   Utilice `rdsadmin.rdsadmin_master_util.create_archivelog_dir` y `rdsadmin.rdsadmin_master_util.create_onlinelog_dir`.

1. Lea los archivos mediante PL/SQL.

   Puede leer los archivos mediante PL/SQL. Para obtener más información acerca de cómo leer archivos de los objetos de directorio, consulte [Descripción de los archivos de un directorio de instancia de base de datos](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ListDirectories) y [Lectura de archivos de un directorio de instancia de base de datos](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ReadingFiles).

El acceso a los registros de transacciones es compatible con las siguientes versiones:
+ Oracle Database 21c
+ Oracle Database 19c

El siguiente código crea directorios que proporcionan acceso de solo lectura a los archivos de registros REDO online y archivados: 

**importante**  
Este código también revoca el privilegio `DROP ANY DIRECTORY`.

```
EXEC rdsadmin.rdsadmin_master_util.create_archivelog_dir;
EXEC rdsadmin.rdsadmin_master_util.create_onlinelog_dir;
```

El siguiente código elimina los directorios de los archivos de registros REDO online y archivados. 

```
EXEC rdsadmin.rdsadmin_master_util.drop_archivelog_dir;
EXEC rdsadmin.rdsadmin_master_util.drop_onlinelog_dir;
```

El código siguiente concede y revoca el privilegio `DROP ANY DIRECTORY`.

```
EXEC rdsadmin.rdsadmin_master_util.revoke_drop_any_directory;
EXEC rdsadmin.rdsadmin_master_util.grant_drop_any_directory;
```

# Descargue registros de rehacer archivados de Amazon S3
<a name="Appendix.Oracle.CommonDBATasks.download-redo-logs"></a>

Puede descargar registros de rehacer archivados en su instancia de base de datos con el paquete `rdsadmin.rdsadmin_archive_log_download`. Si los registros de rehacer archivados ya no están en su instancia de base de datos, es posible que desee descargarlos de nuevo desde Amazon S3. Después, puede extraer los registros o usarlos para recuperar o reproducir su base de datos.

**nota**  
No se pueden descargar registros de recuperación de cambios archivados en instancias de réplica de lectura.

## Descargue registros de rehacer archivados: pasos básicos
<a name="Appendix.Oracle.CommonDBATasks.download-redo-logs.basic-process"></a>

La disponibilidad de los registros de rehacer archivados depende de las siguientes políticas de retención:
+ Política de retención de copias de seguridad: los registros dentro de esta política están disponibles en Amazon S3. Los registros fuera de esta política se eliminan.
+ Política de retención de registros archivados: los registros dentro de esta política están disponibles en su instancia de base de datos. Los registros fuera de esta política se eliminan.

Si los registros no se encuentran en su instancia, pero están protegidos por el periodo de retención de copia de seguridad, puede usar `rdsadmin.rdsadmin_archive_log_download` para descargarlos nuevamente. RDS for Oracle guarda los registros en el directorio de `/rdsdbdata/log/arch` en la instancia de base de datos.

**Para descargar registros de rehacer archivados de Amazon S3**

1. Configure el período de retención para garantizar que los registros REDO archivados descargados se retengan durante el tiempo que los necesite. Asegúrese de `COMMIT` su cambio. 

   RDS retiene los registros descargados de acuerdo con la política de retención de registros archivados, a partir del momento en que se descargaron los registros. Si quiere obtener información para configurar la política de retención, consulte [Retención de los registros REDO archivados](Appendix.Oracle.CommonDBATasks.RetainRedoLogs.md).

1. Espere hasta 5 minutos para que el cambio de la política de retención de registros archivados surta efecto.

1. Puede descargar registros de rehacer archivados de Amazon S3 mediante `rdsadmin.rdsadmin_archive_log_download`.

   Para obtener más información, consulte [Descarga de un único registro de rehacer archivado](#Appendix.Oracle.CommonDBATasks.download-redo-logs.single-log) y [Descargue una serie de registros de rehacer archivados](#Appendix.Oracle.CommonDBATasks.download-redo-logs.series).
**nota**  
RDS comprueba automáticamente el almacenamiento disponible antes de descargar. Si los registros solicitados consumen un alto porcentaje de espacio, recibirá una alerta.

1. Confirme que los registros se descargaron correctamente de Amazon S3.

   Puede ver el estado de una tarea de descarga en un archivo bdump. Los archivos bdump tienen el nombre de ruta `/rdsdbdata/log/trace/dbtask-task-id.log`. En el paso de descarga anterior, ejecute una sentencia `SELECT` que devuelva el ID de tarea en un tipo de datos `VARCHAR2`. Para obtener más información, vea ejemplos similares en [Monitoreo del estado de una transferencia de archivos](oracle-s3-integration.using.md#oracle-s3-integration.using.task-status).

## Descarga de un único registro de rehacer archivado
<a name="Appendix.Oracle.CommonDBATasks.download-redo-logs.single-log"></a>

Para descargar un único registro de rehacer archivado en el directorio de `/rdsdbdata/log/arch`, utilice `rdsadmin.rdsadmin_archive_log_download.download_log_with_seqnum`. Este procedimiento tiene los siguientes parámetros.


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `seqnum`  |  número  |  —  |  Sí  |  El número secuencial del registro de rehacer archivado.  | 

En el siguiente ejemplo, se descarga el registro con el número de secuencia 20.

```
SELECT rdsadmin.rdsadmin_archive_log_download.download_log_with_seqnum(seqnum => 20) 
       AS TASK_ID 
FROM   DUAL;
```

## Descargue una serie de registros de rehacer archivados
<a name="Appendix.Oracle.CommonDBATasks.download-redo-logs.series"></a>

Para descargar una serie de registros de rehacer archivados en el directorio de `/rdsdbdata/log/arch`, utilice `download_logs_in_seqnum_range`. La descarga está limitada a 300 registros por solicitud. El procedimiento `download_logs_in_seqnum_range` tiene los siguientes parámetros.


****  

| Nombre del parámetro | Tipo de datos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | 
|  `start_seq`  |  número  |  —  |  Sí  |  El número secuencial inicial para la serie.  | 
|  `end_seq`  |  número  |  —  |  Sí  |  El número secuencial final para la serie.  | 

En el siguiente ejemplo, se descargan los registros de la secuencia 50 a 100.

```
SELECT rdsadmin.rdsadmin_archive_log_download.download_logs_in_seqnum_range(start_seq => 50, end_seq => 100) 
       AS TASK_ID 
FROM   DUAL;
```

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

En la siguiente sección, puede buscar cómo puede realizar tareas de DBA Oracle Recovery Manager (RMAN) en sus 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 base de datos. También restringe el acceso a ciertos procedimientos y tablas del sistema que requieren privilegios avanzados.

Puede utilizar el paquete de Amazon RDS `rdsadmin.rdsadmin_rman_util` para hacer copias de seguridad de RMAN de su base de datos de Amazon RDS para Oracle en disco. El paquete `rdsadmin.rdsadmin_rman_util` admite copias de seguridad de archivos de bases de datos completas e incrementales, copias de seguridad de espacios de tabla y copias de seguridad de registros REDO.

Una vez finalizada la copia de seguridad de RMAN, puede copiar los archivos de copia de seguridad fuera del host de instancias de bases de datos de Amazon RDS for Oracle. Podría hacer esto con la finalidad de restaurar en un host que no sea de RDS host o para almacenamiento a largo plazo de almacenamiento. Por ejemplo, puede copiar los archivos de copia de seguridad en un bucket de Amazon S3. Para obtener más información, consulte el uso de [Integración de Amazon S3](oracle-s3-integration.md).

Los archivos de copia de seguridad para copias de seguridad de RMAN permanecen en el host de instancias de bases de datos de Amazon RDS hasta que se eliminen manualmente. Puede utilizar el procedimiento `UTL_FILE.FREMOVE` de Oracle para eliminar archivos de un 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 Database.

No puede utilizar el RMAN para restaurar instancias de base de datos de RDS para Oracle. Sin embargo, puede usar el RMAN para restaurar una copia de seguridad en una instancia en las instalaciones o de Amazon EC2. Para obtener más información, consulte el artículo del blog [Restore an Amazon RDS for Oracle instance to a self-managed instance](https://aws.amazon.com/blogs/database/restore-an-amazon-rds-for-oracle-instance-to-a-self-managed-instance/).

**nota**  
Para hacer una copia de seguridad y restaurar en otra instancia de base de datos de Amazon RDS for Oracle, puede seguir usando las características de copia de seguridad y restauración de Amazon RDS. Para obtener más información, consulte [Copia de seguridad, restauración y exportación de datos](CHAP_CommonTasks.BackupRestore.md).

**Topics**
+ [Requisitos previos para las copias de seguridad de RMAN](Appendix.Oracle.CommonDBATasks.RMAN-requirements.md)
+ [Parámetros comunes para procedimientos de RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md)
+ [Validación de archivos de base de datos en RDS para Oracle](Appendix.Oracle.CommonDBATasks.ValidateDBFiles.md)
+ [Activación y desactivación del seguimiento de cambio de bloques](Appendix.Oracle.CommonDBATasks.BlockChangeTracking.md)
+ [Comprobación cruzada de los registros REDO archivados](Appendix.Oracle.CommonDBATasks.Crosscheck.md)
+ [Copia de seguridad de archivos de registro REDO](Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.md)
+ [Realización de una copia de seguridad completa de una base de datos](Appendix.Oracle.CommonDBATasks.BackupDatabaseFull.md)
+ [Realización de una copia de seguridad completa de una base de datos de inquilinos](Appendix.Oracle.CommonDBATasks.BackupTenantDatabaseFull.md)
+ [Realización de una copia de seguridad incremental de una base de datos](Appendix.Oracle.CommonDBATasks.BackupDatabaseIncremental.md)
+ [Realización de una copia de seguridad incremental de una base de datos de inquilinos](Appendix.Oracle.CommonDBATasks.BackupTenantDatabaseIncremental.md)
+ [Copia de seguridad de un espacio de tablas](Appendix.Oracle.CommonDBATasks.BackupTablespace.md)
+ [Copia de seguridad de un archivo de control](Appendix.Oracle.CommonDBATasks.backup-control-file.md)
+ [Realización de la recuperación de medios en bloque](Appendix.Oracle.CommonDBATasks.block-media-recovery.md)

# Requisitos previos para las copias de seguridad de RMAN
<a name="Appendix.Oracle.CommonDBATasks.RMAN-requirements"></a>

Antes de realizar una copia de seguridad de la base de datos mediante el paquete `rdsadmin.rdsadmin_rman_util`, asegúrese de cumplir los siguientes requisitos previos:
+ Asegúrese de que su base de datos de RDS para Oracle esté en modo `ARCHIVELOG`. Para habilitar este modo, establezca el período de retención de la copia de seguridad en un valor distinto de cero.
+ Al hacer copias de seguridad de registros REDO archivados o realizar una copia de seguridad completa o incremental que incluya registros REDO archivados y al hacer copias de seguridad de la base de datos, asegúrese de que la retención de registros REDO esté establecida en un valor distinto de cero. Los registros REDO archivados son necesarios para lograr la coherencia de los archivos de la base de datos durante la recuperación. Para obtener más información, consulte [Retención de los registros REDO archivados](Appendix.Oracle.CommonDBATasks.RetainRedoLogs.md).
+ Asegúrese de que la instancia de base de datos tenga suficiente espacio libre para guardar las copias de seguridad. Cuando realiza una copia de seguridad de la base de datos, especifica un objeto de directorio de Oracle como un parámetro en la llamada al procedimiento. RMAN coloca los archivos en el directorio especificado. Puede utilizar los directorios predeterminados, como `DATA_PUMP_DIR` o crear un nuevo directorio. Para obtener más información, consulte [Creación y eliminación de directorios en el espacio de almacenamiento de datos principal](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.NewDirectories).

  Puede supervisar el espacio libre actual en una instancia de RDS para Oracle mediante la métrica de CloudWatch `FreeStorageSpace`. Se recomienda que el espacio libre supere el tamaño actual de la base de datos, aunque RMAN solo realiza copias de seguridad de bloques formateados y admite compresión.

# Parámetros comunes para procedimientos de RMAN
<a name="Appendix.Oracle.CommonDBATasks.CommonParameters"></a>

Puede usar procedimientos del paquete de Amazon RDS `rdsadmin.rdsadmin_rman_util` para realizar tareas con RMAN. Varios parámetros son comunes en los procedimientos del paquete. El paquete tiene los siguientes parámetros comunes.


****  

| Nombre del parámetro | Tipo de datos | Valores válidos | Predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | --- | 
|  `p_directory_name`  |  varchar2  |  Un nombre de directorio de base de datos válido.  |  —  |  Sí  |  El nombre del directorio que contendrá los archivos de copia de seguridad.  | 
|  `p_label`  |  varchar2  |  `a-z`, `A-Z`, `0-9`, `'_'`, `'-'`, `'.'`  |  —  |  No  |  Una cadena única que se incluye en los nombres de archivos de copia de seguridad.  El límite es 30 caracteres.   | 
|  `p_owner`  |  varchar2  |  Un propietario válido del directorio especificado en `p_directory_name`.  |  —  |  Sí  |  El propietario del directorio que contendrá los archivos de copia de seguridad.  | 
|  `p_tag`  |  varchar2  |  `a-z`, `A-Z`, `0-9`, `'_'`, `'-'`, `'.'`  |  NULL  |  No  |  Una cadena que se puede usar para distinguir entre las copias de seguridad para indicar el propósito o el uso de las copias de seguridad, como las copias de seguridad diarias, semanales o de nivel incremental. El límite es 30 caracteres. La etiqueta no distingue entre mayúsculas y minúsculas. Las etiquetas siempre se guardan en mayúsculas, independientemente de cómo se hayan introducido. Las etiquetas no tienen que ser únicas, por lo que varias copias de seguridad pueden tener la misma etiqueta. Si no se especifica una etiqueta, RMAN asigna de forma automática una etiqueta predeterminada con el formato `TAGYYYYMMDDTHHMMSS`, donde *YYYY* es el año, *MM* es el mes, *DD* es el día, *HH* es la hora (en formato de 24 horas), *MM* son los minutos y *SS* son los segundos. La fecha y la hora se refieren al momento en que RMAN inició la copia de seguridad. Por ejemplo, una copia de seguridad podría recibir una etiqueta `TAG20190927T214517` para una copia de seguridad iniciada el 27-09-2019 a las 21:45:17. El parámetro `p_tag` es compatible con las siguientes versiones del motor para bases de datos de Amazon RDS for Oracle: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.CommonParameters.html)  | 
|  `p_compress`  |  booleano  |  `TRUE`, `FALSE`  |  `FALSE`  |  No  |  Especifique `TRUE` para activar la compresión de copia de seguridad BÁSICA. Especifique `FALSE` para desactivar la compresión de copia de seguridad BÁSICA.  | 
|  `p_include_archive_logs`  |  booleano  |  `TRUE`, `FALSE`  |  `FALSE`  |  No  |  Especifique `TRUE` para incluir los registros REDO archivados en la copia de seguridad. Especifique `FALSE` para excluir los registros REDO archivados de la copia de seguridad. Si incluye los registros REDO archivados en la copia de seguridad, establezca la retención en una hora o más utilizando el procedimiento `rdsadmin.rdsadmin_util.set_configuration`. Asimismo, llame al procedimiento `rdsadmin.rdsadmin_rman_util.crosscheck_archivelog` inmediatamente antes de ejecutar la copia de seguridad. De lo contrario, podría producirse un error en la copia de seguridad debido a que faltan archivos REDO archivados que se han eliminado mediante los procedimientos de administración de Amazon RDS.  | 
|  `p_include_controlfile`  |  booleano  |  `TRUE`, `FALSE`  |  `FALSE`  |  No  |  Especifique `TRUE` para incluir el archivo de control en la copia de seguridad. Especifique `FALSE` para excluir el archivo de control de la copia de seguridad.  | 
|  `p_optimize`  |  booleano  |  `TRUE`, `FALSE`  |  `TRUE`  |  No  |  Especifique `TRUE` para activar la optimización de copia de seguridad, si se incluyen los registros REDO archivados, para reducir el tamaño de la copia de seguridad. Especifique `FALSE` para desactivar la optimización de las copias de seguridad.  | 
|  `p_parallel`  |  número  |  Un entero válido entre `1` y `254` para Oracle Database Enterprise Edition (EE) `1` para otras ediciones de Oracle Database  |  `1`  |  No  |  Número de canales.  | 
|  `p_rman_to_dbms_output`  |  booleano  |  `TRUE`, `FALSE`  |  `FALSE`  |  No  |  Si es `TRUE`, la salida RMAN se envía al paquete `DBMS_OUTPUT` además de al archivo del directorio `BDUMP`. En SQL\$1Plus, use `SET SERVEROUTPUT ON` para ver la salida. Si es `FALSE`, la salida RMAN solo se envía a un archivo del directorio `BDUMP`.   | 
|  `p_section_size_mb`  |  número  |  Un entero válido  |  `NULL`  |  No  |  Tamaño de la sección en megabytes (MB). Se valida en paralelo dividiendo cada archivo en el tamaño de sección especificado. Si es `NULL`, se omite el parámetro.  | 
|  `p_validation_type`  |  varchar2  |  `'PHYSICAL'`, `'PHYSICAL+LOGICAL'`  |  `'PHYSICAL'`  |  No  |  Nivel de detección de algún tipo de daño. Especifique `'PHYSICAL'` para comprobar si hay daños físicos. Un ejemplo de daño físico es un bloque con una coincidencia en el encabezado y en el pie de página. Especifique `'PHYSICAL+LOGICAL'` para comprobar si existen inconsistencias lógicas además del daño físico. Un ejemplo de daño lógico es un bloque dañado.  | 

# Validación de archivos de base de datos en RDS para Oracle
<a name="Appendix.Oracle.CommonDBATasks.ValidateDBFiles"></a>

Puede utilizar el paquete `rdsadmin.rdsadmin_rman_util` de Amazon RDS para validar los archivos de base de datos de Amazon RDS para Oracle, como archivos de datos, tablespaces, archivos de control y archivos de parámetros de servidor (SPFILE).

Para obtener más información sobre la validación RMAN, consulte [Validating Database Files and Backups](https://docs.oracle.com/database/121/BRADV/rcmvalid.htm#BRADV90063) y [VALIDATE](https://docs.oracle.com/database/121/RCMRF/rcmsynta2025.htm#RCMRF162) en la documentación de Oracle.

**Topics**
+ [Validación de una base de datos](#Appendix.Oracle.CommonDBATasks.ValidateDB)
+ [Validación de una base de datos de inquilinos](#Appendix.Oracle.CommonDBATasks.ValidateTenantDB)
+ [Validación de un espacio de tabla](#Appendix.Oracle.CommonDBATasks.ValidateTablespace)
+ [Validación de un archivo de control](#Appendix.Oracle.CommonDBATasks.ValidateControlFile)
+ [Validación de un SPFILE](#Appendix.Oracle.CommonDBATasks.ValidateSpfile)
+ [Validación de un archivo de datos de Oracle](#Appendix.Oracle.CommonDBATasks.ValidateDataFile)

## Validación de una base de datos
<a name="Appendix.Oracle.CommonDBATasks.ValidateDB"></a>

Para validar todos los archivos relevantes utilizados por una base de datos de Oracle en RDS for Oracle, utilice el procedimiento de Amazon RDS `rdsadmin.rdsadmin_rman_util.validate_database`. 

Este procedimiento utiliza los siguientes parámetros comunes para tareas de RMAN:
+ `p_validation_type`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_rman_to_dbms_output`

Para obtener más información, consulte [Parámetros comunes para procedimientos de RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

El siguiente ejemplo valida la base de datos utilizando los valores predeterminados para los parámetros.

```
EXEC rdsadmin.rdsadmin_rman_util.validate_database;
```

El siguiente ejemplo valida la base de datos utilizando los valores especificados para los parámetros.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.validate_database(
        p_validation_type     => 'PHYSICAL+LOGICAL', 
        p_parallel            => 4,  
        p_section_size_mb     => 10,
        p_rman_to_dbms_output => FALSE);
END;
/
```

Si el parámetro `p_rman_to_dbms_output` se define como `FALSE`, la salida RMAN se escribe en un archivo del directorio `BDUMP`.

Para ver los archivos del directorio `BDUMP`, ejecute la siguiente instrucción `SELECT`.

```
SELECT * FROM table(rdsadmin.rds_file_util.listdir('BDUMP')) order by mtime;
```

Para ver los contenidos de un archivo del directorio `BDUMP`, ejecute la siguiente instrucción `SELECT`.

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','rds-rman-validate-nnn.txt'));
```

Reemplace el nombre de archivo por el nombre del archivo que quiere visualizar.

## Validación de una base de datos de inquilinos
<a name="Appendix.Oracle.CommonDBATasks.ValidateTenantDB"></a>

Para validar los archivos de datos de la base de datos del inquilino en una base de datos de contenedor (CDB), utilice el procedimiento de Amazon RDS `rdsadmin.rdsadmin_rman_util.validate_tenant`. 

Este procedimiento solo se aplica a la base de datos del inquilino actual y utiliza los siguientes parámetros comunes para las tareas de RMAN:
+ `p_validation_type`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_rman_to_dbms_output`

Para obtener más información, consulte [Parámetros comunes para procedimientos de RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md). Este procedimiento es compatible con las siguientes versiones del motor de base de datos:
+ Oracle Database 21c (21.0.0) CDB
+ Oracle Database 19c (19.0.0) CDB

El siguiente ejemplo valida la base de datos de inquilinos actual utilizando los valores especificados para los parámetros.

```
EXEC rdsadmin.rdsadmin_rman_util.validate_tenant;
```

El siguiente ejemplo valida la base de datos de inquilinos actual utilizando los valores especificados para los parámetros.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.validate_tenant(
        p_validation_type     => 'PHYSICAL+LOGICAL', 
        p_parallel            => 4,  
        p_section_size_mb     => 10,
        p_rman_to_dbms_output => FALSE);
END;
/
```

Si el parámetro `p_rman_to_dbms_output` se define como `FALSE`, la salida RMAN se escribe en un archivo del directorio `BDUMP`.

Para ver los archivos del directorio `BDUMP`, ejecute la siguiente instrucción `SELECT`.

```
SELECT * FROM table(rdsadmin.rds_file_util.listdir('BDUMP')) order by mtime;
```

Para ver los contenidos de un archivo del directorio `BDUMP`, ejecute la siguiente instrucción `SELECT`.

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','rds-rman-validate-nnn.txt'));
```

Reemplace el nombre de archivo por el nombre del archivo que quiere visualizar.

## Validación de un espacio de tabla
<a name="Appendix.Oracle.CommonDBATasks.ValidateTablespace"></a>

Utilice el procedimiento de Amazon RDS para validar los archivos asociados a un espacio de tabl `rdsadmin.rdsadmin_rman_util.validate_tablespace`. 

Este procedimiento utiliza los siguientes parámetros comunes para tareas de RMAN:
+ `p_validation_type`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_rman_to_dbms_output`

Para obtener más información, consulte [Parámetros comunes para procedimientos de RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

Este procedimiento también utiliza los siguientes parámetros adicionales.


****  

| Nombre del parámetro | Tipo de datos | Valores válidos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | --- | 
|  `p_tablespace_name`  |  varchar2  |  Nombre de un espacio de tabla válido  |  —  |  Sí  |  Nombre del espacio de tabla.  | 

## Validación de un archivo de control
<a name="Appendix.Oracle.CommonDBATasks.ValidateControlFile"></a>

Utilice el procedimiento de Amazon RDS para validar únicamente el archivo de control utilizado por una instancia de base de datos de Oracle en Amazon RDS `rdsadmin.rdsadmin_rman_util.validate_current_controlfile`. 

Este procedimiento utiliza el siguiente parámetro común para tareas de RMAN:
+ `p_validation_type`
+ `p_rman_to_dbms_output`

Para obtener más información, consulte [Parámetros comunes para procedimientos de RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

## Validación de un SPFILE
<a name="Appendix.Oracle.CommonDBATasks.ValidateSpfile"></a>

Utilice el procedimiento de Amazon RDS para validar únicamente el archivo de parámetros de servidor (SPFILE) utilizado por una instancia de base de datos de Oracle en Amazon RDS `rdsadmin.rdsadmin_rman_util.validate_spfile`. 

Este procedimiento utiliza el siguiente parámetro común para tareas de RMAN:
+ `p_validation_type`
+ `p_rman_to_dbms_output`

Para obtener más información, consulte [Parámetros comunes para procedimientos de RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

## Validación de un archivo de datos de Oracle
<a name="Appendix.Oracle.CommonDBATasks.ValidateDataFile"></a>

Utilice el procedimiento de Amazon RDS para validar un archivo de dato `rdsadmin.rdsadmin_rman_util.validate_datafile`. 

Este procedimiento utiliza los siguientes parámetros comunes para tareas de RMAN:
+ `p_validation_type`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_rman_to_dbms_output`

Para obtener más información, consulte [Parámetros comunes para procedimientos de RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

Este procedimiento también utiliza los siguientes parámetros adicionales.


****  

| Nombre del parámetro | Tipo de datos | Valores válidos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | --- | 
|  `p_datafile`  |  varchar2  |  Un número de ID de archivo de datos válido o un nombre de archivo de datos válido, incluida su ruta completa  |  —  |  Sí  |  Número de ID del archivo de datos (de `v$datafile.file#`) o el nombre completo del archivo de datos, incluida su ruta (de `v$datafile.name`).  | 
|  `p_from_block`  |  número  |  Un entero válido  |  `NULL`  |  No  |  Número del bloque donde se inicia la validación dentro del archivo de datos. Si es`NULL`, se utiliza `1`.  | 
|  `p_to_block`  |  número  |  Un entero válido  |  `NULL`  |  No  |  Número del bloque donde se inicia el fin de la validación dentro del archivo de datos. Si es `NULL`, se utiliza el bloque máximo del archivo de datos.  | 

# Activación y desactivación del seguimiento de cambio de bloques
<a name="Appendix.Oracle.CommonDBATasks.BlockChangeTracking"></a>

Bloquear los registros del seguimiento de cambio de bloques cambió los bloques de un archivo de seguimiento. Esta técnica puede mejorar el rendimiento de las copias de seguridad RMAN incrementales. Para obtener más información, consulte [Uso del seguimiento de cambio de bloque para aumentar el rendimiento de las copias de seguridad incrementales](https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/backing-up-database.html#GUID-4E1F605A-76A7-48D0-9D9B-7343B4327E2A), en la Documentación de la base de datos de Oracle.

Las características de RMAN no se admiten en una réplica de lectura. Sin embargo, como parte de su estrategia de alta disponibilidad, podría optar por habilitar el seguimiento de cambios de bloques en una réplica de solo lectura mediante el procedimiento `rdsadmin.rdsadmin_rman_util.enable_block_change_tracking`. Si promueve esta réplica de solo lectura a una instancia de base de datos de origen, se habilita el seguimiento de cambio de bloques para la nueva instancia de origen. De este modo, su instancia puede beneficiarse de copias de seguridad incrementales rápidas.

Los procedimientos de seguimiento de cambio de bloques son compatibles en la Enterprise Edition solo para las siguientes versiones del motor de base de datos:
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

**nota**  
En un CDB de un solo propietario, funcionan las siguientes operaciones, pero ningún mecanismo visible por el cliente puede detectar el estado actual de las operaciones. Véase también [Limitaciones de las CDB de RDS para Oracle](Oracle.Concepts.CDBs.md#Oracle.Concepts.single-tenant-limitations).

Puede activar el seguimiento de cambio de bloques de una instancia de base de datos utilizando el procedimiento de Amazon RDS `rdsadmin.rdsadmin_rman_util.enable_block_change_tracking`. Para desactivar el seguimiento de cambio de bloques, utilice `disable_block_change_tracking`. Estos procedimientos no tienen ningún parámetro.

Para determinar si el seguimiento de cambios de bloques está activado para su instancia de base de datos, ejecute la siguiente consulta.

```
SELECT STATUS, FILENAME FROM V$BLOCK_CHANGE_TRACKING;
```

El siguiente ejemplo activa el seguimiento de cambios de bloque para una instancia de base de datos.

```
EXEC rdsadmin.rdsadmin_rman_util.enable_block_change_tracking;
```

El siguiente ejemplo desactiva el seguimiento de cambios de bloque para una instancia de DB.

```
EXEC rdsadmin.rdsadmin_rman_util.disable_block_change_tracking;
```

# Comprobación cruzada de los registros REDO archivados
<a name="Appendix.Oracle.CommonDBATasks.Crosscheck"></a>

Puede hacer una comprobación cruzada de registros REDO archivados utilizando el procedimiento de Amazon RDS `rdsadmin.rdsadmin_rman_util.crosscheck_archivelog`.

Puede usar este procedimiento para hacer la comprobación cruzada de los registros REDO archivados en el archivo de control y, opcionalmente, eliminar los registros caducados. Cuando RMAN realiza una copia de seguridad, crea un registro en el archivo de control. Con el tiempo, estos registros aumentan el tamaño del archivo de control. Le recomendamos que elimine los registros caducados periódicamente.

**nota**  
Las copias estándar de Amazon RDS no utilizan RMAN y, por tanto, no crean registros en el archivo de control.

este procedimiento utiliza el parámetro común `p_rman_to_dbms_output` para tareas de RMAN.

Para obtener más información, consulte [Parámetros comunes para procedimientos de RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

Este procedimiento también utiliza los siguientes parámetros adicionales.


****  

| Nombre del parámetro | Tipo de datos | Valores válidos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | --- | 
|  `p_delete_expired`  |  booleano  |  `TRUE`, `FALSE`  |  `TRUE`  |  No  |  Si es `TRUE`, elimina los registros REDO archivados caducados del archivo de control. Si es `FALSE`, retiene los registros REDO archivados en el archivo de control.   | 

Este procedimiento es compatible con las siguientes versiones de motores de bases de datos de Amazon RDS for Oracle:
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

En el ejemplo siguiente se marcan registros redo log archivados en el archivo de control como caducados, pero no se eliminan los registros.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.crosscheck_archivelog(
        p_delete_expired      => FALSE,  
        p_rman_to_dbms_output => FALSE);
END;
/
```

El siguiente ejemplo elimina registros REDO archivados caducados del archivo de control.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.crosscheck_archivelog(
        p_delete_expired      => TRUE,  
        p_rman_to_dbms_output => FALSE);
END;
/
```

# Copia de seguridad de archivos de registro REDO
<a name="Appendix.Oracle.CommonDBATasks.BackupArchivedLogs"></a>

Puede utilizar el paquete `rdsadmin.rdsadmin_rman_util` de Amazon RDS para hacer una copia de seguridad de los registros REDO archivados de una instancia de base de datos de Amazon RDS Oracle.

Los procedimientos para hacer copias de seguridad de registros REDO archivados son compatibles con las siguientes versiones de motores de bases de datos de Amazon RDS for Oracle:
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

**Topics**
+ [Copia de seguridad de todos los registros REDO archivados](#Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.All)
+ [Copia de seguridad de un registro REDO archivado a partir de un intervalo de fechas](#Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.Date)
+ [Copia de seguridad de un registro REDO archivado a partir de un intervalo de SCN](#Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.SCN)
+ [Copia de seguridad de un registro REDO archivado a partir de un intervalo de números secuenciales](#Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.Sequence)

## Copia de seguridad de todos los registros REDO archivados
<a name="Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.All"></a>

Utilice el procedimiento de Amazon RDS para hacer una copia de seguridad de todos los registros REDO archivados de una instancia de base de datos de Oracle en Amazon RDS `rdsadmin.rdsadmin_rman_util.backup_archivelog_all`. 

Este procedimiento utiliza los siguientes parámetros comunes para tareas de RMAN:
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

Para obtener más información, consulte [Parámetros comunes para procedimientos de RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

El siguiente ejemplo hace una copia de seguridad de todos los registros REDO archivados para la instancia de base de datos.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_archivelog_all(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_parallel            => 4, 
        p_tag                 => 'MY_LOG_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

## Copia de seguridad de un registro REDO archivado a partir de un intervalo de fechas
<a name="Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.Date"></a>

Utilice el procedimiento de Amazon RDS para hacer una copia de seguridad de registros REDO archivados específicos de una instancia de base de datos de Oracle en Amazon RDS `rdsadmin.rdsadmin_rman_util.backup_archivelog_date`. El intervalo de fechas especifica los registros REDO archivados de los que se va a hacer una copia de seguridad. 

Este procedimiento utiliza los siguientes parámetros comunes para tareas de RMAN:
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

Para obtener más información, consulte [Parámetros comunes para procedimientos de RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

Este procedimiento también utiliza los siguientes parámetros adicionales.


****  

| Nombre del parámetro | Tipo de datos | Valores válidos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | --- | 
|  `p_from_date`  |  date  |  Una fecha que se encuentra entre la `start_date` y la `next_date` de un registro REDO archivado que existe en el disco. El valor debe ser menor o igual que el valor especificado para `p_to_date`.  |  —  |  Sí  |  La fecha inicial de las copias de seguridad de registros archivados.  | 
|  `p_to_date`  |  date  |  Una fecha que se encuentra entre la `start_date` y la `next_date` de un registro REDO archivado que existe en el disco. El valor debe ser mayor o igual que el valor especificado para `p_from_date`.  |  —  |  Sí  |  La fecha final de las copias de seguridad de registros archivados.  | 

El siguiente ejemplo hace una copia de seguridad de todos los registros REDO archivados en el intervalo de fechas para la instancia de base de datos.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_archivelog_date(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_from_date           => '03/01/2019 00:00:00',
        p_to_date             => '03/02/2019 00:00:00',
        p_parallel            => 4,  
        p_tag                 => 'MY_LOG_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

## Copia de seguridad de un registro REDO archivado a partir de un intervalo de SCN
<a name="Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.SCN"></a>

Utilice el procedimiento de Amazon RDS para hacer una copia de seguridad de registros REDO archivados específicos de una instancia de base de datos de Oracle en Amazon RDS mediante la especificación de un intervalo de números de cambio del sistema (SCN `rdsadmin.rdsadmin_rman_util.backup_archivelog_scn`. El intervalo de SCN especifica qué registros REDO archivados incluir en la copia de seguridad. 

Este procedimiento utiliza los siguientes parámetros comunes para tareas de RMAN:
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

Para obtener más información, consulte [Parámetros comunes para procedimientos de RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

Este procedimiento también utiliza los siguientes parámetros adicionales.


****  

| Nombre del parámetro | Tipo de datos | Valores válidos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | --- | 
|  `p_from_scn`  |  número  |  Un SCN de un registro REDO archivado que existe en el disco. El valor debe ser menor o igual que el valor especificado para `p_to_scn`.  |  —  |  Sí  |  El SCN inicial para las copias de seguridad de registros archivados.  | 
|  `p_to_scn`  |  número  |  Un SCN de un registro REDO archivado que existe en el disco. El valor debe ser mayor o igual que el valor especificado para `p_from_scn`.  |  —  |  Sí  |  El SCN final para las copias de seguridad de registros archivados.  | 

El siguiente ejemplo hace copia de seguridad de los registros REDO archivados en el intervalo de SCN para la instancia de base de datos.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_archivelog_scn(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_from_scn            => 1533835,
        p_to_scn              => 1892447,
        p_parallel            => 4,
        p_tag                 => 'MY_LOG_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

## Copia de seguridad de un registro REDO archivado a partir de un intervalo de números secuenciales
<a name="Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.Sequence"></a>

Utilice el procedimiento de Amazon RDS para hacer una copia de seguridad de registros REDO archivados específicos de una instancia de base de datos de Oracle en Amazon RDS mediante la especificación de un intervalo de números secuenciale `rdsadmin.rdsadmin_rman_util.backup_archivelog_sequence`. El intervalo de números secuenciales especifica qué registros REDO archivados incluir en la copia de seguridad. 

Este procedimiento utiliza los siguientes parámetros comunes para tareas de RMAN:
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

Para obtener más información, consulte [Parámetros comunes para procedimientos de RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

Este procedimiento también utiliza los siguientes parámetros adicionales.


****  

| Nombre del parámetro | Tipo de datos | Valores válidos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | --- | 
|  `p_from_sequence`  |  número  |  Un número secuencial de un registro REDO archivado que existe en el disco. El valor debe ser menor o igual que el valor especificado para `p_to_sequence`.  |  —  |  Sí  |  El número secuencial inicial para las copias de seguridad de registros archivados.  | 
|  `p_to_sequence`  |  número  |  Un número secuencial de un registro REDO archivado que existe en el disco. El valor debe ser mayor o igual que el valor especificado para `p_from_sequence`.  |  —  |  Sí  |  El número secuencial final para las copias de seguridad de registros archivados.  | 

El siguiente ejemplo hace copia de seguridad de los registros REDO archivados en el intervalo de número secuenciales para la instancia de base de datos.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_archivelog_sequence(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_from_sequence       => 11160,
        p_to_sequence         => 11160,
        p_parallel            => 4,  
        p_tag                 => 'MY_LOG_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

# Realización de una copia de seguridad completa de una base de datos
<a name="Appendix.Oracle.CommonDBATasks.BackupDatabaseFull"></a>

Puede realizar una copia de seguridad de todos los bloques de archivos de datos incluidos en la copia de seguridad utilizando el procedimiento de Amazon RDS `rdsadmin.rdsadmin_rman_util.backup_database_full`.

Este procedimiento utiliza los siguientes parámetros comunes para tareas de RMAN:
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_include_archive_logs`
+ `p_optimize`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

Para obtener más información, consulte [Parámetros comunes para procedimientos de RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

Este procedimiento es compatible con las siguientes versiones de motores de bases de datos de Amazon RDS for Oracle:
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

El siguiente ejemplo realiza una copia de seguridad completa de la instancia de base de datos mediante el uso de valores específicos para los parámetros:

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_database_full(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_parallel            => 4,  
        p_section_size_mb     => 10,
        p_tag                 => 'FULL_DB_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

# Realización de una copia de seguridad completa de una base de datos de inquilinos
<a name="Appendix.Oracle.CommonDBATasks.BackupTenantDatabaseFull"></a>

Puede realizar una copia de seguridad de todos los bloques de datos incluidos una base de datos de inquilinos en una base de datos de contenedores (CDB). Utilice el procedimiento de Amazon RDS `rdsadmin.rdsadmin_rman_util.backup_tenant_full`. Este procedimiento solo se aplica a la copia de seguridad de la base de datos actual y utiliza los siguientes parámetros comunes para las tareas de RMAN:
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_include_archive_logs`
+ `p_optimize`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

Para obtener más información, consulte [Parámetros comunes para procedimientos de RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

El procedimiento `rdsadmin_rman_util.backup_tenant_full` es compatible con las siguientes versiones del motor para bases de datos de RDS for Oracle:
+ Oracle Database 21c (21.0.0) CDB
+ Oracle Database 19c (19.0.0) CDB

El siguiente ejemplo realiza una copia de seguridad completa de la base de datos del inquilino actual utilizando los valores especificados para los parámetros.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_tenant_full(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_parallel            => 4,  
        p_section_size_mb     => 10,
        p_tag                 => 'FULL_TENANT_DB_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

# Realización de una copia de seguridad incremental de una base de datos
<a name="Appendix.Oracle.CommonDBATasks.BackupDatabaseIncremental"></a>

Puede realizar una copia de seguridad incremental de una instancia de base de datos utilizando el procedimiento `rdsadmin.rdsadmin_rman_util.backup_database_incremental` de Amazon RDS.

Para obtener información adicional sobre las copias de seguridad incrementales, consulte [Incremental Backups](https://docs.oracle.com/database/121/RCMRF/rcmsynta006.htm#GUID-73642FF2-43C5-48B2-9969-99001C52EB50__BGBHABHH) en la documentación de Oracle.

Este procedimiento utiliza los siguientes parámetros comunes para tareas de RMAN:
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_include_archive_logs`
+ `p_include_controlfile`
+ `p_optimize`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

Para obtener más información, consulte [Parámetros comunes para procedimientos de RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

Este procedimiento es compatible con las siguientes versiones de motores de bases de datos de Amazon RDS for Oracle:
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

Este procedimiento también utiliza los siguientes parámetros adicionales.


****  

| Nombre del parámetro | Tipo de datos | Valores válidos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | --- | 
|  `p_level`  |  número  |  `0`, `1`  |  `0`  |  No  |  Especifique `0` para activar una copia de seguridad incremental completa. Especifique `1` para activar una copia de seguridad incremental no acumulativa.  | 

El siguiente ejemplo realiza una copia de seguridad incremental de la instancia de base de datos mediante el uso de valores específicos para los parámetros:

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_database_incremental(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_level               => 1,
        p_parallel            => 4,  
        p_section_size_mb     => 10,
        p_tag                 => 'MY_INCREMENTAL_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

# Realización de una copia de seguridad incremental de una base de datos de inquilinos
<a name="Appendix.Oracle.CommonDBATasks.BackupTenantDatabaseIncremental"></a>

Puede realizar una copia de seguridad incremental de la base de datos del inquilino actual en su CDB. Utilice el procedimiento de Amazon RDS `rdsadmin.rdsadmin_rman_util.backup_tenant_incremental`.

Para obtener información adicional sobre las copias de seguridad incrementales, consulte [Incremental Backups](https://docs.oracle.com/database/121/RCMRF/rcmsynta006.htm#GUID-73642FF2-43C5-48B2-9969-99001C52EB50__BGBHABHH) en la documentación de Oracle Database.

Este procedimiento solo se aplica a la base de datos del inquilino actual y utiliza los siguientes parámetros comunes para las tareas de RMAN:
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_include_archive_logs`
+ `p_include_controlfile`
+ `p_optimize`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

Para obtener más información, consulte [Parámetros comunes para procedimientos de RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

Este procedimiento es compatible con las siguientes versiones de motores de bases de datos de Amazon RDS for Oracle:
+ Oracle Database 21c (21.0.0) CDB
+ Oracle Database 19c (19.0.0) CDB

Este procedimiento también utiliza los siguientes parámetros adicionales.


****  

| Nombre del parámetro | Tipo de datos | Valores válidos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | --- | 
|  `p_level`  |  número  |  `0`, `1`  |  `0`  |  No  |  Especifique `0` para activar una copia de seguridad incremental completa. Especifique `1` para activar una copia de seguridad incremental no acumulativa.  | 

El siguiente ejemplo realiza una copia de seguridad incremental de la base de datos del inquilino actual utilizando los valores especificados para los parámetros.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_tenant_incremental(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_level               => 1,
        p_parallel            => 4,  
        p_section_size_mb     => 10,
        p_tag                 => 'MY_INCREMENTAL_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

# Copia de seguridad de un espacio de tablas
<a name="Appendix.Oracle.CommonDBATasks.BackupTablespace"></a>

Puede realizar una copia de seguridad de un espacio de tablas mediante el procedimiento de Amazon RDS `rdsadmin.rdsadmin_rman_util.backup_tablespace`.

Este procedimiento utiliza los siguientes parámetros comunes para tareas de RMAN:
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_include_archive_logs`
+ `p_include_controlfile`
+ `p_optimize`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

Para obtener más información, consulte [Parámetros comunes para procedimientos de RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

Este procedimiento también utiliza los siguientes parámetros adicionales.


****  

| Nombre del parámetro | Tipo de datos | Valores válidos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | --- | 
|  `p_tablespace_name`  |  varchar2  |  Nombre de un espacio de tabla válido.  |  —  |  Sí  |  Nombre del espacio de tabla para la copia de seguridad.  | 

Este procedimiento es compatible con las siguientes versiones de motores de bases de datos de Amazon RDS for Oracle:
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

El siguiente ejemplo realiza una copia de seguridad del espacio de tabla mediante el uso de valores específicos para los parámetros:

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_tablespace(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_tablespace_name     => 'MYTABLESPACE',
        p_parallel            => 4,  
        p_section_size_mb     => 10,
        p_tag                 => 'MYTABLESPACE_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

# Copia de seguridad de un archivo de control
<a name="Appendix.Oracle.CommonDBATasks.backup-control-file"></a>

Puede realizar una copia de seguridad de un archivo de control mediante el procedimiento de Amazon RDS `rdsadmin.rdsadmin_rman_util.backup_current_controlfile`.

Este procedimiento utiliza los siguientes parámetros comunes para tareas de RMAN:
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

Para obtener más información, consulte [Parámetros comunes para procedimientos de RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

Este procedimiento es compatible con las siguientes versiones de motores de bases de datos de Amazon RDS for Oracle:
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

El siguiente ejemplo realiza una copia de seguridad de un archivo de control con los valores especificados para los parámetros.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_current_controlfile(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_tag                 => 'CONTROL_FILE_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

# Realización de la recuperación de medios en bloque
<a name="Appendix.Oracle.CommonDBATasks.block-media-recovery"></a>

Puede recuperar bloques de datos individuales, lo que se conoce como recuperación de medios en bloque, mediante los procedimientos `rdsadmin.rdsadmin_rman_util.recover_datafile_block` de Amazon RDS. Puede utilizar este procedimiento sobrecargado para recuperar un bloque de datos individual o un rango de bloques de datos.

Este procedimiento utiliza el siguiente parámetro común para tareas de RMAN:
+ `p_rman_to_dbms_output`

Para obtener más información, consulte [Parámetros comunes para procedimientos de RMAN](Appendix.Oracle.CommonDBATasks.CommonParameters.md).

Este procedimiento utiliza los siguientes parámetros adicionales.


****  

| Nombre del parámetro | Tipo de datos | Valores válidos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | --- | 
|  `p_datafile`  |  `NUMBER`  |  Un número de ID de archivo de datos válido.  |  —  |  Sí  |  El archivo de datos que contiene los bloques corruptos. Especifique el archivo de datos de cualquiera de las siguientes maneras: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.block-media-recovery.html)  | 
|  `p_block`  |  `NUMBER`  |  Un número entero válido.  |  —  |  Sí  |  El número de un bloque individual que se va a recuperar. Los siguientes parámetros son mutuamente excluyentes. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.block-media-recovery.html)  | 
|  `p_from_block`  |  `NUMBER`  |  Un número entero válido.  |  —  |  Sí  |  El primer número de bloque de un rango de bloques que se van a recuperar. Los siguientes parámetros son mutuamente excluyentes. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.block-media-recovery.html)  | 
|  `p_to_block`  |  `NUMBER`  |  Un número entero válido.  |  —  |  Sí  |  El último número de bloque de un rango de bloques que se van a recuperar. Los siguientes parámetros son mutuamente excluyentes. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.block-media-recovery.html)  | 

Este procedimiento es compatible con las siguientes versiones de motores de bases de datos de Amazon RDS for Oracle:
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

El siguiente ejemplo recupera el bloque 100 del archivo de datos 5.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.recover_datafile_block(
        p_datafile            => 5, 
        p_block               => 100,
        p_rman_to_dbms_output => TRUE);
END;
/
```

El siguiente ejemplo recupera los bloques del 100 al 150 del archivo de datos 5.

```
BEGIN
    rdsadmin.rdsadmin_rman_util.recover_datafile_block(
        p_datafile            => 5, 
        p_from_block          => 100,
        p_to_block            => 150,
        p_rman_to_dbms_output => TRUE);
END;
/
```

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

Algunos trabajos del programador que pertenece a `SYS` pueden interferir con las operaciones normales de la base de datos. En estos casos, Oracle Support recomienda modificar la programación. Si necesita habilitar o deshabilitar los trabajos `SYS`, pruebe la operación en los trabajos programados en un entorno de prueba antes de implementarla en un entorno de producción. Puede utilizar el paquete `rdsadmin.rdsadmin_dbms_scheduler` de Amazon RDS para realizar tareas de los trabajos del Programador de Oracle que es propiedad de `SYS`.

Los procedimientos `rdsadmin.rdsadmin_dbms_scheduler` son compatibles con las versiones de motores de bases de datos de Amazon RDS para Oracle que aparecen en la siguiente tabla. Al utilizar este paquete, puede especificar los trabajos `SYS` que aparecen en la tabla.


| Versión de base de datos | Trabajos habilitados de forma predeterminada | Trabajos deshabilitados de forma predeterminada | 
| --- | --- | --- | 
| Oracle Database 19c |  <pre>BSLN_MAINTAIN_STATS_JOB<br />CLEANUP_NON_EXIST_OBJ<br />CLEANUP_ONLINE_IND_BUILD<br />CLEANUP_ONLINE_PMO<br />CLEANUP_TAB_IOT_PMO<br />CLEANUP_TRANSIENT_PKG<br />CLEANUP_TRANSIENT_TYPE<br />DRA_REEVALUATE_OPEN_FAILURES<br />FILE_SIZE_UPD<br />ORA$AUTOTASK_CLEAN<br />PMO_DEFERRED_GIDX_MAINT_JOB<br />PURGE_LOG<br />RSE$CLEAN_RECOVERABLE_SCRIPT<br />SM$CLEAN_AUTO_SPLIT_MERGE</pre>  |  <pre>FGR$AUTOPURGE_JOB<br />FILE_WATCHER<br />HM_CREATE_OFFLINE_DICTIONARY<br />LOAD_OPATCH_INVENTORY<br />ORA$PREPLUGIN_BACKUP_JOB<br />XMLDB_NFS_CLEANUP_JOB</pre>  | 
| Oracle Database 21c |  <pre>BSLN_MAINTAIN_STATS_JOB<br />CLEANUP_NON_EXIST_OBJ<br />CLEANUP_ONLINE_IND_BUILD<br />CLEANUP_ONLINE_PMO<br />CLEANUP_TAB_IOT_PMO<br />CLEANUP_TRANSIENT_PKG<br />CLEANUP_TRANSIENT_TYPE<br />DRA_REEVALUATE_OPEN_FAILURES<br />FILE_SIZE_UPD<br />ORA$AUTOTASK_CLEAN<br />PMO_DEFERRED_GIDX_MAINT_JOB<br />PURGE_LOG</pre>  |  <pre>FGR$AUTOPURGE_JOB<br />FILE_WATCHER<br />HM_CREATE_OFFLINE_DICTIONARY<br />LOAD_OPATCH_INVENTORY<br />ORA$PREPLUGIN_BACKUP_JOB<br />ORA$_ATSK_AUTOSTS<br />XMLDB_NFS_CLEANUP_JOB</pre>  | 

## Parámetros comunes para los procedimientos del programador de Oracle
<a name="Appendix.Oracle.CommonDBATasks.Scheduler.CommonParameters"></a>

Utilice los procedimientos del paquete de Amazon RDS para realizar tareas con el programador de Oracl `rdsadmin.rdsadmin_dbms_scheduler`. Varios parámetros son comunes en los procedimientos del paquete. El paquete tiene los siguientes parámetros comunes.


****  

| Nombre del parámetro | Tipo de datos | Valores válidos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | --- | 
|  `name`  |  varchar2  |  Los procedimientos enumerados en la tabla de [Realización de tareas de programación comunes para instancias de base de datos de Oracle](#Appendix.Oracle.CommonDBATasks.Scheduler)   |  —  |  Sí  |  El nombre del trabajo que se va a modificar.  | 
|  `attribute`  |  varchar2  |  `'REPEAT_INTERVAL'`,`'SCHEDULE_NAME'`  |  –  |  Sí  |  El atributo que se va a modificar. Especifique para modificar el intervalo de repetición del trabaj `'REPEAT_INTERVAL'`. Especifique para modificar el nombre de programación del trabaj `'SCHEDULE_NAME'`.  | 
|  `value`  |  varchar2  |  Un nombre de programación o intervalo de programación válidos, en función del atributo utilizado.  |  –  |  Sí  |  El nuevo valor del atributo.  | 

## Modificación de trabajos DBMS\$1SCHEDULER
<a name="Appendix.Oracle.CommonDBATasks.ModifyScheduler"></a>

Puede utilizar el procedimiento de Oracle para modificar determinados componentes de Oracle Scheduler `dbms_scheduler.set_attribute`. Para obtener más información, consulte [DBMS\$1SCHEDULER](https://docs.oracle.com/database/121/ARPLS/d_sched.htm#ARPLS72235) y [SET\$1ATTRIBUTE Procedure](https://docs.oracle.com/database/121/ARPLS/d_sched.htm#ARPLS72399) en la documentación de Oracle. 

Cuando trabaje con instancias de bases de datos de Amazon RDS, anteponga el nombre del esquema `SYS` al nombre del objeto. En el siguiente ejemplo se establece el atributo RESOURCE\$1PLAN para el objeto MONDAY\$1WINDOW.

```
BEGIN
    DBMS_SCHEDULER.SET_ATTRIBUTE(
        name      => 'SYS.MONDAY_WINDOW',
        attribute => 'RESOURCE_PLAN',
        value     => 'resource_plan_1');
END;
/
```

## Modificar las ventanas de mantenimiento de AutoTask
<a name="Appendix.Oracle.CommonDBATasks.Scheduler.maintenance-windows"></a>

Las instancias de Amazon RDS for Oracle se crean con la configuración predeterminada de las ventanas de mantenimiento. Las tareas de mantenimiento automatizadas, como la recopilación de estadísticas del optimizador, se ejecutan durante estas ventanas. De forma predeterminada, las ventanas de mantenimiento activan Administrador de recursos de la base de datos de Oracle.

Para modificar la ventana, utilice el paquete `DBMS_SCHEDULER`. Es posible que tenga que modificar la configuración de la ventana de mantenimiento por las siguientes razones:
+ Desea que los trabajos de mantenimiento se ejecuten en un momento diferente, con configuraciones diferentes o que no se ejecuten en absoluto. Por ejemplo, puede que desee modificar la duración de la ventana o cambiar el tiempo y el intervalo de repetición.
+ Desea evitar el impacto en el rendimiento de habilitar el Administrador de Recursos durante el mantenimiento. Por ejemplo, si se especifica el plan de mantenimiento predeterminado y si la ventana de mantenimiento se abre mientras la base de datos está bajo carga, es posible que vea eventos de espera como `resmgr:cpu quantum`. Este evento de espera está relacionado con el Administrador de recursos de base de datos. Dispone de las opciones siguientes:
  + Asegúrese de que las ventanas de mantenimiento estén activas durante las horas de menor actividad de su instancia de base de datos.
  + Deshabilite el plan de mantenimiento predeterminado estableciendo el atributo `resource_plan` a una cadena vacía.
  + Establezca el parámetro `resource_manager_plan` en `FORCE:` en el grupo de parámetros. Si la instancia utiliza Enterprise Edition, esta configuración impide que se activen los planes del Administrador de recursos de base de datos.

**Para modificar la configuración de la ventana de mantenimiento**

1. Conexión a la base de datos mediante un cliente de Oracle SQL.

1. Consulte la configuración actual para una ventana del programador. 

   En el siguiente ejemplo, se consulta la configuración de `MONDAY_WINDOW`.

   ```
   SELECT ENABLED, RESOURCE_PLAN, DURATION, REPEAT_INTERVAL
   FROM   DBA_SCHEDULER_WINDOWS 
   WHERE  WINDOW_NAME='MONDAY_WINDOW';
   ```

   El siguiente resultado muestra que la ventana está utilizando los valores predeterminados.

   ```
   ENABLED         RESOURCE_PLAN                  DURATION         REPEAT_INTERVAL
   --------------- ------------------------------ ---------------- ------------------------------
   TRUE            DEFAULT_MAINTENANCE_PLAN       +000 04:00:00    freq=daily;byday=MON;byhour=22
                                                                   ;byminute=0; bysecond=0
   ```

1. Modifique la ventana mediante el paquete `DBMS_SCHEDULER`.

   En el siguiente ejemplo se establece el plan de recursos como nulo para que el Administrador de recursos no se ejecute durante la ventana de mantenimiento.

   ```
   BEGIN
     -- disable the window to make changes
     DBMS_SCHEDULER.DISABLE(name=>'"SYS"."MONDAY_WINDOW"',force=>TRUE);
   
     -- specify the empty string to use no plan
     DBMS_SCHEDULER.SET_ATTRIBUTE(name=>'"SYS"."MONDAY_WINDOW"', attribute=>'RESOURCE_PLAN', value=>'');
   
     -- re-enable the window
     DBMS_SCHEDULER.ENABLE(name=>'"SYS"."MONDAY_WINDOW"');
   END;
   /
   ```

   En el siguiente ejemplo se establece la duración máxima de la ventana en 2 horas.

   ```
   BEGIN
     DBMS_SCHEDULER.DISABLE(name=>'"SYS"."MONDAY_WINDOW"',force=>TRUE);
     DBMS_SCHEDULER.SET_ATTRIBUTE(name=>'"SYS"."MONDAY_WINDOW"', attribute=>'DURATION', value=>'0 2:00:00');
     DBMS_SCHEDULER.ENABLE(name=>'"SYS"."MONDAY_WINDOW"');
   END;
   /
   ```

   En el siguiente ejemplo se establece el intervalo de repetición en todos los lunes a las 10 AM.

   ```
   BEGIN
     DBMS_SCHEDULER.DISABLE(name=>'"SYS"."MONDAY_WINDOW"',force=>TRUE);
     DBMS_SCHEDULER.SET_ATTRIBUTE(name=>'"SYS"."MONDAY_WINDOW"', attribute=>'REPEAT_INTERVAL', value=>'freq=daily;byday=MON;byhour=10;byminute=0;bysecond=0');
     DBMS_SCHEDULER.ENABLE(name=>'"SYS"."MONDAY_WINDOW"');
   END;
   /
   ```

## Configuración de zona horaria para trabajos de Oracle Scheduler
<a name="Appendix.Oracle.CommonDBATasks.Scheduler.TimeZone"></a>

Para modificar la zona horaria de Oracle Scheduler, puede utilizar el procedimiento de Oracle `dbms_scheduler.set_scheduler_attribute`. Para obtener más información sobre el paquete `dbms_scheduler`, consulte [DBMS\$1SCHEDULER](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_SCHEDULER.html) y [SET\$1SCHEDULER\$1ATTRIBUTE](https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_SCHEDULER.html#GUID-2AB97BF7-7154-4E6C-933F-B2659B18A907) en la documentación de Oracle.

**Para modificar la configuración de zona horaria actual**

1. Conéctese a la base de datos mediante un cliente como SQL Developer. Para obtener más información, consulte [Conexión a la instancia de base de datos mediante Oracle SQL Developer](USER_ConnectToOracleInstance.SQLDeveloper.md).

1. Establezca la zona horaria predeterminada de la siguiente manera, sustituyendo su zona horaria por `time_zone_name`.

   ```
   BEGIN
     DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE(
       attribute => 'default_timezone',
       value => 'time_zone_name'
     );
   END;
   /
   ```

En el siguiente ejemplo, debe cambiar la zona horaria a Asia/Shanghái. 

Comience consultando la zona horaria actual, como se muestra a continuación.

```
SELECT VALUE FROM DBA_SCHEDULER_GLOBAL_ATTRIBUTE WHERE ATTRIBUTE_NAME='DEFAULT_TIMEZONE';
```

La salida muestra que la zona horaria actual es ETC/UTC.

```
VALUE
-------
Etc/UTC
```

A continuación, establece la zona horaria en Asia/Shanghái.

```
BEGIN
  DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE(
    attribute => 'default_timezone',
    value => 'Asia/Shanghai'
  );
END;
/
```

Para obtener más información sobre cómo cambiar la zona horaria del sistema, consulte [Zona horaria Oracle](Appendix.Oracle.Options.Timezone.md).

## Desactivación de los trabajos del programador de Oracle propiedad de SYS
<a name="Appendix.Oracle.CommonDBATasks.Scheduler.Disabling"></a>

Utilice el procedimiento `rdsadmin.rdsadmin_dbms_scheduler.disable` para desactivar un trabajo del programador de Oracle que pertenezca a SYS. 

Este procedimiento utiliza el parámetro común `name` para las tareas del programador de Oracle. Para obtener más información, consulte [Parámetros comunes para los procedimientos del programador de Oracle](#Appendix.Oracle.CommonDBATasks.Scheduler.CommonParameters).

En el siguiente ejemplo se desactiva el trabajo del programador de Oracle `SYS.CLEANUP_ONLINE_IND_BUILD`.

```
BEGIN
   rdsadmin.rdsadmin_dbms_scheduler.disable('SYS.CLEANUP_ONLINE_IND_BUILD');
END;
/
```

## Activación de los trabajos del programador de Oracle propiedad de SYS
<a name="Appendix.Oracle.CommonDBATasks.Scheduler.Enabling"></a>

Utilice el procedimiento `rdsadmin.rdsadmin_dbms_scheduler.enable` para activar un trabajo del programador de Oracle que pertenezca a SYS.

Este procedimiento utiliza el parámetro común `name` para las tareas del programador de Oracle. Para obtener más información, consulte [Parámetros comunes para los procedimientos del programador de Oracle](#Appendix.Oracle.CommonDBATasks.Scheduler.CommonParameters).

En el siguiente ejemplo se activa el trabajo del programador de Oracle `SYS.CLEANUP_ONLINE_IND_BUILD`.

```
BEGIN
   rdsadmin.rdsadmin_dbms_scheduler.enable('SYS.CLEANUP_ONLINE_IND_BUILD');
END;
/
```

## Modificación del intervalo de repetición del programador de Oracle para los trabajos del tipo CALENDAR
<a name="Appendix.Oracle.CommonDBATasks.Scheduler.Modifying_Calendar"></a>

Utilice el procedimiento `CALENDAR` para modificar el intervalo de repetición de un trabajo del programador de Oracle que pertenece a SYS del tipo `rdsadmin.rdsadmin_dbms_scheduler.disable`.

Este procedimiento utiliza los siguientes parámetros comunes para las tareas del programador de Oracle:
+ `name`
+ `attribute`
+ `value`

Para obtener más información, consulte [Parámetros comunes para los procedimientos del programador de Oracle](#Appendix.Oracle.CommonDBATasks.Scheduler.CommonParameters).

En el siguiente ejemplo se modifica el intervalo de repetición del trabajo del programador de Oracle `SYS.CLEANUP_ONLINE_IND_BUILD`.

```
BEGIN
     rdsadmin.rdsadmin_dbms_scheduler.set_attribute(
          name      => 'SYS.CLEANUP_ONLINE_IND_BUILD', 
          attribute => 'repeat_interval', 
          value     => 'freq=daily;byday=FRI,SAT;byhour=20;byminute=0;bysecond=0');
END;
/
```

## Modificación del intervalo de repetición del programador de Oracle para los trabajos del tipo NAMED
<a name="Appendix.Oracle.CommonDBATasks.Scheduler.Modifying_Named"></a>

Algunos trabajos del programador de Oracle utilizan un nombre de programación en lugar de un intervalo. Debe crear una nueva programación NAMED en el esquema de usuario principal para este tipo de trabajos. Para ello, utilice el procedimiento estándar de Oracle `sys.dbms_scheduler.create_schedule`. Además, utilice el `rdsadmin.rdsadmin_dbms_scheduler.set_attribute procedure` para asignar la nueva programación con nombre asignado al trabajo. 

Este procedimiento utiliza los siguientes parámetros comunes para las tareas del programador de Oracle:
+ `name`
+ `attribute`
+ `value`

Para obtener más información, consulte [Parámetros comunes para los procedimientos del programador de Oracle](#Appendix.Oracle.CommonDBATasks.Scheduler.CommonParameters).

En el siguiente ejemplo se modifica el intervalo de repetición del trabajo del programador de Oracle `SYS.BSLN_MAINTAIN_STATS_JOB`.

```
BEGIN
     DBMS_SCHEDULER.CREATE_SCHEDULE (
          schedule_name   => 'rds_master_user.new_schedule',
          start_date      => SYSTIMESTAMP,
          repeat_interval => 'freq=daily;byday=MON,TUE,WED,THU,FRI;byhour=0;byminute=0;bysecond=0',
          end_date        => NULL,
          comments        => 'Repeats daily forever');
END;
/
 
BEGIN
     rdsadmin.rdsadmin_dbms_scheduler.set_attribute (
          name      => 'SYS.BSLN_MAINTAIN_STATS_JOB', 
          attribute => 'schedule_name',
          value     => 'rds_master_user.new_schedule');
END;
/
```

## Desactivación de la confirmación automática para la creación de trabajos del programador de Oracle
<a name="Appendix.Oracle.CommonDBATasks.Scheduler.autocommit"></a>

Cuando `DBMS_SCHEDULER.CREATE_JOB` crea trabajos del programador de Oracle, los crea inmediatamente y confirma los cambios. Puede que necesite incorporar la creación de trabajos del programador de Oracle en la transacción de usuario para hacer lo siguiente:
+ Revertir el trabajo del programador de Oracle cuando se revierte la transacción del usuario.
+ Crear el trabajo del programador de Oracle cuando se confirme la transacción principal del usuario.

Puede utilizar el procedimiento `rdsadmin.rdsadmin_dbms_scheduler.set_no_commit_flag` para activar este comportamiento. Este procedimiento no acepta parámetros. Puede utilizar este procedimiento en las siguientes versiones de RDS para Oracle:
+ 21.0.0.0.ru-2022-07.rur-2022-07.r1 y posteriores
+ 19.0.0.0.ru-2022-07.rur-2022-07.r1 y posteriores

El siguiente ejemplo desactiva la confirmación automática del programador de Oracle, crea un trabajo del programador de Oracle y, a continuación, revierte la transacción. Como la confirmación automática está desactivada, la base de datos también revierte la creación del trabajo del programador de Oracle.

```
BEGIN
  rdsadmin.rdsadmin_dbms_scheduler.set_no_commit_flag;
  DBMS_SCHEDULER.CREATE_JOB(job_name   => 'EMPTY_JOB', 
                            job_type   => 'PLSQL_BLOCK', 
                            job_action => 'begin null; end;',
                            auto_drop  => false);
  ROLLBACK;
END;
/

PL/SQL procedure successfully completed.

SELECT * FROM DBA_SCHEDULER_JOBS WHERE JOB_NAME='EMPTY_JOB';

no rows selected
```

# Diagnóstico de problemas con instancias de bases de datos de RDS para Oracle
<a name="Appendix.Oracle.CommonDBATasks.Diagnostics"></a>

Oracle Database incluye una infraestructura de diagnóstico de fallos que puede utilizar para investigar problemas de bases de datos. En la terminología de Oracle, un *problema* es un error crítico, como un error de código o un daño en los datos. Un *incidente* es la existencia de un problema. Si el mismo error ocurre tres veces, la infraestructura muestra tres incidentes de este problema. Para obtener más información, consulte [Diagnóstico y resolución de problemas](https://docs.oracle.com/en/database/oracle/oracle-database/19/admin/diagnosing-and-resolving-problems.html#GUID-8DEB1BE0-8FB9-4FB2-A19A-17CF6F5791C3) en la documentación de Oracle Database.

La utilidad Automatic Diagnostic Repository Command Interpreter (ADRCI) es una herramienta de línea de comandos de Oracle que se utiliza para administrar datos de diagnóstico. Por ejemplo, puede utilizar esta herramienta para investigar problemas y empaquetar datos de diagnóstico. Un *paquete de incidentes* incluye datos de diagnóstico de un incidente o de todos los incidentes que hacen referencia a un problema específico. Puede cargar un paquete de incidentes, que se implementa como un archivo.zip, en Oracle Support.

Para ofrecer una experiencia de servicio administrado, Amazon RDS no proporciona acceso mediante shell a ADRCI. Para realizar tareas de diagnóstico en la instancia de base de datos de RDS para Oracle, utilice el paquete `rdsadmin.rdsadmin_adrci_util` de Amazon RDS.

Mediante el uso de las funciones de `rdsadmin_adrci_util`, puede obtener un listado de los problemas e incidentes y empaquetarlos, así como mostrar archivos de seguimiento. Todas las funciones devuelven un ID de tarea. Este ID forma parte del nombre del archivo de registro que contiene el resultado de ADRCI, como en `dbtask-task_id.log`. El archivo de registro reside en el directorio BDUMP. Puede descargar el archivo de registro siguiendo el procedimiento descrito en [Descarga de un archivo de registro de base de datos](USER_LogAccess.Procedural.Downloading.md).

## Parámetros comunes para procedimientos de diagnóstico
<a name="Appendix.Oracle.CommonDBATasks.CommonDiagParameters"></a>

Para realizar tareas de diagnóstico, utilice funciones del paquete de Amazon RDS `rdsadmin.rdsadmin_adrci_util`. El paquete tiene los siguientes parámetros comunes.


****  

| Nombre del parámetro | Tipo de datos | Valores válidos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | --- | 
|  `incident_id`  |  número  |  Un ID de incidente válido o nulo   |  Null  |  No  |  Si el valor es nulo, la función muestra todos los incidentes. Si el valor no es nulo y representa un ID de incidente válido, la función muestra el incidente especificado.   | 
|  `problem_id`  |  número  |  Un ID de problema válido o nulo  |  Null  |  No  |  Si el valor es nulo, la función muestra todos los problemas. Si el valor no es nulo y representa un ID de problema válido, la función muestra el problema especificado.  | 
|  `last`  |  número  |  Un valor entero válido mayor que 0 o nulo  |  Null  |  No  |  Si el valor es nulo, la función muestra como máximo 50 elementos. Si el valor no es nulo, la función muestra el número especificado.  | 

## Descripción de incidentes
<a name="Appendix.Oracle.CommonDBATasks.Incidents"></a>

Para obtener un listado de los incidentes de diagnóstico para Oracle, utilice la función de Amazon RDS `rdsadmin.rdsadmin_adrci_util.list_adrci_incidents`. Puede obtener un listado de los incidentes en modo básico o detallado. De forma predeterminada, la función muestra los 50 incidentes más recientes.

Esta función utiliza los siguientes parámetros comunes:
+  `incident_id`
+  `problem_id`
+  `last`

Si especifica `incident_id` y `problem_id`, `incident_id` anula a `problem_id`. Para obtener más información, consulte [Parámetros comunes para procedimientos de diagnóstico](#Appendix.Oracle.CommonDBATasks.CommonDiagParameters).

Esta función utiliza el siguiente parámetro adicional.


****  

| Nombre del parámetro | Tipo de datos | Valores válidos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | --- | 
|  `detail`  |  booleano  | TRUE o FALSE |  `FALSE`  |  No  |  Si `TRUE`, la función muestra los incidentes en modo detallado. Si `FALSE`, la función muestra los incidentes en modo básico.  | 

Para enumerar todos los incidentes, consulte la función `rdsadmin.rdsadmin_adrci_util.list_adrci_incidents` sin argumentos. La consulta devuelve el ID de tarea.

```
SQL> SELECT rdsadmin.rdsadmin_adrci_util.list_adrci_incidents AS task_id FROM DUAL;

TASK_ID
------------------
1590786706158-3126
```

O llame a la función `rdsadmin.rdsadmin_adrci_util.list_adrci_incidents` sin ningún argumento y almacene la salida en una variable de cliente SQL. Puede utilizar la variable en otras instrucciones.

```
SQL> VAR task_id VARCHAR2(80);
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.list_adrci_incidents;

PL/SQL procedure successfully completed.
```

Para leer el archivo de registro, llame al procedimiento de Amazon RDS `rdsadmin.rds_file_util.read_text_file`. Proporcione el identificador de la tarea como parte del nombre de archivo. El siguiente resultado muestra tres incidentes: 53523, 53522 y 53521.

```
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log'));

TEXT
-------------------------------------------------------------------------------------------------------------------------
2020-05-29 21:11:46.193 UTC [INFO ] Listing ADRCI incidents.
2020-05-29 21:11:46.256 UTC [INFO ]
ADR Home = /rdsdbdata/log/diag/rdbms/orcl_a/ORCL:
*************************************************************************
INCIDENT_ID PROBLEM_KEY                                                 CREATE_TIME
----------- ----------------------------------------------------------- ----------------------------------------
53523       ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_003 2020-05-29 20:15:20.928000 +00:00
53522       ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_002 2020-05-29 20:15:15.247000 +00:00
53521       ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_001 2020-05-29 20:15:06.047000 +00:00
3 rows fetched


2020-05-29 21:11:46.256 UTC [INFO ] The ADRCI incidents were successfully listed.
2020-05-29 21:11:46.256 UTC [INFO ] The task finished successfully.

14 rows selected.
```

Para enumerar un incidente concreto, especifique su ID mediante el parámetro `incident_id`. En el ejemplo siguiente, consulte el archivo de registro solo para el incidente 53523.

```
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.list_adrci_incidents(incident_id=>53523);

PL/SQL procedure successfully completed.

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

TEXT
------------------------------------------------------------------------------------------------------------------
2020-05-29 21:15:25.358 UTC [INFO ] Listing ADRCI incidents.
2020-05-29 21:15:25.426 UTC [INFO ]
ADR Home = /rdsdbdata/log/diag/rdbms/orcl_a/ORCL:
*************************************************************************
INCIDENT_ID          PROBLEM_KEY                                                 CREATE_TIME
-------------------- ----------------------------------------------------------- ---------------------------------
53523                ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_003 2020-05-29 20:15:20.928000 +00:00
1 rows fetched


2020-05-29 21:15:25.427 UTC [INFO ] The ADRCI incidents were successfully listed.
2020-05-29 21:15:25.427 UTC [INFO ] The task finished successfully.

12 rows selected.
```

## Descripción de problemas
<a name="Appendix.Oracle.CommonDBATasks.Problems"></a>

Para enumerar los problemas de diagnóstico de Oracle, utilice la función de Amazon RDS `rdsadmin.rdsadmin_adrci_util.list_adrci_problems`.

De forma predeterminada, la función enumera los 50 problemas más recientes. 

Esta función utiliza los parámetros comunes `problem_id` y `last`. Para obtener más información, consulte [Parámetros comunes para procedimientos de diagnóstico](#Appendix.Oracle.CommonDBATasks.CommonDiagParameters).

Para obtener el ID de tarea de todos los problemas, llame a la función `rdsadmin.rdsadmin_adrci_util.list_adrci_problems` sin argumentos y almacene la salida en una variable de cliente SQL.

```
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.list_adrci_problems;

PL/SQL procedure successfully completed.
```

Para leer el archivo de registro, llame a la función `rdsadmin.rds_file_util.read_text_file`, proporcionando el ID de tarea como parte del nombre del archivo. En el siguiente resultado, el archivo de registro muestra tres problemas: 1, 2 y 3.

```
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log'));

TEXT
----------------------------------------------------------------------------------------------------------------------
2020-05-29 21:18:50.764 UTC [INFO ] Listing ADRCI problems.
2020-05-29 21:18:50.829 UTC [INFO ]
ADR Home = /rdsdbdata/log/diag/rdbms/orcl_a/ORCL:
*************************************************************************
PROBLEM_ID   PROBLEM_KEY                                                 LAST_INCIDENT        LASTINC_TIME
---------- ----------------------------------------------------------- ------------- ---------------------------------
2          ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_003 53523         2020-05-29 20:15:20.928000 +00:00
3          ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_002 53522         2020-05-29 20:15:15.247000 +00:00
1          ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_001 53521         2020-05-29 20:15:06.047000 +00:00
3 rows fetched


2020-05-29 21:18:50.829 UTC [INFO ] The ADRCI problems were successfully listed.
2020-05-29 21:18:50.829 UTC [INFO ] The task finished successfully.

14 rows selected.
```

En el ejemplo siguiente, solo muestra el problema 3.

```
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.list_adrci_problems(problem_id=>3);

PL/SQL procedure successfully completed.
```

Para leer el archivo de registro del problema 3, llame `rdsadmin.rds_file_util.read_text_file`. Proporcione el identificador de la tarea como parte del nombre de archivo.

```
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log'));

TEXT
-------------------------------------------------------------------------
2020-05-29 21:19:42.533 UTC [INFO ] Listing ADRCI problems.
2020-05-29 21:19:42.599 UTC [INFO ]
ADR Home = /rdsdbdata/log/diag/rdbms/orcl_a/ORCL:
*************************************************************************
PROBLEM_ID PROBLEM_KEY                                                 LAST_INCIDENT LASTINC_TIME
---------- ----------------------------------------------------------- ------------- ---------------------------------
3          ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_002 53522         2020-05-29 20:15:15.247000 +00:00
1 rows fetched


2020-05-29 21:19:42.599 UTC [INFO ] The ADRCI problems were successfully listed.
2020-05-29 21:19:42.599 UTC [INFO ] The task finished successfully.

12 rows selected.
```

## Creación de paquetes de incidentes
<a name="Appendix.Oracle.CommonDBATasks.IncPackages"></a>

Puede crear paquetes de incidentes utilizando la función de Amazon RDS `rdsadmin.rdsadmin_adrci_util.create_adrci_package`. El resultado es un archivo.zip que puede proporcionar a Oracle Support.

Esta función utiliza los siguientes parámetros comunes:
+ `problem_id`
+ `incident_id`

Asegúrese de especificar uno de los parámetros anteriores. Si especifica ambos, el parámetro `incident_id` anula el parámetro `problem_id`. Para obtener más información, consulte [Parámetros comunes para procedimientos de diagnóstico](#Appendix.Oracle.CommonDBATasks.CommonDiagParameters).

Para crear un paquete para un incidente específico, llame a la función `rdsadmin.rdsadmin_adrci_util.create_adrci_package` de Amazon RDS con el parámetro `incident_id`. En el ejemplo siguiente se crea un paquete para el incidente 53523.

```
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.create_adrci_package(incident_id=>53523);

PL/SQL procedure successfully completed.
```

Para leer el archivo de registro, llame a `rdsadmin.rds_file_util.read_text_file`. Puede proporcionar el ID de tarea como parte del nombre de archivo. El resultado muestra que se ha generado el paquete de incidentes `ORA700EVE_20200529212043_COM_1.zip`.

```
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log'));

TEXT
--------------------------------------------------------------------------------------------------------------------------------------
2020-05-29 21:20:43.031 UTC [INFO ] The ADRCI package is being created.
2020-05-29 21:20:47.641 UTC [INFO ] Generated package 1 in file /rdsdbdata/log/trace/ORA700EVE_20200529212043_COM_1.zip, mode complete
2020-05-29 21:20:47.642 UTC [INFO ] The ADRCI package was successfully created.
2020-05-29 21:20:47.642 UTC [INFO ] The task finished successfully.
```

Para empaquetar los datos de diagnóstico de un problema concreto, especifique su ID mediante el parámetro `problem_id`. En el ejemplo siguiente, solo se empaquetan datos del problema 3.

```
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.create_adrci_package(problem_id=>3);

PL/SQL procedure successfully completed.
```

Para leer la salida de la tarea, llame a `rdsadmin.rds_file_util.read_text_file` y proporcione el ID de la tarea como parte del nombre del archivo. El resultado muestra que se ha generado el paquete de incidentes `ORA700EVE_20200529212111_COM_1.zip`.

```
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log'));

TEXT
------------------------------------------------------------------------------------------------------------------------------------------------------------
2020-05-29 21:21:11.050 UTC [INFO ] The ADRCI package is being created.
2020-05-29 21:21:15.646 UTC [INFO ] Generated package 2 in file /rdsdbdata/log/trace/ORA700EVE_20200529212111_COM_1.zip, mode complete
2020-05-29 21:21:15.646 UTC [INFO ] The ADRCI package was successfully created.
2020-05-29 21:21:15.646 UTC [INFO ] The task finished successfully.
```

También puede descargar el archivo de registro. Para obtener más información, consulte [Descarga de un archivo de registro de base de datos](USER_LogAccess.Procedural.Downloading.md).

## Mostrar archivos de seguimiento
<a name="Appendix.Oracle.CommonDBATasks.ShowTrace"></a>

Puede utilizar la función de Amazon RDS `rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile` para enumerar los archivos de seguimiento en el directorio de seguimiento y todos los directorios de incidentes en la página de inicio del ADR actual. También puede mostrar el contenido de los archivos de seguimiento y de los archivos de seguimiento de incidentes.

Esta función utiliza el siguiente parámetro.


****  

| Nombre del parámetro | Tipo de datos | Valores válidos | Valor predeterminado | Obligatorio | Descripción | 
| --- | --- | --- | --- | --- | --- | 
|  `filename`  |  varchar2  | Un nombre de archivo de seguimiento válido |  Null  |  No  |  Si el valor es nulo, la función muestra todos los archivos de seguimiento. Si no es nulo, la función muestra el archivo especificado.  | 

Para mostrar el archivo de seguimiento, llame a la función de Amazon RDS `rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile`.

```
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile;

PL/SQL procedure successfully completed.
```

Para enumerar los nombres de archivo de seguimiento, llame al procedimiento `rdsadmin.rds_file_util.read_text_file` de Amazon RDS, y proporcione el identificador de tarea como parte del nombre de archivo.

```
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')) WHERE TEXT LIKE '%/alert_%';

TEXT
---------------------------------------------------------------
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-28
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-27
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-26
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-25
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-24
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-23
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-22
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-21
     diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log

9 rows selected.
```

En el ejemplo siguiente, se genera un resultado para `alert_ORCL.log`.

```
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile('diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log');

PL/SQL procedure successfully completed.
```

Para leer el archivo de registro, llame a `rdsadmin.rds_file_util.read_text_file`. Proporcione el identificador de la tarea como parte del nombre de archivo. El resultado muestra las primeras 10 líneas de alert\$1ORCL.log.

```
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')) WHERE ROWNUM <= 10;

TEXT
-----------------------------------------------------------------------------------------
2020-05-29 21:24:02.083 UTC [INFO ] The trace files are being displayed.
2020-05-29 21:24:02.128 UTC [INFO ] Thu May 28 23:59:10 2020
Thread 1 advanced to log sequence 2048 (LGWR switch)
  Current log# 3 seq# 2048 mem# 0: /rdsdbdata/db/ORCL_A/onlinelog/o1_mf_3_hbl2p8xs_.log
Thu May 28 23:59:10 2020
Archived Log entry 2037 added for thread 1 sequence 2047 ID 0x5d62ce43 dest 1:
Fri May 29 00:04:10 2020
Thread 1 advanced to log sequence 2049 (LGWR switch)
  Current log# 4 seq# 2049 mem# 0: /rdsdbdata/db/ORCL_A/onlinelog/o1_mf_4_hbl2qgmh_.log
Fri May 29 00:04:10 2020

10 rows selected.
```

También puede descargar el archivo de registro. Para obtener más información, consulte [Descarga de un archivo de registro de base de datos](USER_LogAccess.Procedural.Downloading.md).

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