1 Zajištění vysoké dostupnosti a zabezpečení dat, novinky Oracle Database 11g David Krch Technology Sales Consultant 12 Dva pohledy na databázi Vývoj...
Zajištění vysoké dostupnosti a zabezpečení dat, novinky Oracle Database 11g David Krch Technology Sales Consultant
1
Dva pohledy na databázi Vývoj • Struktura dat • SQL • Uložené procedury • Zabudované funkce • Rozhraní
Provoz • Správa a monitorování databáze • Výkon, jeho škálování a ladění • Dostupnost a spolehlivost • Bezpečnost
• ODBC, OLE DB, ADO.NET, JDBC, OCI, ...
Oracle - Světová databázová jednička Trh databází
Databáze pro SAP
17%
3%
12%
17%
9% 4%
22%
67%
Oracle
IBM
49% Microsoft Other
Datové sklady
Oracle
IBM
Informix
M/soft
SAPDB
Databáze na Linuxu
9% 14%
32%
Marketshare (%)
23%
80% 60% 40% 20% 0%
22% Oracle IBM
2004
M/soft
Teradata
Others
2005
Oracle
2006
Others
Zdroje: Gartner DataQuest June 2009, IDC Worldwide Data Warehouse Management Tools 2009, AMR 2005
2
Nezávislost + škálovatelnost GRID/ blade servers Cluster
SMP Uniprocessor Desktop Server 1 Uživatel
• 32-bit • 64-bit
• • • • •
Linux Windows AIX Solaris SPARC HP-UX
• • •
Solaris x86 MacOS …
Dostupnost
3
Dostupnost systému Dostupnost
Celková doba výpadků a odstávek za rok
95 %
18,25 dne
99 %
87,6 hodin
99,9 %
8,75 hodin
99,99 %
52 minut
99,999 %
5 minut
Dostupnost není jen záležitostí technologie (SW, HW), ale má i další dimenze – např. vyškolení obsluhy, definovaný postup, testování, způsob nasazování aplikací a patchování ...
Situace řešené běžnými mechanismy databází • Příkaz končí chybou • Všechny příkazy probíhají v rámci implicitní transakce – data se vrátí do stavu před příkazem
• Pád uživatelských procesů serveru • Instance databáze sestává z více procesů • Speciální proces - PMON - zajistí uklizení
• Pád instance (všech procesů na serveru) • Při opětovném spuštění serveru proběhně automaticky „instance recovery“
Řešení vysoké dostupnosti v Oracle Database Selhá Selhání uzlu
Failover cluster, cluster, Real Application Clusters Clusters Kompletní Kompletní řešení ení „nulové nulového výpadku služ služby“ by“
Neplá Neplánované nované výpadky
Selhá Selhání médií dií & Katastrofy Lidské Lidské chyby
Plá Plánované nované odstá odstávky
Systé Systémová mová údrž držba Údrž držba databá databáze, aplikace
Zálohová lohování, DataGuard Kompletní Kompletní řešení ení „nulové nulové ztrá ztráty dat“ dat“
Flashback Návrat databá databáze do minulosti
Dynamick Dynamické rek rekonfigurace onfigurace Pož Požadovaná adovaná kapacita bez výpadků výpadků při rekonfiguraci
Rolling Upgrade, Online redefinice redefinice Údrž držba bez př přeruš erušení ení provozu
Řešení vysoké dostupnosti v Oracle Database Selhá Selhání uzlu
Failover cluster, cluster, Real Application Clusters Clusters Kompletní Kompletní řešení ení „nulové nulového výpadku služ služby“ by“
Neplá Neplánované nované výpadky
Selhá Selhání médií dií & Katastrofy Lidské Lidské chyby
Plá Plánované nované odstá odstávky
Systé Systémová mová údrž držba Údrž držba databá databáze, aplikace
Zálohová lohování, DataGuard Kompletní Kompletní řešení ení „nulové nulové ztrá ztráty dat“ dat“
Flashback Návrat databá databáze do minulosti
Dynamick Dynamické rek rekonfigurace onfigurace Pož Požadovaná adovaná kapacita bez výpadků výpadků při rekonfiguraci
Rolling Upgrade, Online redefinice redefinice Údrž držba bez př přeruš erušení ení provozu
5
Failover cluster
Databáze Databáze
• Běžné řešení vysoké dostupnosti • Přepnutí zajišťuje plně clusterware např. IBM HACMP, HP Service Guard, RedHat Cluster, MS Cluster Service • Univerzální pro všechny aplikace • Horší využití druhého serveru – mrtvé železo • Výpadek postihne všechny uživatele • Výpadek 5-15 minut • Nelze využít pro škálování výkonu
Real Application Clusters
• • • • • •
Využití obou serverů Dynamické rozkládání zátěže Výpadek postihne jen část uživatelů Rychlé a transparentní přepojení Není nutné upravovat aplikaci 10g-Nevyžaduje cluster na úrovni OS
Databáze Databáze
Výpadek Oba servery serveru poskytují – databáze služby,ježádné dále plně „mrtvé dostupná železo“
6
Oracle RAC u nás • • • • • • • • • • • •
C.S.CARGO a.s. Centrum pro regionální rozvoj ČR ČD-Telematika a.s. Ministerstvo vnitra Úřad pro zastupování státu ve věcech majetkových Česká spořitelna, a.s. Československá obchodní banka, a.s. Český hydrometeorologický ústav Český rozhlas Český úřad zeměměřický a katastrální ČEZData E.ON Česká republika, a.s.
• • • • • • • • • • • •
GE Money Bank, a.s. GTS NOVERA a.s. Home Credit International a.s. ING Management Services, s.r.o. IZIP, spol. s r.o. Merck Sharp & Dohme Ministerstvo zemědělství ČR Panasonic Automotive Systems Czech, s.r.o Škoda AUTO a.s. T-Systems Czech, s r.o. Vítkovice Steel a.s. VZP ČR
Řešení vysoké dostupnosti v Oracle Database Selhá Selhání uzlu
Failover cluster, cluster, Real Application Clusters Clusters Kompletní Kompletní řešení ení „nulové nulového výpadku služ služby“ by“
Neplá Neplánované nované výpadky
Selhá Selhání médií dií & Katastrofy Lidské Lidské chyby
Plá Plánované nované odstá odstávky
Systé Systémová mová údrž držba Údrž držba databá databáze, aplikace
Zálohová lohování, DataGuard Kompletní Kompletní řešení ení „nulové nulové ztrá ztráty dat“ dat“
Flashback Návrat databá databáze do minulosti
Dynamick Dynamické rek rekonfigurace onfigurace Pož Požadovaná adovaná kapacita bez výpadků výpadků při rekonfiguraci
Rolling Upgrade, Online redefinice redefinice Údrž držba bez př přeruš erušení ení provozu
7
Ochrana dat pomocí záložního centra Jak využít záložní systémy když primární běží? Průběžné analýzy dat Testování
Přenos transakčních logů
Data Guard Provozní databáze
Záložní databáze
• Změny Oracle Database se postupně 11g: přenášejí na záložní lokalitu • Nové možnostidat využití záložního do systému • Dříve: Ochrana vs. investice „mrtvého systému“ • Vyšší návratnost vložených investic Investice do záložního systému se špatně zdůvodňují • Ochrana dat je stále zachována
Řešení vysoké dostupnosti v Oracle Database Selhá Selhání uzlu
Failover cluster, cluster, Real Application Clusters Clusters Kompletní Kompletní řešení ení „nulové nulového výpadku služ služby“ by“
Neplá Neplánované nované výpadky
Selhá Selhání médií dií & Katastrofy Lidské Lidské chyby
Plá Plánované nované odstá odstávky
Systé Systémová mová údrž držba Údrž držba databá databáze, aplikace
Zálohová lohování, DataGuard Kompletní Kompletní řešení ení „nulové nulové ztrá ztráty dat“ dat“
Flashback Návrat databá databáze do minulosti
Dynamick Dynamické rek rekonfigurace onfigurace Pož Požadovaná adovaná kapacita bez výpadků výpadků při rekonfiguraci
Rolling Upgrade, Online redefinice redefinice Údrž držba bez př přeruš erušení ení provozu
Možnost získat historickou podobu dat – obnova dat po lidské chybě SELECT SELECT ** FROM FROM accounts accounts AS AS OF OF TIMESTAMP TIMESTAMP TO_TIMESTAMP(’13-MAR-02 TO_TIMESTAMP(’13-MAR-02 14:10:00’,’DD-MON-YY 14:10:00’,’DD-MON-YY HH24:MI:SS’); HH24:MI:SS’);
Rozšíření Flashback mechanismů v 10g Databáze
Obnova na všech úrovních • Flashback Database •
Customer
•
Flashback Database obnoví celou databázi k zadanému času
• Používá Flashback Logs Flashback Table •
Flashback Table obnoví záznamy v tabulce k zadanému času
•
Flashback Drop obnoví zrušenou tabulku /index
• Používá UNDO
Order
• Odpadkový koš pro DROP
•
Flashback Query •
Obnova jednotlivých záznamů
9
Oracle Flashback • Rychlá obnova dat • Bez použití klasické zálohy • Při ztrátě/poškození způsobeném lidskou chybou (cca 40%-50% případů) • Doba obnovy není závislá na velikosti databáze, ale na velikosti opravované chyby • Řádově rychlejší než obnova ze zálohy
!
Existence Flashback mechanismů neznamená, že máte přestat zálohovat! Flashback neřeší poškození médií atd.
Zabezpečení dat
10
Databáze – poslední hradba mezi útočníkem a vašimi daty • • • •
Zabezpečení dat i v případě, že útočník obejde aplikaci Deklarativní řízení přístupu – průhlednost, možnost kontroly přes Data Dictionary Pokud více aplikací nad stejnými daty, zabezpečení lze řešit centrálně Certifikované mechanismy (Common Criteria / ISO 15408)
Aplikace Aplikace
Data Data
Aplikace
Běžné řízení přístupu k datům
Org A
Org B DATABÁZOVÁ TABULKA
11
Řízení přístupu na úrovni řádků Oddělení dat ve stejných tabulkách
Org B
Org A
Org D Org C
DATABÁZOVÁ TABULKA
• Lze zajistit bezpečnou správu dat i v konsolidovaném prostředí • Data různých oddělení ve stejné databázi • Data různých organizací ve stejné databázi
Jak funguje Virtual Private Database? • Přístup k objektu spustí připojenou bezpečnostní politiku (uložená procedura) • Politika vrací predikát dotazu (podmínku ‘WHERE’) • Databáze dynamicky doplní predikát k dotazu • Nový dotaz je optimalizován a spuštěn
SELECT SELECT**FROM FROMemp emp
bezpečnostní bezpečnostní politika politika deptno deptno = =( (SELECT SELECTdeptno deptno FROM FROMemp empWHERE WHEREename ename= = sys_context sys_context ('USERENV','session_user')) ('USERENV','session_user'))
SELECT SELECT**FROM FROMemp emp WHERE WHEREdeptno deptno = = ((SELECT SELECTdeptno deptnoFROM FROMemp emp WHERE ename = WHERE ename = sys_context('USERENV','session_user')) sys_context('USERENV','session_user'))
12
Odpovídá IT realitě v organizaci? • Organizace • Databázový administrátor • Zodpovědnost za provoz databáze • Chief Security Officer • Pravidla zabezpečení dat – kdo, kdy, odkud může co provádět, další požadavky na IS • Kontrola splnění definovaných pravidel
• Databáze • Databázový administrátor • Minimálně jeden má vždy plná zodpovědnost za zabezpečení i provoz databáze • Jen statické přidělování práv – kdo může co provádět • Nástroje pro správu
Oracle Database Vault
FIN
Účetnictví
HR
Person.
Jiné
Bezpečnostní správce
OLTP
Sklady
Mzdy
DWH
Hlavní DBA
•
Cíl • • •
Administrátor
•
Rozdělení zodpovědnosti Zavedení principu 4 očí Přesnější definice aplikačních DBA
Bezpečnostní správce určuje pravidla pro každodenní operace db. správců
Administrátor
•
Administrátor
• • •
Pravidla na základě kombinace různých faktorů • Kdo, kdy, odkud, ... Specificky pro různé skupiny objektů Specificky pro různé příkazy Přesnější rozdělení funkcí jednotlivých databázových administrátorů
13
Oracle Database Vault Nové mechanismy řízení přístupu Oblasti (Realm) – sada chráněných db. objektů, schémat a rolí
•
•
Explicitně vyjmenovaní uživatelé autorizovaní pro práci s objekty Další pravidla pro řízení přístupu – na základě různých faktorů • např. IP adresa klienta, datum, typ autentifikace, jméno uživatele/Proxy uživatele, jméno klientského programu, libovolné PL/SQL
Příkazová pravidla – dále omezující spuštění jednotlivých databázových příkazů
Database Vault
DBA
Běžné řízení přístup Data a operace
definuje
•
definuje
•
Bezpečnostní správce
Novinky 11g
14
Online Application Upgrade (11.2) Již žádná odstávka kvůli upgrade aplikace • Žádná odstávka = minimalizace nákladů na upgrade • V databázi lze připravit objekty pro novou verzi aplikace • Obě verze mohou být dočasně provozovány současně • Obě verze sdílí data
Aplikace
Verze 1
Verze 2
PL/SQL...
PL/SQL...
Verze 1
Verze 2
Struktury
Struktury
Verze 1
Verze 2
Edice
• Nově se připojující uživatelé postupně začnou používat novou verzi aplikace
Edice
• Změny ze staré jsou vidět v nové • Změny v nové se jsou vidět ve staré
Aplikace
Data
Určení počtu záznamů u nekorelovaných dat SELECT ……FROM.. WHERE model = ‘530xi’ AND color = 'RED' BMW
530xi
RED
• Optimalizátor předpokládá nekorelovaná data • Statistiky: • 1/2 aut jsou 530xi • 1/3 aut je červených • = 1/2 x 1/3 = 1/6 aut splňuje obojí
Make
Model
Color
BMW
530xi
RED
BMW
530xi
BLACK
BMW
530xi
SILVER
PORSCHE
911
RED
MERC
SLK
BLACK
MERC
C320
SLIVER
--------------------------------------------------------------------| Id
Častý problém velkých datových skladů Propustnost dat do/z úložiště
• Současné datové sklady mají často nedostatečnou kapacitu propojení mezi disky a servery • Vnitřní úzká hrdla diskových polí (procesory a Fibre Channel) • Malé množství Fibre Channel adapterů v serverech • Nedostatečně nakonfigurovaná a komplexní Storage Area Network
• Linky mezi disky a servery často až 10x pomalejší, než by objem dat vyžadoval
Zpracování dotazu nad 1TB tabulkou Při použití běžného úložiště SELECT customer_name FROM calls WHERE amount > 200;
Žádost o bloky tabulky
Načtení dat
• Pro datové sklady je typický Full Table Scan a Full Index Scan. • Veškerá inteligence až v databázovém serveru Výběr 1000 zákazníků • Veškerá data se musí odpovídajících přenést na server, kde se podmínce jich ale většina zahodí • Zbytečná zátěž pro SAN i databázový server Získání výsledku
Poslání 1 TB dat na server
17
Zpracování dotazu nad 1TB tabulkou Při použití Exadata Storage Server
SELECT customer_name FROM calls WHERE amount > 200;
Získání výsledku
• Na server putují jen relevantní sloupce • customer_name
a řádky • where amount>200
Žádost o Smart Scan zaslána do Exadata
Smart Scan načte data a vybere řádky a sloupce dle definované podmínky
Konsolidace result setu z jednotlivých úložišť
• Přenos řádově menšího objemu dat • Zátěž CPU spotřebovaná filtrováním odsunuta ze serveru na storage
2MB dat zaslány na server jako result set
Sun Oracle Exadata Storage Server Hybridní sloupcová komprese
• Data organizována na úložišti po sloupcích a pak komprimována • Vhodné pro hromadné natahování a přesuny dat • Query mode pro datové sklady – Typický kompresní poměr 10:1 – Adekvátní zrychlení table scanu • Archival mode pro neaktivní data – Typický kompresní poměr 15:1- 50:1
Až
50X 18
Dva pohledy na databázi Vývoj • Struktura dat • SQL • Uložené procedury • Zabudované funkce • Rozhraní • ODBC, OLE DB, ADO.NET, JDBC, OCI, ...
Provoz • Správa a monitorování databáze • Výkon, jeho škálování a ladění • Dostupnost a spolehlivost • Bezpečnost