SE500656C2 - System för backuptagning i en distribuerad databas - Google Patents

System för backuptagning i en distribuerad databas

Info

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
Application number
SE9203691A
Other languages
English (en)
Other versions
SE9203691D0 (sv
SE9203691L (sv
Inventor
Bo Erik Setfan Larsson
Ivan Maria Sanchez
Original Assignee
Ellemtel Utvecklings Ab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ellemtel Utvecklings Ab filed Critical Ellemtel Utvecklings Ab
Priority to SE9203691A priority Critical patent/SE500656C2/sv
Publication of SE9203691D0 publication Critical patent/SE9203691D0/sv
Priority to DK94902166T priority patent/DK0673528T3/da
Priority to DE69325719T priority patent/DE69325719T2/de
Priority to AU56632/94A priority patent/AU670852B2/en
Priority to BR9307608-8A priority patent/BR9307608A/pt
Priority to ES94902166T priority patent/ES2134923T3/es
Priority to JP6514053A priority patent/JPH08504529A/ja
Priority to PCT/SE1993/001047 priority patent/WO1994014125A1/en
Priority to KR1019950702323A priority patent/KR100271342B1/ko
Priority to EP94902166A priority patent/EP0673528B1/en
Priority to CA002151254A priority patent/CA2151254C/en
Priority to MX9307680A priority patent/MX9307680A/es
Priority to CN93120450A priority patent/CN1037129C/zh
Priority to US08/162,899 priority patent/US5548750A/en
Publication of SE9203691L publication Critical patent/SE9203691L/sv
Publication of SE500656C2 publication Critical patent/SE500656C2/sv
Priority to FI952793A priority patent/FI105857B/sv
Priority to NO952248A priority patent/NO952248L/no
Priority to GR990402497T priority patent/GR3031406T3/el

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving 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)

500 656 12 Patentkrav.
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.
SE9203691A 1992-12-08 1992-12-08 System för backuptagning i en distribuerad databas SE500656C2 (sv)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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