Mise à niveau d'une instance de base de données pour Amazon RDS Custom 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.

Mise à niveau d'une instance de base de données pour Amazon RDS Custom for Oracle

Vous pouvez mettre à niveau une instance de base de données Amazon RDS Custom en la modifiant pour qu'elle utilise une nouvelle version de moteur personnalisée (CEV). Pour des informations générales sur les mises à niveau, consultez Mise à niveau de la version du moteur d'une instance de base de données.

Présentation des mises à niveau dans RDS Custom for Oracle

Avec RDS Custom for Oracle, vous pouvez appliquer des correctifs à votre base de données Oracle ou à votre système d'exploitation (SE) d'instance de base de données en créant de nouveaux CEV, puis en modifiant votre instance pour qu'elle utilise le nouveau CEV.

Options de mise à niveau de CEV

Lorsque vous créez un CEV pour une mise à niveau, les options suivantes s'excluent mutuellement :

Base de données uniquement

Réutilisez l'Amazon Machine Image (AMI) actuellement utilisée par votre instance de base de données, mais spécifiez des fichiers binaires de base de données différents. RDS Custom alloue un nouveau volume binaire, puis l'attache à l'instance Amazon EC2 existante. RDS Custom remplace l'intégralité du volume de base de données par un nouveau volume utilisant la version de votre base de données cible.

Système d'exploitation uniquement

Réutilisez les fichiers binaires de base de données actuellement utilisés par votre instance de base de données, mais spécifiez une autre AMI. RDS Custom alloue une nouvelle instance Amazon EC2, puis lui attache le volume binaire existant. Le volume de base de données existant est conservé.

Si vous souhaitez mettre à niveau à la fois le système d'exploitation et la base de données, vous devez mettre à niveau le CEV deux fois. Vous pouvez mettre à niveau le système d'exploitation puis la base de données, ou inversement.

Avertissement

Lorsque vous appliquez un correctif à votre système d'exploitation, vous perdez les données de votre volume racine ainsi que toute personnalisation existante du système d'exploitation. Par conséquent, nous vous recommandons vivement de ne pas utiliser le volume racine pour les installations ou pour le stockage de données ou de fichiers permanents. Nous vous recommandons également de sauvegarder vos données avant la mise à niveau.

Application de correctifs sans CEV

Nous vous recommandons vivement de mettre à niveau votre instance de base de données RDS Custom for Oracle à l'aide des CEV. L'automatisation de RDS Custom for Oracle synchronise les métadonnées du correctif avec le binaire de la base de données sur votre instance de base de données.

Dans des circonstances particulières, RDS Custom prend en charge l'application d'un correctif de base de données « unique » directement sur l'instance Amazon EC2 sous-jacente à l'aide de l'utilitaire OPatch. Un cas d'utilisation valide pourrait être un correctif de base de données que vous voulez appliquer immédiatement, mais l'équipe de RDS Custom est en train de mettre à jour la fonctionnalité CEV, ce qui entraîne un retard. Pour appliquer un correctif de base de données manuellement, procédez comme suit :

  1. Mettez en pause l'automatisation de RDS Custom.

  2. Appliquez votre correctif aux binaires de la base de données sur l'instance Amazon EC2.

  3. Relancez l'automatisation de RDS Custom.

L'inconvénient de la technique précédente est que vous devez appliquer le correctif de base de données manuellement à chaque instance que vous souhaitez mettre à niveau. En revanche, lorsque vous créez un nouveau CEV, vous pouvez créer ou mettre à niveau plusieurs instances de base de données en utilisant le même CEV.

Étapes générales pour appliquer des correctifs à votre instance de base de données avec un CEV

Effectuez les étapes de base suivantes, que vous appliquiez des correctifs au système d'exploitation ou à votre base de données :

  1. Créez un CEV contenant l'un des éléments suivants, selon que vous appliquez des correctifs à la base de données ou au système d'exploitation :

    • La révision de mise à jour de base de données Oracle que vous souhaitez appliquer à votre instance de base de données

    • Une autre AMI, soit la plus récente disponible, soit celle que vous spécifiez, et un CEV existant à utiliser comme source

    Suivez les étapes de Création d'une CEV.

  2. (Facultatif pour l'application de correctifs à la base de données) Vérifiez les mises à niveau de version du moteur disponibles en exécutant describe-db-engine-versions.

  3. Lancez le processus d'application des correctifs en exécutant modify-db-instance.

    L'état de l'instance à laquelle le correctif est appliqué diffère comme suit :

    • Lorsque RDS applique des correctifs à la base de données, le statut de l'instance de base de données devient Mise à niveau en cours.

    • Lorsque RDS applique des correctifs au système d'exploitation, le statut de l'instance de base de données devient Modification en cours.

    Lorsque l'instance de base de données a le statut Disponible, l'application des correctifs est terminée.

  4. Vérifiez que votre instance de base de données utilise le nouveau CEV en exécutant describe-db-instances.

Exigences pour les mises à niveau de RDS Custom for Oracle

Lors de la mise à niveau de votre instance de base de données RDS Custom for Oracle vers une CEV cible, vérifiez que les conditions suivantes sont respectées :

  • La CEV cible vers laquelle vous effectuez la mise à niveau doit exister.

  • Vous devez mettre à niveau le système d'exploitation ou la base de données au cours d'une seule opération. La mise à niveau du système d'exploitation et de la base de données en un seul appel d'API n'est pas prise en charge.

  • La CEV cible doit utiliser les paramètres d'installation qui figurent dans le manifeste de la CEV actuelle. Par exemple, vous ne pouvez pas mettre à niveau une base de données qui utilise le répertoire de base de base de données Oracle par défaut vers une version CEV qui utilise un autre répertoire de base de base de données Oracle.

  • Pour les mises à niveau de base de données, le CEV cible doit utiliser une nouvelle version mineure de base de données, et non une nouvelle version majeure. Par exemple, vous ne pouvez pas mettre à niveau une CEV Oracle Database 12c vers une CEV Oracle Database 19c. En revanche, vous pouvez mettre à niveau la version 21.0.0.0.ru-2023-04.rur-2023-04.r1 vers la version 21.0.0.0.ru-2023-07.rur-2023-07.r1.

  • Pour les mises à niveau du système d'exploitation, le CEV cible doit utiliser une AMI différente mais disposer de la même version majeure.

Considérations relatives aux mises à niveau des bases de données RDS Custom for Oracle

Si vous envisagez de mettre à niveau votre base de données, tenez compte des points suivants :

  • Lorsque vous mettez à niveau les fichiers binaires de base de données dans votre instance de base de données principale, RDS Custom for Oracle met automatiquement à niveau vos réplicas en lecture. Lorsque vous mettez à niveau le système d'exploitation, vous devez mettre à niveau les réplicas en lecture manuellement.

  • Lorsque vous mettez à niveau une base de données de conteneurs (CDB) vers une nouvelle version de base de données, RDS Custom for Oracle vérifie que toutes les PDB sont ouvertes ou peuvent être ouvertes. Si ces conditions ne sont pas remplies, RDS Custom arrête la vérification et rétablit l'état d'origine de la base de données sans tenter de procéder à la mise à niveau. Si les conditions sont remplies, RDS Custom commence par corriger la racine CDB, puis corrige toutes les autres PDB (y compris PDB$SEED) en parallèle.

    Une fois le correctif terminé, RDS Custom tente d'ouvrir tous les PDB. En cas d'échec de l'ouverture d'une ou plusieurs PDB, vous recevez l'événement suivant : The following PDBs failed to open: list-of-PDBs. Si RDS Custom ne parvient pas à corriger la racine CDB ou des PDB, l'instance passe à l'état PATCH_DB_FAILED.

  • Vous souhaiterez peut-être effectuer simultanément une mise à niveau de version majeure de base de données et une conversion d'une base de données non-CDB en CDB. Dans ce cas, nous vous recommandons de procéder comme suit :

    1. Créez une nouvelle instance de base de données RDS Custom pour Oracle qui utilise l'architecture mutualisée Oracle.

    2. Connectez une base de données non-CDB à votre racine CDB, en la créant en tant que PDB. Veillez à ce que la base de données non-CDB ait la même version majeure que votre CDB.

    3. Convertissez votre PDB en exécutant le script noncdb_to_pdb.sql Oracle SQL.

    4. Validez votre instance de CDB.

    5. Mettez à niveau votre instance de CDB.

Considérations relatives aux mises à niveau de RDS Custom pour le système d'exploitation Oracle

Lorsque vous planifiez une mise à niveau du système d'exploitation, tenez compte des points suivants :

  • Vous ne pouvez pas fournir votre propre AMI à utiliser dans un RDS Custom pour Oracle CEV. Vous pouvez spécifier l'AMI par défaut ou une AMI qui a déjà été utilisée par un RDS Custom pour Oracle CEV.

    Note

    RDS Custom for Oracle publie une nouvelle AMI par défaut lorsque des vulnérabilités et des risques courants sont découverts. Aucun horaire fixe n'est disponible ou garanti. RDS Custom for Oracle a tendance à publier une nouvelle AMI par défaut tous les 30 jours.

  • Lorsque vous mettez à niveau le système d'exploitation de votre instance de base de données principale, vous devez mettre à niveau manuellement les répliques de lecture associées.

  • Réservez une capacité de calcul Amazon EC2 suffisante pour votre type d'instance dans votre AZ avant de commencer à appliquer des correctifs au système d'exploitation.

    Lorsque vous créez une réservation de capacité, vous spécifiez la zone de disponibilité, le nombre d'instances et les attributs d'instance (y compris le type d'instance). Par exemple, si votre instance de base de données utilise le type d'instance EC2 r5.large, nous vous conseillons de réserver de la capacité EC2 pour r5.large dans votre zone de disponibilité. Lors de l'application de correctifs au système d'exploitation, RDS Custom crée un nouvel hôte de type db.r5.large, qui peut rester bloqué si la zone de disponibilité ne dispose pas de capacité EC2 pour ce type d'instance. Si vous réservez de la capacité EC2, vous réduisez le risque de blocage des correctifs causé par des contraintes de capacité. Pour plus d'informations, consultez Réservations de capacité à la demande dans le Guide de l'utilisateur Amazon EC2 pour les instances Linux.

  • Sauvegardez votre instance de base de données avant de mettre à niveau son système d'exploitation. La mise à niveau supprime les données de votre volume racine et toutes les personnalisations existantes du système d'exploitation.

  • Dans le modèle de responsabilité partagée, vous êtes responsable de la mise à jour de votre système d'exploitation. RDS Custom for Oracle ne prescrit pas les correctifs à appliquer à votre système d'exploitation. Si votre RDS Custom for Oracle est fonctionnel, vous pouvez utiliser l'AMI associée à ce CEV indéfiniment.

Affichage des cibles de mise à niveau de CEV valides pour les instances de base de données RDS Custom for Oracle

Vous pouvez consulter les CEV existantes sur la page Versions de moteur personnalisées de la AWS Management Console.

Vous pouvez également utiliser la describe-db-engine-versions AWS CLI commande pour trouver des CEV valides à utiliser lors de la mise à niveau de vos instances de base de données, comme illustré dans l'exemple suivant. Cet exemple suppose que vous avez créé une instance de base de données à l'aide de la version de moteur 19.my_cev1 et que les versions de mise à niveau 19.my_cev2 et 19.my_cev existent.

aws rds describe-db-engine-versions --engine custom-oracle-ee --engine-version 19.my_cev1

La sortie se présente comme suit : Le champ ImageId indique l'ID d'AMI.

{ "DBEngineVersions": [ { "Engine": "custom-oracle-ee", "EngineVersion": "19.my_cev1", ... "Image": { "ImageId": "ami-2345", "Status": "active" }, "DBEngineVersionArn": "arn:aws:rds:us-west-2:123456789012:cev:custom-oracle-ee/19.my_cev1/12a34b5c-67d8-90e1-2f34-gh56ijk78lm9" "ValidUpgradeTarget": [ { "Engine": "custom-oracle-ee", "EngineVersion": "19.my_cev2", "Description": "19.my_cev2 description", "AutoUpgrade": false, "IsMajorVersionUpgrade": false }, { "Engine": "custom-oracle-ee", "EngineVersion": "19.my_cev3", "Description": "19.my_cev3 description", "AutoUpgrade": false, "IsMajorVersionUpgrade": false } ] ...

Mise à niveau d'une instance de base de données RDS Custom for Oracle

Pour mettre à niveau votre instance de base de données RDS Custom for Oracle, modifiez-la pour qu'elle utilise un nouveau CEV. Ce CEV peut contenir de nouveaux fichiers binaires de base de données ou une nouvelle AMI. Si vous souhaitez mettre à niveau la base de données et le système d'exploitation, vous devez effectuer deux mises à niveau distinctes.

Note

Si vous mettez à niveau la base de données, RDS Custom met automatiquement à niveau les réplicas en lecture après la mise à niveau de l'instance de base de données principale. Si vous mettez à niveau le système d'exploitation, vous devez mettre à niveau les réplicas manuellement.

Avant de commencer, consultez Exigences pour les mises à niveau de RDS Custom for Oracle et Considérations relatives aux mises à niveau des bases de données RDS Custom for Oracle.

Pour mettre à niveau une instance de base de données RDS Custom for Oracle
  1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/rds/.

  2. Dans le volet de navigation, sélectionnez Bases de données, puis l'instance de base de données RDS Custom for Oracle que vous souhaitez mettre à niveau.

  3. Sélectionnez Modifier. La page Modifier l'instance de base de données s'affiche.

  4. Pour Version du moteur de base de données, choisissez un nouveau CEV. Procédez comme suit :

    • Si vous appliquez des correctifs à la base de données, assurez-vous que le CEV spécifie des fichiers binaires de base de données différents de ceux utilisés par votre instance de base de données et qu'il ne spécifie pas d'AMI différente de l'AMI actuellement utilisée par votre instance de base de données.

    • Si vous appliquez des correctifs au système d'exploitation, assurez-vous que le CEV spécifie une AMI différente de celle utilisée par votre instance de base de données et qu'il ne spécifie pas de fichiers binaires de base de données différents.

      Avertissement

      Lorsque vous appliquez un correctif à votre système d'exploitation, vous perdez les données de votre volume racine ainsi que toute personnalisation existante du système d'exploitation.

  5. Sélectionnez Continuer pour consulter le récapitulatif des modifications.

    Pour appliquer les modifications immédiatement, choisissez Appliquer immédiatement.

  6. Si vos modifications sont correctes, sélectionnez Modifier l'instance de base de données. Vous pouvez également sélectionner Retour pour revoir vos modifications ou Annuler pour les annuler.

Les exemples suivants montrent des scénarios de mise à niveau possibles. Les exemples supposent que vous avez créé une instance de base de données RDS Custom for Oracle présentant les caractéristiques suivantes :

  • Instance de base de données nommée my-custom-instance

  • CEV nommé 19.my_cev1

  • Oracle Database 19c utilisant l'architecture non CDB

  • Oracle Linux 7.9 utilisant l'AMI ami-1234

L'AMI la plus récente fournie par le service est ami-2345. Vous trouverez les AMI en exécutant la commande CLI describe-db-engine-versions.

Mise à niveau du système d'exploitation

Dans cet exemple, vous souhaitez effectuer une mise à niveau de ami-1234 vers ami-2345, qui est l'AMI la plus récente fournie par le service. Comme il s'agit d'une mise à niveau du système d'exploitation, les fichiers binaires de base de données pour ami-1234 et ami-2345 doivent être identiques. Vous créez un nouveau CEV nommé 19.my_cev2 basé sur 19.my_cev1.

Pour LinuxmacOS, ou Unix :

aws rds create-custom-db-engine-version \ --engine custom-oracle-ee \ --engine-version 19.my_cev2 \ --description "Non-CDB CEV based on ami-2345" \ --kms-key-id key-name \ --source-custom-db-engine-version-identifer arn:aws:rds:us-west-2:123456789012:cev:custom-oracle-ee/19.my_cev1/12345678-ab12-1234-cde1-abcde123456789 \ --image-id ami-2345

Dans Windows :

aws rds create-custom-db-engine-version ^ --engine custom-oracle-ee ^ --engine-version 19.my_cev2 ^ --description "Non-CDB CEV based on ami-2345" ^ --kms-key-id key-name ^ --source-custom-db-engine-version-identifer arn:aws:rds:us-west-2:123456789012:cev:custom-oracle-ee/19.my_cev1/12345678-ab12-1234-cde1-abcde123456789 ^ --image-id ami-2345

Pour mettre à niveau une instance de base de données personnalisée RDS, utilisez la modify-db-instance AWS CLI commande avec les paramètres suivants :

  • --db-instance-identifier : spécifiez l'instance de base de données RDS Custom for Oracle à mettre à niveau.

  • --engine-version : spécifiez le CEV doté de la nouvelle AMI.

  • --no-apply-immediately | --apply-immediately – Indiquez s'il faut effectuer la mise à niveau immédiatement ou attendre la fenêtre de maintenance planifiée.

Dans l'exemple suivant, l'instance my-custom-instance est mise à niveau vers la version 19.my_cev2. Seul le système d'exploitation est mis à niveau.

Pour LinuxmacOS, ou Unix :

aws rds modify-db-instance \ --db-instance-identifier my-custom-instance \ --engine-version 19.my_cev2 \ --apply-immediately

Dans Windows :

aws rds modify-db-instance ^ --db-instance-identifier my-custom-instance ^ --engine-version 19.my_cev2 ^ --apply-immediately

Mise à niveau de la base de données

Dans cet exemple, vous souhaitez appliquer le correctif Oracle p35042068 à votre instance de base de données RDS for Oracle. Comme vous avez mis à niveau votre système d'exploitation dans Mise à niveau du système d'exploitation, votre instance de base de données utilise actuellement 19.my_cev2, qui est basé sur ami-2345. Vous créez un nouveau CEV nommé 19.my_cev3, qui utilise également ami-2345, mais vous spécifiez un nouveau manifeste JSON dans la variable d'environnement $MANIFEST. Ainsi, seuls les fichiers binaires de base de données sont différents dans votre nouveau CEV et dans le CEV que votre instance utilise actuellement.

Pour LinuxmacOS, ou Unix :

aws rds create-custom-db-engine-version \ --engine custom-oracle-ee \ --engine-version 19.my_cev3 \ --description "Non-CDB CEV with p35042068 based on ami-2345" \ --kms-key-id key-name \ --image-id ami-2345 \ --manifest $MANIFEST

Dans Windows :

aws rds create-custom-db-engine-version ^ --engine custom-oracle-ee ^ --engine-version 19.my_cev3 ^ --description "Non-CDB CEV with p35042068 based on ami-2345" ^ --kms-key-id key-name ^ --image-id ami-2345 ^ --manifest $MANIFEST

Dans l'exemple suivant, l'instance my-custom-instance est mise à niveau vers la version de moteur 19.my_cev3. Seule la base de données est mise à niveau.

Pour LinuxmacOS, ou Unix :

aws rds modify-db-instance \ --db-instance-identifier my-custom-instance \ --engine-version 19.my_cev3 \ --apply-immediately

Dans Windows :

aws rds modify-db-instance ^ --db-instance-identifier my-custom-instance ^ --engine-version 19.my_cev3 ^ --apply-immediately

Affichage des mises à niveau de base de données en attente pour les instances de base de données RDS Custom

Vous pouvez voir les mises à niveau de base de données en attente pour vos instances de base de données personnalisées Amazon RDS à l'aide de la describe-pending-maintenance-actions AWS CLI commande describe-db-instancesor.

Notez toutefois que cette méthode ne fonctionne pas si vous avez utilisé l'option --apply-immediately ou si la mise à niveau est en cours.

La commande describe-db-instances suivante affiche les mises à niveau de base de données en attente pour my-custom-instance.

aws rds describe-db-instances --db-instance-identifier my-custom-instance

La sortie se présente comme suit :

{ "DBInstances": [ { "DBInstanceIdentifier": "my-custom-instance", "EngineVersion": "19.my_cev1", ... "PendingModifiedValues": { "EngineVersion": "19.my_cev3" ... } } ] }

Dépannage d'un échec de mise à niveau pour une instance de base de données RDS Custom Oracle

En cas d'échec de la mise à niveau d'une instance de base de données RDS Custom, un événement RDS est généré et l'état de l'instance est défini sur upgrade-failed.

Vous pouvez voir cet état à l'aide de la describe-db-instances AWS CLI commande, comme illustré dans l'exemple suivant.

aws rds describe-db-instances --db-instance-identifier my-custom-instance

La sortie se présente comme suit :

{ "DBInstances": [ { "DBInstanceIdentifier": "my-custom-instance", "EngineVersion": "19.my_cev1", ... "PendingModifiedValues": { "EngineVersion": "19.my_cev3" ... } "DBInstanceStatus": "upgrade-failed" } ] }

Après un échec de mise à niveau, toutes les actions de base de données sont bloquées, à l'exception de la modification de l'instance de base de données pour effectuer les tâches suivantes :

  • Nouvelle tentative d'exécution de la même mise à niveau

  • Suspension et reprise de l'automatisation de RDS Custom

  • oint-in-time Récupération du P (PITR)

  • Suppression d'une instance de base de données

Note

Si l'automatisation a été suspendue pour l'instance de base de données RDS Custom, vous ne pouvez pas effectuer une nouvelle tentative de mise à niveau avant de l'avoir relancée.

Les mêmes actions s'appliquent pour l'échec de mise à niveau d'un réplica en lecture géré par RDS et du réplica principal.

Pour de plus amples informations, veuillez consulter Dépannage des mises à niveau de RDS Custom for Oracle.