Que dois-je savoir lorsque j'effectue une mise à niveau majeure d'Amazon RDS pour Oracle ?
Je dispose d’une instance de base de données Amazon Relational Database Service (Amazon RDS) qui exécute Oracle. Je veux savoir à quoi je peux m'attendre lorsque j'effectue une mise à niveau de version majeure.
Brève description
Lorsqu'Amazon RDS prend en charge une nouvelle version de la base de données Oracle, vous pouvez mettre à niveau la version actuelle de votre base de données Oracle vers une version ultérieure. Après cela, vous pouvez effectuer une mise à niveau de version majeure. Une version majeure peut inclure des mises à jour, de nouvelles fonctionnalités, des correctifs de sécurité, des améliorations de l'optimiseur et des améliorations de performances. Il est recommandé de tester les fonctionnalités, la compatibilité et les performances de votre application par rapport à la nouvelle version de la base de données Oracle dans des environnements hors production avant de mettre à niveau votre base de données de production.
Résolution
Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l’interface de la ligne de commande AWS (AWS CLI), consultez la page Résoudre les erreurs liées à AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'AWS CLI.
Avant la mise à niveau
Avant d'effectuer la mise à niveau de la version majeure, tenez compte des points suivants :
Chemin de mise à niveau
Vérifiez le chemin de mise à niveau pris en charge depuis la version actuelle de votre base de données Oracle vers la version majeure la plus récente de la base de données Oracle. Pour vérifier les chemins de mise à niveau valides, exécutez la commande de l’AWS CLI suivante.
Pour Windows :
aws rds describe-db-engine-versions --engine engine-edition --engine-version current- engine-version --query "DBEngineVersions[*].ValidUpgradeTarget[? IsMajorVersionUpgrade==`true`].EngineVersion"
Pour Linux, macOS ou Unix :
aws rds describe-db-engine-versions --engine engine-edition --engine-version current- engine-version --query 'DBEngineVersions[*].ValidUpgradeTarget[? IsMajorVersionUpgrade==`true`].EngineVersion'
Remarque : veillez à remplacer les valeurs suivantes dans les commandes précédentes : ** engine-edition** par l'édition du moteur de base de données et current-engine-version par la version actuelle du moteur de base de données.
Supposons, par exemple, que vous disposiez d'une instance Amazon RDS pour Oracle 19.0.0.0.ru-2024-04.rur-2024-04.r1. Pour en savoir plus sur toutes les versions majeures valides vers lesquelles vous pouvez mettre à niveau vos instances RDS pour Oracle, exécutez la commande suivante.
Pour Windows :
aws rds describe-db-engine-versions --engine oracle-ee-cdb --engine-version 19.0.0.0.ru-2024-04.rur-2024-04.r1 --query "DBEngineVersions[*].ValidUpgradeTarget[? IsMajorVersionUpgrade==`true`].EngineVersion"
Pour Linux, macOS ou Unix :
aws rds describe-db-engine-versions --engine oracle-ee-cdb --engine-version 19.0.0.0.ru-2024-04.rur-2024-04.r1 --query 'DBEngineVersions[*].ValidUpgradeTarget[? IsMajorVersionUpgrade==`true`].EngineVersion'
Remarque : Amazon RDS pour Oracle prend en charge les mises à niveau de version majeures de 19c CDB à 21c. Amazon RDS pour Oracle ne prend pas en charge les mises à niveau de version majeures non CDB (12.1, 12.2, 19c) vers la version 21c. Pour contourner ce problème, convertissez d'abord une base de données Oracle 19c non CDB en base de données Oracle 19c CDB. Puis, mettez à niveau la base de données Oracle 19c CDB vers une base de données Oracle 21c CDB. Pour plus d'informations, consultez les sections Considérations relatives aux mises à niveau de la base de données Oracle et Conversion d'un RDS pour Oracle non-CDB en CDB.
Classe d'instance
Vérifiez que votre classe d'instance actuelle est prise en charge pour la version majeure vers laquelle vous prévoyez de procéder à la mise à niveau. Pour plus d'informations sur les classes d'instance prises en charge par RDS pour Oracle, consultez la section Classes d'instance RDS pour Oracle DB prises en charge. Pour vérifier la classe d'instance prise en charge, exécutez la commande de l’AWS CLI suivante.
Pour Windows :
aws rds describe-orderable-db-instance-options --engine engine-edition --engine-version new-engine-version --region example-region --query "OrderableDBInstanceOptions[*].DBInstanceClass"
Pour Linux, macOS ou Unix :
aws rds describe-orderable-db-instance-options --engine engine-edition --engine-version new-engine-version --region example-region --query 'OrderableDBInstanceOptions[*].DBInstanceClass'
Veillez à remplacer les valeurs suivantes dans les commandes précédentes :
- engine-edition par l’édition du moteur de base de données.
- new-engine-version par la nouvelle version vers laquelle vous prévoyez d’effectuer la mise à niveau.
- example-region par la région que vous utilisez.
Supposons, par exemple, que vous souhaitiez effectuer une mise à niveau vers une instance RDS pour Oracle 19.0.0.0.ru-2024-04.rur-2024-04.r1. Pour en savoir plus sur les classes d'instance qui prennent en charge la version majeure dans une région spécifique, exécutez la commande suivante :
aws rds describe-orderable-db-instance-options --engine oracle-ee-cdb --engine-version 19.0.0.0.ru-2024-04.rur-2024-04.r1 --region us-east-1 --query "OrderableDBInstanceOptions[*].DBInstanceClass"
Assurez-vous de remplacer us-east-1 dans la commande par la région de votre choix.
Compatibilité client
Vérifiez que les versions du client ou du pilote Oracle sont compatibles avec la nouvelle version majeure. Vérifiez si les pilotes doivent être mis à niveau en même temps que la mise à niveau de la version majeure. Pour plus d'informations sur l'interopérabilité, consultez la page Interopérabilité du client de base de données Oracle et de la base de données Oracle sur le site Web d'Oracle.
Méthode de mise à niveau
Vous pouvez utiliser l'une des méthodes suivantes pour effectuer la mise à niveau de la version majeure :
- Modifiez l'instance RDS et appliquez la nouvelle version majeure.
Remarque : cette méthode implique une certaine durée d’indisponibilité. - Créez une nouvelle instance RDS avec la version majeure, puis migrez les données avec AWS Data Migration Service (AWS DMS).
Remarque : AWS DMS utilise une approche minimaliste pour migrer les données et crée uniquement les objets nécessaires à une migration efficace des données. AWS DMS crée des tables, des clés primaires et, dans certains cas, des index uniques. Cependant, il ne crée aucun autre objet qui ne soit pas nécessaire pour migrer efficacement les données depuis la source. Par exemple, AWS DMS ne crée pas d'index secondaires, de contraintes de clé non primaires ni de valeurs de données par défaut. Pour plus d'informations, consultez la section Vue d’ensemble d'AWS DMS.
Groupe de paramètres personnalisés
Si votre instance possède un groupe de paramètres personnalisés, créez d'abord un nouveau groupe de paramètres pour la nouvelle version majeure. Définissez ensuite les paramètres personnalisés selon vos besoins. Pour identifier les paramètres personnalisés que vous utilisez actuellement, comparez le groupe de paramètres personnalisés actuel avec le groupe de paramètres par défaut de la version actuelle.
Groupe d'options personnalisées
Si votre instance possède un groupe d'options personnalisées, créez-en un nouveau pour la version majeure. Si votre groupe d'options comporte des options persistantes ou permanentes, les mêmes options doivent être incluses dans le nouveau groupe d'options personnalisées. Pour mettre à niveau la version du fichier de fuseau horaire vers la dernière version disponible, ajoutez l'option TIMEZONE_FILE_AUTOUPGRADE au nouveau groupe d'options personnalisées.
Statistiques du dictionnaire
Les statistiques du dictionnaire et les statistiques des objets fixes peuvent réduire la durée d’indisponibilité des instances pendant la mise à niveau. Pour recueillir les statistiques, exécutez la commande suivante :
SQL> EXEC DBMS_STATS.GATHER_DICTIONARY_STATS; SQL> EXEC DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;
Objets qui ne sont pas valides
Assurez-vous que votre base de données ne contient pas d'objets non valides. Pour vérifier si des objets ne sont pas valides, exécutez la commande suivante :
SQL> SELECT OWNER, STATUS, COUNT (*) FROM DBA_OBJECTS GROUP BY OWNER, STATUS;
Si la sortie affiche des objets non valides, vérifiez l'objet qui ne l'est pas, puis exécutez la commande suivante :
SQL> SELECT OWNER, OBJECT_NAME, OBJECT_TYPE FROM DBA_OBJECTS WHERE STATUS != 'VALID';
Pour compiler la liste des objets qui ne sont pas valides dans le schéma, exécutez la commande suivante :
SQL> EXEC DBMS_UTILITY.compile_schema(schema => 'ADMIN', compile_all => false);
Veillez à remplacer ADMIN dans la requête par le nom de votre schéma.
Pistes d'audit
Assurez-vous que les pistes d'audit ne sont pas longues. Les vérifications préalables à la mise à niveau et les mises à niveau peuvent prendre plus de temps lorsque les pistes d'audit sont longues. Pour plus d'informations, consultez la section Comment tronquer la table sys.aud$ sur mon instance de base de données Amazon RDS qui exécute Oracle ?Utilisez la procédure DBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL pour supprimer les pistes d'audit. Pour plus d'informations, consultez la page CLEAN_AUDIT_TRAIL Procedure sur le site Web d'Oracle.
Mots de passe
Pour vérifier que vous n'utilisez pas de versions antérieures de vos mots de passe, exécutez la commande suivante :
SQL> SELECT USERNAME,PASSWORD_VERSIONS FROM DBA_USERS;
Si l'utilisateur utilise une version 10g d'un mot de passe, vérifiez si vous pouvez recréer l'utilisateur avec une version plus récente du mot de passe. Il est recommandé d'utiliser une version de mot de passe ultérieure. Si vous ne parvenez pas à corriger la version du mot de passe de l'utilisateur, définissez le paramètre SQLNET.ALLOWED_LOGON_VERSION_SERVER selon vos besoins pour éviter les erreurs de connexion.
Le paramètre sqlnetora.sqlnet.allowed_logon_version_server indique la version minimale du protocole d'authentification autorisée lorsque vous vous connectez au serveur de base de données. Pour plus d'informations, consultez la page SQLNET.ALLOWED_LOGON_VERSION_SERVER sur le site Web d'Oracle. Un paramètre de 8 autorise la plupart des versions de mot de passe et autorise également toute combinaison des valeurs DBA_USERS.PASSWORD_VERSIONS 10G, 11G et 12C.
Le paramètre sqlnetora.sqlnet.allowed_logon_version_client indique le protocole d'authentification minimal utilisé lorsque la base de données agit en tant que client. Pour plus d'informations, consultez les pages SQLNET.ALLOWED_LOGON_VERSION_CLIENT et Vérification des comptes à l'aide d'une version de mot de passe insensible aux majuscules sur le site Web d'Oracle sur le site Web d’Oracle.
DBMS_JOB
Le package DBMS_JOB est abandonné avec la mise à niveau de la base de données Oracle 12c version 2. Il est recommandé de convertir toutes les tâches DBMS_JOB en tâches DBMS_SCHEDULER avant de migrer vers la version 19c. Au cours de la mise à niveau, Oracle convertit les tâches DBMS_JOB en tâches DBMS_SCHEDULER. Pour plus d'informations, consultez la page Prise en charge de DBMS_JOB sur le site Web d'Oracle. Si vous disposez d'un grand nombre d'entrées DBMS_JOB, la mise à niveau peut prendre plus de temps.
FreeStorageSpace
Vérifiez que votre instance n'est pas proche de sa capacité de stockage. Pour vérifier que vous disposez d’un espace de stockage suffisant disponible pour la mise à niveau, consultez la métrique CloudWatch FreeStorageSpace. Pour plus d'informations, consultez la section Comment puis-je créer des alarmes CloudWatch pour surveiller l’espace de stockage disponible d’Amazon RDS et éviter les problèmes de saturation de l’espace de stockage ?
Actions de maintenance
Vérifiez si des actions de maintenance sont en attente sur votre instance dans la console Amazon Aurora et RDS. Ces actions de maintenance en attente sont appliquées pendant la fenêtre de mise à niveau. Pour les instances Multi-AZ, si aucune mise à jour du système d'exploitation n'est requise, les mises à niveau principales et de secours ont lieu simultanément. Si des mises à jour du système d'exploitation sont requises, Amazon RDS applique la mise à niveau comme indiqué dans la section Mises à niveau Oracle dans un déploiement multi-AZ.
Instantané manuel
Il est recommandé de créer un instantané manuel de votre instance de base de données RDS pour Oracle :
- Vous pouvez utiliser l'instantané pour revenir à la version précédente, à condition que celle-ci soit prise en charge par Amazon RDS.
- Une mise à niveau de version majeure crée généralement un instantané automatique. Les instantanés Amazon Elastic Block Store (Amazon EBS) étant incrémentiels, le nouvel instantané comporte moins de modifications à sauvegarder. Créez un instantané manuel pour réduire le temps nécessaire à la création de l'instantané automatique et le temps total nécessaire pour terminer la mise à niveau.
Configuration actuelle
Pour afficher la configuration actuelle de votre instance et enregistrer la sortie, exécutez la commande suivante. La sortie affiche des informations sur le groupe d'options, le groupe de paramètres, les groupes de sécurité et les identifications qui sont attachés à l'instance RDS pour Oracle actuelle. Pour revenir en arrière et effectuer une restauration à partir d'un instantané ou effectuer une restauration instantanée, utilisez les informations que vous récupérez à l'aide de la commande suivante :
> aws rds describe-db-instances --db-instance-identifier example-instance-name --region example-region
Assurez-vous de remplacer les valeurs suivantes dans la requête :
- example-instance-name par le nom de votre instance RDS pour Oracle.
- example-region par la région de votre choix.
Tablespace Undo
Assurez-vous que votre Tablespace Undo est défini sur la taille adéquate pour éviter les opérations de redimensionnement lors de la mise à niveau.
Déclencheurs
Exécutez la commande suivante pour répertorier vos déclencheurs d'ouverture de session, de fermeture de session et de démarrage :
SQL> SELECT OWNER, TRIGGER_NAME, TRIGGER_TYPE, TRIGGERING_EVENT, TABLE_OWNER, STATUS, ACTION_TYPE, TRIGGER_BODY FROM DBA_TRIGGERS WHERE TRIGGERING_EVENT LIKE '%LOGO%' or TRIGGERING_EVENT LIKE '%STARTUP%';
Vérifiez que les déclencheurs sont valides et fonctionnels. Bien que le déclencheur soit valide et se compile correctement, il peut générer une erreur lors de l'exécution et interférer avec le redémarrage de la base de données. Vérifiez s'il existe des déclencheurs d'ouverture de session, de fermeture de session ou de démarrage qui génèrent une erreur lors de leur exécution.
Pour désactiver ces déclencheurs, exécutez les commandes suivantes :
SQL> ALTER TRIGGER EXAMPLE-OWNER.EXAMPLE-TRIGGER DISABLE;
Assurez-vous de remplacer les valeurs suivantes dans la commande :
- EXAMPLE-OWNER par le nom du schéma dans lequel vous avez créé le déclencheur.
- EXAMPLE-TRIGGER par le nom du déclencheur.
Exemple :
--To disable AUDIT_USERS trigger in MYADMIN schema SQL> ALTER TRIGGER MYADMIN.AUDIT_USERS DISABLE;
Pendant la mise à niveau
Après avoir démarré la mise à niveau, surveillez la progression de la mise à niveau et vérifiez les points suivants dans la console Aurora et RDS :
- Le journal des alertes qui se trouve sous l'onglet Journaux et événements de votre instance
- Événements récents situés dans l'onglet Journaux et événements de votre instance
Après la mise à niveau
-
Pour vérifier la version du correctif après que vous vous êtes connecté à la base de données, exécutez les commandes suivantes :
SQL> SELECT * FROM sys.registry$history; SQL> SELECT INSTALL_ID,PATCH_ID,ACTION,STATUS,ACTION_TIME,DESCRIPTION FROM DBA_REGISTRY_SQLPATCH; -
Amazon RDS met à jour les fichiers lsinventory-dbv.txt dans l'heure qui suit l'application du correctif. Téléchargez ce fichier depuis l'onglet Journaux et événements de votre instance dans les consoles Aurora et RDS. Pour vérifier les correctifs appliqués, lisez le fichier Isinventory-dbv.txt.
-
Pour recueillir des statistiques sur les dictionnaires et les objets fixes, exécutez les commandes suivantes :
SQL> EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;SQL> EXEC DBMS_STATS.GATHER_FIXED_OBJECTS_STATS; -
Pour vérifier que le nombre d'objets valides ou non correspond au nombre d'objets avant la mise à niveau, exécutez la commande suivante :
SQL> SELECT OWNER, STATUS, COUNT(*) from DBA_OBJECTS GROUP BY OWNER, STATUS; -
Pour compiler tous les objets du schéma qui ne sont pas valides, exécutez la commande suivante :
SQL> EXEC DBMS_UTILITY.compile_schema(schema => 'ADMIN', compile_all => false); -
Si vous rencontrez des problèmes de performances de commande après la mise à niveau en raison des fonctionnalités de l'optimiseur de la nouvelle version majeure, vous pouvez utiliser le paramètre OPTIMIZER_FEATURES_ENABLE. Pour plus d'informations, consultez la page OPTIMIZER_FEATURES_ENABLE sur le site Web d'Oracle. Vous pouvez modifier ce paramètre au niveau de la session et au niveau du système. Supposons, par exemple, que vous mettiez à niveau votre base de données de la version 18.1 vers la version 19.1, mais que vous souhaitiez conserver le comportement de l'optimiseur de la version 18.1. Pour ce faire, définissez la valeur du paramètre OPTIMIZER_FEATURES_ENABLE sur 18.1.0.
Informations connexes
- Sujets
- Database
- Langue
- Français

Contenus pertinents
demandé il y a 3 ans
demandé il y a 2 ans
demandé il y a 3 ans
demandé il y a un an