validate oracle rman backup
Comment créer et valider une sauvegarde Oracle RMAN: apprendre avec les commandes RMAN et le processus de récupération
comment supprimer des éléments d'un tableau java
Dans ce didacticiel, nous aborderons la vérification et le test de vos sauvegardes de base de données Oracle. Nous expliquerons des concepts tels que quoi, pourquoi et comment sur les sauvegardes de base de données et les méthodes pour tester la sauvegarde.
Nous prendrons le Base de données Oracle comme étude de cas pour ce didacticiel.
Étude de cas: Test des sauvegardes de base de données Oracle RMAN:
Ce que vous apprendrez:
Processus de validation de la sauvegarde de la base de données Oracle à l'aide de RMAN
Nous l'avons classé dans les quatre sections suivantes
- Qu'est-ce qu'une sauvegarde?
- Pourquoi sauvegarder?
- Comment sauvegarder?
- Comment tester / valider votre sauvegarde de base de données - Stratégies de récupération?
Lire aussi=> Tout sur les tests de bases de données
Qu'est-ce qu'une sauvegarde de base de données?
Avant de commencer à en savoir plus sur les sauvegardes, nous devons comprendre l'actif le plus important d'une organisation: les données. Considérant que votre organisation fonctionne sur la base de données Oracle. Pour comprendre le terme «base de données», vous pouvez vous référer au Série de tests de base de données Oracle ici .
Les données d'une organisation sont la partie la plus intégrale d'une organisation. Prenons l'exemple d'une société bancaire de vente au détail. Ils ont tous d'énormes quantités de données - utilisateur, système, etc. En tant qu'administrateur de base de données, administrateur système ou tout membre du personnel affecté à la protection de ces données doit être conscient de l'importance des données pour une organisation. Comment s'assurer que les données sont toujours disponibles? Sauvegardez ces données.
Une sauvegarde est une copie exacte de votre base de données qui peut vous aider à reconstruire vos données en cas de perte de données.
Pourquoi sauvegarder la base de données?
Prenons un cas simple où votre organisation bancaire qui dispose de données concernant des millions de clients en termes de numéros de compte, de noms, de nominés, de solde bancaire et d'organisation a perdu toutes ses données, comment leurs clients y réagiraient-ils? Comment l'organisation ferait-elle face à la pression de perdre autant de données? Comment répondraient-ils à l'insatisfaction de tant de clients?
C'est pourquoi nous sauvegardons ces données afin qu'en cas de panne d'un disque (stockage), le contrôleur de disque (contrôleur de stockage) nous puissions toujours compter sur notre sauvegarde d'où nous pouvons la restaurer dans la base de données c'est-à-dire le système de fichiers de stockage et ne pas avoir les clients perdent leurs données.
Hypothétiquement parlant, supposons qu'il y ait des millions de clients et que chacun d'entre eux effectue des millions de transactions et que la base de données tombe accidentellement et perd ses données, demanderions-nous à tous ces clients de ressaisir leurs données? Comment gérer la perte de tant de données? Ce serait tout à fait inacceptable.
De même, considérons une entreprise de télécommunications qui prend en charge des millions de clients et dispose de toutes leurs données concernant les numéros de téléphone, les adresses, le crédit utilisé, les paiements en attente. Et si nous perdons toutes leurs données? L'entreprise est vouée à l'échec et devrait supporter des coûts énormes, ce qui pourrait entraîner l'arrêt de l'organisation. Ce serait certainement une énorme catastrophe.
Comment sauvegarder la base de données?
Pour sauvegarder des données dans une base de données Oracle, nous avons plusieurs méthodes. Elles peuvent être globalement classées comme sauvegardes physiques et logiques
Méthode n ° 1)Sauvegardes physiques :
- 3rdsauvegardes tierces - telles que Veritas NetBackup, SAP, IBM Tivoli Manager, EMC, HP
- Sauvegardes gérées par l'utilisateur - Sauvegarde d'une base de données à l'aide d'utilitaires du système d'exploitation tels que copie (Windows), cp (Unix).
- Oracle Secure Backup
- Mon utilitaire Oracle préféré et le plus recommandé - Recover Manager ( RMAN ).
Méthode n ° 2)Sauvegardes logiques:
- Utilitaires d'exportation / importation conventionnels et utilitaires de pompe de données. Une sauvegarde logique est une sauvegarde de données logiques - des objets tels que des tables, des index, etc. qui sont des constituants d'une base de données indépendante de l'emplacement des objets ci-dessus.
Pour comprendre les structures de stockage physiques et logiques d'une base de données, vous pouvez vous référer à cette et cette documentation oracle .
Quelle est la meilleure méthode de sauvegarde de base de données?
Chacune de ces stratégies de sauvegarde a ses avantages et ses inconvénients et nous ne les traiterons pas trop dans cet article.
Nous devons comprendre qu'à moins d'avoir une sauvegarde physique en place, le simple fait d'avoir une sauvegarde logique n'est pas toujours sûr contre la corruption des données physiques et les problèmes de stockage matériel. Avoir une bonne sauvegarde physique valide en fait une bonne stratégie de sauvegarde et de restauration. Assurez-vous toujours d'avoir une sauvegarde physique en place.
En réalité, nous pouvons utiliser l'une des méthodes ci-dessus mais nous devons toujours nous assurer que nous avons une bonne stratégie de sauvegarde et de récupération en place pour éviter tout hoquet inutile au cours du fonctionnement d'une base de données. Tester vos stratégies de dos et de récupération sur un système de test en miroir est toujours conseillé afin que nous puissions prédire le temps nécessaire pour que votre base de données soit opérationnelle en cas de situation imprévue.
Dans cet article, nous nous concentrerons principalement sur les sauvegardes RMAN. Cela nous amène à savoir comment exactement nous effectuons la sauvegarde.
Commandes de sauvegarde d'Oracle RMAN (Oracle Recovery Manager)
Nous pouvons sauvegarder les données à l'aide du mode Enterprise Manager (GUI) ou via l'invite de ligne de commande du système d'exploitation.
RMAN est un outil robuste et sophistiqué fourni par Oracle pour effectuer des sauvegardes et des restaurations.
RMAN est automatiquement installé lorsque vous installez la base de données Oracle afin qu'aucune installation supplémentaire ne soit requise pour utiliser RMAN .
La RMAN l'environnement comprend deux composants:
1) Base de données cible (la base de données que vous sauvegarderiez, effectuez une restauration et
2) Client RMAN qui est le client qui interprète les commandes utilisateur et les exécute au nom de l'utilisateur lors de la connexion à la base de données cible.
Une commande simple pour se connecter à la base de données à l'aide de RMAN est la suivante:
C:Usersxyz> rman target / Recovery Manager: Release 11.2.0.1.0 - Production on Sun Sep 28 17:32:48 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. connected to target database: ORCL (DBID=1361070653) RMAN>
DBID est ici l'identifiant unique qui est unique à chaque base de données avec laquelle nous prévoyons de travailler.
Dans cet exemple, nous avons affaire à une base de données nommée ORCL .
Nous sauvegarderons les données appartenant à la base de données ORCL.
Puisqu'une sauvegarde est une copie physique de votre base de données, nous avons besoin d'un emplacement / répertoire où nous pouvons les enregistrer.
Pour ce faire, nous pouvons utiliser un répertoire spécial nommé db_recovery_file_dest qui sert d'emplacement de sauvegarde. Définissez la taille de ce paramètre avec db_recovery_file_dest_size qui marque la taille de cet emplacement de sauvegarde.
Bien que nous ayons plusieurs façons de compresser vos sauvegardes et plusieurs techniques qui peuvent réduire la taille d'une sauvegarde, essayez au moins de définir le DB_RECOVERY_FILE_DEST_SIZE à une taille de vos données réelles dans votre base de données. Assurez-vous également de tenir compte des journaux d'archive, qui ne sont rien d'autre que des journaux de rétablissement hors ligne qui enregistrent les modifications apportées à vos blocs de données.
Votre stratégie de sauvegarde comprendrait tous les fichiers liés à la base de données tels que les fichiers de données, les fichiers de contrôle, les fichiers de paramètres, les fichiers liés au réseau, les fichiers de journalisation archivés.
RMAN ou tout autre outil de sauvegarde physique peut sauvegarder des fichiers de données, des fichiers de contrôle, des fichiers de paramètres, des fichiers de journalisation archivés. Les fichiers liés au réseau doivent être sauvegardés manuellement à l'aide des utilitaires du système d'exploitation tels que cp ou copy.
Pour sauvegarder une base de données, nous utilisons:
'Sauvegarder la base de données' - c'est aussi simple que cela. Alors, commençons à sauvegarder notre base de données ORCL.
Puisque nous nous sommes déjà connectés à la base de données cible (ORCL), nous lançons la commande «backup database».
RMAN> backup database; Starting backup at 05-OCT-14 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=198 device type=DISK channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00001 name=D:APP1SUNTYADAORADATAORCLSYSTEM01.DBF input datafile file number=00002 name=D:APP1SUNTYADAORADATAORCLSYSAUX01.DBF input datafile file number=00005 name=D:APP1SUNTYADAORADATAORCLEXAMPLE01.DBF input datafile file number=00003 name=D:APP1SUNTYADAORADATAORCLUNDOTBS01.DBF input datafile file number=00004 name=D:APP1SUNTYADAORADATAORCLUSERS01.DBF channel ORA_DISK_1: starting piece 1 at 05-OCT-14 channel ORA_DISK_1: finished piece 1 at 05-OCT-14 piece handle=D:APP1SUNTYADAFLASH_RECOVERY_AREAORCLBACKUPSET2014_10_05O1_MF_NNNDF_TAG20141005T162412_B328TXQG_.BKP tag=TAG20141005T162412 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:04:27 channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set including current control file in backup set including current SPFILE in backup set channel ORA_DISK_1: starting piece 1 at 05-OCT-14 channel ORA_DISK_1: finished piece 1 at 05-OCT-14 piece handle=D:APP1SUNTYADAFLASH_RECOVERY_AREAORCLBACKUPSET2014_10_05O1_MF_NCSNF_TAG20141005T162412_B3293806_.BKP tag=TAG20141005T162412 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:04 Finished backup at 05-OCT-14
Ici, nous observons que la sauvegarde de tous les fichiers associés de la base de données - fichiers de données, fichiers de contrôle, spfile (fichier de paramètres) est terminée. L'opération de sauvegarde a duré environ 4 minutes et 27 secondes (temps écoulé). Il s'agit d'une petite base de données de test avec seulement 5 fichiers de données, donc la sauvegarde a pris moins de temps.
Dans les cas où nous voulons sauvegarder des données à partir de bases de données d'organisations géantes, il pourrait y avoir des centaines de fichiers de données et chaque fichier de données pourrait avoir une taille de téraoctet et effectuer une sauvegarde complète de la base de données pourrait potentiellement prendre des heures.
Pour connaître les détails de la sauvegarde que nous venons de créer, nous allons exécuter:
RMAN> sauvegarde de liste;
List of Backup Sets =================== BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 4 Full 1.39G DISK 00:04:23 05-OCT-14 BP Key: 4 Status: AVAILABLE Compressed: NO Tag: TAG20141005T162412 Piece Name: D:APP1SUNTYADAFLASH_RECOVERY_AREAORCLBACKUPSET2014_10_05O1_MF_NNNDF_TAG20141005T162412_B328TXQG_.BKP List of Datafiles in backup set 4 File LV Type Ckp SCN Ckp Time Name ---- -- ---- ---------- --------- ---- 1 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLSYSTEM01.DBF 2 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLSYSAUX01.DBF 3 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLUNDOTBS01.DBF 4 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLUSERS01.DBF 5 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLEXAMPLE01.DBF BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 5 Full 9.58M DISK 00:00:06 05-OCT-14 BP Key: 5 Status: AVAILABLE Compressed: NO Tag: TAG20141005T162412 Piece Name: D:APP1SUNTYADAFLASH_RECOVERY_AREAORCLBACKUPSET2014_10_05O1_MF_NCSNF_TAG20141005T162412_B3293806_.BKP SPFILE Included: Modification time: 05-OCT-14 SPFILE db_unique_name: ORCL Control File Included: Ckp SCN: 9705762 Ckp time: 05-OCT-14
Cette sauvegarde est placée à l'emplacement DB_RECOVERY_FILE_DEST qui est défini comme D: APP1 SUNTYADA FLASH_RECOVERY_AREA
SQL> show parameter DB_RECOVERY_FILE_DEST NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_recovery_file_dest string D:app1suntyadaflash_recovery_area db_recovery_file_dest_size big integer 3912M
La taille définie pour notre emplacement de sauvegarde est de 3912 Mo.
Utilisez VALIDATE pour vérifier les fichiers de base de données et les sauvegardes:
RMAN> VALIDER LA BASE DE DONNÉES;
Valider la sauvegarde RMAN
Comment tester ou valider que nous pouvons récupérer notre base de données pendant toute crise?
Si en raison d'une défaillance matérielle ou d'une corruption de vos disques de stockage, nous aurions besoin d'une bonne sauvegarde disponible pour restaurer ces données corrompues afin de ne pas perdre les données appartenant à ces fichiers de stockage.
Tout dépend de la façon dont vous avez conçu les sauvegardes, des intervalles auxquels les sauvegardes sont planifiées, si vous effectuez une sauvegarde complète et des sauvegardes incrémentielles.
En cas d'erreurs utilisateur - telles qu'une manipulation inutile des données, nous pouvons restaurer des parties de données ou toutes les données qui ont été modifiées via des sauvegardes logiques.
Dans la pratique, nous devons être conscients et prévoir toutes les erreurs qui pourraient survenir à l'avenir et tester chaque stratégie pour y échapper.
Utilisez la commande BACKUP VALIDATE pour valider les fichiers de sauvegarde:
La commande pour la vérification de la corruption physique uniquement:
RMAN> VALIDER LA SAUVEGARDE
BASE DE DONNÉES
ARCHIVELOG ALL;
La commande pour la vérification de la corruption physique et logique:
RMAN> VALIDER LA SAUVEGARDE
VÉRIFIER LA LOGIQUE
BASE DE DONNÉES
ARCHIVELOG ALL;
RMAN> BASE DE DONNÉES DE VALIDATION DE SAUVEGARDE ;
Starting backup at 05-OCT-14 using channel ORA_DISK_1 channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00001 name=D:APP1SUNTYADAORADATAORCLSYSTEM01.DBF input datafile file number=00002 name=D:APP1SUNTYADAORADATAORCLSYSAUX01.DBF input datafile file number=00005 name=D:APP1SUNTYADAORADATAORCLEXAMPLE01.DB input datafile file number=00003 name=D:APP1SUNTYADAORADATAORCLUNDOTBS01.DB input datafile file number=00004 name=D:APP1SUNTYADAORADATAORCLUSERS01.DBF channel ORA_DISK_1: backup set complete, elapsed time: 00:00:45 List of Datafiles ================= File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 1 OK 0 13430 106376 9708800 File Name: D:APP1SUNTYADAORADATAORCLSYSTEM01.DBF Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 75217 Index 0 12706 Other 0 5015 File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 2 OK 0 21161 95409 9708826 File Name: D:APP1SUNTYADAORADATAORCLSYSAUX01.DBF Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 23010 Index 0 21760 Other 0 29429 File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 3 OK 0 0 5762 9708826 File Name: D:APP1SUNTYADAORADATAORCLUNDOTBS01.DBF Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 0 Index 0 0 Other 0 5760 File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 4 OK 1125 228 5765 9528788 File Name: D:APP1SUNTYADAORADATAORCLUSERS01.DBF Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 2295 Index 0 39 Other 0 3198 File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 5 OK 0 1687 10498 9585679 File Name: D:APP1SUNTYADAORADATAORCLEXAMPLE01.DBF Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 4760 Index 0 1261 Other 0 2788 channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set including current control file in backup set including current SPFILE in backup set channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 List of Control File and SPFILE =============================== File Type Status Blocks Failing Blocks Examined ------------ ------ -------------- --------------- SPFILE OK 0 2 Control File OK 0 608 Finished backup at 05-OCT-14
Comme vous pouvez le constater ci-dessus, le statut de chaque fichier est ' d'accord », Ce qui signifie qu'ils sont utilisables et peuvent être utilisés pour restaurer les fichiers à tout moment.
Nous pouvons effectuer un aperçu de la restauration de la base de données. Cela vous donne une belle liste de fichiers et leur disponibilité sans réellement restaurer les fichiers.
Utilisez la commande RESTORE pour valider la sauvegarde:
RMAN> RESTORE DATABASE VALIDATE;
RESTAURER ARCHIVELOG ALL VALIDATE;
RMAN> RESTORE DATABASE PREVIEW;
Starting restore at 05-OCT-14 using channel ORA_DISK_1 List of Backup Sets =================== BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 4 Full 1.39G DISK 00:04:23 05-OCT-14 BP Key: 4 Status: AVAILABLE Compressed: NO Tag: TAG20141005T162412 Piece Name: D:APP1SUNTYADAFLASH_RECOVERY_AREAORCLBACKUPSET2014_10_05O1_MF_NNNDF_TAG20141005T162412_B328TXQG_.BKP List of Datafiles in backup set 4 File LV Type Ckp SCN Ckp Time Name ---- -- ---- ---------- --------- ---- 1 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLSYSTEM01.DBF 2 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLSYSAUX01.DBF 3 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLUNDOTBS01.DBF 4 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLUSERS01.DBF 5 Full 9684060 05-OCT-14 D:APP1SUNTYADAORADATAORCLEXAMPLE01.DBF List of Archived Log Copies for database with db_unique_name ORCL ===================================================================== Key Thrd Seq S Low Time ------- ---- ------- - --------- 367 1 366 A 02-OCT-14 Name: D:APP1SUNTYADAFLASH_RECOVERY_AREAORCLARCHIVELOG2014_10_05O1_MF_1_366_B32925TJ_.ARC Media recovery start SCN is 9684060 Recovery must be done beyond SCN 9704654 to clear datafile fuzziness Finished restore at 05-OCT-14
Conclusion
Ce ne sont que des techniques simples pour vérifiez vos sauvegardes Oracle RMAN. J'espère que vous avez une compréhension claire du processus de sauvegarde et de restauration RMAN à l'aide de diverses commandes RMAN importantes.
Bien que dans des scénarios réels basés sur la taille des données, nous pourrions avoir plusieurs centaines de fichiers de données et nous devons nous assurer de sauvegarder chacun d'entre eux pour avoir une bonne stratégie de sauvegarde en place. Également, tester la récupération sur les systèmes de test pour vous assurer que vous pouvez utiliser les mêmes techniques en production.
Nous avons traité différentes méthodes de sauvegarde de vos bases de données critiques / de test et diverses méthodes pour les tester. Comme déjà suggéré à maintes reprises, une bonne stratégie de sauvegarde et de restauration permettra de sauver votre travail et votre organisation.
Faites-nous savoir si vous avez des questions concernant Oracle ou tout autre test de sauvegarde et de restauration de base de données.
lecture recommandée
- Tutoriels Eclipse détaillés pour les débutants
- MongoDB Créer une sauvegarde de base de données
- Tutoriel QTP # 24 - Utilisation d'objets virtuels et de scénarios de récupération dans les tests QTP
- Tutoriel de réflexion Java avec des exemples
- Questions les plus fréquentes sur les entretiens techniques Oracle Apps et Oracle SOA
- Tutoriel SVN: Gestion du code source à l'aide de Subversion
- Tutoriel Python DateTime avec des exemples
- Tutoriel Tortoise SVN: Révisions dans le référentiel de code