validate oracle rman backup
Hur man skapar och validerar Oracle RMAN Backup: Lär dig med RMAN-kommandon och återställningsprocess
bästa hårddisk kloning programvara Windows 10
I den här handledningen ska vi diskutera verifiering och testning av dina säkerhetskopior av Oracle-databasen. Vi kommer att förklara begrepp som vad, varför och vad sägs om säkerhetskopior av databaser och metoder för att testa säkerhetskopian.
Vi tar Oracle-databas som en fallstudie för denna handledning.
Fallstudie: Testar säkerhetskopior av Oracle RMAN-databas:
Vad du kommer att lära dig:
Oracle Database Backup Validation Process med RMAN
Vi har kategoriserat det i följande fyra avsnitt
- Vad är en säkerhetskopia?
- Varför säkerhetskopiera?
- Hur säkerhetskopierar jag?
- Hur testar / validerar du din säkerhetskopia av databasen - Recovery Strategies?
Läs också=> Allt om databastestning
Vad är en säkerhetskopia av databasen?
Innan vi börjar lära oss mer om säkerhetskopior måste vi förstå en organisations viktigaste tillgång - Data. Med tanke på att din organisation körs på Oracle-databasen. För att förstå termen 'databas' kan du hänvisa till Oracle Database Testing-serien här .
Data från en organisation är den mest integrerade delen av en organisation. Tänk på ett bankföretag inom detaljhandeln. De har alla enorma mängder data - användare, system, etc. Som databasadministratör, systemadministratör eller all personal som har tilldelats jobbet för att skydda dessa data bör vara medveten om hur viktig data är för en organisation. Hur ser jag till att informationen alltid är tillgänglig? Säkerhetskopiera dessa data.
En säkerhetskopia är en exakt kopia av din databas som kan hjälpa dig att rekonstruera dina data i händelse av dataförlust.
Varför säkerhetskopiera databasen?
Tänk på ett enkelt fall där din bankorganisation som har uppgifter om miljontals kunder när det gäller kontonummer, namn, förvaltare, bankbalans och organisationen förlorade all sin information, hur skulle deras kunder reagera på den? Hur skulle organisationen hantera trycket att förlora så mycket data? Hur skulle de kunna svara på så många missnöjda kunder?
Det är därför vi säkerhetskopierar dessa data så att i händelse av fel på en skiva (lagring), skivkontrollen (lagringskontroll) kan vi alltid lita på vår säkerhetskopia varifrån vi kan återställa den till databasen, dvs. kunder förlorar någon av sina data.
Antag att det är miljoner kunder och var och en av dem som utför miljontals transaktioner och databasen oavsiktligt kraschar och förlorar sina data, skulle vi be alla dessa kunder att mata in deras data igen? Hur skulle hantera att förlora så mycket data? Det skulle vara mycket oacceptabelt.
På samma sätt kan du överväga ett telekommunikationsföretag som stöder miljontals kunder och har all sin information angående telefonnummer, adresser, kredit som finns i väntan på betalningar. Vad händer om vi förlorar all deras data? Företaget är dömt och skulle behöva bära stora kostnader som potentiellt kan stoppa organisationen. Det skulle verkligen vara en enorm katastrof.
Hur säkerhetskopierar jag databasen?
För att säkerhetskopiera data i en Oracle-databas har vi flera metoder. De kan i stort sett klassificeras som fysiska och logiska säkerhetskopior
Metod nr 1)Fysiska säkerhetskopior :
- 3rdpartibackups - såsom Veritas NetBackup, SAP, IBM Tivoli Manager, EMC, HP
- Användarhanterade säkerhetskopior - Säkerhetskopiering av en databas med OS-verktyg som copy (windows), cp (Unix).
- Oracle Secure Backup
- Min favorit och det mest föredragna Oracle-verktyget - Recover Manager ( RMAN ).
Metod nr 2)Logiska säkerhetskopior:
- Konventionella export- / importverktyg och datapumpverktyg. En logisk säkerhetskopia är en säkerhetskopia av logiska data - objekt som tabeller, index etc som är beståndsdelar i en databas oberoende av placeringen av ovanstående objekt.
För att förstå fysiska och logiska lagringsstrukturer för en databas kan du hänvisa till detta och denna orakeldokumentation .
Vilken är den bästa metoden för säkerhetskopiering av databaser?
Var och en av dessa säkerhetskopieringsstrategier har sina egna fördelar och nackdelar och vi ska inte hantera för mycket med dem i den här artikeln.
Vi måste förstå att om du inte har en fysisk säkerhetskopia, är det inte alltid säkert att ha en logisk säkerhetskopiering mot fysikalisk dataskada, problem med maskinvarulagring. Att ha en giltig, bra fysisk backup gör det till en bra backup- och återställningsstrategi. Se alltid till att du har en fysisk säkerhetskopia på plats.
I verkligheten kan vi använda någon av ovanstående metoder, men vi måste alltid se till att vi har en bra backup- och återställningsstrategi på plats för att undvika onödiga hicka under en databasdrift. Det rekommenderas alltid att testa dina rygg- och återställningsstrategier på ett speglat testsystem så att vi kan förutsäga hur lång tid det tar att få din databas igång i händelse av oförutsedda situationer.
I den här artikeln kommer vi främst att fokusera på RMAN-säkerhetskopior. Detta leder oss till en punkt att veta hur exakt vi utför säkerhetskopian.
Oracle RMAN (Oracle Recovery Manager) säkerhetskopieringskommandon
Vi kan säkerhetskopiera data antingen med hjälp av Enterprise Manager (GUI) -läge eller via OS-kommandorad.
RMAN är ett robust, sofistikerat verktyg från Oracle för säkerhetskopiering och återställning.
RMAN installeras automatiskt när du installerar Oracle-databasen så det behövs ingen ytterligare installation RMAN .
De RMAN miljö består av två komponenter:
1) Måldatabas (databasen som du skulle säkerhetskopiera, utföra återställning av och
2) RMAN-klient som är klienten som tolkar användarkommandon och utför dem för användarens räkning när de ansluter till måldatabasen.
Ett enkelt kommando för att ansluta till databasen med RMAN är som följer:
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 här är den unika identifieraren som är unik för varje databas vi planerar att arbeta med.
I det här exemplet har vi att göra med en databas med namnet ORCL .
Vi säkerhetskopierar data som tillhör ORCL-databasen.
Eftersom en säkerhetskopia är en fysisk kopia av din databas behöver vi en plats / katalog där vi kan spara dem.
För att uppnå detta kan vi använda en speciell katalog som heter db_recovery_file_dest som fungerar som reservplats. Definiera storleken på denna parameter med db_recovery_file_dest_size som markerar storleken på den här reservplatsen.
Även om vi har flera sätt att komprimera dina säkerhetskopior och flera tekniker som kan minska storleken på en säkerhetskopia, försök att åtminstone ställa in DB_RECOVERY_FILE_DEST_SIZE till en storlek på dina faktiska data i din databas. Se till att du också redogör för arkivloggar, vilket bara är offline-omloggningar som registrerar ändringar i dina datablock.
Din säkerhetskopieringsstrategi skulle bestå av alla filer som är relaterade till databasen, t.ex. datafiler, kontrollfiler, parameterfiler, nätverksrelaterade filer, arkiverade redo-loggfiler.
RMAN eller något annat fysiskt säkerhetskopieringsverktyg kan säkerhetskopiera datafiler, kontrollfiler, parameterfiler, arkiverade gör om loggfiler. Nätverksrelaterade filer måste säkerhetskopieras manuellt med OS-verktyg som cp eller copy.
För att säkerhetskopiera en databas använder vi:
”Backup-databas” - det är så enkelt som det. Så, låt oss börja säkerhetskopiera vår ORCL-databas.
Eftersom vi redan har anslutit till måldatabasen (ORCL) avfyrar vi kommandot ”backup-databas”.
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
Här observerar vi att säkerhetskopieringen av alla relaterade filer i databasen - datafiler, kontrollfiler, spfile (parameterfil) har slutförts. Säkerhetskopieringen tog cirka 4 minuter och 27 sekunder (förfluten tid). Detta är en liten testdatabas med bara 5 datafiler så det tog mycket mindre tid att säkerhetskopiera.
I fall där vi vill säkerhetskopiera data från gigantorganisationers databaser kan det finnas hundratals datafiler och varje datafil kan vara i terabytestorlekar och det kan ta timmar att ta en fullständig säkerhetskopia av databasen.
För att känna till detaljerna om säkerhetskopian som vi just skapade ska vi utföra:
RMAN> lista 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
Denna säkerhetskopia placeras på DB_RECOVERY_FILE_DEST-platsen som definieras 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
Storleken definierad för vår reservplats är 3912 MB.
Använd VALIDATE för att kontrollera databasfiler och säkerhetskopior:
RMAN> VALIDERA DATABAS;
Validera RMAN Backup
Hur testar eller validerar vi att vi kan återställa vår databas under alla kriser?
Om på grund av maskinvarufel eller någon korruption av dina lagringsskivor, skulle vi behöva en bra säkerhetskopia för att återställa denna skadade data så att vi inte förlorar några data som tillhör de lagringsfilerna.
Det beror helt på hur du har utformat säkerhetskopiorna, intervallen för vilka säkerhetskopiorna är schemalagda, om du tar en fullständig säkerhetskopia och har stegvisa säkerhetskopior.
Vid användarfel - som onödig manipulation av data, kan vi återställa delar av data eller all data som har ändrats genom logiska säkerhetskopior.
I praktiken bör vi vara medvetna om och förutse eventuella fel som kan uppstå i framtiden och testa varje strategi för att undvika dem.
Använd BACKUP VALIDATE-kommandot för att validera backup-filer:
Kommandot för endast fysisk korruptionskontroll:
RMAN> BACKUP VALIDATE
DATABAS
ARKIVELOG ALLA;
Kommandot för fysisk och logisk korruptionskontroll:
RMAN> BACKUP VALIDATE
KONTROLLERA LOGISKT
DATABAS
ARKIVELOG ALLA;
RMAN> BACKUP VALIDERA DATABAS ;
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 ovan är status för varje fil “ OK ”Vilket innebär att dessa är användbara och kan användas för att återställa filerna när som helst.
Vi kan göra en förhandsgranskning av databasåterställningen. Detta ger dig en fin lista över filer och deras tillgänglighet utan att faktiskt återställa filerna.
Använd RESTORE-kommandot för att validera säkerhetskopiering:
RMAN> ÅTERSTÄLL DATABASVALIDAT;
ÅTERSTÄLLA ARKIVLOGGEN ALLA VALIDERA;
RMAN> ÅTERSTÄLL DATABASFÖRSIKT;
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
Slutsats
Det här är bara enkla tekniker att verifiera dina Oracle RMAN-säkerhetskopior. Hoppas att du har en klar förståelse av RMAN-säkerhetskopierings- och återställningsprocessen med hjälp av olika viktiga RMAN-kommandon.
Även om scenarier i verkliga fall baserade på datastorleken kan vi ha flera hundra datafiler och vi måste se till att vi säkerhetskopierar var och en av dem för att ha en bra säkerhetskopieringsstrategi på plats. Också, testa återhämtningen på testsystem för att se till att du kan använda samma tekniker vid produktion.
Vi har behandlat olika metoder för att säkerhetskopiera dina kritiska / testdatabaser och olika metoder för att testa dem. Som redan föreslagits flera gånger sparar ditt jobb och din organisation en bra backup- och återställningsstrategi.
Låt oss veta om du har några frågor relaterade till Oracle eller någon annan säkerhetskopiering och återställningstest för databas.
Rekommenderad läsning
- Fördjupade förklaringar om förmörkelser för nybörjare
- MongoDB Skapa säkerhetskopia av databas
- QTP-handledning # 24 - Använda virtuella objekt och återställningsscenarier i QTP-tester
- Java Reflection Tutorial med exempel
- Topp Oracle Apps tekniska och Oracle SOA intervjufrågor
- SVN-handledning: Källkodshantering med subversion
- Python DateTime-handledning med exempel
- Tortoise SVN Tutorial: Revisions In Code Repository