Title: Architektur- und Realisierungsaspekte von Oracle Real Application Cluster (RAC)
1(No Transcript)
2Architektur- und Realisierungsaspekte von Oracle
Real Application Cluster (RAC) Ralf
MuellerServer Technologies Oracle
Corporation Ralf.Mueller_at_oracle.com
3Agenda
- Motivation
- Clusterumgebungen
- Oracle Real Application Clusters
- Oracle RAC Konfigurationsvarianten
- QA
4Warum Cluster ?
- Technische Gründe
- Skalierbarkeit
- Hochverfügbarkeit
- Neue Rechnerarchitekturen (Blades)
- Nicht-technische Gründe
- Kosten
5Parallel Server / RAC Historie
Verfügbar auf VMS
Oracle 6.2 Erster UNIX Parallel Server
Oracle 8 Parallel ServeriDLM
Oracle 8i Parallel Server Cache Fusion I
Oracle 9i RAC Cache Fusion II
1992
1991
1997
1999
2001
1989
Benchmark Weltrekord (1073 tpsB)
Production Sites
Frühe Entscheidung für OPS
Technologieführerschaft
6Jeder Hersteller, Jede Architektur
- Jeder Hersteller Sun, HP, Compaq, IBM,Linux,
Win2000, OS/390 - Knoten können beliebig hinzugefügt werden
NUMA
SMP
Mainframe
Cluster
1 CPU
Real Application Clusters
7Oracle ist Oracle ist Oracle...
- Real Application Clusters ist eine Option für
Oracle9i - eine Codebasis auf allen Plattformen
- alle Oracle9i Funktionalitäten
- Identische Schnittstellen
- Identische Tools Infrastruktur
- Oracle Universal Installer (OUI)
- Enterprise Manager (EM)
- Database Configuration Assistant (DBCA)
- Recovery Manager (RMAN)
8Clusterkomponenten
- Knoten (Nodes)
- Interconnect
- Shared Disk System
- Cluster Manager
9Knoten (Nodes)
- Jeder Knoten ist ein eigenstaendigerRechner (mit
CPU, Memory, etc.) - Ein Knoten kann ein Einzel-CPU oder Mehrfach-CPU
System sein (SMP, NUMA) - Für einen Cluster werden zwei oder mehr Knoten
benötigt
10Interconnect
- Verbindung zwischen den Knoten eines Clusters
- Kann Ethernet basierend sein
- Bessere Resultate durch Verwendung von HighSpeed
Interconnects - GigaBit Ethernet (alle)
- VIA (Intel)
- Memory Channel (Compaq)
- High Performance Switch (IBM)
11Shared Disk System
- Alle Knoten haben Zugriff auf die Disk Resourcen
des Clusters - Unterstützung von SAN und Hersteller spezifischen
Lösungen - Gemeinsamer Zugriff über
- Oracle Cluster File System (CFS)
- Volume Manager des OS Herstellers
12Cluster Manager
- Software zum verwalten aller Komponenten in einem
Cluster - Überwachung des Zustandes eines Knoten
- Automatisches hinzufügen bzw. herausnehmen eines
Knotens im Cluster
13Agenda
- Motivation
- Clusterumgebungen
- Oracle Real Application Clusters
- Oracle RAC Konfigurationsvarianten
- QA
14Clusterumgebungen
- Clustertypen
- Failover Cluster
- Shared Nothing
- Shared Disk
15Clustertypen Failover Cluster
- Typischerweise 2 Rechner im Verbund
- Nur der aktive Rechner hat Zugriff auf die Daten
- Adressiert Hochverfügbarkeit, keine
Skalierbarkeit
16Ausfall eines Knotens Failover Cluster
- Ausfallrechner übernimmt Platten
- Applikationen werden hochgefahren
- Umschaltzeit 10-30 Minuten
- Nur der aktive Knoten kann genutzt werde
(keine Skalierbarkeit)
17Clustertypen Shared Nothing
- Typischerweise mehrere Rechner im Verbund
- Alle Knoten sind gleichzeitig aktiv
- Jedem Knoten ist ein Plattenstapel dediziert
zugewiesen - Adressiert Skalierbarkeit, aber nur für lesende
Applikationen - z.B. bei IBM DB2 UNIX Windows, Microsoft SQL
Server
18Ausfall eines Knotens Shared Nothing
- Die Platten des ausgefallenen Knotens sind nicht
mehr verfügbar - Jeweils zwei Knoten sind wechselweise
Ausfallknoten zueinander - Ausfallzeit ca. 10 30 Minuten
- Extrem limitierte Skalierbarkeit
19Clustertypen Shared Disk
- Typischerweise 2 oder mehr Rechner im
Clusterverbund - Alle Knoten sind gleichzeitig aktiv
- Alle Knoten haben gleichzeitigen Zugriff auf die
Daten - Adressiert Skalierbarkeit Ausfallsicherheit
- z.B. bei Oracle RAC, IBM DB2 auf OS390
20Ausfall eines Knoten Shared Disk
- Fällt ein Rechner aus, wird die Last auf die
übrigen Knoten verteilt - Alle Knoten haben zu jeder Zeit Zugriff auf alle
Daten - Adressiert Skalierbarkeit Ausfallsicherheit
- Ausfallzeit lt 1 Minute
- Alle noch verfügbaren Ressourcen nutzbar (hier
75)
21Clustertypen - Zusammenfassung
- SD Shared Data
- SN Shared Nothing
- FC Failover Cluster
22Agenda
- Einführung
- Clusterumgebungen
- Oracle Real Application Clusters
- Oracle RAC Konfigurationsvarianten
- QA
23Oracle9i Real Application Clustersbasierend auf
dem Shared Disk System
DB-Cache1
DB-Cache2
24Oracle9i Real Application ClustersBasistechnologi
e (patentiert) DB-Cache Fusion
DB-Cache1
DB-Cache2
Cache Fusion
25Cache Coherence Implementierung
Inst 1
Inst 2
Inst 3
Inst 2
Inst 3
früher OPS
26 Oracle9i Real Application Clusters - Beispiel
Zwei (oder mehr) Knoten
Eine Datenbank
27 Oracle9i Real Application Clusters
Die Arbeitsweise der Oracle9i Real Clusters
anhand von drei typischen Zugriffsszenarien 1.
Read-Read 2. Write-Read 3. Write-Write
28 Oracle9i Real Application Clusters - Beispiel 1
29 Oracle9i Real Application Clusters - Beispiel 1
1. select A from
2. select B from
DB-Cache2
DB-Cache1
10
10
20
30 Oracle9i Real Application Clusters - Beispiel 1
1. select A from
2. select B from
2. select B from
DB-Cache2
DB-Cache1
10
10
20
31 Oracle9i Real Application Clusters
Die Arbeitsweise der Oracle9i Real Clusters
anhand von drei typischen Zugriffsszenarien 1.
Read-Read 2. Write-Read 3. Write-Write
32 Oracle9i Real Application Clusters - Beispiel 2
1. update T set B22 where ...
DB-Cache2
DB-Cache1
???
20
33 Oracle9i Real Application Clusters - Beispiel 2
1. update T set B22 where ...
DB-Cache2
DB-Cache1
34 Oracle9i Real Application Clusters - Beispiel 2
1. update T set B22 where ...
DB-Cache2
DB-Cache1
35 Oracle9i Real Application Clusters - Beispiel 2
1. update T set B22 where ...
2. select B from ...
DB-Cache2
DB-Cache1
???
36 Oracle9i Real Application Clusters - Beispiel 2
1. update T set B22 where ...
2. select B from ...
DB-Cache2
DB-Cache1
37 Oracle9i Real Application Clusters - Beispiel 2
1. update T set B22 where ...
2. select B from ...
3. commit
DB-Cache2
DB-Cache1
38 Oracle9i Real Application Clusters
Die Arbeitsweise der Oracle9i Real Clusters
anhand von drei typischen Zugriffsszenarien 1.
Read-Read 2. Write-Read 3. Write-Write
39 Oracle9i Real Application Clusters - Beispiel 3
1. update T set B122 where B120...
DB-Cache2
DB-Cache1
x22 40
40 Oracle9i Real Application Clusters - Beispiel 3
1. update T set B122 where B120...
1. update T set B244 where B240...
DB-Cache2
DB-Cache1
x22 40
???
41 Oracle9i Real Application Clusters - Beispiel 3
1. update T set B122 where B120...
1. update T set B244 where B240...
DB-Cache2
DB-Cache1
x22 40
x22 40
42 Oracle9i Real Application Clusters - Beispiel 3
1. update T set B122 where B120...
1. update T set B244 where B240...
DB-Cache2
DB-Cache1
x22 40
x22 x44
x22 40
43Agenda
- Motivation
- Clusterumgebungen
- Oracle Real Application Clusters
- Oracle RAC Konfigurationsvarianten
- QA
44 Oracle9i Real Application Clusters
Diese Technologie ist einzigartig und kombiniert
Skalierbarkeit und Hochverfügbarkeit für
alle Anwendungen OLTP DWH Internet/Intranet-
Auftritte
45Oracle9i RAC Out-of-the-box Scalability
89 Scalability
SAP(R) R/3 4.6C SD-Scalability
Scale Factor
1,8 (Basis 2 Node)
1,8 (Basis 1 Node)
1,0
46Oracle9i RAC Performance (Version 9.02) mit HMP
Protokoll
95 Scalability
Users
Oracle E-Business Suite 11i Scalability
4,368
2,296
47Skalierbarkeit Shared Disk / Shared Data
- Nutzung aller Ressourcen
- Geeignet für jede Applikation
- OLTP
- DWH
- ODS
- Hybrid, etc.
- Transparentes Load Balancing
48Client Serverseitiges Loadbalancing
- Verbindungsaufbau nach einem Zufallsprinzip
- verwendet die Adressliste der tnsnames.ora
- Listener verteilen Anfragen basierend auf
CPU-Last - PMON Prozess meldet den Listenern die
Knotenauslastung
Knoten 2
49Oracle9i Real Application Clusters - Hybrid
Konfigurationen
Complex Query
- Gleichzeitiger OLTP und DSS Betrieb
- Dedizierter OLTP Knoten für schnelle
Antwortzeiten - DSS Nutzer sehen aktuellste Daten
Query
OLTP
OLTP
Node
Node
Node
Node
Node
OLTP
DSS
50Oracle9i RAC KonfigurationsvariantenOracle
Single Instance klassischer Failover Cluster
Lokale Ausfallsicherheit auf Rechnerebene Umscha
ltzeit bis 30 Minuten Skaliert bis max. Anzahl
der CPUs des akt. Knotens Crash betrifft 100
der User
Aktiver Oracle9i DB Knoten
Standby
51Oracle9i RAC KonfigurationsvariantenOracle9i
aktiv/passiv RAC
Aktiver Oracle9i DB Knoten
Passiver Oracle9i DB Knoten
Lokale Ausfallsicherheit auf Rechnerebene Umscha
ltzeit lt 1 Minuten Skaliert bis max. Anzahl
der CPUs des akt. Knotens Crash betrifft 100
der User
52Oracle9i RAC KonfigurationsvariantenOracle9i
(aktiv/aktiv) RAC
Lokale Ausfallsicherheit auf Rechnerebene Umscha
ltzeit lt 1 Minuten Skaliert bis zur Anzahl der
CPUs der Knoten Crash betrifft 50 der
User Leistung nach Ausfall 50
Aktiver Oracle9i DB Knoten / RAC
Aktiver Oracle9i DB Knoten / RAC
53Oracle9i RAC KonfigurationsvariantenOracle9i
RAC - Mehrknotenkonfiguration
Lokale Ausfallsicherheit auf Rechnerebene Umscha
ltzeit lt 1 Minuten Skaliert bis zur Anzahl der
CPUs der Knoten Crash betrifft 25 der
User Leistung nach Ausfall 75
Aktiver Oracle9i DB Knoten
Aktiver Oracle9i DB Knoten
Aktiver Oracle9i DB Knoten
Aktiver Oracle9i DB Knoten
54 Oracle9i RAC Konfigurationsvarianten Oracle
Transparent Application Failover
- Beide Knoten aktiv
- Zugriff auf eine Datenbank
Aktiver Oracle9i DB Knoten / RAC
Aktiver Oracle9i DB Knoten / RAC
55TAF erneuter Verbindungsaufbau
- Automatischer, erneuter Verbindungsaufbau
nächster Eintrag in der Address-Liste in
tnsnames.ora
Node 1
Client
rac1 instance
RAC Database
lsnr1
TNS
rac1 rac2
rac2 instance
lsnr2
Node 2
56A