{"id":92367,"date":"2020-08-26T07:42:09","date_gmt":"2020-08-26T05:42:09","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/putevoditel-po-rezervnomu-kopirovaniyu-baz-dannyh"},"modified":"2020-08-26T07:42:09","modified_gmt":"2020-08-26T05:42:09","slug":"putevoditel-po-rezervnomu-kopirovaniyu-baz-dannyh","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/putevoditel-po-rezervnomu-kopirovaniyu-baz-dannyh","title":{"rendered":"Kasutajate juhend andmebaaside varukoopiate tegemiseks","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<blockquote><p>\u2013 O, \u00fckski varjupaik ei suuda meteoriidihitti taluda. Kuid teil, nagu k\u00f5igil, on varu, nii et v\u00f5ite muretseda.<\/p>\n<p><i>Stanislav Lem, \u201eIj\u00f3na Tihh\u00f5 T\u00e4htede p\u00e4evikud\u201c<\/i><\/p><\/blockquote>\n<p>\nVarundamine t\u00e4hendab andmete koopia salvestamist kusagil v\u00e4ljaspool nende peamist salvestuskohta.<\/p>\n<p><img decoding=\"async\" alt=\"Kasutajate juhend andmebaaside varukoopiate tegemiseks\" src=\"\/wp-content\/uploads\/2020\/08\/c1dba0d8999cab69315560dfc57546e0.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVarundamise peamine eesm\u00e4rk on andmete taastamine nende kadumise korral. Seet\u00f5ttu kuuleme sageli, et kui andmebaasil on koopia, saab sellelt alati andmeid taastada ja varundamine pole vajalik. Tegelikult aitab varundamine lahendada v\u00e4hemalt kolme \u00fclesannet, mida ei saa lahendada koopia abil, ning varukoopiat ilma varunduseta ei saa algatada.<\/p>\n<p>Esiteks v\u00f5imaldab varukoopia taastada andmeid p\u00e4rast loogilist viga. N\u00e4iteks kustutab raamatupidaja seeria kannetest v\u00f5i andmebaasi administraator h\u00e4vitab tabeliruumi. M\u00f5lemad toimingud on andmebaasi seisukohalt t\u00e4iesti legitimne ja replikatsiooniprotsess kordab neid koopiakandjas.<\/p>\n<p>Teiseks, t\u00e4nap\u00e4evased andmebaasis\u00fcsteemid on \u00fcsna usaldusv\u00e4\u00e4rsed tarkvarakompleksid, kuid aeg-ajalt juhtub siiski andmebaasi sisemiste struktuuride riknemist, mille j\u00e4rel andmetele ligip\u00e4\u00e4s kaob. Mis on eriti kurb, toimub taoline rike tavaliselt siis, kui koormus on suur v\u00f5i kui paigaldatakse m\u00f5ni uuendus. Kuid nii k\u00f5rge koormus kui ka regulaarne uuendamine viitavad sellele, et andmebaas pole just katsetuslik ja selles hoitavad andmed on v\u00e4\u00e4rtuslikud.<\/p>\n<p>L\u00f5puks on kolmas \u00fclesanne, mille lahendamine n\u00f5uab varukoopia olemasolu, andmebaasi kloonimine, n\u00e4iteks testimiseesm\u00e4rkidel.<\/p>\n<p>Andmebaasi varundamine p\u00f5hineb \u00fchel kahest p\u00f5him\u00f5ttest:<\/p>\n<ul>\n<li>Andmete t\u00f5stmine ja seej\u00e4rel salvestamine vabatahtlikus formaadis;<\/li>\n<li>Andmebaasi failide oleku j\u00e4\u00e4dvustamine ja ajakirjade salvestamine.<\/li>\n<\/ul>\n<p>\nVaadakem neid p\u00f5him\u00f5tteid ja neid rakendavaid t\u00f6\u00f6riistu l\u00e4hemalt.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Andmete v\u00e4ljatoomine<\/h3>\n<p>\nIga andmebaasis\u00fcsteemiga kaasnevate t\u00f6\u00f6riistade komplektis on kindlasti t\u00f6\u00f6riistad andmete v\u00e4ljatoomiseks ja laadimiseks. Andmed salvestatakse kas tekstivormingus v\u00f5i konkreetse andmebaasi erivormingus. Allpool on toodud selliste t\u00f6\u00f6riistade loetelu:<\/p>\n<p>Binaarne vorming<br \/>\nTekstivorming<\/p>\n<p>Oracle<br \/>\nDataPump Export\/DataPump Import<br \/>\nEkspordi \/ Importi<br \/>\nSQL*Plus \/ SQL*Loader<\/p>\n<p>PostgreSQL<br \/>\npg_dump, pg_dumpall \/ pg_restore<br \/>\npg_dump, pg_dumpall \/ psql<\/p>\n<p>Microsoft SQL Server<br \/>\nbcp<br \/>\nbcp<\/p>\n<p>DB2<br \/>\nv\u00e4ljat\u00f5mbamine \/ laadimine<br \/>\nv\u00e4ljat\u00f5mbamine \/ laadimine<\/p>\n<p>MySQL<\/p>\n<p>mysqldump, mysqlpump \/ mysql, mysqlimport<\/p>\n<p>MongoDB<br \/>\nmongodump \/ mongorestore<br \/>\nmongoexport \/ mongoimport<\/p>\n<p>Cassandra<br \/>\nnodetool snapshot \/ sstableloader<br \/>\ncqlsh<\/p>\n<p>\nTekstilisel formaadil on eelis, et seda saab redigeerida v\u00f5i isegi luua v\u00e4liste programmide kaudu, samas kui binaarne formaat on hea, kuna see v\u00f5imaldab andmete kiiret ekspordi ja impordi protsessi, s\u00e4\u00e4stes ressursse vormingute konverteerimise pealt.<\/p>\n<p>Hoolimata andmete v\u00e4ljaviimise lihtsusest ja ilmsusest, kasutatakse seda meetodit harva koormatud t\u00f6\u00f6stuslike andmebaaside \u0440\u0435\u0437\u0435\u0440\u0432imiseks. Siin on p\u00f5hjused, miks andmete v\u00e4ljav\u00f5tmine ei sobi t\u00e4ie\u00f5iguslikuks varundamiseks:<\/p>\n<ul>\n<li>v\u00e4ljaviimise protsess tekitab m\u00e4rkimisv\u00e4\u00e4rset koormust allika s\u00fcsteemile;<\/li>\n<li>v\u00e4ljaviimine v\u00f5tab kaua aega \u2013 v\u00e4ljaviimise l\u00f5puks on see juba ebaoluline;<\/li>\n<li>k\u00f5ikide andmebaasi andmete koosk\u00f5laliselt v\u00e4ljaviimine k\u00f5rge koormuse ajal on peaaegu v\u00f5imatu, kuna andmehalduse s\u00fcsteem peab salvestama oma seisundi pildi selle v\u00e4ljaviimise algusaegadel. Mida rohkem tehinguid on toimunud alates v\u00e4ljaviimise algusest, seda suurem on pildi maht (mitteaktuaalsed andmekoopiad PostgreSQL-is, undo-ruum Oracle'is, tempdb Microsoft SQL Serveris jne);<\/li>\n<li>v\u00e4ljaviimine s\u00e4ilitab andmete loogilise struktuuri, kuid ei s\u00e4ilita nende f\u00fc\u00fcsilist struktuuri \u2013 tabelite f\u00fc\u00fcsilise salvestamise parameetrid, indeksid jms.<\/li>\n<\/ul>\n<p>\nSellegipoolest on v\u00e4ljaviimisel ka eeliseid:<\/p>\n<ul>\n<li>k\u00f5rge valikulisus: saab v\u00e4ljaviia eraldi tabeleid, eraldi v\u00e4lju ja isegi eraldi ridasid;<\/li>\n<li>V\u00e4ljaviidud andmeid saab laadida teise versiooniga andmebaasi ning kui v\u00e4ljaviimine on tehtud tekstiformaadis, siis ka teise andmebaasi.<\/li>\n<\/ul>\n<p>\nSeega kasutatakse v\u00e4ljaviimist peamiselt selliste \u00fclesannete t\u00e4itmiseks nagu v\u00e4ikeste tabelite (n\u00e4iteks viidete) varundamine v\u00f5i andmete komplektide levitamine rakenduse j\u00e4rgmise v\u00e4ljaandmisega. <\/p>\n<p>Ainu\u00fcksi andmebaaside varundamise k\u00f5ige levinum meetod on andmebaasi failide kopeerimine.<\/p>\n<h3>\"K\u00fclm\" andmebaasi failide s\u00e4ilitamine<\/h3>\n<p>\nIlmselge idee on andmebaasi peatamine ja k\u00f5ikide selle failide kopeerimine. Sellist varukoopiat nimetatakse \"k\u00fclmaks\". Meetod on \u00e4\u00e4rmiselt usaldusv\u00e4\u00e4rne ja lihtne, kuid sellel on kaks ilmselget puudust:<\/p>\n<ul>\n<li>\u00abK\u00fclmalt\u00bb varukoopiast saab taastada vaid andmebaasi selle hetke seisundi, mil see peatati; p\u00e4rast andmebaasi taask\u00e4ivitamist tehtud tehingud ei j\u00f5ua \u00abk\u00fclma\u00bb varukoopia sisse;<\/li>\n<li>Kaugelt ei ole igal andmebaasil tehnoloogilist akent, millal andmebaasi peatada saab.<\/li>\n<\/ul>\n<p>\nKui \u00abk\u00fclm\u00bb varundamine sobib, siis tuleb meeles pidada, et<\/p>\n<ul>\n<li>\u00abK\u00fclm\u00bb koopia peab m\u00f5nikord sisaldama ka ajalugu. Meetodid, kuidas m\u00e4\u00e4rata, millised ajakirjad peavad \u00abk\u00fclma\u00bb koopia sisse minema, on iga DBMS-i jaoks individuaalsed. N\u00e4iteks Oracle'is tuleb kopeerida nn online redo, mis on teatud hulk ajakirja faile spetsiaalses kataloogis, isegi siis, kui andmebaas on korrektselt peatatud. PostgreSQL-is tuleb salvestada k\u00f5ik ajakirjad alates ajakirjast, mis sisaldab viimast kontrollpunkti, mille teave on juhtfailis.<\/li>\n<li>Andmebaasi kataloog v\u00f5ib sisaldada piisavalt suuri ajutiste tabeliruumi faile, mida ei ole tingimata vaja varukoopiasse kaasata. \u00dcldiselt kehtib see m\u00e4rkuse ka \u00abkuuma\u00bb varundamise kohta.<\/li>\n<\/ul>\n<p><\/p>\n<h3>\u00abKuum\u00bb failide salvestamine<\/h3>\n<p>\nEnamik kaasaegsete andmebaaside varukoopiaid tehakse andmebaasi failide kopeerimise teel ilma andmebaasi peatamata. Siin on mitmeid probleeme:<\/p>\n<ul>\n<li>Kopeerimise hetkel ei pruugi andmebaasi sisu vastata failide sisule, kuna osa teabest on vahem\u00e4lus ja pole veel kettale kirjutatud.<\/li>\n<li>Kopeerimise ajal v\u00f5ib andmebaasi sisu muutuda. Kui kasutatakse muudetavaid and strukture, muutub failide sisu, ja kui kasutatakse muutumatuid strukture, siis muutub failide komplekt: uued failid ilmuvad, samas kui vanad eemaldatakse.<\/li>\n<li>Kuna andmete kirjutamine andmebaasi ja DB failide lugemine ei ole kuidagi s\u00fcnkroonitud, v\u00f5ib varundusprogramm lugeda vale lehe, millel pool on vana versioon lehelt ja teine pool \u2013 uus.<\/li>\n<\/ul>\n<p>\nKuna varukoopia peaks olema j\u00e4rjepidev, on igal DBMS-il k\u00e4su, mis teatab, et varundusprotsess on alanud. S\u00fcntaktiliselt v\u00f5ib see k\u00e4sk v\u00e4lja n\u00e4ha erinev: <\/p>\n<ul>\n<li>Oracle'is on see eraldi k\u00e4sk ALTER DATABASE\/TABLESPACE BEGIN BACKUP;<\/li>\n<li>PostgreSQL-is \u2013 funktsioon pg_start_backup();<\/li>\n<li>Microsoft SQL Serveris ja DB2-s toimub varundamise valmistamine automaatselt BACKUP DATABASE k\u00e4su k\u00e4ivitamise protsessi k\u00e4igus;<\/li>\n<li>MySQL Enterprise'is, Cassandra's ja MongoDB-s toimub valmistamine automaatselt v\u00e4line utiliit \u2013 mysqlbackup, OpsCenter ja Ops Manager vastavalt.<\/li>\n<\/ul>\n<p>\nHoolimata s\u00fcntaktilistest erinevustest n\u00e4eb varundamise ettevalmistamise protsess v\u00e4lja samasugune.<\/p>\n<p>Nii n\u00e4eb v\u00e4lja varundamise ettevalmistamine andmebaasihalduss\u00fcsteemides, millel on muudetavad ketastruktuurid, st k\u00f5ikides traditsioonilistes kettal p\u00f5hinevates relatsioonilistes s\u00fcsteemides:<\/p>\n<ol>\n<li>Salvestatakse varundamise algushetk; varukoopia peab sisaldama andmebaasi \u017eurnaleid alates sellest hetkest.<\/li>\n<li>Teostatakse kontrollpunkt, see t\u00e4hendab, et k\u00f5ik andmefailide lehtedel toimunud muudatused salvestatakse enne salvestatud hetke kettale. See tagab, et \u017eurnaalid varundamise algushetke enne taastamist ei ole vajalikud.<\/li>\n<li>L\u00fclitatakse sisse eriline \u017eurnaliseerimisre\u017eiim: kui andmeleht on esmakordselt p\u00e4rast kettale laadimist muudetud, salvestab andmebaas muutuse \u017eurnali asemel lehe tervikuna. Valmistamisprotsessi k\u00e4igus sunnitakse k\u00f5ik lehed kettale, mist\u00f5ttu esmakordne muutus toimub alati kui k\u00e4sk lehe tervikuna kaustas toimetatakse. Kui varundamise k\u00e4igus leht uuesti kettale sunnitakse, toob j\u00e4rgmine selle muudatus samuti kaasa lehe t\u00e4ieliku koopia ilmumise \u017eurnalis. See tagab, et kui andmefaili kopeerimisel leht muutub vigaseks, muudab \u017eurnali kasutamine selle taas \u00f5igeks.<\/li>\n<li>Ainult andmefaili p\u00e4ise muutmine on blokeeritud, st selle osa muutused, mida \u017eurnaalides ei peegeldata. See tagab, et p\u00e4is kopeeritakse \u00f5igesti ja seej\u00e4rel rakendatakse andmefailile \u00f5igesti \u017eurnaalid.<\/li>\n<\/ol>\n<p>\nP\u00e4rast k\u00f5igi eespool nimetatud protseduuride l\u00f5petamist on v\u00f5imalik kopeerida andmefailid operaatori s\u00fcsteemi vahenditega \u2013 cp, rsync ja teistega. Varundusre\u017eiimi sissel\u00fclitamine v\u00e4hendab andmebaasi j\u00f5udlust: esiteks suureneb logide maht ja teiseks, kui varundusre\u017eiimi ajal peaks tekkima t\u00f5rge, muutub taastamine pikemaks, kuna andmefailide p\u00e4ised ei uuendata. Mida kiiremini varundamine l\u00f5peb, seda parem andmebaasi jaoks, seega on asjakohane kasutada selliseid vahendeid nagu failis\u00fcsteemi hetkeseis (snapshot) v\u00f5i peegeldise katkemine (BCV) kettamassiivis. M\u00f5ned andmebaasis\u00fcsteemid (Oracle, PostgreSQL) j\u00e4tavad administraatorile v\u00f5imaluse ise valitud kopeerimismeetodi kasutamiseks, teised (Microsoft SQL Server) pakuvad liidest oma varundusutiliitide integreerimiseks failis\u00fcsteemide v\u00f5i andmemassiivide mehhanismidega.<\/p>\n<p>Kuna varundamine on l\u00f5pule viidud, tuleb andmebaas viia tagasi tavap\u00e4rasesse olekusse. Oracle'is tehakse seda k\u00e4suga ALTER DATABASE\/TABLESPACE END BACKUP, PostgreSQL-is funktsiooni pg_stop_backup() kutsumisega ning teistes andmebaasides vastavate k\u00e4skude v\u00f5i v\u00e4liste teenuste sisemiste alprogrammidena.<\/p>\n<p>Nii n\u00e4eb v\u00e4lja ajadiagramm varundamisprotsessi kohta:<\/p>\n<p><img decoding=\"async\" alt=\"Kasutajate juhend andmebaaside varukoopiate tegemiseks\" src=\"\/wp-content\/uploads\/2020\/08\/4e74f865e9f35acec083b747da4449cf.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<ul>\n<li>Varundamiseks ettevalmistamine (begin backup) v\u00f5tab aega, m\u00f5nikord m\u00e4rkimisv\u00e4\u00e4rselt. Isegi kui kasutatakse peegeldavaid mahte v\u00f5i failis\u00fcsteeme, mis v\u00f5imaldavad hetkeseisude loomist, ei ole varundamisprotsess kohe k\u00e4ivituv.<\/li>\n<li>Koos andmefailidega on vajalik salvestada logid alates varundamise ettevalmistamise algusest kuni hetkeni, mil andmebaas naaseb normaalsesse olekusse.<\/li>\n<li>Selle varukoopia p\u00f5hjal on v\u00f5imalik taastuda <b>andmebaasi normaalsesse olekusse tagasiviimise hetkel<\/b>. Varundamine varasemasse hetke ei ole v\u00f5imalik.<\/li>\n<\/ul>\n<p>\nAndmebaasidega, mis kasutavad muutumatuid andmestruktuure (m\u00e4luseisud, LSM-puud), on olukord lihtsam. Varundamiseks ettevalmistamine koosneb j\u00e4rgmistest sammudest:<\/p>\n<ol>\n<li>M\u00e4lu andmed kirjutatakse kettale.<\/li>\n<li>Fikseeritakse failide nimekiri, mis kuuluvad varukoopiasse. Kuni varundamisprotsess ei ole l\u00f5petatud, on andmebaasil keelatud need failid kustutada, isegi kui need muutuvad ebavajalikuks.<\/li>\n<\/ol>\n<p>\nKopeerimise l\u00f5pum\u00e4ngu signaaliga v\u00f5ib andmebaas, mille struktuurid on muutumatud, taas kustutada mitte vajalikud failid.<\/p>\n<h3>Taastamine ajas<\/h3>\n<p>\nKopeerimine v\u00f5imaldab taastada andmebaasi olek, milles see oli, kui taastus k\u00e4sk tagas sisse kodulampi kopeerimise. Siiski v\u00f5ib \u00f5nnetus, mille j\u00e4rel taastamine on vajalik, juhtuda igal ajal. Andmebaasi oleku taastamise \u00fclesanne mingis punktis ajas on seotud \"taastamine ajas\" (point-in-time recovery).<\/p>\n<p>Selle v\u00f5imaluse tagamiseks on vaja s\u00e4ilitada andmebaasi \u017eurnaalid alates kopeerimise l\u00f5pust ja taastamise k\u00e4igus j\u00e4tkata \u017eurnalide rakendamist taastatud kopeerimisse. P\u00e4rast seda, kui andmebaas on taastatud kopeerimisest kopeerimise hetkel, on andmebaasi (failide ja vahem\u00e4lulehtede) olek tagatud ning seet\u00f5ttu ei ole erilist \u017eurnaliseerimist vaja. Rakendades \u017eurnaleid kuni soovitud hetkeni, on v\u00f5imalik saada andmebaasi olek igas ajas.<\/p>\n<p>Kui kopeerimise taastamise kiirus on piiratud ainult ketta l\u00e4bilaskev\u00f5imega, siis \u017eurnalide rakendamise kiirus on tavaliselt piiratud protsessori j\u00f5udlusega. Kui peamises andmebaasis toimuvad muudatused paralleelselt, siis taastamise k\u00e4igus viiakse k\u00f5ik muudatused ellu j\u00e4rjestikku - vastavalt \u017eurnalist lugemisele. Seega on taastamise aeg lineaarne, s\u00f5ltudes sellest, kui kaugel taastamispunkt on kopeerimise l\u00f5pp-punktist. Seet\u00f5ttu tuleb sageli teha t\u00e4ielikke kopeerimisi \u2013 v\u00e4hemalt kord n\u00e4dalas v\u00e4henenud tehingukoormusega andmebaaside jaoks ja kuni iga p\u00e4ev k\u00f5rge koormusega andmebaaside jaoks.<\/p>\n<h3>Inkrementaalne kopeerimine<\/h3>\n<p>\nKuna soovitatakse kiirendada ajas taastamist, soovitakse, et oleks v\u00f5imalik kopeerimist teha nii sageli kui v\u00f5imalik, kuid samas mitte kasutada liigselt ketta ruumi ega \u00fcle koormata andmebaasi kopeerimise \u00fclesannetega.<\/p>\n<p>Probleemi lahendus on inkrementaalne kopeerimine, see t\u00e4hendab ainult nende andmelehtede kopeerimine, mis on muutunud alates eelmisest kopeerimisest.<br \/>\nInkrementaalne varukoopia on m\u00f5ttekas ainult muudetud andmestruktuure kasutavate andmebaaside jaoks.<\/p>\n<p>Inkrementi saab arvestada kas t\u00e4isvarukoopia (kumulatiivne koopia) v\u00f5i m\u00f5ne varasema koopia (diferentsiaalne koopia) alusel. <\/p>\n<p><img decoding=\"async\" alt=\"Kasutajate juhend andmebaaside varukoopiate tegemiseks\" src=\"\/wp-content\/uploads\/2020\/08\/10e3bb87445cb36693c7b5469d62eeaf.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKahjuks ei ole \u00fchtset terminoloogiat ning erinevad tootjad kasutavad erinevaid termineid:<\/p>\n<p>Diferentsiaalne<br \/>\nKumulatiivne<\/p>\n<p>Oracle<br \/>\nDiferentsiaalne<br \/>\nKumulatiivne<\/p>\n<p>PostgresPro<br \/>\nIncrementaalne<br \/>\n\u2014<\/p>\n<p>Microsoft SQL Server<br \/>\n\u2014<br \/>\nDiferentsiaalne<\/p>\n<p>IBM DB2<br \/>\nDelta<br \/>\nIncrementaalne<\/p>\n<p>\nKui olemas on inkrementaalsed koopiad, n\u00e4eb taastamisprotsess punktist v\u00e4lja j\u00e4rgnev:<\/p>\n<ul>\n<li>taastatakse viimane t\u00e4isvarukoopia, mis tehti enne taastamise hetke;<\/li>\n<li>t\u00e4iskoopiale taastatakse inkrementaalsed koopiad;<\/li>\n<li>rakendatakse logisid varukoopia alguspunktist taastamispunktini.<\/li>\n<\/ul>\n<p>\nKumulatiivne koopia kiirendab taastamisprotsessi. N\u00e4iteks, et taastada andmebaasi seisund punktis T3 ja T4 vahel, tuleb taastada kaks inkrementaalset koopiat, kuid T4 j\u00e4rel taastamiseks piisab ainult \u00fchest.<br \/>\nOn ilmne, et \u00fche kumulatiivse koopia maht on v\u00e4iksem kui mitme diferentsiaalse koopia maht, kuna m\u00f5ned lehed on muutunud mitu korda ja iga inkrementaalne koopia sisaldab oma lehe versiooni.<\/p>\n<p>Inkrementaalse koopia tegemiseks on kolm v\u00f5imalust:<\/p>\n<ol>\n<li>t\u00e4iskoopiate loomine ja erinevuste arvutamine eelmise t\u00e4iskoopiaga;<\/li>\n<li>logide anal\u00fc\u00fcs, muudetud lehtede loendi koostamine ja loendis sisalduvate lehtede varundamine;<\/li>\n<li>muudetud lehtede p\u00e4rimine andmebaasist.<\/li>\n<\/ol>\n<p>\nEsimene meetod s\u00e4\u00e4stab ketta ruumi, kuid ei lahenda andmebaasi koormuse v\u00e4hendamise probleemi. Veelgi enam, kui meil on t\u00e4isvarukoopia, siis ei ole m\u00f5ttekas seda inkrementaalseks muuta, kuna t\u00e4iskoopiate taastamine on kiirem kui eelmise t\u00e4iskoopia ja inkrementa taastamine. Ketta ruumi k\u00fcsimuse lahendamise tuleks j\u00e4tta spetsiaalsetele komponentidele, millel on sisseehitatud deduplikatsiooni mehhanismid. Need v\u00f5ivad olla nii spetsiaalsed andmemagamise seadmed (EMC DataDomain, HPE StorageWorks VLS, kogu NetApp'i tootesari) kui ka tarkvaratooted (ZFS, Veritas NetBackup PureFile, Windows Server Data Deduplication).<\/p>\n<p>Teised ja kolmandad meetodid erinevad muudetud lehtede loendi m\u00e4\u00e4ramise mehhanismi poolest. Logide anal\u00fc\u00fcs on ressursin\u00f5udlikum ning selle rakendamiseks tuleb teada logifailide struktuuri. K\u00fcsida andmebaasilt, millised t\u00e4pselt lehed on muutunud, on k\u00f5ige lihtsam, kuid selleks peab andmebaasi juhtfunktsioon olema muudetud blokkide j\u00e4lgimise funktsionaalsus (block change tracking).<\/p>\n<p>Esmakordselt loodi inkrementaalse varundamise funktsionaalsus Oracle Recovery Manager (RMAN) tarkvaras, mis ilmus Oracle 8i versioonis. Oracle rakendas kohe muudetud blokkide j\u00e4lgimist, seega pole logide anal\u00fc\u00fcsi vajadust.<\/p>\n<p>PostgreSQL ei j\u00e4lgi muudetud bloke, mist\u00f5ttu Venemaa ettev\u00f5tte Postgres Professional v\u00e4lja t\u00f6\u00f6tatud t\u00f6\u00f6riist pg_probackup m\u00e4\u00e4rab muudetud lehed logi anal\u00fc\u00fcsi teel. Siiski on ettev\u00f5te v\u00e4lja andnud ka andmebaasi PostgresPro, mis sisaldab laiendust ptrack, mis j\u00e4lgib lehtede muutusi. Kui kasutada pg_probackup'i koos PostgresPro andmebaasiga, k\u00fcsib t\u00f6\u00f6riist muudetud lehti andmebaasilt - samuti nagu RMAN.<\/p>\n<p>Microsoft SQL Server j\u00e4lgib muudetud lehti sama nagu Oracle, kuid BACKUP k\u00e4sk v\u00f5imaldab teha ainult t\u00e4is- ja kumulatiivseid varukoopiaid.<\/p>\n<p>DB2-l on v\u00f5imalus j\u00e4lgida muudetud lehti, kuid see on vaikimisi v\u00e4lja l\u00fclitatud. P\u00e4rast lubamist v\u00f5imaldab DB2 teha t\u00e4is-, diferentseeritud ja kumulatiivseid varukoopiaid.<\/p>\n<p>Oluline erinevus selles jaotises kirjeldatud t\u00f6\u00f6riistade (v\u00e4lja arvatud pg_probackup) ja failip\u00f5histe varundust\u00f6\u00f6riistade vahel on see, et nad k\u00fcsivad andmebaasilt lehtede pilte, mitte ei loe andmeid ise k\u00f5vakettalt. Selle l\u00e4henemise puuduseks on v\u00e4ike lisakoormus andmebaasile. Kuid see puudus kompenseeritakse t\u00e4ielikult, kuna loetud leht on alati korrektne, mis t\u00e4hendab, et varundamise ajal ei ole vaja erilise logimistari aktiveerimist.<\/p>\n<p>Veel kord m\u00e4rkige, et inkrementaalsete koopiate olemasolu ei t\u00fchista n\u00f5udeid logide olemasolu suhtes, et taastada andmeid suvalisse ajahetke. Seet\u00f5ttu salvestatakse t\u00f6\u00f6stuslikes andmebaasides logid pidevalt v\u00e4lisele kandjale ning t\u00e4is- ja\/v\u00f5i inkrementaalsed varukoopiad luuakse ajakava j\u00e4rgi.<\/p>\n<p>T\u00e4nap\u00e4eva parim rakendus inkrementaalse varundamise ideele on riist- ja tarkvarakompleks (Oracle'i terminoloogias - engineered system) Zero Data Loss Recovery Appliance - Oracle'i spetsialiseeritud lahendus oma andmebaaside varundamiseks. Kompleks on klaster <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/et\/server\/\"   title=\"serverid\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1521\">serverid<\/a> suure ketta mahuga, millele on installitud muudetud Recovery Manager tarkvara versioon ja mis suudab t\u00f6\u00f6tada nii teiste Oracle'i riist- ja tarkvarakompleksidega (Database Appliance, Exadata, SPARC Supercluster) kui ka Oracle'i andmebaasidega traditsioonilisel infrastruktuuril. Erinevalt 'tavalisest' RMAN-ist rakendab ZDLRA 'igavese inkrementi' (incremental forever) kontseptsiooni. S\u00fcsteem loob \u00fche korra t\u00e4iskope andmebaasist ning seej\u00e4rel teeb ainult inkrementaalsed koopiad. Lisa RMAN moodulid v\u00f5imaldavad koopiaid kombineerida, luues uusi t\u00e4iskoopiaid inkrementaalsetest. <\/p>\n<p>Eesti arendajate auks tuleb m\u00e4rkida, et ka pg_probackup oskab inkrementaalseid koopiaid \u00fchendada.<\/p>\n<p><img decoding=\"async\" alt=\"Kasutajate juhend andmebaaside varukoopiate tegemiseks\" src=\"\/wp-content\/uploads\/2020\/08\/275b649ce74614c04410618a062dddbd.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nErinevalt paljusid sarnaseid k\u00fcsimusi, k\u00fcsimusel 'milline varundamismeetod on parem' on selge vastus - parim on kasutatavale andmebaasis\u00fcsteemile omane utiliit, mis v\u00f5imaldab inkrementaalset varundamist.<\/p>\n<p>Andmebaasi administraatori jaoks on palju olulisemad k\u00fcsimused varundamisstrateegia valik ja andmebaaside varundamisvahendite integreerimine ettev\u00f5tte infrastruktuuri. Kuid need k\u00fcsimused j\u00e4\u00e4vad v\u00e4ljapoole selle artikli ulatust.<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/516428\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u2013 \u041e, \u043d\u0438\u043a\u0430\u043a\u043e\u0435 \u0443\u0431\u0435\u0436\u0438\u0449\u0435 \u043d\u0435 \u0432\u044b\u0434\u0435\u0440\u0436\u0438\u0442 \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u044f \u043c\u0435\u0442\u0435\u043e\u0440\u0438\u0442\u0430. \u041d\u043e \u0432\u0435\u0434\u044c \u0443 \u0432\u0430\u0441, \u043a\u0430\u043a \u0438 \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e, \u0435\u0441\u0442\u044c \u0440\u0435\u0437\u0435\u0440\u0432, \u0442\u0430\u043a \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0435 \u0431\u0435\u0441\u043f\u043e\u043a\u043e\u0438\u0442\u044c\u0441\u044f. \u0421\u0442\u0430\u043d\u0438\u0441\u043b\u0430\u0432 \u041b\u0435\u043c, \u00ab\u0417\u0432\u0451\u0437\u0434\u043d\u044b\u0435 \u0434\u043d\u0435\u0432\u043d\u0438\u043a\u0438 \u0418\u0439\u043e\u043d\u0430 \u0422\u0438\u0445\u043e\u0433\u043e\u00bb \u0420\u0435\u0437\u0435\u0440\u0432\u043d\u044b\u043c \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043f\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0433\u0434\u0435-\u0442\u043e \u0432\u043d\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u0438\u0445 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f. \u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u2013 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0441\u043b\u0435 \u0438\u0445 \u043f\u043e\u0442\u0435\u0440\u0438. \u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u044d\u0442\u0438\u043c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":92368,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-92367","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u2013 \u041e, \u043d\u0438\u043a\u0430\u043a\u043e\u0435 \u0443\u0431\u0435\u0436\u0438\u0449\u0435 \u043d\u0435 \u0432\u044b\u0434\u0435\u0440\u0436\u0438\u0442 \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u044f \u043c\u0435\u0442\u0435\u043e\u0440\u0438\u0442\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/putevoditel-po-rezervnomu-kopirovaniyu-baz-dannyh\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0443\u0442\u0435\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c \u043f\u043e \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u043c\u0443 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u2013 \u041e, \u043d\u0438\u043a\u0430\u043a\u043e\u0435 \u0443\u0431\u0435\u0436\u0438\u0449\u0435 \u043d\u0435 \u0432\u044b\u0434\u0435\u0440\u0436\u0438\u0442 \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u044f \u043c\u0435\u0442\u0435\u043e\u0440\u0438\u0442\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/putevoditel-po-rezervnomu-kopirovaniyu-baz-dannyh\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-08-26T05:42:09+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-08-26T05:42:09+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Andmebaaside varundamise juhend | ProHoster","description":"\u2013 O, \u00fckski varjupaik ei suuda meteoriidi tabamist taluda.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/putevoditel-po-rezervnomu-kopirovaniyu-baz-dannyh","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0443\u0442\u0435\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c \u043f\u043e \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u043c\u0443 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 | ProHoster","og:description":"\u2013 \u041e, \u043d\u0438\u043a\u0430\u043a\u043e\u0435 \u0443\u0431\u0435\u0436\u0438\u0449\u0435 \u043d\u0435 \u0432\u044b\u0434\u0435\u0440\u0436\u0438\u0442 \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u044f \u043c\u0435\u0442\u0435\u043e\u0440\u0438\u0442\u0430.","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/putevoditel-po-rezervnomu-kopirovaniyu-baz-dannyh","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-08-26T05:42:09+00:00","article:modified_time":"2020-08-26T05:42:09+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"92367","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 12:09:36","updated":"2026-02-09 16:50:36","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/92367","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=92367"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/92367\/revisions"}],"predecessor-version":[{"id":158765,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/92367\/revisions\/158765"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/92368"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=92367"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=92367"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=92367"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}