Oracle Real Application Clusters (RAC) je klíčová volitelná funkce pro databázi Oracle Database, která umožňuje mnoha nezávislým serverům (uzlům) přistupovat současně k jedné sdílené databázi.
Jde o řešení pro horizontální škálovatelnost (přidávání dalších serverů) a vysokou dostupnost (eliminace jednotlivých bodů selhání) pro kritické podnikové aplikace.
1. Základní pojmy Oracle
| Pojem | Vysvětlení |
| Oracle RDBMS | Samotný software (sada programů a binárních souborů), který se instaluje na server. |
| Databázová Instance | Běžící proces na serveru. Zahrnuje alokovanou paměť (SGA, PGA) a sady procesů na pozadí. V RAC běží každá instance na jiném serveru. |
| Databáze | Fyzické soubory na disku, které obsahují skutečná data (tabulky, indexy) a řídicí soubory (kontrolní soubory, redo logy). V RAC je databáze pouze jedna a je sdílená. |
| Uzel (Node/Server) | Jednotlivý fyzický nebo virtuální počítač v klastru. Na každém uzlu běží jedna databázová instance. |
2. Klíčové soubory databáze
| Soubor | Účel |
| Soubory dat (Data Files) | Obsahují skutečná data tabulek, indexů a dalších databázových objektů. |
| Kontrolní soubory (Control Files) | Binární soubor, který slouží jako mapa databáze. Zaznamenává fyzickou strukturu databáze a umístění všech ostatních souborů. |
| Redo Log Soubory | Zaznamenávají každou transakční změnu provedenou v databázi. Jsou zásadní pro obnovu databáze po havárii. |
3. Princip Fungování RAC
- Sdílené Úložiště (Shared Storage): Fyzické soubory databáze (data, kontrolní soubory, redo logy) se nacházejí na centralizovaném, vysoce redundantním úložném systému (např. SAN nebo Oracle ASM), ke kterému mají přístup všechny uzly. Není to jediný bod selhání, protože samotné úložiště je redundantní (RAID, více řadičů, záložní napájení).
- Paralelní Instance: Na každém uzlu běží samostatná databázová instance (s vlastní pamětí SGA/PGA), která aktivně spravuje sdílená data.
- Cache Fusion: Jde o klíčovou technologii. Namísto zpomalování operací zápisem a čtením bloku dat z disku si instance navzájem předávají datové bloky přímo v paměti (SGA) přes speciální rychlou, soukromou síť zvanou interconnect. To zajišťuje konzistenci dat a vysoký výkon.
4. Výhody Oracle RAC
- Vysoká Dostupnost (HA): Při selhání jednoho uzlu (selhání serveru, instance nebo operačního systému) převezmou zbývající uzly jeho zátěž, čímž se minimalizuje prostoje.
- Škálovatelnost: Přidáním nových uzlů do klastru se zvyšuje výpočetní výkon a kapacita databáze (horizontální škálování).
- Rozložení Zátěže (Load Balancing): Příchozí připojení a transakce jsou automaticky distribuovány mezi aktivní uzly pro optimální využití zdrojů.
- Jednodušší Údržba: Umožňuje průběžné upgrady (rolling upgrades), kdy je možné záplatovat a aktualizovat jednotlivé uzly bez celkového odstavení databáze.
5. Schéma Infrastruktury Oracle RAC (textová vizualizace)
+-------------------------------------------------------------+
| SHARED STORAGE SYSTEM (SAN/ASM) |
| |
| **The Single, Shared Database** (Physical Files) |
| - Data Files (tables, indexes) |
| - Control Files (database map) |
| - Redo Log Files (transaction journal) |
+-------------------------------------------------------------+
^ ^ ^
| | | (Access via Storage Network)
V V V
+-------------------------------------------------------------+
| HIGH-SPEED PRIVATE INTERCONNECT NETWORK |
| (Dedicated link for Instance-to-Instance Cache Fusion) |
+-------------------------------------------------------------+
^ ^ ^
| | |
V V V
+------------------------+------------------------+------------------------+
| **SERVER 1 (NODE 1)** | **SERVER 2 (NODE 2)** | **SERVER N (NODE N)** |
|------------------------|------------------------|------------------------|
| - RDBMS Software | - RDBMS Software | - RDBMS Software |
| | | |
| **Database Instance 1**| **Database Instance 2**| **Database Instance N**|
| - SGA (Node 1 RAM) | - SGA (Node 2 RAM) | - SGA (Node N RAM) |
| - PGA (Node 1 RAM) | - PGA (Node 2 RAM) | - PGA (Node N RAM) |
| - Background Processes | - Background Processes | - Background Processes |
+------------------------+------------------------+------------------------+
^ ^ ^
| | | (Client Connections via Public Network)
V V V
+-------------------------------------------------------------+
| CLIENT APPLICATIONS / USERS |
| (Load Balancing Across Instances) |
+-------------------------------------------------------------+
Části textu a jeho struktura a grafika byly generovány modelem Gemini (Google). Následně upraveno a doplněno autorem.