-
Pourquoi la sauvegarde automatisée est-elle nécessaire ?
-
Méthodes de sauvegarde automatisées d'Oracle Database
-
Comment configurer une sauvegarde quotidienne automatique de la base de données Oracle sous Windows ?
-
Comment configurer une sauvegarde quotidienne automatique de la base de données Oracle sur Linux ?
-
Outil de récupération automatique après sinistre Oracle
-
Auto Backup FAQ sur les bases de données Oracle
-
Conclusion
Oracle Database est l'une des bases de données les plus utilisées au monde aujourd'hui. Grâce à ses fonctionnalités puissantes, sa stabilité et sa sécurité, elle est largement appliquée dans de nombreux domaines. Pour les administrateurs de bases de données (DBA), assurer le bon fonctionnement de la base de données et la sécurité des données est une tâche extrêmement importante. Dans le cadre du travail quotidien de maintenance de la base de données, effectuer régulièrement des sauvegardes est une opération essentielle. Oracle Database propose plusieurs méthodes de sauvegarde, notamment la sauvegarde manuelle et la sauvegarde avec RMAN, la sauvegarde automatisée étant l'une des méthodes qui assurent efficacement la sécurité des données. La sauvegarde automatisée réduit non seulement les opérations manuelles et minimise les erreurs, mais permet également une récupération rapide des données en cas de panne de la base de données.
Pourquoi la sauvegarde automatisée est-elle nécessaire ?
En tant que stockage de données central des applications, les bases de données contiennent une grande quantité d'informations critiques, telles que les données utilisateur et les informations de configuration. Si la base de données subit des défaillances imprévues ou une perte de données, cela pourrait avoir des impacts sérieux, voire entraîner des pertes importantes pour l'activité. Il est donc essentiel d'effectuer régulièrement des sauvegardes de la base de données et de garantir le stockage sécurisé des fichiers de sauvegarde.
Les sauvegardes manuelles présentent de nombreux inconvénients, notamment être sujettes à la négligence et ne pas être effectuées en temps opportun. Ainsi, les sauvegardes automatisées deviennent un meilleur choix. En écrivant des scripts pour réaliser des sauvegardes automatiques, on peut améliorer l'efficacité, réduire les erreurs humaines et mieux garantir la sécurité des données.
Méthodes de sauvegarde automatisées d'Oracle Database
Dans Oracle Database, la sauvegarde automatisée peut être réalisée à l'aide du planificateur de tâches du système d'exploitation (comme les cron jobs) et des outils intégrés d'Oracle. En écrivant des scripts, il est possible de configurer des tâches planifiées pour exécuter automatiquement des opérations de sauvegarde à des heures prédéfinies. Les outils couramment utilisés pour la sauvegarde automatisée dans Oracle incluent Data Pump et RMAN. Data Pump sert à exporter les données de la base de données, tandis que RMAN est principalement chargé de la sauvegarde et de la récupération de la base de données.
Data Pump (expdp/impdp) offre un export/import efficace des bases de données avec des fonctionnalités telles que la compression, le transfert réseau et le traitement parallèle. Il permet aux administrateurs de base de données de définir des paramètres d'exportation et d'automatiser les sauvegardes via des tâches planifiées (cron jobs). RMAN (Recovery Manager) est conçu pour la sauvegarde et la récupération complète des bases de données, prenant en charge les sauvegardes incrémentielles et physiques ainsi que le suivi des fichiers de sauvegarde. Il permet l'automatisation des sauvegardes à travers des scripts et la planification système. Oracle Enterprise Manager (OEM) propose une interface graphique pour la gestion des sauvegardes, tandis que des outils tiers s'intègrent également à Oracle pour automatiser les sauvegardes.
Comment configurer une sauvegarde quotidienne automatique de la base de données Oracle sous Windows ?
Dans un environnement Windows, la sauvegarde automatisée quotidienne et la suppression des sauvegardes de la base de données Oracle peuvent être réalisées à l'aide du Planificateur de tâches.
1. Créer un fichier batch (.bat)
1.1 Script simple
exp user/password@ORCL direct=y buffer=100000 file=D:\backup\dmp%date:~0,10% LOG=D:\backup\data.log forfiles /p "D:\backup" /s /m *.dmp /d -7 /c "cmd /c del @path"
Explication :
La commande exp est la commande de sauvegarde d'Oracle, où %date:~0,10% extrait la date en DOS.
forfiles est une commande de recherche de fichiers Windows qui recherche les fichiers .dmp créés dans le répertoire de sauvegarde au cours des trois derniers jours et les supprime.
Paramètres de forfiles :
/p spécifie le chemin de recherche (dans ce cas, le répertoire où les fichiers de sauvegarde sont stockés).
/m recherche les fichiers à l'aide d'un masque (par exemple, .dmp pour les fichiers de vidage de sauvegarde).
/d filtre les fichiers modifiés avant ou après une date spécifique (-3 signifie les fichiers plus vieux de trois jours).
/s inclut les sous-répertoires.
/c spécifie la commande à exécuter sur chaque fichier (par exemple, cmd /c del @file pour supprimer le fichier).
1.2 Script avancé
@echo off echo ================================================ echo Oracle Database Automated Backup Script in Windows echo 1. Uses the current date as the backup file name. echo 2. Automatically deletes backups older than 7 days. echo ================================================ :: Extract year, month, day, hour, minute, and second. set dd=%DATE:~8,2% set mm=%DATE:~5,2% set yy=%DATE:~0,4% set Tss=%TIME:~6,2% set Tmm=%TIME:~3,2% set Thh=%TIME:~0,2% set Thh=%Thh: =0% :: Generate timestamp in YYYYMMDDHHmmss format. set BACKUPDATE=%yy%%mm%%dd%%Thh%%Tmm%%Tss% :: Set username, password, and database name. set USER=admin set PASSWORD=admin set DATABASE=ORCL :: Create backup directories if they do not exist. if not exist "D:\backup_database\data" mkdir D:\backup_database\data if not exist "D:\backup_database\log" mkdir D:\backup_database\log set DATADIR=D:\backup_database\data set LOGDIR=D:\backup_database\log :: Perform the backup. exp %USER%/%PASSWORD%@%DATABASE% file=%DATADIR%\data_%BACKUPDATE%.dmp log=%LOGDIR%\log_%BACKUPDATE%.log :: Delete backups and logs older than 7 days. forfiles /p "%DATADIR%" /s /m *.* /d -7 /c "cmd /c del @path" forfiles /p "%LOGDIR%" /s /m *.* /d -7 /c "cmd /c del @path" exit
Remarque : Si des caractères chinois apparaissent incorrects lors de l'exécution du script, enregistrez le fichier au format ANSI à l'aide du Bloc-notes.
2. Créer une tâche planifiée dans Windows
Ouvrez le Planificateur de tâches Windows :
Control Panel → System and Security → Administrative Tools → Task Scheduler
Ouvrez l’assistant "Create Basic Task" à partir du panneau de droite.
Entrez un nom de tâche et une description facultative, puis cliquez sur Next.
Définissez le déclencheur comme Daily.
Choisissez Start a Program, recherchez le fichier batch, puis terminez la configuration.
Comment configurer une sauvegarde quotidienne automatique de la base de données Oracle sur Linux ?
1. Identifier les variables d'environnement de la base de données
Si vous utilisez le compte racine, vous devez d'abord passer à l'utilisateur de la base de données :
su oracle
Vérifiez les variables d'environnement :
cat ~/.bash_profile
Assurez-vous que les variables d'environnement suivantes sont définies :
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
2. Créer le script de sauvegarde
Modifier un nouveau fichier script :
vi bak.sh
Copiez et collez les variables d'environnement dans `bak.sh`. Ensuite, définissez une variable `date` (utilisée pour nommer les fichiers de sauvegarde) et utilisez la commande `expdp` pour exporter la base de données :
date=$(date +%Y%m%d) expdp db_username/db_password@db_instance dumpfile=${date}_db_auto_backup.dmp schemas=db_username compression=all
Enregistrer et quitter.
3. Planifier la sauvegarde à l'aide de crontab
Éditez le fichier crontab :
crontab -e
Dans l'éditeur de texte, ajoutez la ligne suivante :
0 0 * * * /home/nnc_db/bak.sh
Cela signifie que le script `/home/nnc_db/bak.sh` s'exécutera quotidiennement à minuit. Ajustez l'heure et le chemin du fichier selon vos besoins.
Redémarrer le service cron :
service crond restart
4. Vérifiez que la tâche s'exécute correctement
Certains utilisateurs ont signalé que les tâches crontab pourraient ne pas être immédiatement effectives au cours des trois premières minutes suivant leur configuration. Pour tester si votre script s'exécute correctement, vous pouvez le planifier pour qu'il s'exécute chaque minute :
* * * * * /home/nnc_db/bak.sh
Si le script s'exécute correctement, le problème est probablement dû à un délai dans l'activation du crontab.
En outre, l'exécution manuelle du script affichera une sortie détaillée, mais lorsqu'elle est planifiée via `crontab`, il n'y aura pas de sortie directe. Pour vérifier si le script s'exécute, consultez les journaux dans :
/var/spool/mail/
Outil de récupération automatique après sinistre Oracle
Vinchin Backup & Recovery est un outil performant de sauvegarde et de récupération dédié aux machines virtuelles et aux bases de données. Il propose des fonctionnalités avancées de sauvegarde et de reprise après sinistre, notamment la sauvegarde automatique des machines virtuelles, la sauvegarde sans agent, la sauvegarde LAN/LAN-Free, la copie hors site, la récupération instantanée, une réduction efficace des données, l'archivage dans le cloud, etc., en suivant strictement l'architecture de sauvegarde dorée 3-2-1 afin d'assurer pleinement la sécurité et l'intégrité de vos données. En outre, le chiffrement des données et la protection contre les logiciels rançongen vous offrent une double garantie pour protéger vos sauvegardes de bases de données.
Sauvegarder une base de données Oracle ne vous prendra que 4 étapes :
1. Sélectionner l'objet de sauvegarde.
2. Sélectionner la destination de la sauvegarde.
3. Configurer les stratégies de sauvegarde.
Ici, vous pouvez configurer des plannings pour vos tâches de sauvegarde. Vous pouvez effectuer des sauvegardes complètes hebdomadaires ou mensuelles et réaliser des sauvegardes incrémentielles quotidiennement.
4. Vérifiez et envoyez l'offre d'emploi.
Essayez dès maintenant la version d'essai gratuite de 60 jours avec toutes les fonctionnalités de Vinchin Backup & Recovery pour facilement protéger vos données Oracle et réaliser des sauvegardes automatisées et une récupération rapide !
Auto Backup FAQ sur les bases de données Oracle
1. Quelle est la différence entre RMAN et Data Pump ?
RMAN est principalement utilisé pour la sauvegarde et la récupération, permettant des sauvegardes physiques des fichiers de base de données, des sauvegardes incrémentielles et une récupération à un point précis dans le temps. En revanche, Data Pump est utilisé pour des sauvegardes logiques, exportant et important des objets de base de données tels que des tables, des schémas ou des bases de données entières dans un format portable. Alors que RMAN est le meilleur choix pour la récupération complète d'une base de données, Data Pump est idéal pour la migration des données, la réplication et l'extraction sélective des données.
2. Comment restaurer une seule table à partir d'une sauvegarde RMAN ?
Utilisez la récupération d'espace de table RMAN à un point précis dans le temps ou Data Pump pour restaurer une table unique.
Exemple avec Data Pump :
impdp system/password directory=DATA_PUMP_DIR dumpfile=backup.dmp remap_table=old_table:new_table
Conclusion
La sauvegarde automatisée de la base de données Oracle est essentielle pour garantir la sécurité des données, minimiser les erreurs humaines et permettre une récupération rapide en cas de défaillance. En utilisant des outils intégrés tels que Data Pump et RMAN, ainsi que les planificateurs du système d'exploitation, les administrateurs de bases de données peuvent mettre en place des stratégies de sauvegarde efficaces sur les systèmes Windows et Linux. Des sauvegardes automatisées correctement configurées réduisent le risque de perte de données et assurent la continuité des activités, ce qui en fait une composante indispensable de la maintenance des bases de données.
Partager sur: