Oracle RMAN (Oracle Recovery Manager): a segédprogram célja és működése

Az Oracle RMAN egy hatékony eszköz az Oracle adatbázisok biztonsági mentésére és helyreállítására. Segít gyorsan visszaállítani az adatokat hibák vagy rendszerleállások esetén, így minimalizálva az adatvesztést és a leállási időt.
ITSZÓTÁR.hu
35 Min Read
Gyors betekintő

Az Oracle adatbázisok a modern vállalatok digitális gerincét képezik, ahol az adatok integritása, rendelkezésre állása és biztonsága kritikus fontosságú. Egy adatbázis-rendszer meghibásodása, adatvesztés vagy rendszerhiba súlyos üzleti következményekkel járhat, a pénzügyi veszteségektől a reputációs károkig. Ebben a környezetben válik elengedhetetlenné egy robusztus és megbízható mentési és helyreállítási megoldás. Az Oracle Recovery Manager, röviden RMAN, pontosan ezt a célt szolgálja: egy dedikált segédprogram, amely az Oracle adatbázisok mentési és helyreállítási műveleteit automatizálja, optimalizálja és felügyeli.

Az RMAN nem csupán egy egyszerű mentőeszköz, hanem egy komplex keretrendszer, amely az adatbázis teljes életciklusát lefedi a katasztrófa-helyreállítás szempontjából. Képes kezelni a teljes adatbázis, egyes táblaterek, adatfájlok, sőt akár egyes blokkok mentését és helyreállítását is. Beépített intelligenciájának köszönhetően minimalizálja az emberi hibalehetőségeket, és jelentősen felgyorsítja a helyreállítási folyamatokat, ami kritikus lehet egy éles környezetben fellépő probléma esetén.

Működése során az RMAN szorosan együttműködik az Oracle adatbázis szerverfolyamataival, hozzáférve a vezérlőfájl (control file) és az archivált redo logok információihoz, hogy pontosan nyomon kövesse az adatbázis állapotát és a mentési előzményeket. Ez a szoros integráció teszi lehetővé, hogy az RMAN hatékonyan és megbízhatóan végezze feladatait, legyen szó akár egy teljes adatbázis visszaállításáról egy korábbi időpontra, akár egyetlen sérült adatblokk kijavításáról.

Az RMAN alapvető célja és fontossága

Az Oracle RMAN elsődleges célja az adatvesztés megelőzése és az adatbázis gyors helyreállítása bármilyen meghibásodás esetén. Ez magában foglalja a rendszerhibákat, hardverhibákat, szoftverhibákat, emberi hibákat, sőt akár a természeti katasztrófákat is. Az RMAN biztosítja, hogy az adatbázis a lehető legrövidebb időn belül visszatérjen egy konzisztens és működőképes állapotba, minimalizálva az üzleti leállást és az ebből eredő károkat.

A segédprogram kulcsfontosságú szerepet játszik a modern IT infrastruktúrákban, ahol az adatbázisok folyamatos rendelkezésre állása alapvető elvárás. Az RMAN nélküli manuális mentési és helyreállítási eljárások lassúak, hibalehetőségekkel teliek és rendkívül munkaigényesek lennének, különösen nagy méretű vagy komplex adatbázisok esetén. Az RMAN automatizálásával és optimalizálásával a DBA-k (adatbázis-adminisztrátorok) értékes időt takaríthatnak meg, amelyet más kritikus feladatokra fordíthatnak.

Az RMAN továbbá hozzájárul a megfelelőségi követelmények (compliance) teljesítéséhez is. Számos iparágban és szabályozásban előírják az adatok rendszeres mentését és a helyreállítási képesség igazolását. Az RMAN részletes jelentéseket és naplókat generál a mentési és helyreállítási műveletekről, amelyek felhasználhatók auditálási célokra, bizonyítva az adatbázis-mentési stratégia hatékonyságát és megbízhatóságát.

Az RMAN nem csupán egy eszköz, hanem egy stratégiai komponens az adatbázis rendelkezésre állásának és az üzleti folytonosságnak a biztosításában.

Az RMAN alapvető működési elvei: mentés, visszaállítás, helyreállítás

Az RMAN működésének alapját három kulcsfogalom képezi: mentés (backup), visszaállítás (restore) és helyreállítás (recover). Ezek a lépések szekvenciálisan épülnek egymásra, biztosítva az adatok integritását és konzisztenciáját a teljes folyamat során.

A mentés során az RMAN az adatbázis adatfájljait, vezérlőfájljait és opcionálisan a szerver paraméterfájlját (SPFILE) rögzíti egy mentési készletbe (backup set) vagy képfájlba (image copy). Ezek a mentések lehetnek teljesek, inkrementálisak, differenciálisak vagy kumulatívak, attól függően, hogy mennyi adatot rögzítünk és milyen gyakorisággal.

A visszaállítás a mentett adatok visszamásolását jelenti az eredeti vagy egy alternatív helyre. Ha például egy adatfájl megsérül, az RMAN visszaállítja annak legfrissebb mentett változatát. Ez önmagában még nem elegendő az adatbázis konzisztens állapotba hozásához, mivel a visszaállított fájl valószínűleg egy korábbi időpontot tükröz, mint a hiba bekövetkezése.

A helyreállítás a visszaállított adatfájlok frissítését jelenti az archivált redo log fájlok és az online redo log fájlok alkalmazásával. Ez a lépés biztosítja, hogy az adatbázis a hiba pillanatáig, vagy egy megadott időpontig (point-in-time recovery) konzisztens állapotba kerüljön. Az RMAN intelligensen alkalmazza a tranzakciókat a visszaállított adatokra, így garantálva az adatok integritását.

Az RMAN a vezérlőfájlt (control file) használja a mentési metaadatok tárolására, beleértve a mentések helyét, tartalmát, időpontját és típusát. Nagyobb vagy komplexebb környezetekben egy külön recovery catalog adatbázis is beállítható, amely még részletesebb és hosszabb ideig tartó mentési előzményeket tárol, növelve a rugalmasságot és a megbízhatóságot.

Az RMAN architektúra és komponensei

Az RMAN egy jól definiált architektúrával rendelkezik, amely több komponensből áll, szorosan együttműködve a mentési és helyreállítási feladatok végrehajtásában. Ezek a komponensek biztosítják a rugalmasságot és a skálázhatóságot, lehetővé téve az RMAN számára, hogy különböző környezetekben hatékonyan működjön.

RMAN kliens

Az RMAN kliens az a parancssori felület, amelyet a DBA-k használnak az RMAN parancsok kiadására. Ez a kliens kapcsolódik a cél adatbázishoz és opcionálisan a recovery catalog adatbázishoz. Az RMAN parancsfájlokat (scripts) is végre lehet hajtani a kliensen keresztül, ami automatizálja a rutinfeladatokat.

Cél adatbázis (Target Database)

A cél adatbázis az az Oracle adatbázis, amelyet menteni kell, vagy amelyen helyreállítási műveleteket kell végrehajtani. Az RMAN közvetlenül kommunikál a cél adatbázis példányával, kihasználva annak belső mechanizmusait, például a szerverfolyamatokat és a háttérfolyamatokat.

Recovery Catalog (helyreállítási katalógus)

A recovery catalog egy különálló Oracle adatbázis, amely az RMAN metaadatait tárolja. Ez magában foglalja az összes mentésről, archivált redo logról, adatfájlról és egyéb releváns információról szóló részleteket. Noha opcionális, a recovery catalog használata erősen ajánlott, különösen nagy vagy kritikus rendszerekben, mivel:

  • Hosszabb ideig tárolja a mentési előzményeket, mint a vezérlőfájl.
  • Lehetővé teszi több cél adatbázis mentési adatainak kezelését egy központi helyen.
  • Visszaállíthatja a vezérlőfájlt, ha az megsérül vagy elveszik.
  • Támogatja a komplexebb helyreállítási forgatókönyveket, például a DUPLICATE parancsot.

Media Management Layer (MML)

Az MML egy olyan interfész, amely lehetővé teszi az RMAN számára, hogy kommunikáljon harmadik féltől származó szalagkönyvtár-kezelő szoftverekkel (pl. Veritas NetBackup, EMC NetWorker). Ez kritikus, ha a mentéseket szalagra vagy más speciális tárolóeszközre kell írni. Az MML biztosítja, hogy az RMAN hatékonyan tudjon adatokat írni és olvasni ezekről az eszközökről.

Szerverfolyamatok (Server Processes)

Amikor az RMAN mentési vagy helyreállítási műveletet hajt végre, a cél adatbázis szerverfolyamatokat (shadow processes) indít el. Ezek a folyamatok végzik el a tényleges adatmozgatást, a blokkok olvasását az adatfájlokból, a tömörítést, a titkosítást és az adatok írását a mentési célra. Az RMAN képes több csatornát (channels) is konfigurálni, amelyek mindegyike egy-egy szerverfolyamathoz kapcsolódik, lehetővé téve a párhuzamos adatfeldolgozást és a gyorsabb műveleteket.

Auxiliary Instance (segédpéldány)

Bizonyos speciális helyreállítási forgatókönyvek, mint például a Duplicate Database vagy a Point-in-Time Recovery egy különálló, ideiglenes Oracle példányt igényelhetnek, amelyet auxiliary instance-nek neveznek. Ez a példány segít az adatok feldolgozásában anélkül, hogy befolyásolná a fő cél adatbázist. Az RMAN automatikusan létrehozza és kezeli ezt a példányt a művelet során.

Mentési stratégiák az RMAN-nal

Az RMAN automatizált mentési stratégiákkal növeli az adatvédelem hatékonyságát.
Az RMAN automatikusan kezeli a mentéseket és visszaállításokat, minimalizálva az adatvesztés kockázatát.

Az RMAN rendkívül rugalmas mentési lehetőségeket kínál, amelyek lehetővé teszik a DBA-k számára, hogy a szervezet igényeihez és a rendelkezésre álló erőforrásokhoz igazított stratégiákat dolgozzanak ki. A megfelelő mentési stratégia kiválasztása kulcsfontosságú a helyreállítási idő (RTO) és az adatvesztés mértékének (RPO) minimalizálása szempontjából.

Cold Backup vs. Hot Backup

Az RMAN támogatja mind a hideg (cold), mind a meleg (hot) mentéseket. A hideg mentés azt jelenti, hogy az adatbázis leállított állapotban van a mentés idejére. Ez a legegyszerűbb és legbiztonságosabb módja a mentésnek, mivel garantálja az adatok teljes konzisztenciáját, de az adatbázis leállása miatt nem mindig megvalósítható éles környezetben.

A meleg mentés (más néven online backup) akkor történik, amikor az adatbázis teljes mértékben működik és elérhető a felhasználók számára. Ez a leggyakoribb megközelítés éles rendszerekben. Az RMAN biztosítja a konzisztenciát azáltal, hogy figyelembe veszi az adatbázisban végbemenő tranzakciókat a mentés során, és rögzíti a szükséges archivált redo logokat a későbbi helyreállításhoz.

Teljes adatbázis mentés (Full Database Backup)

A BACKUP DATABASE parancs egy teljes adatbázis mentést hoz létre, amely az összes adatfájlt, vezérlőfájlt és szerver paraméterfájlt (SPFILE) tartalmazza. Ez a mentés képezi a helyreállítási stratégia alapját. A teljes mentések általában nagyok és időigényesek, ezért nem futtatják őket túl gyakran.

Inkrementális mentés (Incremental Backup)

Az inkrementális mentések csak azokat az adatblokkokat mentik, amelyek az utolsó mentés óta megváltoztak. Ez jelentősen csökkenti a mentések méretét és idejét. Két fő típusa van:

  • Differenciális inkrementális mentés (Differential Incremental Backup): Ment minden blokkot, amely az előző, azonos vagy alacsonyabb szintű inkrementális mentés óta megváltozott. (pl. BACKUP INCREMENTAL LEVEL 1 DATABASE).
  • Kumulatív inkrementális mentés (Cumulative Incremental Backup): Ment minden blokkot, amely az előző, azonos vagy alacsonyabb szintű inkrementális mentés óta megváltozott, de csak a legutolsó, alacsonyabb szintű mentéshez képest (pl. BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE). Ez kevesebb mentési fájlt igényel a helyreállításhoz, de nagyobb méretű lehet, mint a differenciális.

Az inkrementális mentésekhez az RMAN a Change Tracking File-t használja, amely gyorsan azonosítja a megváltozott blokkokat, elkerülve az adatfájlok teljes szkennelését.

Archivált redo log fájlok mentése

Az BACKUP ARCHIVELOG ALL parancs menti az összes archivált redo log fájlt. Ezek a fájlok kulcsfontosságúak a helyreállítás során, mivel tartalmazzák az összes tranzakciót az utolsó mentés óta. Rendszeres mentésük elengedhetetlen a point-in-time recovery (PITR) lehetőségének biztosításához.

Control file és SPFILE mentése

A vezérlőfájl és az SPFILE kritikus az adatbázis működéséhez. Az RMAN automatikusan menti a vezérlőfájlt minden alkalommal, amikor egy mentés befejeződik, és az CONFIGURE CONTROLFILE AUTOBACKUP ON beállítással még a szerkezetváltások (pl. új táblatér hozzáadása) után is automatikus mentés készül. Külön is menthetők a BACKUP CURRENT CONTROLFILE és BACKUP SPFILE parancsokkal.

Mentési készletek (Backup Sets) és Képfájlok (Image Copies)

Az RMAN két fő formátumban hozhat létre mentéseket:

  • Backup Sets: Az adatok logikai blokkokba vannak rendezve és tömörítve. Ezek a leggyakoribb formátumok, különösen szalagos mentés esetén.
  • Image Copies: Ezek az adatfájlok, vezérlőfájlok vagy SPFILE-ek pontos, bit-for-bit másolatai. Olyanok, mint a hagyományos operációs rendszer szintű fájlmásolatok, de az RMAN kezeli őket. Az image copy-k gyorsabb visszaállítást tesznek lehetővé, mivel nincs szükség a kicsomagolásra vagy a mentési készlet dekompressziójára.

A CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COPY; paranccsal beállítható, hogy az RMAN alapértelmezetten képfájlokat készítsen lemezre történő mentéskor.

Tömörítés és titkosítás

Az RMAN támogatja a mentések tömörítését a lemezterület megtakarítása és a mentési idő csökkentése érdekében (BACKUP ... COMPRESSED BZIP2). Emellett a mentések titkosítása is lehetséges (BACKUP ... ENCRYPTED), ami növeli az adatok biztonságát, különösen, ha a mentéseket külső helyre tárolják.

Mentések karbantartása: Crosscheck és Delete Obsolete

Az RMAN karbantartási parancsai kritikusak a mentési stratégia fenntartásához:

  • CROSSCHECK BACKUP: Ellenőrzi, hogy a mentési célon lévő fájlok fizikailag léteznek-e és elérhetők-e. Ha egy fájl hiányzik vagy sérült, az RMAN megjelöli azt EXPIRED (lejárt) státusszal.
  • DELETE EXPIRED BACKUP: Eltávolítja az EXPIRED státuszú mentéseket az RMAN repository-ból.
  • DELETE OBSOLETE: Eltávolítja azokat a mentéseket, amelyekre már nincs szükség a konfigurált retention policy (megőrzési szabályzat) alapján.

Retention Policy (megőrzési szabályzat)

A CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; vagy CONFIGURE RETENTION POLICY TO REDUNDANCY 3; parancsokkal állítható be, hogy az RMAN mennyi ideig tartsa meg a mentéseket. A recovery window (helyreállítási ablak) azt az időtartamot adja meg, ameddig az adatbázist vissza lehet állítani. A redundancy (redundancia) azt határozza meg, hogy hány teljes mentést kell megőrizni.

Helyreállítási forgatókönyvek és módszerek

Az RMAN ereje a sokoldalú helyreállítási képességeiben rejlik. Képes kezelni a legegyszerűbb fájlsérülésektől a teljes adatbázis-katasztrófákig terjedő problémákat, minimalizálva az adatvesztést és a leállási időt.

Teljes adatbázis helyreállítása

Ez a leggyakoribb helyreállítási forgatókönyv, amikor az egész adatbázis megsérül vagy elveszik (pl. lemezhiba miatt). A folyamat a következő lépésekből áll:

  1. Az RMAN indítása NOMOUNT vagy MOUNT állapotban.
  2. RESTORE DATABASE; parancs kiadása a legfrissebb teljes mentés visszaállításához.
  3. RECOVER DATABASE; parancs kiadása az archivált redo logok alkalmazásához, hogy az adatbázis a legutolsó konzisztens állapotba kerüljön.
  4. Az adatbázis megnyitása: ALTER DATABASE OPEN; vagy ALTER DATABASE OPEN RESETLOGS; (ha a vezérlőfájl visszaállítása is történt).

Tablespace vagy Data file helyreállítása

Ha csak egy adott táblatér vagy adatfájl sérül, az RMAN célzottan képes kezelni a helyreállítást. Az érintett táblatérek offline állapotba helyezhetők, majd visszaállíthatók és helyreállíthatók anélkül, hogy az egész adatbázist le kellene állítani. Például:


SQL> ALTER TABLESPACE users OFFLINE;
RMAN> RESTORE TABLESPACE users;
RMAN> RECOVER TABLESPACE users;
SQL> ALTER TABLESPACE users ONLINE;

Point-in-Time Recovery (PITR)

A Point-in-Time Recovery (PITR), más néven incomplete recovery, lehetővé teszi az adatbázis visszaállítását egy adott múltbéli időpontra, SCN-re (System Change Number) vagy log szekvencia számra. Ez különösen hasznos emberi hibák, például véletlen adattörlés vagy tábla eldobása esetén. A PITR-hez szükséges a teljes adatbázis mentése és az összes archivált redo log fájl a kívánt időpontig.

A PITR végrehajtása során az RMAN visszaállítja az adatbázist egy olyan állapotba, amely megelőzi a kívánt időpontot, majd alkalmazza az archivált redo logokat egészen a megadott időpontig. A műveletet mindig ALTER DATABASE OPEN RESETLOGS; paranccsal kell befejezni, ami egy új redo log szekvenciát indít el, jelezve, hogy az adatbázis egy új idővonalon folytatja működését.


RMAN> RUN {
  SET UNTIL TIME "TO_DATE('2023-10-27 10:00:00', 'YYYY-MM-DD HH24:MI:SS')";
  RESTORE DATABASE;
  RECOVER DATABASE;
}
RMAN> ALTER DATABASE OPEN RESETLOGS;

Control file elvesztése

A vezérlőfájl elvesztése kritikus hiba, mivel ez tartalmazza az adatbázis fizikai szerkezetére és az RMAN mentésekre vonatkozó információkat. Ha a vezérlőfájl elveszik, de van recovery catalog, az RMAN egyszerűen visszaállíthatja a legfrissebb vezérlőfájl mentést a catalogból. Ha nincs recovery catalog, akkor a control file autobackup funkcióra kell támaszkodni, vagy manuálisan kell rekonstruálni a vezérlőfájlt.


RMAN> STARTUP NOMOUNT;
RMAN> RESTORE CONTROLFILE FROM AUTOBACKUP; -- Vagy a recovery catalogból
RMAN> ALTER DATABASE MOUNT;
RMAN> RECOVER DATABASE;
RMAN> ALTER DATABASE OPEN RESETLOGS;

SPFILE elvesztése

A szerver paraméterfájl (SPFILE) elvesztése esetén az RMAN képes visszaállítani azt a legutóbbi mentésből. Enélkül az adatbázis nem tud elindulni. A RESTORE SPFILE FROM AUTOBACKUP; vagy RESTORE SPFILE; parancsok használhatók.

Blokk korrupció kezelése (Block Recovery)

Az RMAN képes azonosítani és helyreállítani az egyes sérült adatblokkokat anélkül, hogy a teljes adatfájlt vissza kellene állítani. Ez a block media recovery funkció jelentősen csökkenti a helyreállítási időt és az adatbázis leállását, mivel csak az érintett blokkokat javítja ki. Az Oracle adatbázis automatikusan észleli a sérült blokkokat, és rögzíti azokat a V$DATABASE_BLOCK_CORRUPTION nézetben, ahonnan az RMAN kiolvashatja és kijavíthatja őket a RECOVER CORRUPTION LIST; paranccsal.

Flashback Database

Bár nem kizárólagosan RMAN funkció, a Flashback Database szorosan integrálódik az RMAN-nal. Lehetővé teszi az adatbázis gyors visszaállítását egy korábbi időpontra a flashback logok segítségével, anélkül, hogy a hagyományos restore/recover ciklust végig kellene futtatni. Ez egy rendkívül gyors helyreállítási mechanizmus, amely minimalizálja az RTO-t, de korlátozott az adatvesztés mértéke szempontjából, mivel csak a flashback retention target által meghatározott időtartamra tekerhető vissza.

Duplikálás (DUPLICATE DATABASE)

Az RMAN DUPLICATE DATABASE parancsa lehetővé teszi egy cél adatbázis másolatának létrehozását. Ez rendkívül hasznos tesztkörnyezetek építéséhez, fejlesztői környezetek frissítéséhez, vagy stand-by adatbázisok beállításához. A duplikálás történhet aktív adatbázisból (active database duplication) vagy mentési készletekből.


RMAN> DUPLICATE TARGET DATABASE TO newdb
  FROM ACTIVE DATABASE
  PASSWORD FILE '/path/to/passwordfile'
  SPFILE PARAMETER_VALUE_CONVERT 'olddb','newdb'
  SET DB_FILE_NAME_CONVERT '/oldpath/','/newpath/'
  LOGFILE GROUP 1 ('/newpath/redo01.log') SIZE 50M,
          GROUP 2 ('/newpath/redo02.log') SIZE 50M;

Az RMAN Recovery Catalog: részletes áttekintés

Mint már említettük, a Recovery Catalog egy különálló adatbázis, amely az RMAN metaadatokat tárolja. Noha a cél adatbázis vezérlőfájlja is képes tárolni a legutóbbi mentési információkat, a recovery catalog számos előnnyel jár, amelyek indokolják a használatát nagyobb és kritikusabb környezetekben.

Miért érdemes használni a Recovery Catalogot?

A recovery catalog legfőbb előnyei:

  • Hosszabb tárolási idő: A vezérlőfájl mérete korlátozott, és a régebbi mentési információkat felülírhatja. A recovery catalog hosszú távon tárolja az összes mentési előzményt, lehetővé téve a nagyon régi mentésekből történő helyreállítást is.
  • Több adatbázis kezelése: Egyetlen recovery catalog több cél adatbázis mentési adatait is kezelheti, központi felügyeletet biztosítva.
  • Vezérlőfájl helyreállítása: Ha a vezérlőfájl teljesen elveszik, a recovery catalogból visszaállítható, ami nélküle sokkal bonyolultabb vagy lehetetlen lenne.
  • Komplexebb RMAN parancsok: Egyes fejlettebb RMAN parancsok (pl. DUPLICATE, REPORT SCHEMA AT TIME) a recovery catalog meglétét feltételezik.
  • Részletesebb jelentések: A catalog több információt tárol, ami részletesebb és pontosabb jelentéseket tesz lehetővé a mentési és helyreállítási előzményekről.

Beállítás és konfiguráció

A recovery catalog beállításához először létre kell hozni egy különálló adatbázist (vagy egy sémát egy meglévő adatbázisban) a catalog számára. Ezután az RMAN kliensből létrehozható a catalog:


RMAN> CONNECT CATALOG rmanuser/password@rmancatdb
RMAN> CREATE CATALOG;

Miután a catalog létrejött, a cél adatbázisokat regisztrálni kell benne:


RMAN> CONNECT TARGET sys/password@targetdb
RMAN> REGISTER DATABASE;

A regisztráció után az RMAN minden mentési és helyreállítási művelet során frissíti a catalogot. Fontos, hogy a recovery catalog adatbázisát is rendszeresen mentsük, mivel az is kritikus információkat tartalmaz.

Karbantartás és jelentések

Az RMAN számos parancsot kínál a recovery catalog tartalmának lekérdezésére és karbantartására:

  • LIST BACKUP;: Kilistázza az összes rögzített mentést.
  • REPORT SCHEMA;: Megjeleníti az adatbázis szerkezetét a catalogban tárolt információk alapján.
  • REPORT OBSOLETE;: Jelenti azokat a mentéseket, amelyek már nem szükségesek a retention policy alapján.
  • DELETE OBSOLETE;: Törli a felesleges mentéseket a lemezről és a catalogból.
  • CROSSCHECK BACKUP;: Ellenőrzi a mentések fizikai létezését és frissíti a catalogot.
  • DELETE EXPIRED BACKUP;: Törli a lejárt mentéseket.

A recovery catalog használata jelentősen növeli az RMAN rugalmasságát és megbízhatóságát, ezért a legtöbb komoly Oracle adatbázis környezetben elengedhetetlennek tekinthető.

Gyakori RMAN parancsok és használatuk

Az RMAN parancssori felülete (CLI) számos parancsot kínál a mentési és helyreállítási feladatok végrehajtásához. Ezek a parancsok lehetővé teszik a DBA-k számára, hogy finomhangolják a műveleteket és automatizálják a rutinfeladatokat.

CONFIGURE

A CONFIGURE parancs segítségével állíthatók be az RMAN tartós paraméterei, amelyek a cél adatbázis vezérlőfájljában vagy a recovery catalogban tárolódnak. Ezek a beállítások érvényben maradnak az RMAN munkamenetek között. Néhány példa:

  • CONFIGURE CONTROLFILE AUTOBACKUP ON;: Automatikusan menti a vezérlőfájlt minden szerkezetváltás és mentés után.
  • CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;: 7 napos helyreállítási ablakot állít be.
  • CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO COMPRESSED BACKUPSET;: Két párhuzamos csatornát konfigurál lemezre, tömörített mentési készletekkel.
  • CONFIGURE DEFAULT DEVICE TYPE TO DISK;: Alapértelmezett mentési célként a lemezt állítja be.

A SHOW ALL; paranccsal megtekinthetők az aktuális konfigurációs beállítások.

RUN blokk

A komplexebb RMAN műveleteket gyakran egy RUN { ... } blokkba foglalják. Ez lehetővé teszi több parancs végrehajtását egyetlen tranzakcióként, és lokális változók definiálását, például csatornák kiosztását. Ez javítja az áttekinthetőséget és a hibakezelést.


RMAN> RUN {
  ALLOCATE CHANNEL d1 DEVICE TYPE DISK;
  ALLOCATE CHANNEL d2 DEVICE TYPE DISK;
  BACKUP DATABASE PLUS ARCHIVELOG;
  RELEASE CHANNEL d1;
  RELEASE CHANNEL d2;
}

ALLOCATE CHANNEL

A ALLOCATE CHANNEL parancs lehetővé teszi az RMAN számára, hogy párhuzamosan végezzen mentési és helyreállítási műveleteket. Minden csatorna egy Oracle szerverfolyamathoz kapcsolódik, amely az adatmozgatást végzi. Több csatorna konfigurálásával jelentősen felgyorsíthatóak a műveletek.


RMAN> ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
RMAN> BACKUP DATABASE;
RMAN> RELEASE CHANNEL c1;

Vagy permanensen konfigurálható a CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2G; parancssal.

VALIDATE

A VALIDATE parancs ellenőrzi a mentések integritását és olvashatóságát, anélkül, hogy ténylegesen visszaállítaná az adatokat. Használható az adatfájlok blokk korrupciójának ellenőrzésére is (VALIDATE DATABASE;). Ez egy proaktív eszköz a mentési stratégia megbízhatóságának ellenőrzésére.

REPORT és LIST

Ezek a parancsok a mentési előzmények és az adatbázis szerkezetének lekérdezésére szolgálnak. Segítenek a DBA-knak nyomon követni, hogy mikor, mit és hogyan mentettek, valamint milyen helyreállítási pontok állnak rendelkezésre.

  • LIST BACKUP SUMMARY;: Összefoglaló a mentésekről.
  • REPORT SCHEMA;: Az adatbázis aktuális szerkezete.
  • REPORT UNRECOVERABLE;: Jelenti azokat az adatfájlokat, amelyek nem állíthatók helyre.

Teljesítmény optimalizálás RMAN mentések során

Az RMAN párhuzamos mentésekkel jelentősen gyorsítható.
Az RMAN párhuzamos párhuzamosítási lehetősége jelentősen gyorsítja a mentési és visszaállítási folyamatokat.

A nagy adatbázisok mentése és helyreállítása jelentős erőforrásokat igényelhet. Az RMAN számos funkciót kínál a teljesítmény optimalizálására, biztosítva a gyors és hatékony működést.

Párhuzamosítás (Channels)

Ahogy korábban említettük, az RMAN csatornák használata az egyik leghatékonyabb módja a mentési és helyreállítási műveletek felgyorsítására. Több csatorna konfigurálásával az RMAN egyszerre több adatfájlt vagy adatfájlrészt dolgozhat fel, kihasználva a rendelkezésre álló I/O sávszélességet és CPU erőforrásokat.


CONFIGURE DEVICE TYPE DISK PARALLELISM 4;

Ez a parancs beállítja, hogy az RMAN alapértelmezetten 4 párhuzamos csatornát használjon lemezre történő mentéskor.

Aszinkron I/O

Az RMAN képes aszinkron I/O-t használni, ami azt jelenti, hogy az adatbázis szerverfolyamatai nem várják meg az I/O műveletek befejezését, mielőtt továbblépnének a következő feladatra. Ez jelentősen növeli az I/O átviteli sebességet és a CPU kihasználtságot. Az aszinkron I/O beállítását az operációs rendszer és az Oracle inicializálási paraméterei (pl. DISK_ASYNCH_IO, FILESYSTEMIO_OPTIONS) befolyásolják.

Blokkméret és multiplexing

A mentési készletek blokkméretének optimalizálása (MAXPIECESIZE) és a multiplexing (több adatfájl blokkjainak egyidejű olvasása egyetlen mentési készletbe) szintén hozzájárulhat a teljesítmény javításához. A multiplexing csökkenti az I/O fejrészét, de növelheti a helyreállítási időt, ha csak egyetlen fájlra van szükség.

Mentési cél (Disk vs. Tape)

A mentési cél kiválasztása is hatással van a teljesítményre. A lemezes mentések általában gyorsabbak, mint a szalagos mentések, mivel a lemez I/O sebessége nagyobb. Azonban a szalag költséghatékonyabb lehet nagy mennyiségű adat hosszú távú tárolására. Az Oracle Fast Recovery Area (FRA) egy dedikált lemezterület, amelyet az RMAN a mentések, archivált redo logok és flashback logok tárolására használ. Az FRA használata jelentősen leegyszerűsíti a mentéskezelést és felgyorsítja a helyreállítási műveleteket.

Kompresszió hatása

A mentések tömörítése (pl. COMPRESSED BZIP2) csökkenti a mentési fájlok méretét, ami kevesebb lemezterületet igényel és gyorsabb hálózati átvitelt eredményezhet. Azonban a tömörítés CPU-igényes, ami növelheti a mentési időt. A megfelelő tömörítési algoritmus kiválasztása és a CPU erőforrások rendelkezésre állása kulcsfontosságú.

Bandwidth throttling

Az RMAN lehetővé teszi a sávszélesség szabályozását (bandwidth throttling) a mentési műveletek során, hogy elkerülje a rendszer túlterhelését. Ez különösen hasznos, ha a mentések egy megosztott hálózati erőforráson keresztül történnek, és nem szabad, hogy befolyásolják az éles alkalmazások teljesítményét.


BACKUP DATABASE THRUPUT 50M;

Ez a parancs korlátozza a mentési átviteli sebességet 50 MB/másodpercre.

Biztonsági szempontok az RMAN használatakor

Az adatbázis mentési adatai rendkívül érzékenyek, ezért az RMAN használatakor kiemelt figyelmet kell fordítani a biztonsági szempontokra. A jogosulatlan hozzáférés vagy az adatvesztés súlyos következményekkel járhat.

Hozzáférés-vezérlés

Az RMAN klienshez való hozzáférést szigorúan korlátozni kell. Csak az arra feljogosított DBA-k és rendszermérnökök férhetnek hozzá az RMAN parancssorhoz. Az RMAN a SYSDBA vagy SYSBACKUP privilégiumokat igényli a cél adatbázishoz való csatlakozáshoz. Fontos, hogy ezeket a jogosultságokat a legkevésbé szükséges elv (principle of least privilege) alapján adományozzák.


RMAN> CONNECT TARGET /
RMAN> CONNECT TARGET SYS@ORCL AS SYSBACKUP;

Titkosítás (Backup Encryption)

Az RMAN támogatja a mentések titkosítását, ami kritikus, ha a mentési fájlokat nem biztonságos helyen tárolják, vagy ha szigorú adatvédelmi előírások vonatkoznak rájuk. Az Oracle Transparent Data Encryption (TDE) vagy az RMAN saját titkosítási mechanizmusai használhatók. A titkosítás lehet jelszó-alapú (SET ENCRYPTION IDENTIFIED BY 'password') vagy TDE pénztárca-alapú.


CONFIGURE ENCRYPTION FOR DATABASE ON;
BACKUP DATABASE PLUS ARCHIVELOG;

Ez a konfiguráció biztosítja, hogy minden jövőbeli adatbázis mentés titkosítva legyen.

Helyreállítási pontok biztonsága

A mentési fájlok és az archivált redo logok a helyreállítási stratégia alapját képezik. Ezeket a fájlokat is védeni kell a jogosulatlan hozzáféréstől, manipulációtól vagy törléstől. Érdemes a mentési célokat (pl. lemezkönyvtárak, szalagos rendszerek) fizikailag és logikailag is elszigetelni és biztonságossá tenni. A recovery catalog adatbázisát is védeni kell, és rendszeresen menteni kell, mivel az tartalmazza a mentési metaadatokat.

Mentések integritásának ellenőrzése

A mentések integritásának rendszeres ellenőrzése (pl. VALIDATE parancsokkal) kulcsfontosságú. Ez biztosítja, hogy a mentési fájlok nem sérültek meg, és sikeresen felhasználhatók helyreállításra. Ezen felül érdemes rendszeresen tesztelni a helyreállítási folyamatot egy nem éles környezetben, hogy megbizonyosodjunk a mentési stratégia hatékonyságáról és a helyreállítási idők elfogadhatóságáról.

Hibaelhárítás és monitorozás

Az RMAN műveletek során felmerülő problémák gyors azonosítása és megoldása kulcsfontosságú. Az RMAN és az Oracle adatbázis számos eszközt kínál a hibaelhárításhoz és a monitorozáshoz.

RMAN log fájlok

Minden RMAN munkamenet részletes naplót generál a végrehajtott parancsokról, a státuszról, a figyelmeztetésekről és a hibákról. Ezek a log fájlok az elsődleges források a problémák diagnosztizálásához. Az RMAN kliensből a LOG FILE 'útvonal/fájlnév.log' opcióval irányítható a kimenet egy fájlba.


RMAN> RUN {
  ALLOCATE CHANNEL d1 DEVICE TYPE DISK;
  BACKUP DATABASE PLUS ARCHIVELOG;
  RELEASE CHANNEL d1;
} LOG FILE '/u01/app/oracle/rman_backup_$(date +%Y%m%d%H%M%S).log';

V$RMAN_STATUS és V$RMAN_BACKUP_JOB_DETAILS

Az Oracle adatbázis dinamikus teljesítménynézetei (Dynamic Performance Views) valós idejű információkat szolgáltatnak az RMAN tevékenységéről. A V$RMAN_STATUS és V$RMAN_BACKUP_JOB_DETAILS nézetek részletes adatokat mutatnak a futó és befejezett mentési/helyreállítási feladatokról, beleértve a státuszt, az időtartamot, a hibakódokat és a feldolgozott adatmennyiséget.


SELECT OPERATION, STATUS, START_TIME, END_TIME, INPUT_BYTES_DISPLAY, OUTPUT_BYTES_DISPLAY, OUTPUT_DEVICE_TYPE
FROM V$RMAN_BACKUP_JOB_DETAILS
ORDER BY START_TIME DESC;

Alert Log

Az Oracle adatbázis alert logja (riasztási naplója) szintén tartalmazhat releváns információkat az RMAN műveletekkel kapcsolatos hibákról vagy figyelmeztetésekről, különösen, ha azok az adatbázis belső működését érintik.

DBA_HIST views (AWR)

Az Automatic Workload Repository (AWR) nézetei (DBA_HIST_BACKUP_DEVICE, DBA_HIST_RMAN_STATUS stb.) történelmi adatokat szolgáltatnak az RMAN teljesítményéről és erőforrás-felhasználásáról. Ezek az adatok hasznosak a trendek elemzéséhez, a teljesítménybottleneckek azonosításához és a mentési stratégia finomhangolásához.

TRACE fájlok

Súlyosabb problémák esetén az RMAN és az adatbázis szerverfolyamatai TRACE fájlokat generálhatnak, amelyek még részletesebb hibakeresési információkat tartalmaznak. Ezeket általában az Oracle Support kéri be a probléma diagnosztizálásához.

RMAN és a felhő

Az Oracle RMAN szorosan integrálódik a felhőalapú tárolási megoldásokkal, különösen az Oracle Cloud Infrastructure (OCI) szolgáltatásaival. Ez lehetővé teszi a mentések biztonságos és költséghatékony tárolását a felhőben, növelve a katasztrófa-helyreállítási képességeket.

Cloud mentési célok (Object Storage)

Az RMAN közvetlenül képes mentéseket írni az OCI Object Storage szolgáltatásába. Az Object Storage rendkívül skálázható, tartós és költséghatékony tárolási megoldást kínál, ideális a nagy mennyiségű adatbázis mentés archiválására. Az RMAN Cloud Module (Media Management Library) telepítése szükséges a közvetlen integrációhoz.


CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/opt/oracle/extapi/lib/libopc.so, ENV=(OPC_PFILE=/path/to/opc.ora)';
BACKUP DATABASE PLUS ARCHIVELOG;

Az opc.ora fájl tartalmazza az OCI Object Storage-hoz való csatlakozáshoz szükséges hitelesítő adatokat és konfigurációs paramétereket.

Automatizálás a felhőben

Az OCI és az RMAN kombinációja lehetővé teszi a mentési és helyreállítási folyamatok magas szintű automatizálását. Az Oracle Autonomous Database például beépített RMAN funkcionalitással rendelkezik, amely teljesen automatizált mentést és helyreállítást biztosít, minimalizálva a DBA beavatkozását. Egyéb OCI szolgáltatások, mint az Oracle Cloud Agent vagy az OCI Functions, felhasználhatók egyedi RMAN szkriptek futtatására és a mentési stratégiák finomhangolására.

Katasztrófa-helyreállítás a felhőben

A felhőalapú mentések kulcsfontosságúak a katasztrófa-helyreállítási (DR) stratégiákban. Ha egy helyi adatközpont meghibásodik, az RMAN segítségével az adatbázis gyorsan visszaállítható egy másik OCI régióban vagy rendelkezésre állási tartományban az Object Storage-ban tárolt mentésekből. Ez jelentősen növeli az üzleti folytonosságot és csökkenti a helyreállítási időt.

Gyakorlati tippek és bevált gyakorlatok az RMAN használatához

Az RMAN hatékony mentési stratégia minimalizálja az adatvesztést.
Az RMAN automatikusan kezeli a biztonsági mentéseket és helyreállításokat, jelentősen csökkentve az adatvesztés kockázatát.

Az RMAN hatékony használata túlmutat a parancsok ismeretén. A bevált gyakorlatok alkalmazása és a proaktív megközelítés kulcsfontosságú a megbízható adatbázis-védelem biztosításához.

Rendszeres tesztelés (Test Restore)

A legfontosabb tanács: rendszeresen tesztelje a helyreállítási folyamatot! Egy mentés csak annyit ér, amennyit a belőle történő helyreállítás. Egy különálló, nem éles környezetben (pl. egy tesztadatbázisra) rendszeresen futtasson teljes helyreállítási forgatókönyveket. Ez segít azonosítani a problémákat, finomhangolni a folyamatokat és megerősíteni a DBA-k tudását.


RMAN> RESTORE DATABASE VALIDATE; -- Csak ellenőrzés
RMAN> DUPLICATE TARGET DATABASE TO testdb FOR FAR SYNC FROM ACTIVE DATABASE; -- Gyors tesztkörnyezet

Megfelelő Retention Policy (megőrzési szabályzat)

Állítson be és tartson be egy megfelelő retention policy-t. Ez biztosítja, hogy elegendő mentés álljon rendelkezésre a kívánt helyreállítási pontok eléréséhez, de elkerüli a felesleges lemezterület pazarlását is. Gondolja át, mennyi ideig kell megőrizni az adatokat a jogi, üzleti és auditálási követelményeknek megfelelően.

Automatizálás és ütemezés

Az RMAN mentési és karbantartási feladatokat automatizálni kell. Használjon operációs rendszer szintű ütemezőket (pl. cron job Linuxon, Task Scheduler Windows-on) vagy az Oracle saját ütemezőjét (DBMS_SCHEDULER) az RMAN szkriptek rendszeres futtatásához. Az automatizálás csökkenti az emberi hibalehetőségeket és biztosítja a mentések konzisztenciáját.

Dokumentáció

Készítsen részletes dokumentációt a mentési stratégiáról, az RMAN konfigurációjáról, a helyreállítási eljárásokról és a hibaelhárítási lépésekről. Ez a dokumentáció kulcsfontosságú, ha egy DBA távozik, vagy ha egy katasztrófa esetén gyorsan kell cselekedni.

Külön Recovery Catalog adatbázis

Kritikus rendszerek esetén külön adatbázist dedikáljon a recovery catalog számára. Ezt az adatbázist is rendszeresen mentse, és lehetőleg egy külön szerveren, vagy legalábbis külön tárolórendszeren tárolja, mint a cél adatbázisokat. Ez növeli a katasztrófa-helyreállítási képességet, ha a fő adatbázis és annak vezérlőfájlja is elveszik.

Monitorozás és riasztások

Implementáljon monitorozási rendszert és riasztásokat az RMAN műveletekhez. Értesítést kell kapnia, ha egy mentés sikertelen, vagy ha problémák merülnek fel a helyreállítási folyamat során. Az Oracle Enterprise Manager (OEM) vagy harmadik féltől származó monitorozó eszközök segíthetnek ebben.

Archivált Redo Logok kezelése

Győződjön meg arról, hogy az archivált redo logok elegendő helyet kapnak, és rendszeresen mentésre kerülnek. Ezek kritikusak a point-in-time recoveryhez. A DELETE INPUT opció használható a mentés utáni archivált logok törlésére, hogy helyet szabadítson fel.


BACKUP ARCHIVELOG ALL DELETE INPUT;

Blokkkövetés (Block Change Tracking)

Engedélyezze a blokkkövetést (Block Change Tracking) az inkrementális mentések felgyorsításához. Ez a funkció egy külön fájlban rögzíti a megváltozott blokkokat, elkerülve az adatfájlok teljes szkennelését inkrementális mentéskor.


ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '/path/to/bct_file.bct';

Az Oracle RMAN egy rendkívül sokoldalú és hatékony eszköz, amely az adatbázis-rendszerek alapvető védelmét biztosítja. A célok, működési elvek, architektúra, mentési és helyreállítási stratégiák, valamint a bevált gyakorlatok mélyreható megértése elengedhetetlen a sikeres adatbázis-adminisztrációhoz és az üzleti folytonosság fenntartásához.

Share This Article
Leave a comment

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük