# 🏛️ Oracle Database ## Přehled Oracle Database je proprietární relační databáze s nejširší škálou enterprise funkcí — RAC clustering, Active Data Guard, partitioning, advanced compression, in-memory options a Oracle Exadata integrace. Dominantní v korporátním světě, financích, telekomunikacích a mainframe ekosystému. ## Architektura ### Oracle instance + database ``` Oracle Instance (memory + processes) ├── System Global Area (SGA) │ ├── Database Buffer Cache │ ├── Shared Pool (library cache, dictionary cache) │ ├── Redo Log Buffer │ ├── Java Pool │ ├── Large Pool (backup, parallel) │ └── In-Memory Column Store (option) ├── Program Global Area (PGA) — per session └── Background processes ├── PMON (process monitor) ├── SMON (system monitor) ├── DBWn (database writer) ├── LGWR (log writer) ├── CKPT (checkpoint) ├── ARCn (archiver) └── MMON (manageability monitor) ``` ### Multitenant architektura (12c+) ``` Container Database (CDB) ├── Root (CDB$ROOT) — metadata, system objects ├── Seed (PDB$SEED) — template pro nové PDB ├── Pluggable Database 1 (PDB1) — aplikace A ├── Pluggable Database 2 (PDB2) — aplikace B └── Pluggable Database 3 (PDB3) — aplikace C ``` Každé PDB vypadá jako samostatná databáze, ale sdílí SGA a background procesy. Výhoda: vyšší densita, jednodušší patchování (CDB úroveň), resource management per PDB. ### Oracle RAC (Real Application Clusters) Multi-instance architektura — více serverů přistupuje ke stejné storage: ```text Node 1 ─── Oracle ASM ─── Shared Storage (SAN/NFS) Node 2 ─── Oracle ASM ─── Shared Storage (SAN/NFS) Node 3 ─── Oracle ASM ─── Shared Storage (SAN/NFS) │ Cache Fusion (private interconnect) ``` - Až 64 nodů v clusteru - **Cache Fusion** — transfer dirty blocks mezi instancemi přes private interconnect (RAC-specific) - **ASM** (Automatic Storage Management) — clustered filesystem + volume manager - **Service** — workload routing (primární, report, batch) ### Oracle Data Guard | Režim | Ochrana | Latence | Use case | |-------|---------|---------|----------| | **Maximum Protection** | Zero data loss (sync) | Nejvyšší | Kritické systémy | | **Maximum Availability** | Zero data loss (sync, fallback na async) | Vysoká | Enterprise standard | | **Maximum Performance** | Async | Nejnižší | DR na dálku | - **Active Data Guard** — standby pro čtení (reporting, backup) — vyžaduje licenci - **Far Sync** — synchronní zápis na vzdálený standby přes async (kompromis) ### Oracle Exadata Hardware+software platforma pro Oracle DB: | Komponenta | Popis | |-----------|-------| | **Database Servers** | x86 (Xeon), 2-8× per rack, NVMe, 1.5-6 TB RAM | | **Storage Servers** | Celková kapacita až 2.7 PB raw per rack | | **Smart Scan** | Predikátová filtrace na storage vrstvě (místo v DB serveru) | | **Smart Flash Cache** | Násobné vrstvy caching (RAM, Flash, disk) | | **RDMA over Converged Ethernet** | Nízká latence mezi DB a storage servery | Vhodné pro: největší OLTP, data warehousing, consolidation. ## Klíčové enterprise funkce | Funkce | Popis | Konkurence | |--------|-------|------------| | **RAC** | Shared-everything cluster až 64 uzlů | MSSQL AlwaysOn FCI (2 uzly) | | **Active Data Guard** | Standby pro čtení, far sync, automatic failover | MSSQL AlwaysOn AG, PostgreSQL streaming | | **Partitioning** | Range, List, Hash, Composite, interval, reference | PostgreSQL (declarative partitioning 10+) | | **Advanced Compression** | Columnar, HCC (Exadata), OLTP compression | InnoDB page compression, PG TOAST | | **In-Memory** | Column store v SGA pro real-time analytics | PG (no native), MSSQL (columnstore index) | | **Advanced Security** | TDE, data redaction, VPD, audit vault, database firewall | PG (pgcrypto, pgaudit), MSSQL (TDE, Always Encrypted) | | **Flashback** | Dotazování na historická data (Flashback Query, Table, Database) | PG (temporal tables via extension), MSSQL (system-versioned) | | **Sharding** | System-managed, composite, user-defined | MongoDB (native), Vitess (MySQL), Citus (PG) | | **ASM** | Clustered filesystem + volume manager | VMware VMFS, Windows CSV | ## Oracle licensing detail ### Edice | Edice | Metrika | Cena (orientační) | Limitace | |-------|---------|-------------------|----------| | **Oracle Database Standard Edition 2 (SE2)** | Per core (core factor 0.5) | ~$17 500/core | Max 16 CPU threads (na server), max 2 sockets, žádný RAC (pouze Oracle RAC One), žádné partitioning, in-memory, compression | | **Oracle Database Enterprise Edition (EE)** | Per core (core factor 0.5) | ~$47 500/core | Bez omezení, všechny funkce (RAC, partitioning, in-memory, compression, Advanced Security) — ale vše jako **volitelné licence** | | **Oracle Database Enterprise Edition (RAC)** | Per core (EE + RAC option) | ~$47 500 + $23 000/core | EE + RAC clustering | ### Volitelné licence (options) — EE only | Option | Cena (orientační / core) | Use case | |--------|--------------------------|----------| | **Real Application Clusters (RAC)** | ~$23 000 | Multi-instance cluster | | **Active Data Guard** | ~$10 000 | Standby pro čtení, far sync, automatic failover | | **Partitioning** | ~$11 500 | Range, list, hash, interval, reference, system | | **Advanced Compression** | ~$11 500 | OLTP compression, HCC (Exadata), JSON compression | | **Advanced Security** | ~$15 000 | TDE, data redaction, database firewall | | **In-Memory Database** | ~$23 000 | Column store v SGA pro real-time analytics | | **Database Vault** | ~$5 750 | Separation of duties, multi-tenancy security | | **Multitenant (EE)** | Zdarma (od 21c) | CDB/PDB — max 3 PDB na CDB v EE bez license. Neomezeno s Multitenant option (~$17 500) | | **Spatial / Graph** | ~$5 750 | Geoprostorová data, property graph | | **Label Security** | ~$5 750 | Row-level security s klasifikacemi | ### Oracle Cloud (OCI) licensing | Služba | Model | Cena | Poznámka | |--------|-------|------|----------| | **OCI Base Database (RDS-like)** | BYOL nebo License Included | ~$1-5/hod (BYOL levnější) | Single instance nebo RAC, automatické backup, patching | | **OCI Exadata Database Service** | BYOL nebo License Included | ~$5-30/hod (dle shape) | Exadata X9M/X10M v OCI, elastic, full Exadata features | | **OCI Autonomous Database** | Per CPU (ECPU) | ~$0.50-3.00/ECPU/hod | Auto-tuning, auto-scaling, auto-patching | | **BYOL (Bring Your Own License)** | Vlastní Oracle license v OCI | Jen infrastruktura | Lze použít stávající perpetual license, včetně supportu | ### RAC sizing — licence cost ```text 4-node RAC, každý node 2× EPYC 9654 (96C) = 192 cores per node Core factor 0.5 → 96 Oracle licenses per node 4 × 96 = 384 Oracle EE licenses EE: 384 × $47 500 = $18 240 000 RAC option: 384 × $23 000 = $8 832 000 Support 22 % ročně: ($18 240 000 + $8 832 000) × 0.22 = $5 955 840/rok Tip: Pro RAC zvažte menší CPU (např. 64C místo 96C) — license cost často převyšuje hardware cost. ``` ### Oracle vs PostgreSQL — srovnání | Oblast | Oracle | PostgreSQL | |--------|--------|------------| | **Licence** | Proprietary (per core, ~$17.5k-47.5k/core + 22 % support ročně) | Open source (PostgreSQL license, MIT-like) | | **RAC clustering** | Nativní, shared-everything | Žádné (Citus = shared-nothing) | | **Multitenant** | CDB/PDB architektura | Žádné (schemas per tenant) | | **Parallel execution** | Vyspělý (auto DOP, parallel index scan) | Dobrý (parallel seq/index scan, join) | | **Storage management** | ASM (integrovaný) | OS volume / LVM | | **Materialized views** | S refresh on commit, query rewrite | Není query rewrite | | **Partitioning** | 40+ možností (interval, referential, system) | Declarative (range, list, hash od 10+) | | **In-memory** | Columnar in SGA | Není nativní | | **Standby použitek** | Active Data Guard (read-only, licence) | Hot standby (read-only, zdarma) | | **Cloud** | OCI (Oracle Cloud), AWS RDS, Azure | Všechny cloudy (native) | ## Doporučení — v čem je Oracle lepší | Oblast | Oracle | Konkurence | Proč Oracle | |--------|--------|------------|-------------| | **Licence cost (4-node RAC, 384 cores)** | ~$50M (1. rok vč. supportu) | PostgreSQL: $0 | Oracle: 22 % support ročně z license fee | | **Vendor lock-in** | Vysoký (GoldenGate migrace náročná, PL/SQL specific) | PostgreSQL: žádný | MySQL i PG mají nástroje pro migraci z Oracle (ora2pg, AWS DMS) | | **Enterprise OLTP** | RAC + ASM, zero-downtime patching | MSSQL (FCI limit 2 nodes) | Shared-everything cluster, transparent failover | | **Finance / Banking** | Audit Vault, Database Vault, TDE, VPD | PG (pgaudit, row-level security) | Compliance certifikace (SOX, PCI, GDPR) | | **Consolidace** | Multitenant (CDB/PDB) — stovky DB na 1 instanci | PG (citizen schemas) | Nižší overhead, jednodušší management | | **Data Warehouse** | Exadata Smart Scan, parallel execution, in-memory | ClickHouse (specializovaná) | Hybrid workload (OLTP + DW v jedné DB) | | **High-end hardware** | Exadata engineered system | PG (běží na čemkoliv) | Full-stack optimalizace HW+SW | | **Partitioning** | Rozsah možností (reference, interval, system) | PG (basic) | 10+ let náskok v implementaci | | **Flashback / recovery** | Flashback Database, Table, Query — libovolný čas | PG (PITR, point-in-time) | Rychlejší, granularnější recovery | | **Ekosystém** | OEM, Data Pump, SQL Developer, Toad, GoldenGate | PG (pgAdmin, pg_dump, Patroni) | Desítky let enterprise toolingu | ### Kdy použít Oracle - **Kritické OLTP systémy** — banking, payment processing, trading - **Enterprise konsolidace** — stovky DB na jednom RAC clusteru (multitenant) - **Regulované prostředí** — finance, healthcare, government (audit, security, compliance) - **Oracle ekosystém** — E-Business Suite, PeopleSoft, Siebel, JD Edwards - **Exadata zákazníci** — maximální výkon pro hybrid workload (OLTP + DW) - **GoldenGate replikace** — heterogenní replikace (Oracle → Kafka, Oracle → PostgreSQL) - **Cloud migration** — OCI, AWS RDS for Oracle, Azure Oracle Database Service ### Kdy použít něco jiného - **Startup / SME** → PostgreSQL (zdarma, dostatečný výkon, žádný vendor lock-in) - **Web / LAMP stack** → MySQL (jednodušší, levnější, široká podpora) - **Cloud-native** → Aurora, CockroachDB (architektura pro cloud, ne port on-prem do cloudu) - **Potřebujete jen SQL** → PostgreSQL (Oracle overhead se nevyplatí) - **Horizontální škálování zápisů** → Cassandra (RAC škáluje čtení, zápisy jdou přes jeden nod) ## Zdroje Odkazy, knihy a standardy: [sources/databases/sources.md](sources/databases/sources.md) ### Doporučená literatura | Kniha | Autoři | ISBN | Popis | |-------|--------|------|-------| | Oracle Database 23ai New Features | Oracle Corporation | — | Oficiální průvodce novinkami — AI Vector Search, JSON Relational Duality, property graphs, schema privileges | | Expert Oracle Architecture (3rd ed.) | Thomas Kyte, Darl Kuhn | 978-1484249602 | Komplexní výklad Oracle architektury — od storage po RAC a Data Guard | *Poslední revize: 2026-06-03*