View a markdown version of this page

Exécution de vérifications préalables à la mise à niveau des versions mineures dans Amazon RDS pour 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 vérifications préalables à la mise à niveau des versions mineures dans Amazon RDS pour Oracle

Avant qu'Amazon RDS pour Oracle n'effectue une mise à niveau d'une version mineure de la base de données, il vérifie que l'état de votre instance de base de données permet de terminer la mise à niveau. Si un problème est détecté lors d'une vérification, 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. De cette façon, 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 Amazon RDS rdsadmin.rdsadmin_precheck_tasks.precheck_minor_upgrade. 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. La prévérification é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, voir Téléchargement d’un fichier journal de base de données.

Note

Exécutez la prévérification sur votre instance de base de données principale. L'exécution de prévérifications sur une réplique en lecture 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 la version mineure de la base de données, exécutez la procédure rdsadmin.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 la 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.

Affichage des résultats de la prévérification

Pour lire le fichier journal, exécutez la procédure Amazon RDS rdsadmin.rds_file_util.read_text_file. Incluez l'ID de tâche dans le nom du fichier. L'exemple suivant montre une prévérification au cours de laquelle aucune vérification 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édure rdsadmin.rds_file_util.read_text_file, voir Lecture de fichiers dans un répertoire d'instance de base de données.

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

Le journal en contient un CHECK: ligne pour chaque vérification, suivie d'un Summary: ligne et 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 rapporte l'un des résultats suivants :

PASSED

Le contrôle n'a révélé aucun problème.

FAILED [BLOCKER]

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

WARN

Le chèque a révélé 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 donne la raison.

ERROR

Le contrôle n'a pas pu être terminé. Exécutez à nouveau la prévérification.

Chaque vérification est exécutée, même lorsqu'une vérification précédente échoue, de sorte qu'une exécution signale tous les problèmes détectés lors de la prévérification. Le cas échéant, rapports de contrôle FAILED [BLOCKER] ou ERROR, le journal indique Result: FAILED. Dans le cas contraire, cela s'affiche Result: 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é par le journal, puis exécutez à nouveau la prévérification pour confirmer que votre instance de base de données est réussie.

Ce que vérifie le précontrôle

Le tableau suivant répertorie chaque vérification et la condition qui la fait échouer. 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 SYSTEM ou SYSAUX tablespace 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établissement et d'application d'une réplique en lecture est supérieur à 5 minutes. Ignorée si l'instance de base de données ne possède aucune réplique en lecture.
MdsysUser Le MDSYS l'utilisateur n'est pas Oracle-maintained.
ConflictingSynonyms Les synonymes utilisent des noms réservés par la nouvelle version d'Oracle.
WorkspaceManager Gestionnaire d'espace de travail (WMSYS) des objets existent.
SchemaVersionRegistry Un ou plusieurs SCHEMA_VERSION_REGISTRY les 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 ne se trouve pas dans un VALID état.
CtxsysSequences Le CTXSYS le schéma ne possède 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écalage 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 cochée, relancez la prévérification. Par exemple, réexécutez-le après avoir ajouté de l'espace de 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 modifie pas le résultat.

Note

La prévérification exécute les vérifications pour 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.