Mise à jour d'une base de données
Cet article décrit la procédure de mise à jour d'une base de données dans un système de base de données à l'aide de la console et de l'API.
Stratégie IAM requise
Pour utiliser Oracle Cloud Infrastructure, un administrateur doit vous accorder un accès sécurisé dans une stratégie. Cet accès est requis, que vous utilisiez la console ou l'API REST avec un kit SDK, une interface de ligne de commande ou un autre outil. Si un message vous indique que vous ne disposez pas des droits d'accès ou des autorisations nécessaires, vérifiez auprès de l'administrateur le type d'accès qui vous a été accordé et le compartiment dans lequel vous devez travailler.
Pour les administrateurs : la stratégie dans Autoriser les administrateurs de base de données à gérer des systèmes de base de données Oracle Cloud permet au groupe spécifié d'effectuer toutes les opérations relatives aux bases de données et aux ressources de base de données associées.
Si vous ne connaissez pas les stratégies, reportez-vous à Introduction aux stratégies et à Stratégies courantes. Si vous voulez en savoir plus sur l'écriture des stratégies relatives aux bases de données, reportez-vous à Détails du service Database.
A propos de la mise à jour d'une base de données
Oracle recommande de mettre à jour le système de base de données avant la base de données qu'il contient.
Pour Oracle Database, les mises à jour sont disponibles pour quatre versions les plus récentes (N à N-3). Par exemple, si une instance utilise 21c et que la dernière version de 21c proposée est 21.10.0.0, 21.10.0.0, 21.9.0.0, 21.8.0.0 et 21.7.0.0 sont disponibles pour les mises à jour Oracle Database. Vous pouvez utiliser n'importe laquelle de ces mises à jour, mais Oracle recommande d'utiliser la dernière.
Vous pouvez également mettre à jour Oracle Database à l'aide d'une image logicielle de base de données personnalisée. Lorsque vous effectuez une mise à jour avec une image logicielle, Oracle prend en charge toute mise à jour avec n'importe quelle image basée sur l'une des quatre dernières versions (N à N-3).
Les éléments suivants s'appliquent uniquement aux mises à jour Oracle à compter d'avril 2022 pour 12.1 et 12.2 et de juillet 2022 pour 19c.
Si des mises à jour temporaires (précédemment appelées patches exceptionnels) sont installées, elles sont automatiquement annulées avant l'installation de la nouvelle mise à jour. Si la nouvelle mise à jour n'inclut pas les mises à jour temporaires, vous pouvez réinstaller ces dernières une fois l'installation de la nouvelle mise à jour terminée.
Si des mises à jour temporaires sont installées dans la base de données, Oracle recommande d'utiliser une image logicielle de base de données personnalisée pour la mise à jour de la base de données afin d'éviter d'installer des mises à jour temporaires après la nouvelle mise à jour.
Après l'exécution de la prévérification, vous pouvez exécuter la commande suivante dans dbcli afin de déterminer si vous avez installé des mises à jour temporaires supplémentaires.
dbcli describe-job -i <job id>
où job id
(dbcli list-jobs
) est l'ID de travail de l'exécution de la prévérification.
Toutes les modifications apportées au répertoire de base Oracle seront copiées dans la base de données récemment mise à jour et installée.
Remarques :
- Oracle déconseille de modifier les fichiers du répertoire de base de base de données.
- Il est essentiel de s'assurer que toutes les modifications apportées au répertoire de base de base de données sont copiées correctement. Si vous avez copié des fichiers ou des dossiers dans le répertoire de base de base de données, tels que
tnsnames.ora
,listener.ora
, etc., vous devez les sauvegarder manuellement.
Le système de base de données doit avoir accès aux adresses d'identité et Object Storage dans OCI. Si le système de base de données exécuté sur un sous-réseau privé a été configuré avec une passerelle de service sans aucune autre passerelle (telle qu'une passerelle NAT), vous devez vous assurer que la passerelle de service est définie de façon à autoriser l'accès à tous les services Oracle et pas uniquement à Object Storage. Aucune modification n'est requise si les adresses d'identité et Object Storage sont accessibles par d'autres moyens.
Pour plus d'informations sur la liste des mises à jour de base de données actuellement disponibles, reportez-vous à Mises à jour actuellement disponibles.
Remarques :
Les mises à jour OJVM doivent être appliquées manuellement à l'aide de l'outil OPATCH.Application de mises à jour temporaires à l'aide d'une image logicielle de base de données
Nous ne recommandons pas d'appliquer des mises à jour temporaires aux systèmes de base de données. A la place, vous devez créer et déployer une image logicielle de base de données qui contient les corrections nécessaires. Uniquement dans les cas où vous ne pouvez pas utiliser une image logicielle de base de données, par exemple pour appliquer une mise à jour temporaire à un répertoire de base GI, vous pouvez enregistrer une demande de service pour obtenir l'aide du support technique afin de télécharger une mise à jour temporaire.
Pour plus d'informations sur les images logicielles de base de données, reportez-vous à Images logicielles.
Mise à jour d'une base de données
Procédez comme suit pour mettre à jour la base de données depuis une version de mise à jour antérieure à l'aide de la console OCI :
- Sur la page de liste Systèmes de base de données, sélectionnez le système de base de données qui contient la base de données à utiliser. Si vous avez besoin d'aide pour trouver la page de liste ou le système de base de données, reportez-vous à Liste des systèmes de base de données.
- Dans l'onglet Bases de données, sélectionnez la base de données à utiliser.
- Sur la page de détails de la base de données, sélectionnez l'onglet Mises à jour pour afficher la liste des mises à jour disponibles pour la base de données.
- Dans le menu Actions de la mise à jour que vous souhaitez, sélectionnez l'une des actions suivantes :
- Afficher les détails : affiche les détails de cette mise à jour.
- Prévérifier : permet de rechercher les prérequis pour s'assurer que la mise à jour peut être appliquée.
- Appliquer la mise à jour : applique la mise à jour sélectionnée. Oracle recommande d'exécuter l'opération de prévérification pour une mise à jour avant de l'appliquer.
Dans la liste, l'état affiche le statut de l'opération. Pendant l'application d'une mise à jour, l'état indique Mise à jour. Le statut de la base de données est également Mise à jour. Les opérations de cycle de vie sur la base de données et ses ressources peuvent être temporairement indisponibles. Une fois la mise à jour terminée, l'état devient Application et le statut de la base de données devient Disponible.
Affichage de l'historique de mise à jour de base de données
Pour afficher l'historique de la mise à jour d'une base de données à l'aide de la console OCI, procédez comme suit :
Remarques :
L'historique des mises à jour dans la console n'affiche pas celles qui ont été appliquées via des outils de ligne de commande, tels que dbcli ou l'utilitaire de patch.- Sur la page de liste Systèmes de base de données, sélectionnez le système de base de données qui contient la base de données à utiliser. Si vous avez besoin d'aide pour trouver la page de liste ou le système de base de données, reportez-vous à Liste des systèmes de base de données.
- Dans l'onglet Bases de données, sélectionnez la base de données à utiliser.
- Sur la page de détails, sélectionnez l'onglet Historique des mises à jour pour visualiser l'historique des opérations de mise à jour et de mise à niveau de cette base de données.
Application d'une mise à jour temporaire
Remarques :
Cette rubrique s'applique uniquement aux répertoires de base de base de données des systèmes de base de données RAC à noeud unique et à plusieurs noeuds.Si vous devez appliquer une mise à jour temporaire pour corriger un défaut spécifique, suivez la procédure décrite dans cette section. Servez-vous de l'utilitaire Opatch
pour appliquer une mise à jour temporaire au répertoire de base de base de données.
Remarques :
Dans l'exemple de procédure, le répertoire de base de la base de données est /u02/app/oracle/product/12.1.0.2/dbhome_1 et le numéro de mise à jour est 26543344.- Obtenez la mise à jour temporaire applicable à partir de My Oracle Support.
- Passez en revue les informations du fichier
README.txt
relatif à la mise à jour. Ce fichier peut contenir des instructions supplémentaires et/ou personnalisées à suivre pour appliquer la mise à jour correctement. - Utilisez SCP ou SFTP pour placer la mise à jour dans la base de données cible.
- Arrêtez toutes les bases de données en cours d'exécution dans le répertoire de base de base de données.
srvctl stop database -db <db name> -stopoption immediate -verbose
- Définissez la variable d'environnement du répertoire de base Oracle de sorte qu'elle pointe vers le répertoire de base Oracle cible.
sudo su - oracle export ORACLE_HOME=/u02/app/oracle/product/12.1.0.2/dbhome_1
- Accédez au répertoire dans lequel vous avez placé la mise à jour et décompressez-la.
cd <working directory where opatch is stored> unzip p26543344_122010_Linux-x86-64.zip
- Accédez au répertoire contenant la mise à jour décompressée et vérifiez s'il existe des conflits.
cd 26543344 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
- Appliquez la mise à jour.
$ORACLE_HOME/OPatch/opatch apply
- Vérifiez que la mise à jour a été appliquée.
$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME
- Si le répertoire de base de base de données contient des bases de données, redémarrez-les.
$ORACLE_HOME/bin/srvctl start database -db <db name>
Sinon, exécutez la commande suivante en tant qu'utilisateur
root
.# /u01/app/<db version>/grid/bin/setasmgidwrap o=/u01/app/oracle/product/<db version>/dbhome_1/bin/oracle
- Si le fichier README indique que la mise à jour dispose d'un composant
sqlpatch
, exécutez la commandedatapatch
sur chaque base de données.Avant d'exécuter la commande
datapatch
, assurez-vous que toutes les bases de données pluggables sont ouvertes. Pour ouvrir une base de données pluggable, vous pouvez utiliser SQL*Plus afin d'exécuter les commandes suivantes sur celle-ciALTER PLUGGABLE DATABASE <pdb name> OPEN READ WRITE
$ORACLE_HOME/OPatch/datapatch