

# Ejecución de comprobaciones previas de actualizaciones de versiones secundarias en Amazon RDS para Oracle
<a name="USER_UpgradeDBInstance.Oracle.Precheck"></a>

Antes de que Amazon RDS para Oracle realice una actualización de la versión secundaria de la base de datos, comprueba que la instancia de base de datos se encuentra en un estado que permite finalizar la actualización. Si una comprobación detecta un problema, no se puede continuar con la actualización hasta que se resuelva.

Puede realizar estas comprobaciones usted mismo en cualquier momento sin necesidad de iniciar una actualización. De esta forma, podrá encontrar y corregir los problemas antes del periodo de mantenimiento. Para ejecutar las comprobaciones, utilice el procedimiento de Amazon RDS `rdsadmin.rdsadmin_precheck_tasks.precheck_minor_upgrade`. La comprobación previa es de solo lectura. No cambia los datos ni la configuración.

El procedimiento devuelve un ID de tarea. La comprobación previa escribe sus resultados en un archivo de registro llamado `dbtask-{{task_id}}.log` en el directorio BDUMP. Para descargar el archivo de registro, consulte [Descarga de un archivo de registro de base de datos](USER_LogAccess.Procedural.Downloading.md).

**nota**  
Ejecute la comprobación previa en la instancia de base de datos principal. No se admite la ejecución de comprobaciones previas en una réplica de lectura.

**Topics**
+ [Ejecución de comprobaciones previas de actualización de una versión secundaria](#USER_UpgradeDBInstance.Oracle.Precheck.Running)
+ [Visualización de los resultados de verificación previa](#USER_UpgradeDBInstance.Oracle.Precheck.Viewing)
+ [Interpretación de los resultados de verificación previa](#USER_UpgradeDBInstance.Oracle.Precheck.Interpreting)
+ [Qué comprueba la comprobación previa](#USER_UpgradeDBInstance.Oracle.Precheck.Checks)
+ [Cuándo ejecutar la comprobación previa](#USER_UpgradeDBInstance.Oracle.Precheck.When)

## Ejecución de comprobaciones previas de actualización de una versión secundaria
<a name="USER_UpgradeDBInstance.Oracle.Precheck.Running"></a>

Para comprobar si la instancia de base de datos está lista para una actualización de una versión secundaria de base de datos, ejecute el procedimiento `rdsadmin.rdsadmin_precheck_tasks.precheck_minor_upgrade`. El procedimiento no acepta parámetros. La siguiente consulta inicia la comprobación previa y devuelve el ID de tarea.

```
SQL> SELECT rdsadmin.rdsadmin_precheck_tasks.precheck_minor_upgrade() AS task_id FROM DUAL;

TASK_ID
------------------
1784924903020-9
```

También puede almacenar el ID de la tarea en una variable de cliente SQL y utilizar la variable en otras instrucciones.

```
SQL> VAR task_id VARCHAR2(80);
SQL> EXEC :task_id := rdsadmin.rdsadmin_precheck_tasks.precheck_minor_upgrade();

PL/SQL procedure successfully completed.
```

La comprobación previa se ejecuta en segundo plano. Finaliza cuando la última línea del registro es `The task finished successfully.` o `The task failed.`

## Visualización de los resultados de verificación previa
<a name="USER_UpgradeDBInstance.Oracle.Precheck.Viewing"></a>

Para leer el archivo de registro, ejecute el procedimiento `rdsadmin.rds_file_util.read_text_file` de Amazon RDS. Incluya el ID de la tarea en el nombre de archivo. El ejemplo siguiente muestra una comprobación previa en la que ninguna comprobación encontró ningún problema.

```
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log'));

TEXT
-------------------------------------------------------------------------------------------------------------------------
2026-08-28 18:30:20.461 UTC [INFO ] Starting minor version upgrade precheck...
2026-08-28 18:30:20.461 UTC [INFO ] NOTE: This precheck validates against the current engine version's known checks. Target-version-specific checks (e.g., autoupgrade) are not included.
2026-08-28 18:30:20.470 UTC [INFO ] CHECK: FreeStorageSpace - PASSED
2026-08-28 18:30:20.515 UTC [INFO ] CHECK: SystemTablespace - PASSED
2026-08-28 18:30:20.523 UTC [INFO ] CHECK: AuditTablespace - PASSED
2026-08-28 18:30:20.541 UTC [INFO ] CHECK: RedoApplyLag - SKIPPED: the DB instance has no read replicas
2026-08-28 18:30:20.612 UTC [INFO ] CHECK: MdsysUser - PASSED
2026-08-28 18:30:20.688 UTC [INFO ] CHECK: ConflictingSynonyms - PASSED
2026-08-28 18:30:20.731 UTC [INFO ] CHECK: WorkspaceManager - PASSED
2026-08-28 18:30:20.790 UTC [INFO ] CHECK: SchemaVersionRegistry - PASSED
2026-08-28 18:30:20.846 UTC [INFO ] CHECK: XmlDbSchema - PASSED
2026-08-28 18:30:20.903 UTC [INFO ] CHECK: ApexStatus - PASSED
2026-08-28 18:30:20.955 UTC [INFO ] CHECK: CtxsysSequences - PASSED
2026-08-28 18:30:21.304 UTC [INFO ] CHECK: InvalidSystemObjects - PASSED
2026-08-28 18:30:21.549 UTC [INFO ] CHECK: InvalidTriggers - PASSED
2026-08-28 18:30:21.601 UTC [INFO ] CHECK: PendingDistributedTransactions - PASSED
2026-08-28 18:30:21.602 UTC [INFO ] Summary: 13 passed, 1 skipped, 0 warnings, 0 errors, 0 blockers
2026-08-28 18:30:21.602 UTC [INFO ] Result: PASSED
2026-08-28 18:30:21.602 UTC [INFO ] The task finished successfully.
```

Para mostrar los archivos en el directorio de BDUMP, ejecute la consulta siguiente.

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

Si necesita más información sobre el procedimiento de `rdsadmin.rds_file_util.read_text_file`, consulte [Lectura de archivos de un directorio de instancia de base de datos](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ReadingFiles).

## Interpretación de los resultados de verificación previa
<a name="USER_UpgradeDBInstance.Oracle.Precheck.Interpreting"></a>

El registro tiene una línea `CHECK:` para cada comprobación, seguida de una línea `Summary:` y una línea `Result:`. Las comprobaciones que se ejecuten dependen de la versión del motor, la arquitectura de la base de datos y la configuración de la instancia de base de datos. En cada comprobación, se obtendrá uno de los siguientes resultados.

`PASSED`  
La comprobación no encontró ningún problema.

`FAILED [BLOCKER]`  
La comprobación detectó un problema que debe solucionarse antes de actualizar la versión secundaria de la base de datos. La línea describe el problema y qué hacer.

`WARN`  
La comprobación encontró algo que debería revisar. Una advertencia no bloquea la actualización.

`SKIPPED`  
La comprobación no se aplica a la instancia de base de datos. La línea da el motivo.

`ERROR`  
La comprobación no ha podido terminar. Vuelva a ejecutar la comprobación previa.

Todas las comprobaciones se ejecutan, incluso cuando una comprobación anterior produce un error, por lo que una ejecución informa de todos los problemas detectados en la comprobación previa. Si alguna comprobación informa de `FAILED [BLOCKER]` o `ERROR`, el registro muestra `Result: FAILED`. De lo contrario, muestra `Result: PASSED`.

El ejemplo siguiente muestra una comprobación previa que encontró un problema.

```
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log'));

TEXT
-------------------------------------------------------------------------------------------------------------------------
2026-08-28 18:57:39.105 UTC [INFO ] Starting minor version upgrade precheck...
2026-08-28 18:57:39.105 UTC [INFO ] NOTE: This precheck validates against the current engine version's known checks. Target-version-specific checks (e.g., autoupgrade) are not included.
2026-08-28 18:57:39.112 UTC [INFO ] CHECK: FreeStorageSpace - PASSED
2026-08-28 18:57:39.125 UTC [INFO ] CHECK: SystemTablespace - PASSED
2026-08-28 18:57:39.133 UTC [INFO ] CHECK: AuditTablespace - PASSED
2026-08-28 18:57:39.150 UTC [INFO ] CHECK: RedoApplyLag - SKIPPED: the DB instance has no read replicas
2026-08-28 18:57:39.221 UTC [INFO ] CHECK: MdsysUser - PASSED
2026-08-28 18:57:39.297 UTC [INFO ] CHECK: ConflictingSynonyms - PASSED
2026-08-28 18:57:39.340 UTC [INFO ] CHECK: WorkspaceManager - PASSED
2026-08-28 18:57:39.399 UTC [INFO ] CHECK: SchemaVersionRegistry - PASSED
2026-08-28 18:57:39.455 UTC [INFO ] CHECK: XmlDbSchema - PASSED
2026-08-28 18:57:39.512 UTC [INFO ] CHECK: ApexStatus - PASSED
2026-08-28 18:57:39.564 UTC [INFO ] CHECK: CtxsysSequences - PASSED
2026-08-28 18:57:39.913 UTC [INFO ] CHECK: InvalidSystemObjects - PASSED
2026-08-28 18:57:40.097 UTC [ERROR] CHECK: InvalidTriggers - FAILED [BLOCKER]: The DB instance has triggers that aren't valid. Fix or disable them.
2026-08-28 18:57:40.151 UTC [INFO ] CHECK: PendingDistributedTransactions - PASSED
2026-08-28 18:57:40.152 UTC [INFO ] Summary: 12 passed, 1 skipped, 0 warnings, 0 errors, 1 blocker
2026-08-28 18:57:40.152 UTC [INFO ] RDS can't upgrade the DB instance. Resolve the blockers listed above, and then try again.
2026-08-28 18:57:40.152 UTC [INFO ] Result: FAILED
2026-08-28 18:57:40.152 UTC [INFO ] The task failed.
```

Corrija todos los problemas que el registro informa y, a continuación, vuelva a ejecutar la comprobación previa para confirmar que la instancia de base de datos es correcta.

## Qué comprueba la comprobación previa
<a name="USER_UpgradeDBInstance.Oracle.Precheck.Checks"></a>

En la siguiente tabla se muestra cada comprobación y la condición que la hace producir un error. Cuando se produce un error en una comprobación, su línea del registro describe el problema y cómo solucionarlo.



| Check | Produce un error cuando | 
| --- | --- | 
| FreeStorageSpace | La instancia de base de datos tiene menos de 768 MB de almacenamiento libre. | 
| SystemTablespace | El espacio de tablas SYSTEM o SYSAUX tiene menos de 300 MB de espacio libre o no se puede extender automáticamente. En el caso de un CDB, la comprobación previa comprueba cada contenedor. | 
| AuditTablespace | El espacio de tablas de auditoría tiene menos de 300 MB de espacio libre o no se puede extender automáticamente. | 
| RedoApplyLag | El retraso de reaplicación de una réplica de lectura es de más de 5 minutos. Se omite si la instancia de base de datos no tiene réplicas de lectura. | 
| MdsysUser | El usuario de MDSYS no está mantenido por Oracle. | 
| ConflictingSynonyms | Los sinónimos utilizan nombres que reserva la nueva versión de Oracle. | 
| WorkspaceManager | Existen objetos de Workspace Manager (WMSYS). | 
| SchemaVersionRegistry | Una o más vistas de SCHEMA\_VERSION\_REGISTRY no son válidas. | 
| XmlDbSchema | Uno o más objetos de esquema de base de datos de XML no son válidos. | 
| ApexStatus | El componente APEX no se encuentra en un estado VALID. | 
| CtxsysSequences | El esquema CTXSYS no tiene las tres secuencias de Oracle Text (DR\_ID\_SEQ, MESG\_ID\_SEQ, THS\_SEQ). Se saltó por un CDB. | 
| InvalidSystemObjects | Los objetos mantenidos por Oracle no son válidos. | 
| InvalidTriggers | Los desencadenantes no son válidos. | 
| PendingDistributedTransactions | Las transacciones distribuidas no se han resuelto. | 

## Cuándo ejecutar la comprobación previa
<a name="USER_UpgradeDBInstance.Oracle.Precheck.When"></a>

Algunas condiciones cambian con el tiempo, como el almacenamiento gratuito y el retraso en la réplica de lectura. Ejecute la comprobación previa poco antes de realizar la actualización. Si la instancia de base de datos utiliza actualizaciones automáticas de versiones secundarias, ejecute la comprobación previa tras recibir la notificación de mantenimiento pendiente y antes del periodo de mantenimiento.

Si realiza un cambio que afecta a una condición comprobada, vuelva a ejecutar la comprobación previa. Por ejemplo, vuelva a ejecutarla después de agregar almacenamiento, cambiar un espacio de tabla, eliminar o volver a compilar objetos o resolver transacciones distribuidas. Los cambios que no afecten a estas condiciones no modifican el resultado. Por ejemplo, realizar una copia de seguridad o cambiar la clase de la instancia de base de datos no cambia el resultado.

**nota**  
La comprobación previa ejecuta las comprobaciones de la versión actual del motor. No incluye comprobaciones que dependan de la versión a la que se actualice.