validate oracle rman backup
Sådan oprettes og valideres Oracle RMAN Backup: Lær med RMAN-kommandoer og gendannelsesproces
hvordan man tilføjer et heltal til en matrix i java
I denne vejledning diskuterer vi verificering og test af dine Oracle-databasesikkerhedskopier. Vi vil forklare begreber som hvad, hvorfor og hvad med databasesikkerhedskopier og metoder til at teste sikkerhedskopien.
Vi tager Oracle-database som en casestudie til denne vejledning.
Casestudie: Test af Oracle RMAN Database-sikkerhedskopier:
Hvad du lærer:
Oracle Database Backup Valideringsproces ved hjælp af RMAN
Vi har kategoriseret det i de følgende fire sektioner
- Hvad er en sikkerhedskopi?
- Hvorfor tage backup?
- Sådan sikkerhedskopieres?
- Hvordan tester / validerer du din databasebackup - Recovery Strategies?
Læs også=> Alt om databasetest
Hvad er en sikkerhedskopi af en database?
Før vi begynder at lære mere om sikkerhedskopier, skal vi forstå en organisations vigtigste aktiv - Data. I betragtning af at din organisation kører på Oracle-databasen. For at forstå udtrykket 'database' kan du henvise til Oracle Database Testing-serien her .
Data fra en organisation er den mest integrerede del af en organisation. Overvej et detailbankfirma. De har alle enorme mængder data - bruger, system osv. Som databaseadministrator skal systemadministrator eller ethvert personale, der har fået tildelt job til at beskytte disse data, være opmærksom på, hvor vigtige data er for en organisation. Hvordan kan jeg sikre, at dataene altid er tilgængelige? Sikkerhedskopier disse data.
En sikkerhedskopi er en nøjagtig kopi af din database, som kan hjælpe dig med at rekonstruere dine data i tilfælde af datatab.
Hvorfor Backup Database?
Overvej et simpelt tilfælde, hvor din bankorganisation, der har data vedrørende millioner af kunder med hensyn til kontonumre, navne, nominerede, banksaldo og organisationen mistede alle deres data, hvordan ville deres kunder reagere på det? Hvordan ville organisationen håndtere presset om at miste så mange data? Hvordan ville de være ansvarlige for så mange kunders utilfredshed?
Dette er grunden til, at vi sikkerhedskopierer disse data, så i tilfælde af fejl på en disk (lagring), diskcontrolleren (lagercontroller), kan vi altid stole på vores sikkerhedskopi, hvorfra vi kan gendanne dem i databasen, dvs. lagringsfilsystem og ikke har kunder mister noget af deres data.
Antag hypotetisk, at der er millioner af kunder, og hver af dem udfører millioner af transaktioner, og databasen ved et uheld går ned og mister deres data. Vil vi bede alle disse kunder om at indtaste deres data igen? Hvordan ville det klare at miste så meget data? Det ville være meget uacceptabelt.
Overvej ligeledes et teleselskab, der understøtter millioner af kunder og har alle deres data vedrørende telefonnumre, adresser, kredit, der er til rådighed, i afventning af betalinger. Hvad hvis vi mister alle deres data? Virksomheden er dømt og vil skulle bære enorme omkostninger, der potentielt bringer organisationen til ophør. Det ville helt sikkert være en kæmpe katastrofe.
Sådan sikkerhedskopieres databasen?
For at sikkerhedskopiere data i en Oracle-database har vi flere metoder. De kan stort set klassificeres som fysiske og logiske sikkerhedskopier
Metode nr. 1)Fysiske sikkerhedskopier :
- 3rdparty-sikkerhedskopier - såsom Veritas NetBackup, SAP, IBM Tivoli Manager, EMC, HP
- Brugerstyrede sikkerhedskopier - Backup af en database ved hjælp af OS-hjælpeprogrammer som kopi (windows), cp (Unix).
- Oracle Secure Backup
- Min favorit og det mest foretrukne anbefalede Oracle-værktøj - Recover Manager ( RMAN ).
Metode nr. 2)Logiske sikkerhedskopier:
- Konventionelle eksport- / importværktøjer og datapumpværktøjer. En logisk sikkerhedskopi er en sikkerhedskopi af logiske data - objekter såsom tabeller, indekser osv., Der er bestanddele af en database uafhængig af placeringen af ovenstående objekter.
For at forstå fysiske og logiske lagringsstrukturer i en database kan du henvise til det her og denne oracle-dokumentation .
Hvilken er den bedste metode til sikkerhedskopiering af database?
Hver af disse backup-strategier har deres egne fordele og ulemper, og vi skal ikke behandle dem for meget i denne artikel.
Vi er nødt til at forstå, at medmindre du har en fysisk sikkerhedskopi på plads, er det ikke altid sikkert at have en logisk sikkerhedskopi mod fysisk datakorruption, hardwareopbevaringsproblemer. At have en gyldig, god fysisk backup gør det til en god backup- og gendannelsesstrategi. Sørg altid for, at du har en fysisk sikkerhedskopi på plads.
I virkeligheden kan vi bruge en af ovenstående metoder, men vi skal altid sørge for, at vi har en god backup- og gendannelsesstrategi for at undgå unødvendige hikke i løbet af en databasedrift. Det anbefales altid at teste dine ryg- og gendannelsesstrategier på et spejlet testsystem, så vi kan forudsige, hvor lang tid det tager at få din database i gang i tilfælde af uforudsete situationer.
I denne artikel vil vi hovedsageligt fokusere på RMAN-sikkerhedskopier. Dette bringer os til et punkt, hvor vi ved, hvordan vi udfører sikkerhedskopien nøjagtigt.
Oracle RMAN (Oracle Recovery Manager) Backup-kommandoer
Vi kan sikkerhedskopiere data enten ved hjælp af Enterprise Manager (GUI) -tilstand eller via OS-kommandolinjeprompt.
RMAN er et robust, sofistikeret værktøj leveret af Oracle til at udføre sikkerhedskopiering og gendannelse.
RMAN installeres automatisk, når du installerer Oracle-databasen, så der ikke er brug for yderligere installation RMAN .
Det RMAN miljø består af to komponenter:
1) Måldatabase (den database, som du vil sikkerhedskopiere, udføre gendannelse af og
to) RMAN-klient, der er klienten, der fortolker brugerkommandoer og udfører dem på brugerens vegne, mens der oprettes forbindelse til måldatabasen.
En simpel kommando til at oprette forbindelse til databasen ved hjælp af RMAN er som følger:
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 her er den unikke identifikator, som er unik for hver database, vi planlægger at arbejde med.
I dette eksempel har vi at gøre med en navngivet database ORCL .
Vi sikkerhedskopierer de data, der hører til ORCL-databasen.
Da en sikkerhedskopi er en fysisk kopi af din database, har vi brug for en placering / mappe, hvor vi kan gemme dem.
For at opnå dette kan vi benytte et specielt katalog, der hedder db_recovery_file_dest som fungerer som sikkerhedskopieringssted. Definer størrelsen på denne parameter med db_recovery_file_dest_size der markerer størrelsen på denne backupplacering.
Selvom vi har flere måder at komprimere dine sikkerhedskopier på og flere teknikker, der kan reducere størrelsen på en sikkerhedskopi, så prøv i det mindste at indstille DB_RECOVERY_FILE_DEST_SIZE til en størrelse på dine faktiske data i din database. Sørg for, at du også tager højde for arkivlogfiler, hvilket kun er offline-logfiler, der registrerer ændringer i dine datablokke.
Din sikkerhedskopieringsstrategi vil bestå af alle de filer, der er relateret til databasen, f.eks. Datafiler, kontrolfiler, parameterfiler, netværksrelaterede filer, arkiverede gentag logfiler.
RMAN eller ethvert andet fysisk sikkerhedskopieringsværktøj kan sikkerhedskopiere datafiler, kontrolfiler, parameterfiler, arkiverede gentag logfiler. Netværksrelaterede filer skal sikkerhedskopieres manuelt ved hjælp af OS-hjælpeprogrammer, såsom cp eller kopi.
For at sikkerhedskopiere en database bruger vi:
'Backup-database' - det er så simpelt som det. Så lad os begynde at tage backup af vores ORCL-database.
Da vi allerede har oprettet forbindelse til måldatabasen (ORCL), affyrer vi kommandoen “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
Her observerer vi, at sikkerhedskopien af alle relaterede filer i databasen - datafiler, kontrolfiler, spfile (parameterfil) er afsluttet. Sikkerhedskopieringen tog cirka 4 minutter og 27 sekunder (forløbet tid). Dette er en lille testdatabase med kun 5 datafiler, så det tog meget kortere tid at tage backup.
I tilfælde, hvor vi ønsker at sikkerhedskopiere data fra databaser fra gigantiske organisationer, kan der være hundreder af datafiler, og hver datafil kan være i terabytestørrelser, og det kan potentielt tage flere timer at tage en komplet sikkerhedskopi af databasen.
For at kende detaljerne vedrørende den sikkerhedskopi, vi lige har oprettet, skal vi udføre:
RMAN> liste backup;
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
Denne sikkerhedskopi placeres på DB_RECOVERY_FILE_DEST-placeringen, der er defineret som 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
Den størrelse, der er defineret for vores backup-placering, er 3912 MB.
Brug VALIDATE til at kontrollere databasefiler og sikkerhedskopier:
RMAN> VALIDER DATABASE;
Valider RMAN Backup
Hvordan tester eller validerer vi, at vi kan gendanne vores database under enhver krise?
Hvis vi på grund af hardwarefejl eller en eller anden korruption af dine lagerdiske har brug for en god sikkerhedskopi til rådighed for at gendanne disse beskadigede data, så vi ikke mister nogen data, der tilhørte de lagringsfiler.
Det hele afhænger af, hvordan du har designet sikkerhedskopierne, intervallerne, hvor sikkerhedskopierne er planlagt, om du tager en fuld sikkerhedskopi og har trinvise sikkerhedskopier.
I tilfælde af brugerfejl - såsom en unødvendig manipulation af data, kan vi gendanne dele af data eller alle data, der er blevet ændret gennem logiske sikkerhedskopier.
I praksis skal vi være opmærksomme på og forudse eventuelle fejl, der kan opstå i fremtiden, og teste enhver strategi for at undgå dem.
Brug BACKUP VALIDATE-kommandoen til at validere backup-filer:
Kommandoen til kun fysisk korruptionskontrol:
RMAN> BACKUP VALIDATE
DATABASE
ARKIVELOG ALLE;
Kommandoen til den fysiske og logiske korruptionskontrol:
RMAN> BACKUP VALIDATE
KONTROLLER LOGISK
DATABASE
ARKIVELOG ALLE;
RMAN> BACKUP VALIDER DATABASE ;
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
Som du kan se ovenfor er status for hver fil “ Okay ”Hvilket betyder, at disse er anvendelige og kan bruges til at gendanne filerne til enhver tid.
Vi kan udføre en forhåndsvisning af databasegenoprettelsen. Dette giver dig en god liste over filer og deres tilgængelighed uden faktisk at gendanne filerne.
Brug RESTORE-kommandoen til at validere sikkerhedskopi:
RMAN> GENDAN DATABASEVALIDAT;
GENDAN ARKIVELOG ALT GODKEND;
RMAN> Gendan DATABASEFORHOLD;
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
Konklusion
Dette er bare enkle teknikker til bekræft dine Oracle RMAN-sikkerhedskopier. Håber du har en klar forståelse af RMAN-backup- og gendannelsesproces ved hjælp af forskellige vigtige RMAN-kommandoer.
Selvom scenarier i virkeligheden er baseret på datastørrelsen, kunne vi have flere hundrede datafiler, og vi skal sørge for, at vi sikkerhedskopierer hver eneste af dem for at have en god sikkerhedskopieringsstrategi på plads. Også, test genopretningen på testsystemer for at sikre, at du kan bruge de samme teknikker til produktion.
Vi har behandlet forskellige metoder til sikkerhedskopiering af dine kritiske / testdatabaser og forskellige metoder til at teste dem. Som allerede foreslået adskillige gange, at have en god backup- og gendannelsesstrategi vil gemme dit job og din organisation.
Fortæl os, hvis du har spørgsmål vedrørende Oracle eller anden test af sikkerhedskopiering og gendannelse af databaser.
Anbefalet læsning
- Dybdegående formørkelsesvejledninger til begyndere
- MongoDB Opret sikkerhedskopi af database
- QTP-tutorial # 24 - Brug af virtuelle objekter og gendannelsesscenarier i QTP-tests
- Java Reflection Tutorial med eksempler
- Top Oracle Apps tekniske og Oracle SOA interviewspørgsmål
- SVN Tutorial: Kildekodestyring ved hjælp af Subversion
- Python DateTime-tutorial med eksempler
- Tortoise SVN Tutorial: Revisions In Code Repository