Administrace Oracle: Zálohování a obnova databáze. Jiří Toušek



Podobné dokumenty
User-Managed Backup RMAN (od v. 8.1)

Zálohování a obnova databáze. Kryštof Měkuta

RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague

UŽIVATELSKÁ PŘÍRUČKA

IW3 MS SQL SERVER 2014

automatická správa úložiště

O2 Managed Backup & Restore Power

Bc. David Gešvindr MSP MCSA MCTS MCITP MCPD

INSTALACE DATABÁZE ORACLE A SYSTÉMU ABRA NA OS WINDOWS

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Administrace Oracle Práva a role, audit. Kukhar Maria

RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague

TSM for Virtual Environments Data Protection for VMware v6.3. Ondřej Bláha CEE+R Tivoli Storage Team Leader. TSM architektura IBM Corporation

Backup & recovery, SQL Server Agent, Alerts Jiří Tomeš

Administrace Oracle - Správa zdrojů

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní pojmy, motivace Ing. Kotásek Jaroslav

Administrace Oracle. Práva a role, audit

ZÁLOHA A OBNOVA ABRA GEN

Struktura pamětí a procesů v DB Oracle. Radek Strnad

Zálohování INFORMIXu z historie po současnost CIDUG. Petr Pomykáček Petr.Pomykacek@d-prog.cz CIDUG

Audit DB. Referát. Vypracoval: Zdeněk Doležal MFF UK Praha 11/5/06

POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE

Healtcheck. databáze ORCL běžící na serveru db.tomas-solar.com pro

Databázové systémy úvod

Obsah. Úvod 9. Co kniha není 9 Cíl knihy 9 Pro koho je kniha určena 10 Doprovodné CD 10. KAPITOLA 1 Stručný přehled 11

Práva a role. Martin Polák. NDBI013 Administrace Oracle

Inovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav

HELIOS - Zálohování BüroKomplet, s.r.o.

HP Backup and Recovery Manager

Provozní řád zálohování virtuální infrastrukury

1 Slovník pojmů Zákaznická data jsou data, která mají být zahrnuta do záložní kopie vytvořené pomocí Služby v závislosti na zálohovacím schématu.

Střední odborná škola a Střední odborné učiliště, Hořovice

Příručka pro správu systému

aneb velice zjednodušené vysvětlení základních funkcí a možností systému Vypracoval: Tomáš Dluhoš tomas.d@centrum.cz

Návrh a tvorba WWW stránek 1/14. PHP a databáze

Instalujeme a zakládáme databázi Oracle Database 11g

Optimalizace dotazů a databázové transakce v Oracle

ZÁLOHA A OBNOVA ABRA GEN

Zálohování a obnova databáze

Jak přenést program na nový počítač UŽIVATELS KÝ NÁVOD

DLS V v1.2. Nové funkce. Používání programu DLS V

Databáze II. 1. přednáška. Helena Palovská

Instalace a konfigurace

První použití přístroje GIGABYTE Slate PC

Acronis Backup Advanced Version 11.7

Konsolidace zálohování a archivace dat Zálohování dat v OS Windows

Administrace Oracle. Jan Šaršon. Audit databáze

Zálohování a obnova. Uživatelská příručka

Frilo Control Center správa projektů

První použití notebooku GIGABYTE

Zálohování dat a disaster recovery

C# - Databáze úvod, ADO.NET. Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí

Návod k obsluze. Spionazni-technika.cz Stránka 1

BrightStor ARCserve Backup r Michal Opatřil - Consultant - michal.opatril@ca.com

M Administrace Microsoft SQL Server Popis: Absolvent kurzu bude umět: Požadavky pro absolvování kurzu: Kurz určen pro: Literatura:

Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou

Petr Vlk KPCS CZ. WUG Days října 2016

Text úlohy. Systémový katalog (DICTIONARY):

První použití notebooku GIGABYTE

IBM Tivoli Storage Manager 6.2 a IBM Tivoli Storage Manager FastBack 6.1.1

Storage Management Workload Management Backup and Recovery Management

1 Přesun síťového serveru

Windows 10 (5. třída)

Acronis. Lukáš Valenta

Efektivní ochrana dat ve virtualizovaném prostředí. Marek Bradáč

Reporting a Monitoring

Zotavení z chyb. Databázové systémy

Automatic Storage Management (ASM) Tomáš Skalický

8.2 Používání a tvorba databází

Vývoj, výroba, prodej a montáž docházkových a identifikačních systémů. Záloha databáze docházkového systému (pro MySQL)

Slovník pro Acronis True Image 2017

Zálohování pro začátečníky. Ondřej Caletka

Databáze Firebird. Zálohování, obnovení. Roman Fic 1/29/14 Databáze

Na vybraném serveru vytvoříme MySQL databázi. Soubory scratch.jpa, kickstart.php a en-gb.kickstart.ini nahrajeme na vybraný server.

PŘECHOD NA FIREBIRD 3.0 V PROSTŘEDÍ WINDOWS

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Obecné informace o cvičeních

Správa počítačové sítě Novell NetWare

ZÁLOHA A OBNOVA ABRA GEN

B Organizace databáze na fyzické úrovni u serveru Oracle

Instalační příručka k desktopovému úložnému systému ReadyNAS OS 6

Uživatelská příručka pro Mac

Zranitelnost databáze a ochrana vašich citlivých dat. Michal Lukanič, Database Specialist

O Apache Derby detailněji. Hynek Mlnařík

NAS 242 Aplikace AiMaster pro mobilní zařízení

Windows 8.1 (5. třída)

Zálohování a rychlá obnova dat Konsolidace serverů a diskových polí Archivace elektronické pošty

NAS 308 Seznámení s iscsi A S U S T O R C O L L E G E

Využití databázového mirroru SQL Serveru 2005 pro řešení odolnosti informačního systému úpravny uhlí proti výpadkům

Serverové systémy Microsoft Windows

LMS Moodle příručka učitele

5. POČÍTAČOVÉ CVIČENÍ

ABX Zálohovač ABX software s.r.o.

Průvodce převodem dat z programu Medicus 2 do programu Medicus Komfort

Maturitní témata z předmětu PROGRAMOVÉ VYBAVENÍ pro šk. rok 2012/2013

Řešení ochrany databázových dat

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ

Instalace systému Docházka 3000 na operační systém ReactOS Zdarma dostupné kompatibilní alternativě k systému Windows

Transkript:

Administrace Oracle: Zálohování a obnova databáze Jiří Toušek

Zálohovací strategie RMAN backups (zálohování pomocí Recovery Manageru) User-Managed Backup and Recovery (vše ostatní) o Import / Export utilities o zálohování fyzických souborů databáze o RMAN podporuje verze databáze 8.0 a vyšší. Pro tyto verze doporučuje Oracle používat raději RMAN než user-managed zálohy, nicméně user-managed zálohy jsou stále považovány za dobře použitelnou alternativu k RMAN zálohám. Konzistentní a nekonzistentní zálohy Záloha může být konzistentní nebo nekonzistentní. Konzistentní zálohu lze vyrobit, pokud je databáze zavřená (closed) a při jejím zavírání nedošlo k chybě. Záloha databáze za jejího provozu, záloha databáze po pádu nebo záloha databáze zavřené pomocí SHUTDOWN ABORT bude nekonzistentní. Konzistentní záloha nepotřebuje po obnovení media recovery, k obnovení dat k okamžiku zálohy tedy nejsou potřeba redo logy. Po obnovení nekonzistentní zálohy je nutné provést media recovery, která pomocí redo logů uvede databázi do konzistentního stavu. (slovník: backup = záloha restore = obnovení fyzických souborů databáze media recovery = uvedení databáze do konzistentního/aktuálního stavu za použití informací z redo logů) Důležité soubory data files vlastní data databáze control file soubor s globálním nastavením databáze; obsahuje seznam datových souborů, archivovaných logů, log files o archived logs archivované redo logy o current logs redo logy aktuálně používané databází server parameter file (SPFILE) soubor s nastavením parametrů databáze (ALTER DATABASE SET )

Recovery Manager Recovery Manager je aplikace ve formě commandline nástroje i wizzarda. Umožňuje jednoduše zálohovat nejdůležitější součásti databáze, spravuje historii záloh. Backup příkazy: LIST BACKUP OF DATABASE; vypíše seznam záloh databáze; podobně LIST BACKUP OF CONTROLFILE; a další BACKUP DATABASE; zazálohuje všechny datové soubory databáze, control file a případně server parameter file BACKUP DATABASE PLUS ARCHIVELOG; zazálohuje také redo logy (archivuje current logs a potom zálohuje archived logs) Pozn.: Ani použití tohoto příkazu nezaručí kompletní zálohu všech dat databáze. Často jsou její součástí i externí soubory a podobně. Je proto vhodné zároveň zálohovat soubory se síťovým nastavením, hesly, důležité soubory operačního systému a také soubory v Oracle home. Restore & recovery Poměrně intuitivní, v nejjednodušším případě (po připojení pomocí RMAN a případném zvolení zálohy): STARTUP MOUNT RESTORE DATABASE; RECOVER DATABASE; ALTER DATABASE OPEN # mountuje DB, ale neotevírá ji # data restore # media recovery # otevře databázi http://download-east.oracle.com/docs/cd/b10501_01/server.920/a96566/toc.htm

User-Managed Backup and Recovery Všechno kromě použití Recovery Manageru zálohování logických částí pomocí utilit Import / Export; pro zálohování typicky nepříliš vhodné, protože není možné takovou zálohu pomocí redo logů přivést do aktuálního (nebo aspoň o něco aktuálnějšího) stavu zálohování fyzických součástí kopírování souborů pomocí nástrojů OS Proč / kdy používat user-managed zálohy? při správě databází verze 7 a nižší neumí RMAN při správě sítě databází starších i novějších, pokud chceme jednotnou metodu zálohování při přechodu ze starší verze DB na novou, pokud nechceme okamžitě psát nové zálohovací skripty protože jsme matfyzáci a chceme do toho líp vidět na user-managed zálohování se lépe chápe, jak zálohy a celá datová infrastruktura Oracle funguje User-Managed backups Následující tabulka ukazuje základní typy záloh a jejich provedení bez použití RMAN: Backup Object Backup Method Example Datafiles Operating system utility % cp df3.f df3.bak Archived logs Operating system utility % cp log_1_23.arc log_1_23.bak SQL> ALTER DATABASE BACKUP Control files SQL statement CONTROLFILE TO cf1.bak SQL> CREATE PFILE = init.ora.bak FROM Initialization parameter file SQL statement SPFILE; Network and password files Operating system utility % cp tnsnames.ora tnsnames.bak Logical objects (tables, % export SYSTEM/manager TABLE=hr.emp indexes, PL/SQL units) Export utility FILE=emp.dmp (převzato z dokumentace) Konzistentní záloha Pokud si můžeme dovolit odstavit databázi po dobu zálohování, je toto optimální řešení. Postup: 1. pokud databáze běží, vypněte ji (v SQL*Plus příkazem SHUTDOWN NORMAL IMMEDIATE TRANSACTIONAL) (pokud databáze byla vypnuta v důsledku chyby nebo příkazu ABORT, otevřete ji a pokuste se ji vypnout normálně) 2. udělejte zálohu datových souborů, control files, inicializačních souborů a dalších záloha logů není u konzistentní zálohy nutná % cp /disk1/oracle/dbs/*.dbf /disk2/backup % cp /disk1/oracle/dbs/*.cf /disk2/backup % cp /disk1/oracle/network/admin/*.ora /disk2/backup

% cp /disk1/oracle/rdbms/admin/*.ora /disk2/backup 3. znovu otevřete databázi (např. v SQL*Plus: STARTUP) Pozn.: Konzistentní záloha jednotlivých tablespaces je také možná v tom případě je databáze otevřená (open) a jen příslušný tablespace je offline. Záloha online databáze Zálohovat tablespaces lze i za provozu, je však nutné po dobu zálohy přepnout tablespace do režimu BACKUP. V tomto režimu se všechny změny píší pouze do redo logu a do datových souborů se zapíší až po skončení BACKUP režimu. Pozn.: Online zálohu lze provést, jen pokud databáze běží v ARCHIVELOG módu. V NOARCHIVELOG módu lze provádět jen konzistentní zálohy. Postup: 1. zjistěte jména souborů příslušných danému tablespace: SELECT TABLESPACE_NAME, FILE_NAME FROM SYS.DBA_DATA_FILES WHERE TABLESPACE_NAME = 'users'; 2. přepněte tablespace do režimu BACKUP (bez toho nebude záloha použitelná!): SQL> ALTER TABLESPACE users BEGIN BACKUP; 3. zazálohujte příslušné datové soubory: % cp /oracle/dbs/tbs_21.f /oracle/backup/tbs_21.backup % cp /oracle/dbs/tbs_22.f /oracle/backup/tbs_22.backup 4. ukončete BACKUP režim: SQL> ALTER TABLESPACE users END BACKUP; nebo SQL> ALTER DATABASE END BACKUP; 5. archivujte současné logy: SQL> ALTER SYSTEM ARCHIVE LOG CURRENT; 6. zazálohujte archivované logy (nutné jde o nekonzistentní zálohu) Pozn.: tablespaces je možné zálohovat paralelně, tj. vložit více BEGIN BACKUP příkazů naráz a po zazálohování provést najednou zase příslušné END BACKUP příkazy (nebo zavolat END BACKUP na celou DB).

Pokud zapomenete END BACKUP příkaz nebo databáze během zálohování spadne, při dalším startu se odmítne databáze přepnout do open módu, dokud neopustí všechny tablespaces BACKUP režim. Ve stejném stavu se totiž nachází i po obnovení ze zálohy. Pokud se databáze nachází v tomto stavu, je nutné zjistit, zda došlo k chybě při zálohování, či zda byla obnovena ze zálohy. V prvním případě je nutné provést ALTER DATABASE END BACKUP; (ukončí BACKUP režim pro všechny tablespaces), v druhém případě příkaz SQL*Plus RECOVER DATABASE (viz postup při obnově DB). Online záloha control file Zálohu control file je vhodné udělat po každé strukturální změně databáze (např. přidání tablespace). ALTER DATABASE BACKUP CONTROLFILE TO '/oracle/backup/cf.bak' REUSE; User-Managed Restore Obnovení databáze je nutné provést, pokud došlo k fyzickému poškození souborů databáze. Pokud došlo k poškození jen některých datových souborů a databáze stále běží, je možné zjistit, které soubory je nutné obnovit, dotazem SELECT * FROM V$RECOVER_FILE; (podmínkou je aktuální control file). Jména odpovídajících souborů a tablespaces lze zjistit pomocí pohledů V$DATAFILE a V$TABLESPACE: SELECT r.file# AS df#, d.name AS df_name, t.name AS tbsp_name, d.status, r.error, r.change#, r.time FROM V$RECOVER_FILE r, V$DATAFILE d, V$TABLESPACE t WHERE t.ts# = d.ts# AND d.file# = r.file# Potřebné soubory Zde je seznam souborů, které je nutné obnovit pro následnou media recovery control file o nejlépe aktuální, případně co nejnovější získaný příkazem ALTER DATABASE BACKUP CONTROLFILE, eventuelně control file zazálohovaný společně s datovými soubory při offline záloze

datové soubory + všechny logy od okamžiku zálohy do současnosti o pokud některý datový soubor chybí, ale jsou k dispozici všechny logy od jeho vzniku, je možné jej znovu vytvořit o pokud chybí některé logy, lze provést pouze obnovy s neúplnou data recovery (návrat do času před prvním chybějícím logem) další soubory o ostatní soubory se následného media recovery přímo neúčastní, v případě jejich poškození je však bude pravděpodobně také nutné obnovit nebo znovu vytvořit Obnovení a recovery částí běžící databáze Databáze je online, poškození se tedy týká datových souborů. Postup: 1. odpojte chybné datové soubory: ALTER TABLESPACE users OFFLINE IMMEDIATE; 2. zkopírujte příslušné datové soubory ze zálohy 3. proveďte recovery příslušného tablespace (SQL*Plus): RECOVER TABLESPACE users 4. znovu zpřístupněte tablespace: ALTER TABLESPACE users ONLINE; Obnovení celé databáze Poškozené soubory nahraďte příslušnou zálohou, viz seznam potřebných souborů. Preferováno je zkopírování záloh na původní místo, pokud to není možné, lze použít i náhradní umístění. Podmínkou úspěšného obnovení je existence datových souborů a logů. Pokud není k dispozici aktuální verze control file, bude obnovení náročnější (systém nebude znát cesty k datovým souborům, archivovaným redo logům apod.). Pokud chybí jakákoliv záloha control file, je možné (při dobré znalosti databáze) tento soubor vytvořit znovu. Pokud nebyly při obnovení databáze k dispozici všechny soubory v ideální verzi (starý control file apod.), doporučuje se ihned po úspěšné media recovery provést úplnou zálohu.

User-Managed Media Recovery Media recovery je proces, při němž jsou obnovené datové soubory aktualizovány do nejnovějšího možného stavu pomocí dat z archivovaných redo logů (a případně aktivních redo logů). Recovery online databáze Viz předchozí kapitola. Kompletní recovery offline databáze Předpoklady: všechny soubory potřebné pro kompletní recovery jsou obnoveny ze zálohy máte administrátorská práva neběží incomplete recovery session jste připojen k databázi přes dedikované připojení Postup: 1. připojte se a namountujte, ale neotvírejte, databázi: STARTUP MOUNT 2. zjistěte statut datových souborů: SELECT NAME,STATUS FROM V$DATAFILE; 3. všechny soubory, které mají být zotaveny, musí být online pokud některé nejsou: ALTER DATABASE DATAFILE '/oracle/dbs/tbs_10.f' ONLINE; 4. proveďte recovery doporučený postup je použít SQL*Plus příkaz RECOVER DATABASE nebo RECOVER AUTOMATIC DATABASE (automaticky najde a použije potřebné logy) kromě RECOVER DATABASE lze použít RECOVER TABLESPACE tsname nebo RECOVER DATAFILE 'filename' alternativou je SQL příkaz ALTER DATABASE RECOVER, použití SQL*Plus je však obvykle jednodušší 5. otevřete databázi: ALTER DATABASE OPEN;

Nekompletní recovery offline databáze Typicky při chybějící záloze log souboru. První tři kroky jsou stejné jako u kompletní zálohy, jen obnovené soubory se liší budou pravděpodobně chybět některé logy, datové soubory tablespaces vytvořených po datu, ke kterému budeme recovery dělat, nejsou potřeba. Recovery se provádí jedním z příkazů: RECOVER DATABASE UNTIL CANCEL RECOVER DATABASE UNTIL TIME '2000-12-31:12:47:30' RECOVER DATABASE UNTIL CHANGE 10034; (případně při použití záložního control file vygenerovaného příkazem ALTER DATABASE BACKUP CONTROLFILE použijte variantu USING BACKUP CONTROLFILE ) Ve variantě UNTIL CANCEL po aplikování posledního redo logu proveďte příkaz CANCEL. Po provedení nekompletní recovery je nutné databázi zpřístupnit příkazem ALTER DATABASE OPEN RESETLOGS; - ten zajistí, že nepoužité logy nebudou aplikovány, updatuje conrtol file, smaže obsah aktivních redo logů a resetuje log sequence number. Recovery databáze v NOARCHIVELOG módu V NOARCHIVELOG módu nejsou archivovány logy, každá recovery tedy bude nekompletní. Kvůli absenci logů dokonce recovery ani neudělá žádné změny, přesto je ji nutné formálně provést: 1. proveďte obnovu databáze (typicky jediná možnost je obnova z co nejnovější konzistentní zálohy, případně aplikace záloh provedených pomocí utility Export) je nutné obnovit všechny soubory, ne jen ty poškozené 2. namountujte databázi, přiveďte datové soubory online 3. proveďte formálně nekompletní recovery: RECOVER DATABASE UNTIL CANCEL CANCEL 4. otevřete databázi s RESETLOGS: ALTER DATABASE OPEN RESETLOGS;

Oblíbený scénář s DROP TABLE Na oblíbeném příkladu, kdy uživatel omylem smaže tabulku, si ukažme použití usermanaged backup & restore pro něco jiného než obnovu při poškození souborů databáze. V jednom z minulých referátů byl popsán postup obnovy ztracené tabulky pomocí FLASHBACK, zde je postup pomocí záloh a obnovení z nich: 1. Je-li to možné, nechte reálnou (produkční) databázi obsahující chybu běžet 2. zazálohujte současný stav databáze pro případ, že by se při následujících krocích někde stala chyba 3. obnovte zálohu databáze na náhradní (dočasné) místo 4. proveďte na dočasné databázi nekompletní recovery do okamžiku těsně před smazáním tabulky 5. vyexportujte ztracená data z dočasné databáze použitím utility Export 6. použijte utilitu Import k navrácení dat do reálné databáze 7. zastavte dočasnou databázi a smažte ji http://download-east.oracle.com/docs/cd/b10501_01/server.920/a96572/toc.htm