SE500656C2 - System för backuptagning i en distribuerad databas - Google Patents
System för backuptagning i en distribuerad databasInfo
- Publication number
- SE500656C2 SE500656C2 SE9203691A SE9203691A SE500656C2 SE 500656 C2 SE500656 C2 SE 500656C2 SE 9203691 A SE9203691 A SE 9203691A SE 9203691 A SE9203691 A SE 9203691A SE 500656 C2 SE500656 C2 SE 500656C2
- Authority
- SE
- Sweden
- Prior art keywords
- backup
- database
- manager
- transaction
- local
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operations
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/805—Real-time
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99955—Archiving or backup
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
- Small-Scale Networks (AREA)
- Multi Processors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
500 656 2 användare att uppdatera databasen och först vid commit, dvs den transaktionsoperation, som används av ett program eller operatör för att indikera att en aktuell transaktion slutförts och att dess verkningar skall kvarstå, växlas den uppdaterade kopian in och satta lås släppes.
För kopieobjekt eller objekt som ej skall underkastas backup gäller att de raderas vid återstart av databasen med omladdning.
Teknikens ståndpunkt.
Inom den aktuella tekniken är det ett krav att databassys- temet inte får stanna vid backuptagning.
I US-patentskriften 4 077 059 beskrivs ett system med ett hierarkiskt minne med två minnesenheter på varje nivå. En av enheterna innehåller alla data på den nivån. Den andra enheten innehåller endast förändringarna som har gjorts i dessa data.
Genom duplicering och återhämtning endast av förändrade data, minskas mängden data som måste transporteras vid fel.
Patentskriften ifråga beskriver inte ett databassystem i egentlig mening. Det finns ingen backupfunktion, som aktiveras genom en central hanterare, vilken har information om systemet och synkroniserar funktionen.
US,A,4 714 995 beskriver ett integrerat datorsystem med tills hörande databaser. Integrering sker av datorsystem som har behov av att dela vissa gemensamma dataelement, där varje datorsystem har en databas. Syftet är att utföra kontrollerad kopiering.
Relationer och transaktioner tillåts sträcka sig över flera databaser.
Redogörelse för uppfinningen.
Ett syfte med uppfinningen är att åstadkomma ett system av inledningsvis definierat slag, med vilket i databasen trans- aktioner tillåts utföra operationer mot databasen samtidigt som backup tas.
Detta har åstadkommits genom att vid systemet enligt upp- finningen alla data i databasen struktureras såsom tillhörande en av flera logiska databaser, varvid en logisk databas kan, men inte behöver, sträcka sig över flera datorer, backupfunktionen för en viss logisk databas aktiveras genom 500 656 3 att meddelande sänds till en central backuphanterare, vilken har information om vilka datorer som det aktuella backupsystemet sträcker sig över och synkroniserar backupfunktionen över dat- orgräns, vilken synkronisering innefattar att lokala databashan- terare informeras om att backup kommer att påbörjas, och att en ny transaktionslogg skapas, i vilken alla transaktioner som inte uppnått commit-tillstånd och som därför inte ska ingå i backupen loggas, varpå backup kommer att innehålla endast förändringar av transaktioner i den gamla transaktionsloggen.
Enligt en fördelaktig utföringsform sker backupfunktionen för en viss logisk databas periodiskt, eller vid behov av operatör.
Företrädesvis innefattar synkroniseringen att den centrala backuphanteraren beordrar de lokala databashanterarna att sätta en backupflagga i den berörda logiska databasen, vilken informe- rar de lokala databashanterarna om att backup kommer att på- börjas och gör att den ändrar beteende vad gäller lagring av objekt som ligger i den aktuella logiska databasen, varpå efter satt backupflagga de lokala databashanterarna kvitterar genom att meddela den centrala backuphanteraren att detta är utfört, Därvid kan, när alla de lokala databashanterarna kvitterat, den centrala backuphanteraren beordra alla lokala logghanterare för de aktuella procesorerna att skapa den nya transaktionslog- gen.
Den nya transaktionsloggen kan därvid företrädesvis innefatta en "BackupSynch"-variabel, som kan anta värdena "Include" eller "Exclude", och vars värde används av den lokala data- bashanteraren och av lokala backuphanterare till att bestämma om objekt skall ingå i en backup eller inte, varvid den centrala backuphanteraren beordrar de lokala logghanterarna att ändra nämnda variabel i den nya transaktionsloggen till "Exclude", in- nebärande att dess objekt inte skall ingå i backupen.
"BackupSynch"-variabeln kan hämtas av en koordinator för en transaktion i samband med att den skriver "COMIT" i transak- tionsloggen, innebärande att transaktionen uppnått commit-till- stånd, och sänder sedan "BackupSynch"-variabelns värde och "COMMIT"-meddelandet till alla deltagartransaktioner, vilka i sin tur distribuerar ut "ßackupsynch"-värdet till de olika databasobjekten, varigenom alla objekt i transaktionen får samma "BackupSynch"-värde och kommer att inkluderas alt. exkluderas SGU 656 från backupen.
Enligt en föredragen utföringsform är en räknare anordnad att ange antal pågående transaktioner i commit-tillstånd mot den gamla transaktionsloggen, varvid synkroniseringen innefattar att när räknaren är lika med 0, meddelas den centrala backupfunktio- nen att det inte finns någon koordinator för någon transaktion i aktuell dator som vill att uppdateringar skall ingå i backupen.
Vid ytterligare en föredragen utföringsform kommer, efter det att de lokala logghanterarna har meddelats om att den lokala databashanteraren har gjort alla förändringar från transaktioner som skall ingå i backupen synliga i databasen, kopieringen av objekt till backuparean att påbörjas.
Därvid kan företrädesvis synliggörandet innefatta synkroni- sering mellan den lokala databashanteraren, backup-hanteraren och logghanteraren.
Denna synkronisering kan därvid göras genom att den lokala logghanteraren håller reda på antal transaktioner som finns i den gamla transaktionsloggen, antal transaktioner räknas ner när transaktionen skriver END-TRANSACTION i den gamla transak- tionsloggen, samt END-TRANSACTION skrivs när den lokala data- bashanteraren har utfört förändringarna i databasen och meddelat transaktionen detta.
Företrädesvis beordrar den centrala backuphanteraren, när antal transaktioner i den gamla transaktionsloggen är 0 i alla lokala logghanterare, alla lokala backuphanterare att börja kopiering av de objekt som skall ingå i backupen till backupare- an, vilka objekt har backupmarkerats av den lokala datbashante- raren i och med att den bytte beteende när backupflaggan sattes.
Enligt en ytterligare föredragen utföringsform sker kopiering av objekt till backuparean, och den gamla backupen sparas på primärminne tills den nya backupen är slutförd, varpå den gamla backupen paketeras och lagras på sekundärminne.
Figgrbegkrivning.
Utföringsexempel av uppfinningen skall nu beskrivas närmare med hänvisning till bifogade ritningar, på vilka fig. 1 är avsedd att schematiskt åskådliggöra en lösning för primärminnesbackup av en databas, vid vilken uppfinningen kan tillämpas, 500 656 5 fig. 2 - 8 är flödesschemor åskådliggörande backuptagnings- funktionen vid en databas enligt fig. 1, fig. 9 i liknande vy som fig. 1 åskådliggör situationen i databasen i ett slutmoment av en enligt uppfinningen utförd backup, fig. 10 schematiskt visar en databas, vilken sträcker sig över två datorer, varvid situationen straxt före start av en backup visas, fig. 11 förstorat och mera detaljerat visar databas- och logsituationen i en av datorerna enligt fig. 3 vid en senare tidpunkt av backupen, samt fig. 12 - 14 är tabeller, som åskådliggör åtgärder, som kan krävas i samband med den med hänvisning till fig. 10 och 11 be- skrivna backupen.
Föredragna utföringsformer.
Det ovan definierade fenomenet logisk databas kan på rit- ningarna även omväxlande komma att benämnas RecDB, vilket är en förkortning för Recovery Data Base.
Figur 1 är uppdelad i två avdelningar 2 och 4, som schema- tiskt representerar en databasarea resp. backuparea i en dators primärminne. I anslutning till vardera arean finnes en katalog 6 resp. 8, som innehåller en förteckning över objekt med samhöran- de klasser, som lagras i databasen. Motsvarande kataloger som katalogerna 6 och 8 kan nedan och på senare ritningsfigurer även komma att kallas LID-tabell. Medelst en pekare 10 resp. 12 väljs med kännedom om tillhörande klass och nyckel, objekt som skall underkastas en operation.
Figur 1 visar nu databas- och backuparea 2 resp. 4 efter diverse uppdateringar av databasobjekt. I figuren identifieras objekt som uppdaterats sedan senaste backup med primtecken.
Sedan senaste backup har objekt A och C uppdaterats till A' och C'. Objekt B och D har ej uppdaterats. Backuparean är skriv- skyddad men tillåter läsningar av data. Närmare bestämt finns endast de uppdaterade objekten A' och C' lagrade i databasarean 2,.medan objekten A, B, C och D finns lagrade i backuparean 4, och databasen pekar ut objekten B och D i backuparean 4, antytt med pilar 14 och 16.
Enligt ett av uppfinningens kännetecken struktureras alla 5^O 6 f O Lïl 6 data i databasen såsom tillhörande en av flera logiska databa- ser, varvid en logisk databas kan, men inte behöver, sträcka sig över flera datorer.
Eftersom en sådan databas, såsom ovan nämnts, kan (men behöver inte) sträcka sig över flera datorer, kommer backup- tagning av densamma att vara distribuerad.
Enligt ett av uppfinningens syften skall transaktioner tillåtas utföra operationer mot databasen samtidigt som backup tas. Inom transaktionen kommer objekt att uppdateras, skapas eller tas bort vilket resulterar i att många olika versioner av ett objekt kommer att kunna finnas under den tid som backuptag- ning pågår. Backuptagningsfunktionen måste därför få information om vilken version av ett objekt som skall ingå i backupen.
Detta skall nu i första hand förklaras närmare med hänvisning till de i fig. 2 - 8 visade flödesschemorna. Av fig. 2 framgår till att börja med att backupfunktionen för en viss logisk databas aktiveras av en användare 30 genom att ett meddelande 32 att skapa backup sänds till en central backuphanterare 34, vars mottagning av meddelandet markeras vid 36. Den centrala back- uphanteraren har information om vilka datorer som det aktuella backupsystemet sträcker sig över och synkroniserar backupfunk- tionen över datorgräns, vilket startar med att tillståndet TILLSTÄND=SYNKBACKUP, markerat vid 38, intas. Synkroniseringen innefattar att lokala databashanterare, av vilka en markeras vid 40, informeras om att backup kommer att påbörjas, och beordras sätta backupflagga. En ny transaktionslogg skapas, i vilken alla transaktioner som inte uppnått commit-tillstånd och som därför inte ska ingå i backupen loggas. Därpå genomförs backup endast på förändringar av transaktioner i den gamla transaktionsloggen.
Mera i detalj kan synkroniseringen innebära följande: 1. Den centrala backuphanteraren 34 instruerar, markerat vid 42, de lokala databashanterarna 40 att sätta backupflagga i den berörda logiska databasen. Instruktionens mottagande markeras vid 44. Denna instruktion skall kvitteras. Backupflaggan in- formerar de lokala databashanterarna om att backup kommer att påbörjas och gör att de lokala databashanterararna ändrar be- teende vad gäller lagring av objekt som ligger i den aktuella logiska databasen. 2. De lokala databashanterarna sätter backupflaggan och 500 656 7 meddelar, markerat vid 46, att det är utfört. Meddelandets mottagande hos den centrala backuphanteraren markeras vid 48. 3. En tidsövervakning av att alla lokala databashanterare kvitterar sker med de steg, som antyds vid 50 i fig. 2, samt i fig. 3. När alla de lokala databashanterarna kvitterat instrue- rar, markerat vid 52, den centrala backuphanteraren lokala logghanterare 54 att utföra följande moment. Momentens utförande antyds därvid genom de vid 56 visade stegen. a) Skapa en ny transaktionslogg där alla transaktioner som inte kommit till commitfasen och som därför inte ska ingå i backupen kommer att loggas. b) Ändra en "ßackupsynch"-variabel, som ingår i transak- tionsloggen till "Exclude" (se nedan). c) När en räknare, som anger antal pågående transaktioner i commit-tillstånd mot den gamla transaktionsloggen (den tran- saktionslogg, som förelåg vid start av moment enligt punkt 1 ovan) är lika med 0, meddela den centrala backupfunktionen att det inte finns någon koordinator för någon transaktion i aktuell dator som vill att uppdateringar skall ingå i backupen. Detta meddelandes utsändning markeras vid 58, och dess mottagning vid 60. "ßackupsynch"-variabeln kan inta värdena "Include/Exclude", och dess värde skall användas av den lokala databashanteraren och av den lokala backuphanteraren till att bestämma om ett objekt skall ingå i backupen eller inte. "BackupSynch"-variabeln hämtas av koordinatorn 30 för transaktionen i samband med att den skriver "COMMIT" i transaktionsloggen, markerat vid 62 i fig. Sa och vid 64 i fig. 5b. Utsändningen och mottagandet av "BackupSynch"-variabeln markeras vid 66 i fig. Sb resp. 68 i fig. 5a. Koordinator sänder sedan "BackupSynch"-värdet och Commit-meddelandet till alla deltagartransaktioner. Dessa dis- tribuerar i sin tur ut "BackupSynch"-värdet till de olika data- basobjekten. På så sätt ser man till att alla objekt i trans- aktionen får samma "BackupSynch"-värde och kommer att inkluderas alt. exkluderas från backupen.
Under hela synkroniseringsfasen kommer det att finnas två transaktionsloggar: -en gammal transaktionslogg som innehåller transaktioner vars förändringar av databasen kommer att speglas i backupen, och 6 LN 5GB 6 8 -en ny transaktionslogg som innehåller transaktioner som befann sig i andra faser än COMMIT när backuptagning startade och vars förändringar av databasen inte kommer att speglas av backupen.
Efter det att de lokala logghanterarna har meddelats om ändring i loggen är den ovan diskuterade synkroniseringen klar.
Kopieringen av objekt till backuparean kommer dock inte att börja förrän den lokala databashanteraren har gjort alla föränd- ringar från transaktioner som skall ingå i backupen synliga i databasen. Detta moment kräver därför också en andra synkroni- sering, nämligen mellan lokal databashanterare, lokal backuphan- terare och lokal logghanterare. Denna synkronisering bygger på att den lokala logghanteraren håller reda på antal transaktioner i commit-tillstånd, som finns i den gamla transaktionsloggen.
Antal transaktioner räknas ner när logghanteraren erhåller en instruktion att skriva "END-TRANSACTION" i den gamla transak- tionsloggen. "END-TRANSACTION" skrivs när den lokala databashan- teraren har utfört förändringarna i databasen och meddelat transaktionen detta. De sistnämnda stegen antyds i fig. 7a och b.
Sammanfattningsvis innebär den andra synkroniseringen att: 1. Den lokala databashanteraren utför de förändringar som ingår i transaktionen och meddelar transaktionen detta. 2. Transaktionen skriver "END-TRANSACTION" i transaktions- loggen. 3. De lokala logghanterarna räknar ner räknaren, som anger antal transaktioner i commit-tillstånd i transaktionsloggen och meddelar den centrala backup-hanteraren när räknarvärdet är 0.
När antal transaktioner i den gamla transaktionsloggen är 0 i alla lokala logghanterare instruerar den centrala backuphantera- ren alla lokala backuphanterare att börja kopiering av de objekt som skall ingå i backupen till backuparean. Instruktionens utsändning liksom de steg, som föregår denna antyds i fig. 4. De ifrågavarande objekten har enligt fig. 6 backupmarkerats i LID- tabellen av den lokala databashanteraren i och med att den senare bytte beteende när backupflaggan sattes. Den lokala databashanterarens beteende i samband med backup framgår av fig. 6, 8 och 9 och beskrivs närmare nedan.
Kopiering av objekt kommer att ske till backuparean. Av 500 656 9 säkerhetsskäl kommer den gamla backupen att finnas kvar på pri- märminnet tills den nya backupen är slutförd. Sedan kommer den gamla backupen att paketeras och lagras på sekundärminne. Under den tid som det tar att skapa den nya backupen och paketera den gamla kommer det att finnas två backupversioner på primärminnet, vilket inte innebär att alla objekt är dubblerade utan endast accesstrukturen eller de objekt som är specifika för respektive backup. Situationen åskådliggörs i fig. 9, där samma element som i fig. 1 erhållit samma hänvisningsbeteckningar. Figur 9 kommer i själva verket att ändras till överensstämmelse med fig. 1 efter avslutade backupmoment.
Med hänvisning till fig. 10 och 11 skall nu ett utföringsex- empel av backupfunktionen beskrivas. Närmare bestämt utgår exemplet från att backup skall tas vid tiden T=0 av en databas 100, som sträcker sig över två datorer P1 resp. P2. Tillhörande backuparea och loggarea visas ej. Vid T=0 finns två transaktio- ner T1 och T2, som accessar databasen. I datorn P1 får därvid dessa transaktioner bilda koordinator, markerat med K, och i datorn P2 deltagare, markerat med D. Figur 10 visar situationen vid T=0, och fig. 11 visar en förstorad och mera detaljerad bild av ifrågavarande databas 100 i datorn P1.
Initieringen av backup sker på följande sätt. Det första som händer vid T=0 är att, enligt 42 i fig. 2, den centrala backup- hanteraren 118 i datorn P1 kommer att beordra de lokala databas- hanterarna i P1 och P2, av vilka den i P1 antyds vid 120, att sätta upp backupflaggan i respektive databashanterare, av vilka den i P1 visas vid 122. Detta illustreras i Fig. 11 av att i en katalog 124 över tillämpningar, i figuren benämnd "RecDB-Cata- log" (RecDB = Recovery Data Base), backupflaggan är satt till 1.
Sedan ändras, enligt 52 och 56 i fig. 2, "BackupSynch"-varia- belns värde i Plzs och P2:s logg från "include", visat vid 126 för datorn P1, till "exclude". En ny transaktionslogg skapas, jfr 56 i fig. 2, vilket för datorn P1 antyds i fig. 11 vid 128.
Vid TO finns två transaktioner som arbetar mot databasen, nämligen: -transaktion T1 som befinner sig i commitfasen och som ska uppdatera objekt B och ta bort objekt D i dator P1, samt upp- datera objekt F i dator P2. -transaktion T2 som befinner sig i ínitialfasen ska skapa 590 656 10 objekt E i dator P1 och uppdatera objekt G i dator P2.
Exempel på synkronisering av transaktioner mot backup kommer nu att beskrivas.
Eftersom transaktion T1 är en koordinerande transaktion skriver den, enligt 64 i fig. 5b, COMMIT i den gamla transak- tionsloggen, antydd vid 130 i fig. 11, och hämtar "ßackupsynch = Include", jfr 68 i fig. 5a. Backupsynch variabeln skickas till deltagare T1 i dator P2 i samband med GLOBAL-COMMIT. Sedan kommer transaktionen T1 att anropa olika metoder i databashante- raren för att göra de ändringar, som transaktionen har utfört mot data, synliga i databasen. I det föreliggande exemplet kommer transaktion T1 att vilja lagra objekt B' och ta bort objekt D. Generellt för alla typer av anrop (när backupflaggan är satt) gäller att databashanteraren jämför värdet i objektets Backupsynch variabel med värdet för samma variabel i LID-tabel- lens ingång för objektet. Beroende på jämförelsens utfall och vilken metod som objektet anropade kommer databashanteraren att utföra någon av de åtgärder som beskrivs i tabellerna i fig. 12- 14. I fig. 12 hanteras därvid uppdatering av objekt, i fig. 13 skapande av nytt objekt, samt i fig. 14 avlägsnande av objekt.
För objekt B, som skulle uppdateras gäller därvid det andra fallet i spalt 2, eftersom både backupvärdet i databasposten och i LID-tabellen är include. För objekt D gäller i fig. 14 likaså fall 2 i spalt 2 av samma orsak som i föregående fall. Även objekt E skall ingå i backupen.
När databashanteraren har gjort transaktion T1:s operationer synliga i databasen kommer den att meddela transaktionen som i sin tur meddelar loggen. Loggen räknar ner antalet transaktioner i den gamla commitloggen och eftersom den nu blir 0 meddelas den centrala backupfunktionen, jfr 58, 60 i fig. 2, om att kopiering av objekt från databasarean till backuparean kan starta. När de deltagande lokala logghanterarna meddelat att de kan starta backup så beordrar den centrala backupfunktionen alla lokala backuphanterare att starta dumpning till backup, såsom framgår av de i fig. 4 ingående stegen.
För dumpning av objekt till backuparean gäller följande med hänvisning till fig. 8. De lokala backup-hanterarna kommer att gå igenom LID-tabellen, markerat vid 140, och kontrollera värdet på Backupsynch variabeln, markerat vid 142. Om den är lika med 500 656 ll "Include" kommer objektet att kopieras till backuparean om den är lika med "Exlude" kopieras inte objektet men variabelns värde sätts till "Include" som förberedelse till nästa backup, jfr. stegen 144 och 146. När alla objekt i LID-tabellen har blivit kopierade kommer objekten i backupbufferten att kopieras till backuparean. Sedan kommer backup-hanteraren att sätta backup- flaggan för databasen till 0 så att databashanteraren kan återgå till vanligt beteende.
Claims (12)
1. System för backuptagning i en distribuerad realtidsdatabas i drift, som ligger på primärminne, kännetecknat av att alla data i databasen struktureras såsom tillhörande en av flera logiska databaser, varvid en logisk databas kan, men inte behöver, sträcka sig över flera datorer, backupfunktionen för en viss logisk databas aktiveras genom att meddelande sänds till en central backuphanterare, vilken har information om vilka datorer som det aktuella backupsystemet sträcker sig över och synkroniserar backupfunktionen över dat- orgräns, vilken synkronisering innefattar att lokala databashan- terare informeras om att backup kommer att påbörjas, och att en ny transaktionslogg skapas, i vilken alla transaktioner som inte uppnått commit-tillstånd och som därför inte ska ingå i backupen loggas, varpå backup kommer att innehålla endast förändringar av transaktioner i den gamla transaktionsloggen.
2. System enligt krav l, kännetecknat av att aktiveringen av backupfunktionen för en viss logisk databas sker periodiskt, eller vid behov av operatör.
3. System enligt krav 1 eller 2, kännetecknat av att synkroniseringen innefattar att den centrala backuphanteraren beordrar de lokala databashanterarna att sätta en backupflagga i den berörda logiska databasen, vilken informerar de lokala data- bashanterarna om att backup kommer att påbörjas och gör att den ändrar beteende vad gäller lagring av objekt som ligger i den aktuella logiska databasen, varpå efter satt backupflagga de lokala databashanterarna kvitterar genom att meddela den cen- trala backuphanteraren att detta är utfört,
4. System enligt krav 3, kännetecknat av att, när alla de lokala databashanterarna kvitterat, beordrar den centrala back- uphanteraren alla lokala logghanterare för de aktuella proceso- rerna att skapa den nya transaktionsloggen.
5. System enligt krav 4, kännetecknat av att den nya transaktionsloggen innefattar en "BackupSynch“- variabel, som kan anta värdena "Include" eller "Exclude“, och vars värde används av den lokala databashanteraren och av lokala backuphanterare till att bestämma om objekt skall ingå i en backup eller inte, och att den centrala backuphanteraren beordrar de lokala logghante- 500 656 13 rarna att ändra nämnda variabel i den nya transaktionsloggen till “Exclude", innebärande att dess objekt inte skall ingå i backupen.
6. System enligt krav 5, kännetecknat av att "BackupSynch"- variabeln hämtas av en koordinator för en transaktion i samband med att den skriver "COMMIT" i transaktionsloggen, innebärande att transaktionen uppnått commit-tillstånd, och sänder sedan "BackupSynch"-variabelns värde och "COMMIT"-meddelandet till alla deltagartransaktioner, vilka i sin tur distribuerar ut "BackupSynch“-värdet till de olika databasobjekten, varigenom alla objekt i transaktionen får samma "BackupSynch"-värde och kommer att inkluderas alt. exkluderas från backupen.
7. System enligt något av föregående patentkrav, kännetecknat av att en räknare är anordnad att ange antal pågående trans- aktioner i commit-tillstånd mot den gamla transaktionsloggen, och att synkroniseringen innefattar att när räknaren är lika med 0, meddelas den centrala backupfunktionen att det inte finns någon koordinator för någon transaktion i aktuell dator som vill att uppdateringar skall ingå i backupen.
8. System enligt något av föregående patentkrav, kännetecknat av att efter det att de lokala logghanterarna har meddelats om att den lokala databashanteraren har gjort alla förändringar från transaktioner som skall ingå i backupen synliga i databasen påbörjas kopieringen av objekt till backuparean.
9. System enligt krav 8, kännetecknat av att synliggörandet innefattar synkronisering mellan den lokala databashanteraren, backup-hanteraren och logghanteraren.
10. System enligt krav 9, kännetecknat av att synkronise- ringen görs genom att den lokala logghanteraren håller reda på antal transaktioner som finns i den gamla transaktionsloggen, antal transaktioner räknas ner när transaktionen skriver END- TRANSACTION i den gamla transaktionsloggen, samt END-TRANSACTION skrivs när den lokala databashanteraren har utfört förändringar- na i databasen och meddelat transaktionen detta.
11. System enligt krav 3 och 9, kännetecknat av att när antal transaktioner i den gamla transaktionsloggen är 0 i alla lokala logghanterare beordrar den centrala backup-hanteraren alla lokala backuphanterare att börja kopiering av de objekt som skall ingå i backupen till backuparean, vilka objekt har backup- 500 656 14 markerats av den lokala datbashanteraren i och med att den bytte beteende när backupflaggan sattes.
12. System enligt något av föregående krav, kännetecknat av att kopiering av objekt sker till backuparean, och att den gamla backupen sparas på primärminne tills den nya backupen är slut- förd, varpå den gamla backupen paketeras och lagras på sekundär- minne.
Priority Applications (17)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| SE9203691A SE500656C2 (sv) | 1992-12-08 | 1992-12-08 | System för backuptagning i en distribuerad databas |
| DE69325719T DE69325719T2 (de) | 1992-12-08 | 1993-12-03 | Datenbanksicherungssystem |
| KR1019950702323A KR100271342B1 (ko) | 1992-12-08 | 1993-12-03 | 데이터 베이스에 있어서의 백업실행장치 |
| CA002151254A CA2151254C (en) | 1992-12-08 | 1993-12-03 | A system for taking backup in a data base |
| AU56632/94A AU670852B2 (en) | 1992-12-08 | 1993-12-03 | A system for taking backup in a data base |
| BR9307608-8A BR9307608A (pt) | 1992-12-08 | 1993-12-03 | Sistema de cópia de reserva para uma base de dados em tempo real em uma memória primária em operação |
| ES94902166T ES2134923T3 (es) | 1992-12-08 | 1993-12-03 | Un sistema para efectuar una version de reserva en una base de datos. |
| JP6514053A JPH08504529A (ja) | 1992-12-08 | 1993-12-03 | データベースにおけるバックアップ実行システム |
| PCT/SE1993/001047 WO1994014125A1 (en) | 1992-12-08 | 1993-12-03 | A system for taking backup in a data base |
| DK94902166T DK0673528T3 (da) | 1992-12-08 | 1993-12-03 | System til gennemførelse af backup i en database |
| EP94902166A EP0673528B1 (en) | 1992-12-08 | 1993-12-03 | A system for taking backup in a data base |
| MX9307680A MX9307680A (es) | 1992-12-08 | 1993-12-06 | Un sistema para tomar el respaldo en una base de datos. |
| US08/162,899 US5548750A (en) | 1992-12-08 | 1993-12-08 | System for taking backup in a data base |
| CN93120450A CN1037129C (zh) | 1992-12-08 | 1993-12-08 | 用于数据库中建立备份系统的方法 |
| FI952793A FI105857B (sv) | 1992-12-08 | 1995-06-07 | System för att ta säkerhetskopior i en databas |
| NO952248A NO952248L (no) | 1992-12-08 | 1995-06-07 | System ved sikkerhetskopiering i databaser |
| GR990402497T GR3031406T3 (en) | 1992-12-08 | 1999-10-04 | A system for taking backup in a data base. |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| SE9203691A SE500656C2 (sv) | 1992-12-08 | 1992-12-08 | System för backuptagning i en distribuerad databas |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| SE9203691D0 SE9203691D0 (sv) | 1992-12-08 |
| SE9203691L SE9203691L (sv) | 1994-06-09 |
| SE500656C2 true SE500656C2 (sv) | 1994-08-01 |
Family
ID=20388060
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| SE9203691A SE500656C2 (sv) | 1992-12-08 | 1992-12-08 | System för backuptagning i en distribuerad databas |
Country Status (17)
| Country | Link |
|---|---|
| US (1) | US5548750A (sv) |
| EP (1) | EP0673528B1 (sv) |
| JP (1) | JPH08504529A (sv) |
| KR (1) | KR100271342B1 (sv) |
| CN (1) | CN1037129C (sv) |
| AU (1) | AU670852B2 (sv) |
| BR (1) | BR9307608A (sv) |
| CA (1) | CA2151254C (sv) |
| DE (1) | DE69325719T2 (sv) |
| DK (1) | DK0673528T3 (sv) |
| ES (1) | ES2134923T3 (sv) |
| FI (1) | FI105857B (sv) |
| GR (1) | GR3031406T3 (sv) |
| MX (1) | MX9307680A (sv) |
| NO (1) | NO952248L (sv) |
| SE (1) | SE500656C2 (sv) |
| WO (1) | WO1994014125A1 (sv) |
Families Citing this family (53)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5555404A (en) * | 1992-03-17 | 1996-09-10 | Telenor As | Continuously available database server having multiple groups of nodes with minimum intersecting sets of database fragment replicas |
| SE515344C2 (sv) * | 1994-02-08 | 2001-07-16 | Ericsson Telefon Ab L M | Distribuerat databassystem |
| JPH0869404A (ja) * | 1994-08-29 | 1996-03-12 | Fujitsu Ltd | データのバックアップ方法及びそれを利用したデータ処理装置 |
| JP3302522B2 (ja) * | 1994-12-26 | 2002-07-15 | 富士通株式会社 | データベースシステムおよびその情報活用支援装置 |
| US5649195A (en) * | 1995-05-22 | 1997-07-15 | International Business Machines Corporation | Systems and methods for synchronizing databases in a receive-only network |
| US5778395A (en) * | 1995-10-23 | 1998-07-07 | Stac, Inc. | System for backing up files from disk volumes on multiple nodes of a computer network |
| WO1997024668A1 (en) * | 1995-12-28 | 1997-07-10 | Ipl Systems, Inc. | Dasd storage back up including back up synchronization across multiple dasd |
| US5842222A (en) * | 1996-10-04 | 1998-11-24 | Taiwan Semiconductor Manufacturing Company, Ltd. | Production information system enhanced for availability |
| US5805798A (en) * | 1996-10-29 | 1998-09-08 | Electronic Data Systems Corporation | Fail-safe event driven transaction processing system and method |
| US6038665A (en) * | 1996-12-03 | 2000-03-14 | Fairbanks Systems Group | System and method for backing up computer files over a wide area computer network |
| US5794254A (en) * | 1996-12-03 | 1998-08-11 | Fairbanks Systems Group | Incremental computer file backup using a two-step comparison of first two characters in the block and a signature with pre-stored character and signature sets |
| US6035379A (en) * | 1997-01-09 | 2000-03-07 | Microsoft Corporation | Transaction processing for user data employing both logging and shadow copying |
| KR19990079216A (ko) * | 1998-04-02 | 1999-11-05 | 윤종용 | 인터넷상에서 데이터베이스의 공유방법 |
| US6161109A (en) * | 1998-04-16 | 2000-12-12 | International Business Machines Corporation | Accumulating changes in a database management system by copying the data object to the image copy if the data object identifier of the data object is greater than the image identifier of the image copy |
| US6289357B1 (en) * | 1998-04-24 | 2001-09-11 | Platinum Technology Ip, Inc. | Method of automatically synchronizing mirrored database objects |
| EP1168176A3 (en) * | 2000-06-09 | 2008-05-14 | Hewlett-Packard Company | Utilization of unused disk space on networked computers |
| EP1394678A1 (de) * | 2002-08-27 | 2004-03-03 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zur Übertragung von Daten von einem ersten in einen zweiten Speicher |
| US7756813B2 (en) * | 2002-09-09 | 2010-07-13 | Sap Ag | Electronic data structure for controlling access to data objects using locks |
| AU2003267042A1 (en) | 2002-09-09 | 2004-04-30 | Sap Aktiengesellschaft | Methods and systems for archiving data |
| US7457933B2 (en) * | 2002-09-09 | 2008-11-25 | Sap Ag | Methods and systems for archiving data |
| US7653667B2 (en) * | 2002-09-09 | 2010-01-26 | Sap Ag | Methods and systems for data moving using locks |
| US20060149696A1 (en) * | 2002-09-09 | 2006-07-06 | Thorsten Pferdekaemper | Method and systems for controlling access to a data object by means of locks |
| US7693881B2 (en) * | 2002-09-09 | 2010-04-06 | Sap Ag | Methods and systems for moving data using locks |
| CN100399325C (zh) * | 2002-10-25 | 2008-07-02 | 联想(北京)有限公司 | 一种嵌入式数据库的数据备份和恢复方法 |
| AU2002357568A1 (en) * | 2002-12-31 | 2004-07-22 | Zte Corporation | A method of standby and controlling load in distributed data processing system |
| US7257592B2 (en) * | 2003-06-26 | 2007-08-14 | International Business Machines Corporation | Replicating the blob data from the source field to the target field based on the source coded character set identifier and the target coded character set identifier, wherein the replicating further comprises converting the blob data from the source coded character set identifier to the target coded character set identifier |
| US8280926B2 (en) | 2003-08-05 | 2012-10-02 | Sepaton, Inc. | Scalable de-duplication mechanism |
| US8938595B2 (en) | 2003-08-05 | 2015-01-20 | Sepaton, Inc. | Emulated storage system |
| CN100483365C (zh) | 2003-08-05 | 2009-04-29 | 赛帕顿有限公司 | 仿真存储系统 |
| US20050193235A1 (en) | 2003-08-05 | 2005-09-01 | Miklos Sandorfi | Emulated storage system |
| CN100364244C (zh) * | 2003-09-02 | 2008-01-23 | 华为技术有限公司 | 多接口对多接口的备份方法 |
| US7506002B2 (en) * | 2003-09-29 | 2009-03-17 | Sap Ag | Efficient deletion of archived data |
| CN100359482C (zh) * | 2004-08-04 | 2008-01-02 | 上海宝信软件股份有限公司 | 数据库表更新的动态监控系统及方法 |
| JP4172439B2 (ja) * | 2004-09-09 | 2008-10-29 | コニカミノルタビジネステクノロジーズ株式会社 | データ管理装置およびデータ管理システム |
| US7526514B2 (en) * | 2004-12-30 | 2009-04-28 | Emc Corporation | Systems and methods for dynamic data backup |
| JP4143611B2 (ja) * | 2005-02-04 | 2008-09-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | バックアップ生成装置、リカバリ処理装置、バックアップ生成方法、リカバリ処理方法、及びプログラム |
| CN100343814C (zh) * | 2005-08-02 | 2007-10-17 | 上海华为技术有限公司 | 一种数据管理系统及方法 |
| CN100465911C (zh) * | 2006-04-13 | 2009-03-04 | 华为技术有限公司 | 一种备份方法 |
| US11449394B2 (en) | 2010-06-04 | 2022-09-20 | Commvault Systems, Inc. | Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources |
| US8504526B2 (en) | 2010-06-04 | 2013-08-06 | Commvault Systems, Inc. | Failover systems and methods for performing backup operations |
| CN102662793A (zh) * | 2012-03-07 | 2012-09-12 | 江苏引跑网络科技有限公司 | 一种可保证数据一致性的分布式数据库热备份与恢复方法 |
| CN102769664B (zh) * | 2012-06-21 | 2015-07-01 | 许继电气股份有限公司 | 一种实时库同步的访问方法及变电站监控系统 |
| US9690666B1 (en) * | 2012-07-02 | 2017-06-27 | Veritas Technologies Llc | Incremental backup operations in a transactional file system |
| CN103218450B (zh) * | 2013-04-26 | 2016-05-04 | 国电南瑞科技股份有限公司 | 一种多应用实时数据库数据同步方法 |
| US9483363B2 (en) | 2013-05-08 | 2016-11-01 | Commvault Systems, Inc. | Use of temporary secondary copies in failover operations |
| US9563518B2 (en) | 2014-04-02 | 2017-02-07 | Commvault Systems, Inc. | Information management by a media agent in the absence of communications with a storage manager |
| US10339111B2 (en) | 2016-04-29 | 2019-07-02 | Netapp Inc. | Cloned virtual machine disk replication |
| US10747630B2 (en) | 2016-09-30 | 2020-08-18 | Commvault Systems, Inc. | Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including operations by a master monitor node |
| US11200124B2 (en) | 2018-12-06 | 2021-12-14 | Commvault Systems, Inc. | Assigning backup resources based on failover of partnered data storage servers in a data storage management system |
| US11099956B1 (en) | 2020-03-26 | 2021-08-24 | Commvault Systems, Inc. | Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations |
| US11645175B2 (en) | 2021-02-12 | 2023-05-09 | Commvault Systems, Inc. | Automatic failover of a storage manager |
| WO2022232980A1 (en) * | 2021-05-06 | 2022-11-10 | Micron Technology, Inc. | Debug interface between host system and memory system |
| US12360942B2 (en) | 2023-01-19 | 2025-07-15 | Commvault Systems, Inc. | Selection of a simulated archiving plan for a desired dataset |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4077059A (en) * | 1975-12-18 | 1978-02-28 | Cordi Vincent A | Multi-processing system with a hierarchial memory having journaling and copyback |
| GB1505603A (en) * | 1976-07-07 | 1978-03-30 | Ibm | Data processing systems |
| US4648031A (en) * | 1982-06-21 | 1987-03-03 | International Business Machines Corporation | Method and apparatus for restarting a computing system |
| US4635189A (en) * | 1984-03-01 | 1987-01-06 | Measurex Corporation | Real-time distributed data-base management system |
| US4686620A (en) * | 1984-07-26 | 1987-08-11 | American Telephone And Telegraph Company, At&T Bell Laboratories | Database backup method |
| US4714995A (en) * | 1985-09-13 | 1987-12-22 | Trw Inc. | Computer integration system |
| US5155678A (en) * | 1985-10-29 | 1992-10-13 | International Business Machines Corporation | Data availability in restartable data base system |
| US5043871A (en) * | 1986-03-26 | 1991-08-27 | Hitachi, Ltd. | Method and apparatus for database update/recovery |
| US4819156A (en) * | 1986-06-13 | 1989-04-04 | International Business Machines Corporation | Database index journaling for enhanced recovery |
| JPS6315354A (ja) * | 1986-07-07 | 1988-01-22 | Hitachi Ltd | 分散システムにおけるタイマ一致化管理方式 |
| US4819159A (en) * | 1986-08-29 | 1989-04-04 | Tolerant Systems, Inc. | Distributed multiprocess transaction processing system and method |
| US5136707A (en) * | 1988-10-28 | 1992-08-04 | At&T Bell Laboratories | Reliable database administration arrangement |
| US5101488A (en) * | 1989-05-02 | 1992-03-31 | Motorola, Inc. | Method for retrieving and updating data in a real-time data base system |
| US5170480A (en) * | 1989-09-25 | 1992-12-08 | International Business Machines Corporation | Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time |
| US5307481A (en) * | 1990-02-28 | 1994-04-26 | Hitachi, Ltd. | Highly reliable online system |
| US5201044A (en) * | 1990-04-16 | 1993-04-06 | International Business Machines Corporation | Data processing method for file status recovery includes providing a log file of atomic transactions that may span both volatile and non volatile memory |
-
1992
- 1992-12-08 SE SE9203691A patent/SE500656C2/sv not_active IP Right Cessation
-
1993
- 1993-12-03 EP EP94902166A patent/EP0673528B1/en not_active Expired - Lifetime
- 1993-12-03 KR KR1019950702323A patent/KR100271342B1/ko not_active Expired - Fee Related
- 1993-12-03 AU AU56632/94A patent/AU670852B2/en not_active Ceased
- 1993-12-03 DK DK94902166T patent/DK0673528T3/da active
- 1993-12-03 DE DE69325719T patent/DE69325719T2/de not_active Expired - Lifetime
- 1993-12-03 ES ES94902166T patent/ES2134923T3/es not_active Expired - Lifetime
- 1993-12-03 WO PCT/SE1993/001047 patent/WO1994014125A1/en not_active Ceased
- 1993-12-03 CA CA002151254A patent/CA2151254C/en not_active Expired - Lifetime
- 1993-12-03 BR BR9307608-8A patent/BR9307608A/pt not_active Application Discontinuation
- 1993-12-03 JP JP6514053A patent/JPH08504529A/ja active Pending
- 1993-12-06 MX MX9307680A patent/MX9307680A/es not_active IP Right Cessation
- 1993-12-08 US US08/162,899 patent/US5548750A/en not_active Expired - Lifetime
- 1993-12-08 CN CN93120450A patent/CN1037129C/zh not_active Expired - Lifetime
-
1995
- 1995-06-07 FI FI952793A patent/FI105857B/sv not_active IP Right Cessation
- 1995-06-07 NO NO952248A patent/NO952248L/no not_active Application Discontinuation
-
1999
- 1999-10-04 GR GR990402497T patent/GR3031406T3/el unknown
Also Published As
| Publication number | Publication date |
|---|---|
| KR950704747A (ko) | 1995-11-20 |
| FI952793A0 (sv) | 1995-06-07 |
| CA2151254C (en) | 2001-10-16 |
| EP0673528A1 (en) | 1995-09-27 |
| CA2151254A1 (en) | 1994-06-23 |
| DE69325719D1 (de) | 1999-08-26 |
| SE9203691D0 (sv) | 1992-12-08 |
| MX9307680A (es) | 1994-06-30 |
| NO952248D0 (no) | 1995-06-07 |
| BR9307608A (pt) | 1999-08-31 |
| EP0673528B1 (en) | 1999-07-21 |
| SE9203691L (sv) | 1994-06-09 |
| AU670852B2 (en) | 1996-08-01 |
| DE69325719T2 (de) | 1999-11-11 |
| KR100271342B1 (ko) | 2000-11-01 |
| US5548750A (en) | 1996-08-20 |
| GR3031406T3 (en) | 2000-01-31 |
| NO952248L (no) | 1995-08-02 |
| ES2134923T3 (es) | 1999-10-16 |
| WO1994014125A1 (en) | 1994-06-23 |
| JPH08504529A (ja) | 1996-05-14 |
| FI952793A7 (sv) | 1995-06-07 |
| AU5663294A (en) | 1994-07-04 |
| DK0673528T3 (da) | 2000-02-07 |
| CN1092886A (zh) | 1994-09-28 |
| CN1037129C (zh) | 1998-01-21 |
| FI105857B (sv) | 2000-10-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| SE500656C2 (sv) | System för backuptagning i en distribuerad databas | |
| US5907849A (en) | Method and system for recovery in a partitioned shared nothing database system using virtual share disks | |
| US6324548B1 (en) | Database backup and recovery using separate history files for database backup and audit backup | |
| US5465328A (en) | Fault-tolerant transaction-oriented data processing | |
| US5673382A (en) | Automated management of off-site storage volumes for disaster recovery | |
| US7136883B2 (en) | System for managing object storage and retrieval in partitioned storage media | |
| EP0097234B1 (en) | Method and apparatus for restarting a computing system | |
| US7103586B2 (en) | Collision avoidance in database replication systems | |
| US5475834A (en) | Integration of migration level two and backup tape processing using multiple inventory entries | |
| EP0226734A2 (en) | Method and apparatus for managing obsolescence of data objects | |
| EP0501160A2 (en) | Intelligent page store for concurrent and consistent access to a database by a transaction processor and a query processor | |
| JPH0683686A (ja) | タイム・ゼロ・バックアップ・セッションの安全保護機能を有するデータ処理方法及びシステム | |
| US5758334A (en) | File system remount operation with selectable access modes that saves knowledge of the volume path and does not interrupt an executing process upon changing modes | |
| JPH0683689A (ja) | 長時間運転トランザクション管理システムおよび長時間運転トランザクションを実行する方法 | |
| JPH06214915A (ja) | 分散データ処理システム | |
| JPH0683679A (ja) | データのバックアップ・コピー中の同時アクセスの方法及びシステム | |
| US20030033386A1 (en) | Method, system and program products for modifying coupling facility structures | |
| SE500599C2 (sv) | Sätt att optimera minnesutrymme i en databas | |
| JPH11504142A (ja) | 階層的に配列されたモジュールを有しているマルチプロセッサ・システム及び方法 | |
| US6609214B1 (en) | Method, system and program products for copying coupling facility structures | |
| US6584554B1 (en) | Directed allocation of coupling facility structures | |
| EP0394019A2 (en) | Computerised database system | |
| JPH06119400A (ja) | 画像データファイリング装置 | |
| JP2512903B2 (ja) | アドレス空間管理方式 | |
| JP2748402B2 (ja) | データベース障害回復方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| NUG | Patent has lapsed |