Sauvegarder une base de données dans le stockage d'objets à l'aide de RMAN
Cet article explique comment utiliser Recovery Manager (RMAN) pour gérer les sauvegardes des bases de données de votre système de BD dans votre propre stockage d'objets.
Pour effectuer la sauvegarde dans le service, vous devrez créer un seau de stockage d'objets pour les sauvegardes, générer un mot de passe pour le service, installer le module de sauvegarde Oracle Database Cloud, puis configurer RMAN pour envoyer des sauvegardes au service. Ce module est une interface de sauvegarde du système sur bande (SBT) qui est étroitement intégrée à RMAN, de sorte que vous pouvez utiliser les commandes RMAN habituelles pour effectuer des opérations de sauvegarde et de récupération.
Vous trouverez la mention Swift dans la console et dans l'URL du point d'extrémité du service. En effet, le module de sauvegarde est généralement utilisé pour sauvegarder dans le service Oracle Database Backup Cloud, qui est un magasin d'objets Swift OpenStack.
Conseil :
Dans un système de base de données à un seul noeud, vous pouvez utiliser DBCLI pour effectuer des sauvegardes dans le stockage d'objets. Cette approche remplace l'installation du module de sauvegarde et l'utilisation de RMAN pour les sauvegardes. Pour plus d'informations, voir Commandes objectstoreswift. Notez que les commandesdbcli
ne sont pas disponibles pour les systèmes de base de données RAC à plusieurs noeuds.
Conditions requises
Vous avez besoin des éléments suivants :
- Un système de base de données et une base à sauvegarder.
- Le réseau en nuage virtuel (VCN) du système de base de données doit être configuré avec l'accès au stockage d'objets :
- Pour l'accès au stockage d'objets dans la même région que le système de base de données : Oracle recommande d'utiliser une passerelle de service.
- Pour l'accès au service de stockage d'objets dans une région différente de celle du système de base de données : Utilisez une passerelle Internet. Il est à noter que le trafic réseau entre le système de base de données et le service de stockage d'objets ne quitte pas le nuage et n'atteint jamais le réseau Internet public.
Pour plus d'informations, voir Réseau en nuage virtuel et sous-réseaux.
- Un seau de stockage d'objets existant à utiliser comme destination de sauvegarde. Vous pouvez utiliser la console ou l'API de stockage d'objets pour créer le seau.
Pour plus d'informations, voir Gestion des seaux.
- Un jeton d'authentification généré par OCI. Vous pouvez utiliser la console ou l'API GIA pour générer le mot de passe.
Pour plus d'informations, voir Utilisation de jetons d'authentification dans Gestion des données d'identification des utilisateurs.
-
Le nom d'utilisateur (indiqué lors de l'installation et de l'utilisation du module de sauvegarde) doit disposer d'un accès de niveau location au stockage d'objets. La méthode la plus simple consiste à ajouter ce nom d'utilisateur au groupe d'administrateurs. Toutefois, elle accorde l'accès à tous les services en nuage. Il est préférable qu'un administrateur crée une politique semblable à la suivante pour limiter l'accès aux ressources du service de stockage d'objets requises pour la sauvegarde et la restauration de la base de données :
Allow group <group_name> to manage objects in compartment <compartment_name> where target.bucket.name = '<bucket_name>' Allow group <group_name> to read buckets in compartment <compartment_name>
Pour plus d'informations sur l'ajout d'un utilisateur à un groupe, voir Gestion des groupes. Pour plus d'informations, voir Introduction aux politiques.
Installer le module de sauvegarde sur le système de base de données
- Utilisez SSH pour accéder au système de base de données.
ssh -i <SSH_key_used_when_launching_the_DB_system> opc@<DB_system_IP_address_or_hostname>
- Connectez-vous en tant qu'utilisateur
opc
.login as: opc
- Utilisez
sudo
pour passer à l'utilisateuroracle
.sudo su - oracle
- Accédez au répertoire qui contient le fichier
opc_install.jar
du module de sauvegarde.cd /opt/oracle/oak/pkgrepos/oss/odbcs
- Utilisez la syntaxe de commande suivante pour installer le module de sauvegarde.
java -jar opc_install.jar -opcId <user_id> -opcPass '<auth_token>' -container <bucket_name>;-walletDir ~/hsbtwallet/ -libDir ~/lib/ -configfile ~/config -host https://swiftobjectstorage.<region_name>.oraclecloud.com/v1/<object_storage_namespace>
Les paramètres sont les suivants :
Paramètre Description -opcId
Nom d'utilisateur du compte d'utilisateur Oracle Cloud Infrastructure, par exemple :
-opcId <username>@<example>.com
.Il s'agit du nom d'utilisateur que vous utilisez pour vous connecter à la console.
L'utilisateur doit être membre du groupe d'administrateurs, tel que décrit dans la section Préalables.
Vous pouvez également spécifier le nom d'utilisateur entre guillemets simples. Cela peut être nécessaire si le nom contient des caractères spéciaux, par exemple :
-opcId 'j~smith@<example>.com'
Veillez à utiliser des guillemets simples droits et non obliques.
-opcPass
Le jeton d'authentification généré à l'aide de la console ou de l'API GIA, entre guillemets simples, par exemple :
-opcPass <password>
Veillez à utiliser des guillemets simples droits et non obliques.
Pour plus d'informations, voir Gestion des données d'identification d'utilisateur.
Il ne s'agit pas du mot de passe de l'utilisateur Oracle Cloud Infrastructure.
-container
Nom d'un seau existant dans le stockage d'objets à utiliser comme destination de sauvegarde, par exemple :
-container DBBackups
-walletDir
Répertoire dans lequel l'outil d'installation crée un portefeuille Oracle contenant le nom d'utilisateur et le jeton d'authentification d'Oracle Cloud Infrastructure.
-walletDir ~/hsbtwallet
crée le portefeuille dans le répertoire de base de l'utilisateur courant (oracle).-libDir
Répertoire dans lequel la bibliothèque SBT est stockée. Ce répertoire doit exister avant que vous exécutiez la commande. Ce paramètre permet le téléchargement de la dernière bibliothèque SBT.
-libDir ~/lib/
télécharge le fichierlibopc.so
dans le répertoire de base de l'utilisateur courant, par exemple/home/oracle/lib/libopc.so
.-configfile
Nom du fichier de paramètres d'initialisation créé par l'outil d'installation. Ce fichier est référencé par vos tâches RMAN.
-configfile ~/config
crée le fichier dans le répertoire de base de l'utilisateur courant, par exemple/home/oracle/config
.-host
URL du point d'extrémité où envoyer les sauvegardes :
https://swiftobjectstorage.<region_name>.oraclecloud.com/v1/<object_storage_namespace>
où
object_storage_namespace
est l'espace de noms du stockage d'objets de votre location. Pour plus d'informations, voir Présentation des espaces de noms du stockage d'objets.N'ajoutez pas de barre oblique après l'espace de noms du stockage d'objets.
Pour rechercher le nom de la région, voir Régions et domaines de disponibilité.
Configurer RMAN
Cette rubrique décrit comment configurer RMAN pour utiliser le seau comme destination de sauvegarde par défaut. Nous partons du principe que vous êtes encore connecté au système de base de données.
- Sur le système de base de données, définissez les variables d'environnement
ORACLE_HOME
etORACLE_SID
à l'aide de l'utilitaireoraenv
.. oraenv
- Connectez-vous à la base de données à l'aide de RMAN.
rman target /
- Configurez RMAN pour qu'il utiliser le périphérique SBT et pointe vers le fichier
config
qui a été créé lors de l'installation du module de sauvegarde. Cet exemple montre une commande pour une base de données version 12.CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/home/oracle/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/home/oracle/config)';
- Configurez RMAN pour qu'il utilise SBT_TAPE par défaut. L'exemple suivant permet la sauvegarde automatique du fichier de contrôle et du fichier spfile de sauvegarde automatique sur SBT_TAPE et configure le chiffrement. D'autres paramètres peuvent s'appliquer à votre installation : compression, nombre de canaux de sauvegarde et de récupération à utiliser, politique de conservation des sauvegardes, politique de suppression des journaux archivés, etc. Pour plus d'informations sur le choix des paramètres appropriés, consultez la documentation Oracle sur la sauvegarde et la récupération pour votre version de base de données 'Oracle.
CONFIGURE DEFAULT DEVICE TYPE TO SBT_TAPE; CONFIGURE BACKUP OPTIMIZATION ON; CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F'; CONFIGURE ENCRYPTION FOR DATABASE ON;
Note :
Les sauvegardes doivent être chiffrées. Vous indiquez le chiffrement lors de l'exécution d'une sauvegarde. Une erreur s'affiche si une sauvegarde n'est pas chiffrée.
Une fois la configuration de RMAN terminée, vous pouvez utiliser les commandes RMAN que vous utilisez régulièrement pour les sauvegardes sur bande.
Sauvegarder la base de données
Cette rubrique fournit des exemples de commandes de sauvegarde couramment utilisées.
- Définissez le chiffrement de la base de données :
SET ENCRYPTION IDENTIFIED BY "password" ONLY;
Notez que ce paramètre n'est pas permanent; vous devez le définir pour chaque nouvelle session de RMAN.
- Sauvegardez la base de données et les journaux d'archives. Voici quelques exemples de commande. Pour plus d'informations sur le choix d'une procédure de sauvegarde adaptée à vos besoins, consultez la documentation Oracle sur la sauvegarde et la récupération pour votre version de base de données Oracle. Veillez à effectuer des sauvegardes régulières pour réduire les risques de perte de données et à inclure systématiquement une copie des fichiers spfile et de contrôle. Notez que l'exemple ci-dessous utilise des sauvegardes incrémentielles à plusieurs sections, fonction ajoutée dans la version 12c. Si vous utilisez la version 11g, ignorez la clause
section size
.BACKUP INCREMENTAL LEVEL 0 SECTION SIZE 512M DATABASE PLUS ARCHIVELOG;
BACKUP INCREMENTAL LEVEL 1 SECTION SIZE 512M DATABASE PLUS ARCHIVELOG;
BACKUP INCREMENTAL LEVEL 1 CUMULATIVE SECTION SIZE 512M DATABASE PLUS ARCHIVELOG;
- Enregistrez fréquemment les journaux d'archives pour réduire les risques de perte de données et conservez plusieurs copies de sauvegarde par mesure de prévention.
BACKUP ARCHIVELOG ALL NOT BACKED UP 2 TIMES;
Lorsque la tâche de sauvegarde est terminée, vous pouvez afficher les fichiers de sauvegarde de votre seau dans la page Stockage de la console, en sélectionnant Stockage d'objets.