Mettre à jour 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.
Politique GIA requise
Pour que vous puissiez utiliser Oracle Cloud Infrastructure, un administrateur doit vous accorder un accès de sécurité au moyen d'une politique. Cet accès est requis que vous utilisiez la console ou l'API REST avec une trousse SDK, l'interface de ligne de commande ou un autre outil. Si vous obtenez un message indiquant que vous ne disposez pas de l'autorisation requise, vérifiez auprès de l'administrateur le type d'accès qui vous a été octroyé et le compartiment à utiliser.
Pour les administrateurs : La politique sous Permettre aux administrateurs de base de données de gérer les systèmes de base de données Oracle Cloud autorise le groupe indiqué à effectuer toutes les opérations sur les bases de données et sur les ressources de base de données connexes.
Pour en connaître davantage sur les politiques, voir Introduction aux politiques et Politiques communes. Pour plus de précision sur l'écriture de politiques pour les bases de données, voir Informations détaillées sur le service de base de données.
À 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 de mettre à jour la base de données dans ce système.
Pour Oracle Database, des mises à jour sont disponibles pour quatre versions les plus récentes (de N à N-3). Par exemple, si une instance utilise 21c et que la dernière version de 21c disponible 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 d'Oracle Database. Vous pouvez utiliser n'importe laquelle de ces mises à jour, mais Oracle recommande d'utiliser la plus récente.
Vous pouvez également mettre à jour Oracle Database à l'aide d'une image logicielle de base de données personnalisée. Lors d'une mise à jour à l'aide d'une image logicielle, Oracle prend en charge toute image basée sur l'une des quatre versions les plus récentes (N à N-3).
Les informations suivantes s'appliquent uniquement aux mises à jour Oracle à partir d'avril 2022 pour les mises à jour des versions 12.1 et 12.2, et à partir de juillet 2022 pour la version 19c.
Si des mises à jour intermédiaires (appelées précédemment correctif ponctuel) sont installées, elles sont repositionnées automatiquement avant l'installation de la nouvelle mise à jour. Si la nouvelle mise à jour n'inclut pas les mises à jour intermédiaires, vous pourrez les réinstaller une fois l'installation de la nouvelle mise à jour terminée.
Si des mises à jour intermédiaires sont installées dans votre base de données, pour éviter d'installer des mises à jour intermédiaires après la nouvelle mise à jour, Oracle recommande d'utiliser une image logicielle de base de données personnalisée et de mettre à jour votre base de données à l'aide de cette image.
Après avoir exécuté la vérification préalable, vous pouvez déterminer si des mises à jour intermédiaires supplémentaires sont installées en exécutant la commande suivante dans dbcli.
dbcli describe-job -i <job id>
où job id
(dbcli list-jobs
) est l'ID tâche de l'exécution de la vérification préalable.
Toutes les modifications apportées au répertoire de base Oracle sont copiées dans la base de données mise à jour et installée.
Note :
- Oracle déconseille de modifier les fichiers du répertoire de base de base de données.
- Il est essentiel de vous assurer que toutes les modifications apportées au répertoire de base sont copiées correctement. Si vous avez copié des fichiers ou des dossiers dans le répertoire de base de la base de données, tels que
tnsnames.ora
,listener.ora
, etc., vous devez sauvegarder ces fichiers manuellement.
Le système de base de données doit avoir accès aux points d'extrémité de stockage d'objets et de gestion des identités dans OCI. Si le système de base de données s'exécutant dans un sous-réseau privé n'a été configuré qu'avec une passerelle de service, sans passerelle supplémentaire (NAT, par exemple), vous devez vous assurer que la passerelle de service est configurée pour autoriser l'accès à tous les services Oracle, et pas seulement au service de stockage d'objets. Aucune modification n'est requise si les points d'extrémité des services de stockage d'objets et de gestion des identités et des accès peuvent être atteints par d'autres moyens.
Pour plus d'informations sur la liste des mises à jour de base de données actuellement disponibles, voir Mises à jour actuellement disponibles.
Note :
Les mises à jour OJVM doivent être appliquées manuellement à l'aide de l'outil OPATCH.Appliquer des mises à jour intermédiaires à l'aide d'une image logicielle de base de données
Nous ne recommandons pas d'appliquer des mises à jour intermédiaires aux systèmes de base de données. Il est préférable de créer et de déployer une image logicielle de base de données contenant les correctifs nécessaires. Si vous ne pouvez pas utiliser une image logicielle de base de données, par exemple, pour appliquer une mise à jour intermédiaire à un répertoire de base Grid Infrastructure, vous pouvez soumettre une demande de service et demander de l'aide pour télécharger une mise à jour intermédiaire.
Pour plus d'informations sur les images logicielles de base de données, voir Images logicielles.
Mettre à jour une base de données
Effectuez les étapes suivantes pour mettre à jour la base de données à partir d'une mise à jour précédente à l'aide de la console OCI :
- Dans la page de liste Systèmes de base de données, sélectionnez le système qui contient la base de données avec laquelle vous voulez travailler. Si vous avez besoin d'aide pour trouver la page de liste ou le système de base de données, voir Lister les systèmes de base de données.
- Dans l'onglet Bases de données, sélectionnez la base de données avec laquelle vous voulez travailler.
- Dans la page des détails de la base de données, sélectionnez l'onglet Mises à jour pour voir la liste des mises à jour disponibles pour la base de données.
- Dans le menu Actions pour la mise à jour qui vous intéresse, sélectionnez l'une des actions suivantes :
- Voir les détails : Voir les détails de cette mise à jour.
- Prévision : Vérifiez tous les préalables pour vous 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 vérification préalable avant d'appliquer une mise à jour.
Dans la liste, l'état affiche le statut de l'opération. Lors de l'application d'une mise à jour, l'état est Mise à jour. Le statut de la base de données affiche également Mise à jour. Les opérations du cycle de vie de la base de données et de ses ressources peuvent être temporairement non disponibles. Si la mise à jour réussit, l'état passe à Application et le statut de la base de données à Disponible.
Voir l'historique des mises à jour d'une base de données
Effectuez les étapes suivantes pour voir l'historique des mises à jour d'une base de données à l'aide de la console OCI :
Note :
L'historique des mises à jour de la console n'affiche pas les mises à jour appliquées à l'aide d'outils de ligne de commande, tels que dbcli ou l'utilitaire Patch.- Dans la page de liste Systèmes de base de données, sélectionnez le système qui contient la base de données avec laquelle vous voulez travailler. Si vous avez besoin d'aide pour trouver la page de liste ou le système de base de données, voir Lister les systèmes de base de données.
- Dans l'onglet Bases de données, sélectionnez la base de données avec laquelle vous voulez travailler.
- Dans la page de détails, sélectionnez l'onglet Historique des mises à jour pour voir l'historique des opérations de mise à jour et de mise à niveau pour cette base de données.
Appliquer une mise à jour intermédiaire
Note :
Cette rubrique s'applique uniquement aux répertoires de base des systèmes de base de données RAC à un ou plusieurs noeuds.Pour appliquer une mise à jour intermédiaire pour corriger un défaut spécifique, suivez la procédure décrite dans cette section. Utilisez l'utilitaire Opatch
pour appliquer une mise à jour intermédiaire au répertoire de base de base de données.
Note :
Dans l'exemple de procédure, le répertoire de base de données est /u02/app/oracle/product/12.1.0.2/dbhome_1 et le numéro de mise à jour, 26543344.- Obtenez la mise à jour intermédiaire appropriée sur le site My Oracle Support.
- Vérifiez les informations figurant dans le fichier
README.txt
de la mise à jour. Ce fichier contient peut-être des instructions supplémentaires ou personnalisées à suivre pour que l'application de la mise à jour aboutisse. - Utilisez SCP ou SFTP pour placer la mise à jour dans la base de données cible.
- Arrêtez chaque base de données en cours d'exécution dans le répertoire de base.
srvctl stop database -db <db name> -stopoption immediate -verbose
- Définissez la variable d'environnement du répertoire de base Oracle pour 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 où vous avez placé la mise à jour et décompressez la mise à jour.
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 y a des conflits.
cd 26543344 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
- Appliquez la mise à jour.
$ORACLE_HOME/OPatch/opatch apply
- Vérifiez que l'application de la mise à jour a réussi.
$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME
- Si le répertoire de base 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 Lisez-moi indique que la mise à jour comporte un composant
sqlpatch
, exécutez la commandedatapatch
sur chaque base de données.Avant d'exécuter
datapatch
, assurez-vous que toutes les bases de données enfichables sont ouvertes. Pour ouvrir une base de données enfichable, utilisez SQL*Plus pour exécuter ce qui suit sur la base enfichable.ALTER PLUGGABLE DATABASE <pdb name> OPEN READ WRITE
$ORACLE_HOME/OPatch/datapatch