Až příliš často vidím lidi, kteří se ptají na strategie zálohování, které by měli používat pro své databáze. Zdá se, že nikdy neselže, každá otázka tohoto druhu, na kterou jsem na různých fórech narazil, ani jednou nezahrnuje požadavky na obnovu. Často jsem před návrhem strategie zálohování zvažoval vaše požadavky na obnovu. Když stisknu požadavky, často se mi zobrazí požadavky na zálohování, například:
- Zálohování nesmí způsobit žádné prostoje
- Musíte mít možnost zálohovat archivované opakované protokoly
- Zálohy musí být zapsány na pásku
Tyto požadavky jsou dobré a dobré, ale podle mého názoru byste nikdy neměli navrhovat svou strategii zálohování, aniž byste nejprve zdokumentovali své požadavky na obnovu a nezískali informace o správě.
Zde je tedy několik otázek, které si kladu při navrhování strategie zálohování. Všimněte si, že všechny tyto otázky jsou zaměřeny na stránku obnovy.
- Jak velkou ztrátu dat si mohu dovolit, když obnovím databázi? Nulová ztráta dat? Je přijatelná jedna hodina ztráty dat po obnovení databáze?
- Potřebuji přesunout nějaké transakce dopředu, tj. provést obnovu k určitému okamžiku?
- Budu muset obnovit obsah jednoho schématu a ostatní schémata ponechat nedotčená?
- Jak dlouho musím po selhání uvést databázi do provozu?
- Jaké druhy selhání se musím zotavit? Je zřejmé, že musím být schopen obnovit z úplného selhání serveru nebo ztráty disku. Ale musím být schopen se zotavit z lidských selhání jako někdo, kdo omylem smazal tabulku?
- Budu muset obnovit zálohu na jiné servery v rámci obnovování vývojových nebo testovacích databází z produkční kopie?
Pokud se dnes zeptáte většiny lidí v komunitě Oracle, řeknou vám, abyste k zálohování databáze použili RMAN. RMAN je skvělý produkt a v mnoha věcech je lepší než staré zálohy spravované uživatelem za tepla nebo za studena. Některé Oracle DBA vám řeknou, abyste použili RMAN k provádění horkých záloh a spuštění produkční databáze v režimu archivního protokolu. Tím pokryjete mnoho scénářů obnovy, se kterými se pravděpodobně setkáte. Ale co když vaše odpověď na otázku 4 zní, že máte 1 hodinu na obnovení provozu a vaše databáze má velikost 10 TB. Hodně štěstí ve snaze provést kompletní obnovu 10TB databáze za 1 hodinu pomocí RMAN. A RMAN nebude schopen pomoci s otázkou 3, protože RMAN neprovádí zálohování na úrovni schématu.
DBA má k dispozici mnoho nástrojů pro zálohování a obnovu dat v databázi. Tyto nástroje zahrnují, ale nejsou omezeny také:
- Oracle's Recovery Manager (RMAN)
- Zálohování spravované uživatelem Oracle
- Export/import Oracle nebo Data Pump
- Snímky z disku
- Replikace založená na disku
- Oracle's Data Guard
Které tedy používáte? No každé má své pro a proti. Jakmile budete znát své požadavky na obnovu, začnou být nástroje pro zálohování databáze jasnější. A možná budete muset použít více než jeden zálohovací nástroj, abyste splnili všechny vaše požadavky na obnovu. Pokud používáte, jako nějaký návrh, RMAN s režimem Archive Log a nic jiného a váš manažer za vámi přijde a řekne:„Musíte tuto 10TB databázi znovu zprovoznit a spustit do 1 hodiny!“ vaše práce může být na lince.
To vede k dalšímu bodu, zdokumentujte své požadavky na obnovu a uveďte je do smlouvy o úrovni služeb (SLA). Při psaní a ověřování SLA může vaše vedení říci, že chce nulovou ztrátu dat. Právě v tuto chvíli můžete uvést klady a zápory implementace řešení s nulovou ztrátou dat… a také zmínit náklady! Mnoho společností odmítá vysoké náklady na řešení s nulovou ztrátou dat, ale pro jiné společnosti jsou náklady malé ve srovnání s finanční zátěží ztráty jakékoli transakce. Zde vstupuje do hry smlouvání a výměnný obchod. Pokud management trvá na řešení s nulovou ztrátou dat, pak musí přijít s finančními prostředky na jeho podporu, protože RMAN (zdarma) je neposkytne. Jakmile budete mít své požadavky na obnovu zdokumentované ve smlouvě SLA, bude pro vedení obtížné požádat vás o obnovu něčeho, co vaše strategie zálohování nepodporuje. Pokud je uzavřena smlouva SLA a požádají vás, abyste obnovili každou jednotlivou transakci a vaše strategie zálohování to nedovolí, pak máte dokument, který říká, že nulová ztráta dat nebyla nikdy vyžadována, což vám může pomoci zachránit vaši práci.
Jak již bylo řečeno, jakmile budete mít své požadavky na obnovu zdokumentovány v SLA, ujistěte se, že vaše strategie zálohování vám umožní provést všechny scénáře obnovy, které jsou zdokumentovány v SLA. Vaše práce na tom může záviset. Pokud SLA říká nulovou ztrátu dat a vy neimplementujete Data Guard, i když vedení bylo ochotno to financovat, pak vás může ukončit, protože jste svou práci nedodrželi.
A konečně žádná strategie zálohování/obnovy není kompletní, pokud není důkladně otestována. Měli byste otestovat každou požadovanou strategii obnovy, abyste se ujistili, že můžete splnit všechny požadavky uvedené v SLA. Testování by mělo být prováděno minimálně jednou ročně ze dvou důvodů...za prvé zajišťuje, že změny v systému neovlivní negativně vaši schopnost provést požadovanou obnovu, a za druhé, abyste byli informováni o tom, jak provést obnovu, abyste pokud to musíte udělat doopravdy, nebudete tápat po postupu. Při testování možná zjistíte, že vaše metodika zálohování bude podporovat scénáře obnovy, které jsou vyžadovány, ale je dobré je mít, pokud je potřebujete.
A nemůžu to říct dost... Testujte, testujte a testujte!