Oracle Real Application ClusterASM2 Shared Storage Server ORACLE1 Server ORACLE2 Oracle Real...
Transcript of Oracle Real Application ClusterASM2 Shared Storage Server ORACLE1 Server ORACLE2 Oracle Real...
Oracle Real Application ClusterArchitektur & Erfahrungsbericht
DOAG RegionaltreffenRhein/Main11.02.2009
Guido SaxlerORDIX AG, Kö[email protected]
2Oracle Real Application Cluster
Agenda
• Überblick Oracle Hochverfügbarkeit
• Kundenbeispiel
• Oracle RAC Architektur
3Oracle Real Application Cluster
Begriffsdefinition
Hochverfügbarkeit ?
Larry Ratlos
4Oracle Real Application Cluster
Formel fürHochverfügbarkeit
• Hochverfügbarkeit
Ein System wird als hochverfügbar bezeichnet, wenn dieses beiauftretenden Fehlern ohne Unterbrechung weiter läuft !Der Anwender nimmt „keine“ bzw. „kaum“ eine Unterbrechung war.
Ein hochverfügbares System muss Fehlertolerant sein.
• Messen der Hochverfügbarkeit (in %)
5Oracle Real Application Cluster
Hochverfügbarkeits-klassen
2 Stabil 99,0 3,7 Tage3 Verfügbar 99,9 8,8 Stunden4 Hochverfügbar 99,99 52,2 Minuten
5 Fehlerunempfindlich 99,999 5,3 Minuten 6 Fehlertolerant 99,9999 32 Sekunden 7 Fehlerresistent 99,99999 3 Sekunden
Verfügbarkeit = Uptime / (Downtime + Uptime)
Larry´s Formel:hohe Uptime = hohe Verfügbarkeit = hoher BAF - Faktor
BossAttraction
Factor
6Oracle Real Application Cluster
Ausfallzeit / Downtime
geplanteAusfallzeit
ungeplanteAusfallzeit
• Systempflege• Wartung / Hardware• Software Updates
• Media Fehler• Software Fehler• Anwender Fehler• Katastrophen / Desaster
Ausfallzeit
7Oracle Real Application Cluster
Reduzierung derAusfallzeit
Auffinden des„Single Point of Failure“ (SPoF)
Redundante Auslegungder Komponenten(Erhöhen der Fehlertoleranz)
Festplatten
Netzwerk
CPU
RAM
Stromversorgung
Software-FehlerBug
Anwender löscht Daten
HochwasserNaturkatastrophen
Hardware-Fehler
8Oracle Real Application Cluster
Failover ClusterAktiv - Passiv / Aktiv - Aktiv
Aktiv - Passiv Cluster
Aktiv Passiv
exklusiv
Cluster-Software:HP Service Guard, AIX HACMP, Linux Cluster , ...
Aktiv Aktiv
Aktiv - Aktiv Cluster• shared nothing• shared all
9Oracle Real Application Cluster
Oracle Data GuardSchematische Darstellung
Primär Instanz Standby Instanz
PrimärDatenbank
StandbyDatenbank
Redo-Strom
10Oracle Real Application Cluster
Oracle RACSchematische Darstellung
Node1 Node2
Cache Fusion
Shared Storage„shared all“
11Oracle Real Application Cluster
Agenda
• Überblick Oracle Hochverfügbarkeit
• Kundenbeispiel
• Oracle RAC Architektur
12Oracle Real Application Cluster
LUN LUN
PrimaryOracle Real Application Clusters
Data GuardOracle Real Application Clusters
NODE A
SGA (memory)
dbwr lgwr ...
Oracle Instance ora11NODE B
SGA (memory)
dbwr lgwr ...
Oracle Instance ora12NODE A
SGA (memory)
dbwr lgwr ...
Oracle Instance ora21NODE B
SGA (memory)
dbwr lgwr ...
Oracle Instance ora22
Beispiel Architektur
13Oracle Real Application Cluster
Beispiel Architektur
evtl. 3 rd PartyCluster Ware
Oracle Cluster Ware10.2.x
Cluster WareLayer
Volume Managerevtl. 3 rd PartyVolume Manager
Storage ManagementLayer
Oracle ASM, Cluster Filesystem,RAW Devices
Oracle RAC 10g RDBMS Layer
OS / Netzwerk OS / Netzwerk Layer
databaseffanlp01
SGA (memory)
dbwr lgwr ...
SGA (memory)
dbwr lgwr
DB
ORACLE 1 ORACLE 2
StorageLayer
SGA (memory)
dbwr lgwr ...
SGA (memory)
dbwr lgwr
14Oracle Real Application Cluster
Agenda
• Überblick Oracle Hochverfügbarkeit
• Kundenbeispiel
• Oracle RAC Architektur
15Oracle Real Application Cluster
RAC Architektur
RAC Architektur
Netzwerk
Shared Storage
Oracle Clusterware (CRS)
Cluster Datenbank
Services
Load - balancing
TAF (Transparent Application Failover)
16Oracle Real Application Cluster
Load Balancing
Hochverfügbarkeit
SGACache Fusion
Interconnect
DB
RAC Überblick
17Oracle Real Application Cluster
Voraussetzungen
• Privates Netzwerk (Interconnect): Grundlage für ClusterKommunikation und Cache Fusion Technologie
• Shared Storage: (RAW Devices, Cluster Filesystem, ASM, NAS)• Cluster Software übernimmt grundlegende Cluster Funktionen
(Oracle Clusterware / CRS oder 3rd Party Hersteller)
... Archivelogs
Online Redologs
SYSAUX
SYSTEM TEMP
DATA
UNDO1
UNDO2
UNDO3
UNDO4 ... Tablespaces
18Oracle Real Application Cluster
RAC Architektur
RAC Architektur
Netzwerk
Shared Storage
Oracle Clusterware (CRS)
Cluster Datenbank
Services
Load - balancing
TAF (Transparent Application Failover)
19Oracle Real Application Cluster
Netzwerk
• Public Interface- Eigenes Interface (Netzwerkkarte)- Zugang zum „öffentlichen“ Netzwerk- redundante Auslegung
• Private Interface (Privates Netzwerk / Cluster Interconnect)- Eigenes Interface (min. Voraussetzung 1 GB Anbindung)- Direkte „private“ Verbindung der beteiligten Cluster Nodes- Wird für Interconnect Verbindung und Cache Fusion (Blockshipping)
benötigt- redundante Auslegung
• Virtuelle IP Adresse- Besitzt kein eigenes Interface- Wird durch Cluster Ready Service im Failover Fall an ein „Public“
Interface gebunden
20Oracle Real Application Cluster
Netzwerk
oracle1 oracle2
Interconnect / Cache Fusion
public Hostname :oracle1public IP :192.168.147.1
private IP :10.0.0.1private Hostname :priv_oracle1
virtuelle IP :192.168.148.1virtueller Hostname : virt_oracle1
public Hostname :oracle2public IP :192.168.147.2
private IP :10.0.0.2private Hostname :priv_oracle2
virtuelle IP :192.168.148.2virtueller Hostname : virt_oracle2
21Oracle Real Application Cluster
RAC Architektur
RAC Architektur
Netzwerk
Shared Storage
Oracle Clusterware (CRS)
Cluster Datenbank
Services
Load - balancing
TAF (Transparent Application Failover)
22Oracle Real Application Cluster
Storage ... wofür ?
• Oracle Datenbank
- Database Files- Redo Log Files- Control Files- Archive Log Files- spfile/init.ora- Dataguard Broker files- …
• Cluster Ready Service
- OCR Disk- Voting Disk
23Oracle Real Application Cluster
Überblick
• Oracle Cluster Filesystem (OCFS)
• Cluster Filesystem (3rd Party, z.B QFS von SUN)
• RAW Devices
• NAS (Network Attached Storage)
• ASM
24Oracle Real Application Cluster
ASM Überblick
• Eigene ASM Instanz verwaltet Diskgroups
• Vereinfachtes Speichermanagement/Administration
• Verwaltung des Storages in Volumes bzw. Diskgroups
• Automatisches Rebalancing
• Automatisches Striping
• Automatische Spiegelung (Redundancy) möglich(bis zu 3-facher Redundanz)
• Verwendung des SAME Prinzip(SAME = Stripe And Mirror Everything)
25Oracle Real Application Cluster
Speichermanagement
Disks
LogicalVolumes
Filesysteme
Dateien
Tablespaces
Tabellen
..........
26Oracle Real Application Cluster
Speichermanagement
ASMDiskgroups / Failure Groups
Disks
LogicalVolumes
Filesysteme
Dateien
Tablespaces
Tabellen
27Oracle Real Application Cluster
ASM Architektur RAC
SGA
.... ASM ASM ....
Instance +ASM1
instance_typeasm_diskgroupsasm_diskstring...
init+ASM1.ora
ASMfailgroup
F1
failgroup F2
DiskgroupORADG
SGA
DBWR LGWR ..... ARC
Instance rac1
oracle+ASM1
SGA
.... ASM ASM ....
Instance +ASM2
instance_typeasm_diskgroupsasm_diskstring...
init+ASM2.ora
SGA
DBWR LGWR ..... ARC
Instance rac2
oracle+ASM2
Shared Storage
Server ORACLE1
Server ORACLE2
28Oracle Real Application Cluster
RAC Architektur
RAC Architektur
Netzwerk
Shared Storage
Oracle Clusterware (CRS)
Cluster Datenbank
Services
Load - balancing
TAF (Transparent Application Failover)
29Oracle Real Application Cluster
Oracle ClusterwareCluster Ready Service
• Eigenständige Cluster Software ab Oracle 10gim Lieferumfang enthalten
• Kein Kauf bzw. Nutzung von 3rd Party Herstellern mehr notwendig
• Übernimmt alle Clusterfunktionalitäten:- Kommunikation zwischen den beteiligten Nodes- Basisdienste und Überwachung der Cluster Nodes- Übernahme der virtuellen IP Adressen- High Availability Features
• Die Cluster Informationen werden in der OCR Disk(oder auch Cluster Registry File gespeichert).
• Installation erfolgt in eigenes ORA_CRS_HOME Verzeichnis
30Oracle Real Application Cluster
Oracle ClusterwareArchitektur
Oracle Clusterware besteht aus 3 zentralen Komponenten:
1. Oracle Cluster Synchronisation Service (CSS)Verbindung zu 3rd Party Herstellern und Synchronisation derbeteiligten Cluster Nodes.
2. Cluster Ready Service (CRS)Überwacht alle Cluster Ressourcen und startet diese im Fehlerfall neu.Cluster Ressourcen sind:
- Datenbanken / Instanzen /Listener- ASM Instanzen- VIP (virtual IP)- Services- ...
3. Event Manager (EVM)Protokolliert alle Events des CRS.
31Oracle Real Application Cluster
Oracle ClusterwareOCR Disk
• OCR DISK- Speicherort für die Cluster Registry. Die Cluster Registry enthält
u. a. Informationen zu den beteiligten Cluster Nodes, zurDatenbank und zu den Services.
- Shared Storage (RAW Device oder Datei im ClusterFilesystem)
- Größe ca. 100 MB- Redundante Auslegung der OCR Disks mittels Oracle Cluster
Ware möglich (10gR2)
32Oracle Real Application Cluster
Oracle ClusterwareVoting Disk
• Voting DISK- Bei Ausfall des Cluster Interconnects (private Network) überlebt
der Node, der das Eigentümerrecht an der Voting Disk besitzt.- Alle weiteren Cluster Member werden „automatisch“
runtergefahren. (Vermeidung des Split Brain Syndroms)- Shared Storage (RAW Device oder Datei im Cluster
Filesystem)- Größe ca. 20 MB- Redundante Auslegung der Voting Disks mittels Oracle Cluster
Ware möglich (vote counts)
33Oracle Real Application Cluster
RAC Architektur
RAC Architektur
Netzwerk
Shared Storage
Oracle Clusterware (CRS)
Cluster Datenbank
Services
Load - balancing
TAF (Transparent Application Failover)
34Oracle Real Application Cluster
Cluster Datenbank
• Jede Instanz- besitzt ihre eigenen Redo Log Files- schreibt ihre eigenen Archive Log Files (%t Thread Number)
(Archive Log Files sollten wie Online Redo Log auf dem sharedStorage liegen)
- besitzt ihr eigenes UNDO Tablespace
• Ansonsten „fast“ keine Unterschiede zur Single Datenbank- Archive müssen von allen Instanzen verfügbar sein
• Unterschiede im Recovery(Beim Instance Crash muss eine „andere“ Instanz das Recoveryübernehmen.)
35Oracle Real Application Cluster
Cluster Datenbank
Instanzrac1
Instanzrac2
Redo Logs Thread 1
Undo TablespaceUNDOTBS1
Undo TablespaceUNDOTBS2
Redo Logs Thread 2
Tablespaces
36Oracle Real Application Cluster
RAC Architektur
RAC Architektur
Netzwerk
Shared Storage
Oracle Clusterware (CRS)
Cluster Datenbank
Services
Load - balancing
TAF (Transparent Application Failover)
37Oracle Real Application Cluster
Oracle Services
• lassen sich ein oder mehreren Instanzen zuweisen• bilden die Grundlage für die Workloadverteilung von RAC
Umgebungen (Server Side Load – balancing)• dienen zur Gruppierung bzw. Workload-Spezifikation von
Anwendungen (z.B. Service -> OLTP_JOBS, BATCH_JOBS)• werden von der Oracle Cluster Ware überwacht und im Fehlerfall
“umgeschaltet” (auf eine oder mehrere andere Instanzen)• Anwendungen bzw. User “verbinden” sich in RAC Umgebungen
nur noch mittels SERVICES (nicht mittels SID)• Oracle Services lassen sich mittels der Oracle Cluster Ware
dynamisch “switchen” (srvctl –relocate service bzw. stop/start)
Connections werden automatisch “re-connected”
38Oracle Real Application Cluster
RAC Architektur
RAC Architektur
Netzwerk
Shared Storage
Oracle Clusterware (CRS)
Cluster Datenbank
Services
Load - balancing
TAF (Transparent Application Failover)
39Oracle Real Application Cluster
Load-balancing
• Client Side Load Balancing- Lastverteilung durch „einfaches“ Round Robin Verfahren. (siehe
ADDRESS LIST in tnsnames.ora)
• Server Side Load Balancing- Auswahl des Clusterknoten erfolgt entweder nach
• geringstem Workload oder• connection count
- Listener Prozesse der beteiligten Cluster Instanzen tauschenregelmäßig Informationen zur Auslastung/Anzahl der Connections aus
- Konfiguration erfolgt mittels der init.ora Parameter- local_listener und remote_listener- Umschaltung Workload / Connection Count erfolgt mittels dem
Package dbms_service (clb_goal short oder long)
40Oracle Real Application Cluster
Load–balancingClient Side Load-balancing
Beispiel TNSNAMES.ORA
ORARAC=(DESCRIPTION=
(FAILOVER=ON)(LOAD_BALANCE=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=ORACLE1)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=ORACLE2)(PORT=1521))(CONNECT_DATA=
(SERVICE_NAME=racdb.ordix.de)(FAILOVER_MODE=
(TYPE=SESSION/SELECT)(METHOD=BASIC/PRECONNECT)(BACKUP=<tns-Alias>)
))
)
41Oracle Real Application Cluster
Load–balancingServer Side Load-balancing
Server Side Load Balancing
# tnsnames.ora Network Configuration File
# Generated by Oracle configuration tools.REMOTE_LISTENER = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle1)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = oracle2)(PORT = 1521)) ) )
SQL> show parameter remote_listener
NAME TYPE VALUE------------------------------------ ----------- ---------------remote_listener string REMOTE_LISTENER
42Oracle Real Application Cluster
RAC Architektur
RAC Architektur
Netzwerk
Shared Storage
Oracle Clusterware (CRS)
Cluster Datenbank
Services
Load - balancing
TAF (Transparent Application Failover)
43Oracle Real Application Cluster
Transparent ApplicationFailover (TAF)
• Allgemein unterscheidet man Connect Time Failover und SessionTime Failover (TAF)
• TAF kann mit den folgenden Failover-Typen konfiguriert werden:NONE (Default), SESSION, SELECT
• Type SESSION:Clients werden im Fehlerfall durch einen automatischen Connect zur„überlebenden“ Instanz/Server verbunden.
• Type SELECT:Statements können „übernommen“ werden. Das bedeutet, laufendeQuerys werden im Fehlerfall auf die „überlebende“ Instanz übernommenund weiter verarbeitet. (Voraussetzung Programmierung in OCI OracleCall Interface)
• Die Konfiguration erfolgt auf Client Seite (z. B. tnsnames.ora)- SOURCE_ROUTE- FAILOVER- LOAD_BALANCING
44Oracle Real Application Cluster
Node1 Node2
Cache Fusion
Datenbank„ora“
FAILOVER=ON(ADDRESS=(PROTOCOL=TCP)(HOST=NODE1)....)(ADDRESS=(PROTOCOL=TCP)(HOST=NODE2)....)
tnsnames.ora
Transparent ApplicationFailover (TAF)
45Oracle Real Application Cluster
TAF Konfigurationtnsnames.ora
ORARAC=(DESCRIPTION=
(FAILOVER=ON)(LOAD_BALANCE=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=ORACLE1)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=ORACLE2)(PORT=1521))(CONNECT_DATA=
(SERVICE_NAME=racdb.ordix.de)(FAILOVER_MODE=
(TYPE=SESSION/SELECT)(METHOD=BASIC/PRECONNECT)(BACKUP=<tns-alias>)
))
)
46Oracle Real Application Cluster
RAC Architektur
RAC Architektur
Netzwerk
Shared Storage
Oracle Clusterware (CRS)
Cluster Datenbank
Services
Load - balancing
TAF (Transparent Application Failover)
47Oracle Real Application Cluster
RAC Architektur
RAC Architektur
Netzwerk
Shared Storage
Oracle Clusterware (CRS)
Cluster Datenbank
Services
Load - balancing
TAF (Transparent Application Failover)
48Oracle Real Application Cluster
Erfahrungsbericht
• Maximale Verfügbarkeit (besonders auchdurch Kombination mit Dataguard)
• Komplexität ist nicht zu unterschätzen(HW und SW Zusammenspiel)
• Hohe Anforderungen an Mitarbeiter undAdministratoren (Cluster Know-how, neue Technologien)
• Mehraufwand für den DBA(Oracle Cluster Ware, ASM,…)
• Transparent aus Sicht der Anwendung, jedoch ist und bleibteine Analyse der Anwendung notwendig
• höherer Administrationsaufwand
49Oracle Real Application Cluster
Vielen Dankfür Ihre Aufmerksamkeit!
einfach.gut.beraten.