Andmebaaside varundamine ja taastamine
Sybase SQL Anywhere 12
Pane tähele...
- Kausta või faili tee märkimisel SQL päringutes kasutatakse eraldajana kahte langevat kaldkriipsu nt "C:\\Users\\Public\\Desktop", käsureal ühte nt "C:\Users\Roland\Desktop".
- Tee tasub alati panna jutumärkide vahele. Kui tees esinevad tühikud ning jutumärke pole, tekib viga.
1. Andmebaasi kujutis
Andmebaasi kujutis on koopia andmebaasi andme- ja logifailist. Nende failide abil on vajadusel võimalik andmebaas taastada.
1.1 Varundamine SQL päringut kasutades
Käivitage Interactive SQL-i abil järgnev päring. Tulemuseks on teie poolt määratud asukohta kopeeritud andmefail (
andembaasiNimi
.db) ning logifail (andembaasiNimi
.log).
BACKUP DATABASE
DIRECTORY
DIRECTORY
tee-varukoopia-asukohta
;
Kui soovite teha varukoopia ainult andmefailist:
BACKUP DATABASE
DIRECTORY
DBFILE ONLY;
DIRECTORY
tee-varukoopia-asukohta
DBFILE ONLY;
Kui soovite teha varukoopia ainult transaktsioonide logist:
BACKUP DATABASE
DIRECTORY
TRANSACTION LOG ONLY;
DIRECTORY
tee-varukoopia-asukohta
TRANSACTION LOG ONLY;
1.2 Varundamine Sybase Centralit kasutades
Sybase Centralil on varundamise viisard, mis aitab eelpool tehtud päringud graafilist kasutajaliidest kasutades kokku panna.
- Valige menüüribalt
Tools→SQL Anywhere 12→Create Backup Images….
- Kui avaneb aken pealkirjaga "Welcome", siis lugege läbi tutvustav tekst ning vajutage Next. Kui avanes aken pealkirjaga "Select a Database", siis vaadake järgmist punkti.
- Valige andmebaas, millest soovite varukoopiat teha ja vajutage Next.
- Avaneb aken pealkirjaga "Specify an Image Directory". Valige Browse…nuppu kasutades kaust, kuhu soovite varukoopia salvestada ning märkige allpool asuvas valikus, milliseid faile te varundada soovite. VajutageNext.
- Avanevas aknas on võimalik valida, mida transaktsioonide logiga pärast varundamist tehakse. Kontrollige, et oleks valitud "Continue to use same transaction log", mis jätab logifaili muutmata. Vajutage Next.
- Nüüd näete viisardi kokkupandud päringut. Midagi siin aknas muuta ei saa. Vajutage Finishning teie poolt määratud kausta tehakse andmebaasi varukoopia.
1.3 Taastamine operatsioonisüsteemi vahendeid kasutades
Kopeerige (
copy-paste
) andmefail (*.db) ja/või logifail (*.log) kausta, kus soovite andmebaaside juhtimissüsteemi faile hoida. Näiteks C:\Users\Public\Documents\SQL Anywhere 12\valitudKaust. Sellega ongi andmebaas taastatud.
2. Andmebaasi pakitud varukoopia
Pakitud varukoopia koosneb ühest või mitmest failist, mida on vaja andmebaasi taastamiseks. Selle maht on väiksem ning varukoopia tegemise kiirus suurem kui andmebaasist kujutise tegemise korral.
2.1 Varundamine SQL päringut kasutades
Pakitud varukoopia tegemiseks käivitage Interactive SQL-i abil järgnev päring. Tulemuseks on teie poolt määratud asukohta kopeeritud varukoopia (
faili-nimi
.1).
BACKUP DATABASE
TO
TO
kausta-absoluutne-tee
\\faili-nimi
;
2.2 Varundamine Sybase Centralit kasutades
Sybase Centralil on varundamise viisard, mis aitab eelpool tehtud päringu graafilist kasutajaliidest kasutades kokku panna.
- Valige menüüribalt Tools→SQL Anywhere 12→Backup Database….
- Kui avaneb aken pealkirjaga "Welcome", siis lugege läbi tutvustav tekst ning vajutage Next. Kui avanes aken pealkirjaga "Select a Database", siis vaadake järgmist punkti.
- Valige andmebaas, millest soovite varukoopiat teha ja vajutage Next.
- Avaneb aken pealkirjaga "Choose an Archive Location." Veenduge, et varukoopia salvestamise asukohaks on määratud "On disk, in the following file:". Valige Browse…nuppu kasutades kaust, kuhu soovite varukoopia salvestada ning sisestage failile nimi (ilma laiendita). VajutageNext.
- Avanevas aknas on võimalik varukoopiale lisada kommentaar. Vajutage Next.
- Nüüd näete viisardi kokkupandud päringut. Midagi siin aknas muuta ei saa. Vajutage Finishning teie poolt määratud kausta tehakse andmebaasi varukoopia.
2.3 Taastamine SQL päringut kasutades
Käivitage järgnev kood. Pane tähele, et
andmefaili-absoluutne-tee
peab lõppema soovitud andmefaili nimega (nt 'C:\\Users\\Public\\Documents\\SQL Anywhere 12\\valitudKaust\\andmefail.db' ) ning varukoopia-absoluutne-tee
lõpus olev varukoopia fail peab olema ilma laiendita (nt 'C:\\Users\\Public\\Desktop\\varukoopia').
RESTORE
DATABASE
FROM
DATABASE
andmefaili-absoluutne-tee
FROM
varukoopia-absoluutne-tee
;
2.4 Taastamine Sybase Centralit kasutades
Kasutame Sybase Centrali taastamise viisardit.
- Avamiseks vajutage menüüribal Tools→SQL Anywhere 12→Restore Database….
- Kui avaneb aken pealkirjaga "Welcome", siis lugege läbi tutvustav tekst ning vajutage Next. Kui avanes aken pealkirjaga "Select a Server", siis vaadake järgmist punkti.
- Veenduge, et valitud on "Restore a database on this computer" ning vajutage Next.
- Avaneb aken pealkirjaga "Choose an Archive." Veenduge, et varukoopia asukohaks on määratud "On disk, in the following file:". Valige Browse…nuppu kasutades varukoopia, mida soovite taastamiseks kasutada (nt varukoopia.1). VajutageNext.
- Browse…nuppu kasutades valige kaust, kuhu soovite varukoopia taastada ning sisestage faili nimi (nt taastatud.db). VajutageNext.
- Nüüd näete viisardi kokkupandud päringut. Midagi siin aknas muuta ei saa. Vajutage Finishning teie poolt valitud varukoopia taastatakse.
3. Andmebaasi diferentsiaalne varukoopia
Diferentsiaalne varukoopia sisaldab ainult neid andmeid, mis on muutunud pärast viimast täieliku või diferentsiaalse varukoopia tegemist. Selle tõttu on diferentsiaalse varukoopia maht väiksem ning koostamine kiirem kui täieliku varukoopia puhul. Seda tüüpi varukoopia annab märgatava võidu kiiruses ja mahus, kui andmebaas on suur, kuid muudatusi tehakse vähe. Taastamine on diferentsiaalset varukoopiat kasutades aeglasem, kuna võib juhtuda, et ühte rida tuleb mitu korda uuendada.
Esimesel varundamisel tehakse koopia andme- ja logifailist ning kustutatakse logifail ja alustatakse uue kirjutamist. Järgmistel varundamistel tehakse koopia ainult logifailist, mis sisaldab pärast eelmist varundamist tehtud muutusi, kustutatakse logi ja alustatakse jälle uue logi kirjutamist.
Esimesel varundamisel tehakse koopia andme- ja logifailist ning kustutatakse logifail ja alustatakse uue kirjutamist. Järgmistel varundamistel tehakse koopia ainult logifailist, mis sisaldab pärast eelmist varundamist tehtud muutusi, kustutatakse logi ja alustatakse jälle uue logi kirjutamist.
3.1 Varundamine SQL päringut kasutades
Diferentsiaalse varukoopia tegemine SQL päringut kasutades on sarnane andmebaasist kujutise tegemisele. Esimesel varundamisel teeme koopia andme- ning logifailist ja järgmistel kordadel ainult logifailist. Pärast igat varundust logifail kustutatakse. Käivitage järgmine päring.
BACKUP DATABASE
DIRECTORY
[TRANSACTION LOG ONLY]
TRANSACTION LOG TRUNCATE;
DIRECTORY
tee-varukoopia-asukohta
[TRANSACTION LOG ONLY]
TRANSACTION LOG TRUNCATE;
3.2 Varundamine Sybase Centralit kasutades
Diferentsiaalse varukoopia tegemine Sybase Centralit kasutades on sarnane andmebaasist kujutise tegemisele.
- Valige menüüribalt Tools→SQL Anywhere 12→Create Backup Images….
- Kui avaneb aken pealkirjaga "Welcome", siis lugege läbi tutvustav tekst ning vajutage Next. Kui avanes aken pealkirjaga "Select a Database", siis vaadake järgmist punkti.
- Valige andmebaas, millest soovite varukoopiat teha ja vajutage Next.
- Avaneb aken pealkirjaga "Specify an Image Directory". Valige Browse…nuppu kasutades kaust, kuhu soovite varukoopia salvestada, ning märkige allpool asuvas valikus esimesel varundamisel "All database files and the transaction log file" ja järgmistel kordadel "Transaction log file only". VajutageNext.
- Avanevas aknas on võimalik valida, mida transaktsioonide logiga pärast varundamist tehakse. Märkige valik "Truncate the transaction log", mille tagajärjel logifail kustutatakse ning alustatakse uue kirjutamist. Vajutage Next.
- Nüüd näete viisardi kokkupandud päringut. Midagi siin aknas muuta ei saa. Vajutage Finishning teie poolt määratud kausta tehakse andmebaasi varukoopia.
3.3 Taastamine serveriparameetrit -ad kasutades
Esmalt tuleb kopeerida varundatud andmefail kausta, kus soovite andmebaasi andmefaile hoida. Seejärel tuleb andmebaasi server tööle panna kasutades -ad parameetrit, mille väärtuseks on absoluutne tee kaustale, kus asuvad diferentsiaalse varundamise käigus tehtud koopiad logifailidest (kasuta käsurida). Tulemuseks ongi taastatud andmebaas. Parameeteri -ad kasutamine ütleb, et server rakendaks kõikides logifailides olevad muutused õiges järjekorras.
dbeng12 "
tee-andmefailini
" -ad "tee-logide-kaustani
"
4. Varundamise automatiseerimine
Andmebaaside administraatoril on võimalik määrata, millal, millest, kuidas ja kui tihti andmebaaside juhtimissüsteem varukoopia teeb, nii et ta ei pea ise iga nädal, iga päev või iga tund varundamise päringut käivitama.
4.1 Sybase Centrali viisard sündmuste ja planeerijate loomiseks
Varundamise automatiseerimiseks võib kasutada sündmuste (events) ning planeerija (scheduler) võimalusi. Sündmusi kasutades on võimalik defineerida mingi tegevus näiteks diferentsiaalne varundamine või täieliku varukoopia tegemine ning planeerija abil saab määrata, kui tihti ja mis ajal seda sündmust käivitatakse. Automatiseerime näiteks diferentsiaalse varundamise, mis toimub iga päev kell 1 öösel.
- Valige andmebaas, millega töötada soovite, ning avage selle andmebaasi "Contents" vaade (Vaade, kus saate valida, kas soovite edasi töötada tabelitega, vaadetega, indeksitega, trigeritega jne.).
- Valige, et soovite töötada sündmustega (Events). Avaneb aken "Events".
- Tehke kuskil aknas parem-klikk ning ilmunud menüüst valige New→Event….
- Avaneb aken pealkirjaga "Welcome". Sisestage sündmuse nimi (valige ise) ja vajutage Next.
- Avanevas aknas on võimalik valida, kuidas teie varsti loodavat sündmust käivitatakse. Valige "Scheduled" ja vajutage Next.
- Nagu sündmusele tuleb ka planeerijale anda nimi. Sisestage see ja vajutage Next.
- Avaneb aken "Select Time and Date". Määrake sündmuse käivitamise ajaks ("Trigger the event at") 01:00 ning vajutage Next. Kuupäev jääb valimata.
- Avanevas aknas saab määrata, millise perioodi tagant sündmus käivitatakse. Määrake selleks ajaks ("Trigger the event every") 24 tundi ja vajutage Next.
- Avaneb aken pealkirjaga "Specify Options". Veenduge, et valikud "Enable this event" ning "Execute at all databases" oleks valitud ja vajutage Next.
- Avanevas aknas on võimalik sündmusele lisada mingi kommentaar, mis näiteks seletab, milleks seda sündmust vaja on. Vajutage Next.
- Avanevas aknas on näha viisardi genereeritud SQL päring, kus on kirjas, mis event, mis ajal käima panna tuleb. Vajutage Finish.
- Nüüd avaneb aken, kus tuleb kirjeldada sündmus, milleks antud olukorras on diferentsiaalse varukoopia tegemine. Eeldame, et andmefailist on varukoopia juba tehtud, nii et piisab ainult logi varundamisest. Sisestage BEGINjaENDvahele järgnev päring.BACKUP DATABASE
DIRECTORYtee-varukoopia-asukohta
TRANSACTION LOG TRUNCATE
TRANSACTION LOG RENAME MATCH;TRANSACTION LOG RENAME MATCHütleb andmebaaside juhtimissüsteemile, et iga varukoopia salvestataks erineva nimega (KujulYYMMDDxx.log, kusYYMMDDtähistab kuupäeva ningxxon loendur.). Vaikimisi antakse failile sama nimi, mis andmebaasil ehk igal käivitamisel kirjutataks eelmine varukoopia üle.
4.2 SQL päring sündmuste ja planeerijate loomiseks
Sybase Centrali viisard aitab meil enamiku tööst ära teha graafiliselt, kuid sama asja on võimalik teha SQL päringut käsitsi koostades. Järgnevalt on toodud SQL päring, mis teeb täpselt seda sama, mida eelmises punktis Cybase Centrali abil kokkupandud päring.
CREATE EVENT
SCHEDULE
START TIME '1:00 AM' EVERY 24 HOURS
HANDLER
BEGIN
BACKUP DATABASE DIRECTORY
TRANSACTION LOG ONLY
TRANSACTION LOG RENAME MATCH
END;
sündmuse-nimi
SCHEDULE
START TIME '1:00 AM' EVERY 24 HOURS
HANDLER
BEGIN
BACKUP DATABASE DIRECTORY
tee-varukoopia-asukohta
TRANSACTION LOG ONLY
TRANSACTION LOG RENAME MATCH
END;
4.3 Varundamine hooldusplaani kasutades
Varundamise automatiseerimiseks võib kasutada ka hooldusplaani (maintenance plan). Hooldusplaani täitmine käivitatakse administraatori poolt määratud ajal ning selle käigus täidetakse vähemalt üks järgmistest ülesannetest:
- kontrollitakse, et andmebaasis ei oleks vigu,
- varundatakse andmebaas,
- genereeritakse raport plaani täitmise kohta.
- Valige andmebaas, millega töötada soovite, ning avage selle andmebaasi "Contents" vaade (Vaade, kus saate valida, kas soovite edasi töötada tabelitega, vaadetega, indeksitega, trigeritega jne.).
- Valige, et soovite töötada hooldusplaanidega (Maintenance Plans). Avaneb aken "Maintenance Plans".
- Tehke kuskil aknas parem-klikk ning ilmunud menüüst valige New→Maintenance Plan….
- Avaneb aken pealkirjaga "Welcome". Sisestage plaanile nimi ning vajutage Next.
- Avanevas aknas tuleb valida kuupäev ja aeg, kuna plaani esimest korda täidetakse ning määrata, kui tihti seda korrata. Tehke nii, et hooldusplaani täitmine hakkaks tänasest ning toimuks kell 1:00 öösel iga 24 tunni tagant. Vajutage Next.
- Avaneb aken pealkirjaga "Specify Days of the Week or Month". Eemaldage linnuke valiku "Run the maintenance plan on the following:" eest. Vajutage Next.
- Avanevas aknas on võimalik määrata, kas soovite, et enne varukoopia tegemist kontrollitakse, kas andmebaasis on vigu või mitte. Võite siin ise otsustada, mida teha. Vajutage Next.
- Avaneb aken pealkirjaga "Include a Backup". Pange linnuke valiku "Include a backup of the database in this maintenance plan" ette, valige kaust, kuhu andmed salvestada ning diferentsiaalne varundamine (Incremental backup). VajutageNext.
- Avanev aken võimaldab sisestada SQL päringuid, mida täidetakse kas enne andmebaasi kontrollimist (enne varukoopia tegemist) või pärast varukoopia tegemist. Vajutage Next.
- Avaneb aken pealkirjaga "Specify Reporting Options". Siin on võimalik valida, mida tehakse plaani täitmist näitava raportiga. Vajutage Finish.
5. Ülesanded
Ülesandeid lahendades jälgi, et sa ei kustutaks ära originaalandmebaasi andme- ega logifaile. Tee Sybase Centrali vahendeid kasutades originaalandmebaasist varukoopia (vaata punkt 1.2) ning seejärel taasta see enda valitud kausta (vaata punkt 1.3) ning ühenda Sybase Centraliga (
Vali ise kaust, kuhu oma varukoopiad salvestad.
Connections → Connect with SQL Anywhere 12...
). Kõik järgmised ülesanded tee selle taastatud andmebaasi peal.Vali ise kaust, kuhu oma varukoopiad salvestad.
5.1 Ülesanded, mis lubavad varundamise/taastamise meetodid ise valida
- Tee andmebaasist pakitud varukoopia (vaata punkt 2). Mis on erinevus pakitud varukoopia ning andmebaasi kujutise vahel? Taasta andmebaas enda valitud kausta ning ühenda Sybase Centraliga.
-
Tee andmebaasist diferentsiaalne varukoopia (vaata punkt 3). Selle jaoks:
- tee varukoopia ainult andmefailist (*.db) ning kustuta logifail (*.log);
- muuda andmebaasis midagi;
- tee varukoopia ainult logi failist ning seejärel kustuta see;
- taasta andmebaas ja vaata, kas tehtud muutus kajastub taastatud andmebaasis.
- Automatiseeri diferentsiaalne varundamine (vaata punkt 4). Tee nii, et varukoopia tegemine käivitataks iga 20 minuti tagant.
5.2 Ülesanded, kus on varundamise/taastamise meetodid ette antud
- Muuda midagi andmebaasis. Tee andmebaasist, SQL päringut kasutades, kujutis (vaata punkt 1) ning taasta see operatsioonisüsteemi vahendeid kasutades. Ühenda andmebaas Sybase Centraliga ning vaata, kas muutus kajastub taastatud andmebaasis.
- Tee, SQL päringut kasutades, varukoopia ainult andmebaasi logifailist.
- Tee, SQL päringut kasutades, varukoopia ainult andmebaasi andmefailist.
- Muuda midagi andmebaasis. Tee andmebaasist, Sybase Centralit kasutades, kujutis (vaata punkt 1) ning taasta see operatsioonisüsteemi vahendeid kasutades. Ühenda andmebaas Sybase Centraliga ning vaata, kas muutus kajastub taastatud andmebaasis.
- Muuda midagi andmebaasis. Tee andmebaasist, SQL päringut kasutades, pakitud varukoopia (vaata punkt 2) ning taasta see Sybase Centralit kasutades. Ühenda andmebaas Sybase Centraliga ning vaata, kas muutus kajastub taastatud andmebaasis.
- Muuda midagi andmebaasis. Tee andmebaasist, Sybase Centralit kasutades, pakitud varukoopia (vaata punkt 2) ning taasta see SQL päringut kasutades. Ühenda andmebaas Sybase Centraliga ning vaata, kas muutus kajastub taastatud andmebaasis.
- Tee andmebaasist, Sybase Centralit kasutades, diferentsiaalne varukoopia (vaata punkt 3). Selle jaoks:
- tee varukoopia ainult andmefailist (*.db) ning kustuta logifail (*.log);
- muuda andmebaasis midagi;
- tee varukoopia ainult logifailist ning seejärel kustuta see;
- taasta andmebaas ja vaata, kas tehtud muutus kajastub taastatud andmebaasis.
- Tee andmebaasist, SQL päringut kasutades, diferentsiaalne varukoopia (vaata punkt 3). Selle jaoks:
- tee varukoopia ainult andmefailist (*.db) ning kustuta logifail (*.log);
- muuda andmebaasis midagi;
- tee varukoopia ainult logifailist ning seejärel kustuta see;
- taasta andmebaas ja vaata, kas tehtud muutus kajastub taastatud andmebaasis.
- Sybase Central võimaldab logifaili teisendada .sql failiks. Uuri välja, kuidas seda teha, vali üks logifail ning teisenda see .sql failiks. Vaata genereeritud .sql faili sisu.
- Kasuta Sybase Centrali sündmuste ja planeerijate loomise viisardit, et automatiseerida diferentsiaalne varundamine (vaata punkt 4). Tee nii, et varukoopia tegemine käivitataks iga 20 minuti tagant.
- Kasuta SQL päringut, et automatiseerida diferentsiaalne varundamine (vaata punkt 4). Tee nii, et varukoopia tegemine käivitataks iga 20 minuti tagant.
- Kasuta hooldusplaani, et automatiseerida diferentsiaalne varundamine (vaata punkt 4). Tee nii, et varukoopia tegemine käivitataks iga 20 minuti tagant.