Maison >Tutoriel système >Linux >Vous apprendre à configurer une sauvegarde quotidienne automatique de la base de données Oracle sous Linux
La base de données Oracle est le système de gestion de bases de données relationnelles le plus couramment utilisé dans les applications d'entreprise. Les données étant essentielles à une entreprise, il est très important de sauvegarder régulièrement votre base de données Oracle. Sur les systèmes Linux, vous pouvez utiliser divers outils de sauvegarde pour sauvegarder et restaurer les bases de données Oracle. Cet article vous présentera la méthode de sauvegarde de la base de données Oracle sur le système Linux, vous permettant de protéger facilement la sécurité des données de l'entreprise.
Cet article prend le système CentOS 7.6 et Oracle 11g comme exemples pour vous apprendre à configurer une sauvegarde quotidienne automatique de la base de données Oracle sous Linux.
1. Trouvez d'abord les variables d'environnement de la base de données
Si vous êtes sous le compte root, vous devez d'abord vous connecter au compte où se trouve la base de données
su oracle cat ~/.bash_profile
export PATH export ORACLE_BASE=/home/nnc_db/app export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export PATH=$PATH:$ORACLE_HOME/bin export ORACLE_SID=orcl
Des variables d'environnement ont été trouvées !
2. Modifiez le fichier de script de sauvegarde
vi bak.sh
Copiez et collez d'abord les variables d'environnement dans le fichier bak.sh,
Définissez ensuite une date variable (son rôle est de nommer les fichiers sauvegardés chaque jour pour une identification facile), et utilisez la commande expdp pour exporter la base de données. Le code est le suivant :
date=$(date +%Y%m%d) expdp 数据库账号/数据库密码@数据库实例名 dumpfile=${date}_db_auto_backup.dmp schemas=数据库账号名 compression=all
Quittez et enregistrez.
3. Utilisez la commande Linux crontab pour configurer des tâches planifiées
crontab -e
crontab -e est utilisé pour configurer des tâches planifiées à l'aide d'un éditeur de texte (l'utilisation spécifique de crontab ne sera pas décrite ici
) ;Entrez dans l'éditeur de texte après avoir tapé
0 0 * * * /home/nnc_db/bak.sh
Le code ci-dessus signifie exécuter le fichier bak.sh sous /home/nnc_db à 0h00 tous les jours, qui est le fichier créé à la deuxième étape. Il doit être ajusté en fonction de son propre heure de sauvegarde et de son répertoire de fichiers ;
Puis redémarrez le service crond
service crond restart
4. Testez si la tâche s'exécute avec succès
D'après les informations que j'ai collectées en ligne, certains amis ont dit que crontab -e ne prendrait pas effet trois minutes après la réussite de la configuration ! C'est-à-dire que si vous définissez une tâche à 10h00 et que vous souhaitez tester si elle peut réussir, et que vous définissez la prochaine tâche planifiée à 10h02, des problèmes peuvent survenir ! Mais ici j'utilise
* * * * * /home/nnc_db/bak.shRéglé pour fonctionner toutes les minutes et n'a trouvé aucun problème. Un autre gros piège pour les débutants est que si vous exécutez directement le fichier de script, le processus détaillé sera affiché sur la ligne de commande, mais si vous configurez une tâche planifiée à exécuter, il n'y aura aucune réponse ! Donc, si vous voulez voir si votre script s'exécute automatiquement, vous devez aller dans /var/spool/mail/ et consulter le fichier journal, comme indiqué sur l'image
Dans cet article, nous présentons les méthodes de sauvegarde et de restauration de la base de données Oracle à l'aide des outils RMAN, expdp et impdp, et développons les avantages et les inconvénients de chaque méthode. Que vous soyez un administrateur de bases de données débutant ou expérimenté, ces conseils vous aideront à sécuriser les données de votre entreprise. Si vous rencontrez des problèmes ou avez des questions pendant le processus de sauvegarde, n'hésitez pas à laisser un message dans la zone de commentaires et nous serons heureux de répondre à vos questions.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!