View a markdown version of this page

Exécution de prévérifications de mise à niveau de versions mineures dans Amazon RDS for Oracle - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exécution de prévérifications de mise à niveau de versions mineures dans Amazon RDS for Oracle

Avant qu'Amazon RDS for Oracle n'effectue une mise à niveau d'une version mineure de base de données, il vérifie que votre instance de base de données est dans un état permettant la fin de la mise à niveau. Si une vérification détecte un problème, la mise à niveau ne peut pas être effectuée tant que vous ne l'avez pas résolu.

Vous pouvez effectuer ces vérifications vous-même à tout moment sans lancer de mise à niveau. Ainsi, vous pouvez détecter et résoudre les problèmes avant votre fenêtre de maintenance. Pour exécuter les vérifications, utilisez la procédure rdsadmin.rdsadmin_precheck_tasks.precheck_minor_upgrade Amazon RDS. La prévérification est en lecture seule. Cela ne modifie ni vos données ni votre configuration.

La procédure renvoie un ID de tâche. Le précontrôle écrit ses résultats dans un fichier journal nommé dbtask-task_id.log dans le répertoire BDUMP. Pour télécharger le fichier journal, consultezTéléchargement d’un fichier journal de base de données.

Note

Exécutez le précontrôle sur votre instance de base de données principale. L'exécution de prévérifications sur une réplique lue n'est pas prise en charge.

Exécution d'une prévérification de mise à niveau d'une version mineure

Pour vérifier si votre instance de base de données est prête pour une mise à niveau de version mineure de base de données, exécutez la procédurerdsadmin.rdsadmin_precheck_tasks.precheck_minor_upgrade. La procédure n'accepte aucun paramètre. La requête suivante lance la prévérification et renvoie l'ID de tâche.

SQL> SELECT rdsadmin.rdsadmin_precheck_tasks.precheck_minor_upgrade() AS task_id FROM DUAL; TASK_ID ------------------ 1784924903020-9

Vous pouvez également stocker l'ID de tâche dans une variable client SQL et utiliser cette variable dans d'autres instructions.

SQL> VAR task_id VARCHAR2(80); SQL> EXEC :task_id := rdsadmin.rdsadmin_precheck_tasks.precheck_minor_upgrade(); PL/SQL procedure successfully completed.

La prévérification s'exécute en arrière-plan. C'est terminé lorsque la dernière ligne du journal est The task finished successfully. ou The task failed.

Afficher les résultats du précontrôle

Pour lire le fichier journal, exécutez la procédure rdsadmin.rds_file_util.read_text_file Amazon RDS. Incluez l'ID de tâche dans le nom du fichier. L'exemple suivant montre un précontrôle dans lequel aucun contrôle n'a détecté de problème.

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.

Pour répertorier les fichiers du répertoire BDUMP, exécutez la requête suivante.

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

Pour plus d'informations sur la procédurerdsadmin.rds_file_util.read_text_file, consultezLecture de fichiers dans un répertoire d'instance de base de données.

Interprétation des résultats du précontrôle

Le journal comporte une CHECK: ligne pour chaque vérification, suivie d'une Summary: ligne et d'une Result: ligne. Les vérifications exécutées dépendent de la version de votre moteur, de l'architecture de votre base de données et de la configuration de votre instance de base de données. Chaque contrôle donne l'un des résultats suivants.

PASSED

Le chèque n'a révélé aucun problème.

FAILED [BLOCKER]

La vérification a révélé un problème que vous devez corriger avant la mise à niveau de la version mineure de la base de données. La ligne décrit le problème et la marche à suivre.

WARN

Le chèque a trouvé quelque chose que vous devriez vérifier. Un avertissement ne bloque pas la mise à niveau.

SKIPPED

La vérification ne s'applique pas à votre instance de base de données. La ligne en donne la raison.

ERROR

Le chèque n'a pas pu être terminé. Réexécutez le précontrôle.

Chaque vérification est exécutée, même si une vérification précédente échoue, de sorte qu'une seule exécution signale tous les problèmes détectés par la prévérification. Si une vérification est FAILED [BLOCKER] signalée ouERROR, le journal l'indiqueResult: FAILED. Sinon, ça se voitResult: PASSED.

L'exemple suivant montre une prévérification qui a détecté un problème.

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.

Corrigez chaque problème signalé dans le journal, puis réexécutez la prévérification pour confirmer que votre instance de base de données réussit.

Ce que le précontrôle vérifie

Le tableau suivant répertorie chaque vérification et la condition qui la cause de son échec. Lorsqu'une vérification échoue, sa ligne dans le journal décrit le problème et explique comment le résoudre.

Check Échoue lorsque
FreeStorageSpace L'instance de base de données dispose de moins de 768 Mo de stockage gratuit.
SystemTablespace Le SYSAUX tablespace SYSTEM or dispose de moins de 300 Mo d'espace libre ou n'est pas extensible automatiquement. Pour un CDB, le précontrôle vérifie chaque conteneur.
AuditTablespace Le tablespace d'audit dispose de moins de 300 Mo d'espace libre ou n'est pas extensible automatiquement.
RedoApplyLag Le délai de réapplication d'une réplique en lecture est supérieur à 5 minutes. Ignoré si l'instance de base de données ne possède aucune réplique de lecture.
MdsysUser L'MDSYSutilisateur ne l'est pas Oracle-maintained.
ConflictingSynonyms Les synonymes utilisent des noms réservés par la nouvelle version d'Oracle.
WorkspaceManager Les objets Workspace Manager (WMSYS) existent.
SchemaVersionRegistry Une ou plusieurs SCHEMA_VERSION_REGISTRY vues ne sont pas valides.
XmlDbSchema Un ou plusieurs objets de schéma de base de données XML ne sont pas valides.
ApexStatus Le composant APEX n'est pas dans un VALID état.
CtxsysSequences Le CTXSYS schéma ne contient pas les 3 séquences de texte Oracle (DR_ID_SEQ,MESG_ID_SEQ,THS_SEQ). Ignoré pour un CDB.
InvalidSystemObjects Oracle-maintained les objets ne sont pas valides.
InvalidTriggers Les déclencheurs ne sont pas valides.
PendingDistributedTransactions Les transactions distribuées ne sont pas résolues.

Quand exécuter le précontrôle

Certaines conditions changent au fil du temps, comme le stockage gratuit et le délai de lecture des répliques. Exécutez la prévérification peu de temps avant la mise à niveau. Si votre instance de base de données utilise des mises à niveau automatiques de versions mineures, exécutez la prévérification après avoir reçu la notification de maintenance en attente et avant votre fenêtre de maintenance.

Si vous apportez une modification qui affecte une condition vérifiée, réexécutez la prévérification. Par exemple, exécutez-le à nouveau après avoir ajouté du stockage, modifié un tablespace, supprimé ou recompilé des objets, ou résolu des transactions distribuées. Les modifications qui n'affectent pas ces conditions ne modifient pas le résultat. Par exemple, effectuer une sauvegarde ou modifier la classe d'instance de base de données ne change pas le résultat.

Note

La prévérification exécute les vérifications de la version actuelle de votre moteur. Il n'inclut pas les vérifications qui dépendent de la version vers laquelle vous effectuez la mise à niveau.