Allzeit bereit. Oracle Real Application Clusters. Eine Datenbank. Mehrere Instanzen. Services. Andrea Held / 2005 (andrea.held@held-informatik.



Ähnliche Dokumente
Andrea Held. Virtualisierung im Oracle-Umfeld Virtualisierungslayer Voraussetzungen Schnittstellen Workload Management Grid Control

The Unbreakable Database System

RAC auf Sun Cluster 3.0

Oracle RAC 10g unter Linux Eine kostengünstige Hochverfügbarkeitslösung?

The Unbreakable Database System

Andrea Held. Oracle Real Application Cluster (RAC) Clusterware (OCW) Automatic Storage Management (ASM) Workload Management im Cluster Grid Computing

Oracle Database 10g Die RAC Evolution

Oracle Real Application Clusters: Requirements

Tipps & Tricks: März Parameter der tnsnames.ora im RAC Umfeld. 1. Parameter: Bereich: Erstellung: RAC 03/2011 SH. Letzte Überarbeitung: 11.

Solaris Cluster. Dipl. Inform. Torsten Kasch Bielefeld.DE> 8. Januar 2008

Freiberuflicher IT-Berater Schwerpunkte: Unix, Oracle, Netzwerk. Dipl.-Inform. Joachim Jäckel

6.6.4 Cluster Interconnect im Private Network

Oracle Database 10g RAC Plattformen im Detail

Oracle Real Application Cluster Architektur & Erfahrungsbericht

Verfügbarkeit von Applikationen und Failover Szenarien. Winfried Wojtenek.

Hochverfügbarkeit mit Windows Server vnext. Carsten Rachfahl Microsoft Hyper-V MVP

Oracle Real Application Cluster

Keep your SAN simple Spiegeln stag Replizieren

Hochverfügbarkeit - wie geht das?

Storage Area Networks im Enterprise Bereich

Oracle Automatic Storage Management (ASM) Best Practices

Red Hat Cluster Suite

IT-Frühstück IT Trend Virtualisierung Hype oder Nutzen? Praxisaspekte

Prozessarchitektur einer Oracle-Instanz

Oracle Real Application Clusters: Installation und Konfiguration

DOAG 2013 HOCHVERFÜGBARKEIT EINER SINGLE-INSTANZ (AKTIV/PASSIV-FAILOVER) OHNE RAC

Zend Server Cluster Manager

MailUtilities: Remote Deployment - Einführung

Naxtron GmbH Schlosstalstrasse Winterthur. Subject. New Features Oracle 9i Architecture

Darüber hinaus wird das Training dazu beitragen, das Verständnis für die neuen Möglichkeiten zu erlangen.

Löschen eines erkannten aber noch nicht konfigurierten Laufwerks

Clustering mit Shared Storage. Ing. Peter-Paul Witta

RAC und Standby Datenbanken: Dienste und Daten hochverfügbar

<Insert Picture Here> Die RZ-Zentrale - Grid Control hochverfügbar

56 Maßnahmen zur Sicherung der Verfügbarkeit in Oracle-Umgebungen. Client Client Client Client Client. Public Network. aktiv. Private Network.

Hochverfügbare Linux Cluster mit OSL Storage Cluster 4.0 und RSIO. 11. OSL Technologietage Berlin 24./25. September 2013

Einfach erklärt: RAC Grundlagen für Dummies

OSL Simple RSIO. I/O Aufgabenstellungen einfach lösen

Vorstellung SimpliVity. Tristan P. Andres Senior IT Consultant

PROLAG WORLD 2.0 PRODUKTBESCHREIBUNG SERVERSYSTEM, CLUSTERSYSTEME FÜR PROLAG WORLD

Anwendungshinweis Nr. 12. Wie konfiguriere ich redundante Serververbindungen

OSL Storage Cluster und RSIO unter Linux Storage-Attachment und Hochverfügbarkeit in 5 Minuten

SANTEC Video Technologies Professionelle Lösungen für mehr Sicherheit

KASPERSKY SECURITY FOR VIRTUALIZATION 2015

Session Storage im Zend Server Cluster Manager

Standortübergreifende Cluster mit RHEL/CentOS (stretched Cluster)

VirtualBox und OSL Storage Cluster

Datensicherheit und Hochverfügbarkeit

Linux Hochverfügbarkeits-Cluster

Oracle Database 12c: RAC Administration

WINDOWS 8 WINDOWS SERVER 2012

Konfiguration Firewall (Zyxel Zywall 10) (von Gruppe Schraubenmeier)

Oracle Net. Dierk Lenz

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

Archive / Backup System für OpenVMS

Oracle 10g Lösungen für Hochverfügbarkeit Dr. Frank Haney 1

Oracle GridControl Tuning Pack. best Open Systems Day April Unterföhring. Marco Kühn best Systeme GmbH

Verwendung des IDS Backup Systems unter Windows 2000

Windows Server 2008 für die RADIUS-Authentisierung einrichten

GSCC General Storage Cluster Controller. TSM Verfügbarkeit

Michael Beeck. Geschäftsführer

Windows Server 2008 (R2): Anwendungsplattform

Neues in Hyper-V Version 2

Switching. Übung 7 Spanning Tree. 7.1 Szenario

Port-Weiterleitung einrichten

Hier folgt eine kurze Aufstellung über die verwendete Architekur. Die Angaben sind ohne Gewähr für Vollständigkeit oder vollständige Richtigkeit.

Oracle Backup und Recovery

18. Juni 2008, Berlin. Erfahrungsbericht üb das Backup und Recovery von ORAC Datenbanken mit Commvault QNetix. Dagmar Förster

Preise und Leistungen Dynamic Computing Services

Citrix Provisioning Server Marcel Berquez. System Engineer

HVS32 Datenbank Archivierungs Dienst

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

OFS: Ein allgemeines Offline-Dateisystem auf Basis von FUSE

STARFACE SugarCRM Connector

Daten: Gründungsjahr 1995 Schwerpunkte Oracle, VMware, Microsoft, Linux und Novell Ausschließlich zertifizierte Techniker:

Application Performance Management. Auch eine Frage des Netzwerkes?

Grafische Darstellung des Gerätezustandes und detaillierte Statusinformationen auf einem Blick

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R3: Administration

Installation SQL- Server 2012 Single Node

Oracle 11g R2 Unterschiede im RAC

,QVWDOODWLRQXQG.RQILJXUDWLRQYRQ,QWHUEDVH

Oracle Enterprise Manager Cloud Control 12c: Installation von Ralf Durben, ORACLE Deutschland B.V. & Co. KG

Linux Cluster mit Pacemaker und Heartbeat 3

INSTALLATIONSANLEITUNG der Version 2.1 (Jänner 2014)

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

Umbenennen eines NetWorker 7.x Servers (UNIX/ Linux)

Well-Balanced. Performance Tuning

Linux-HA-Cluster Heartbeat mit DRBD

Infrastruktur fit machen für Hochverfügbarkeit, Workload Management und Skalierbarkeit

2 Datei- und Druckdienste

Betriebssystem Windows - SSH Secure Shell Client

A.7 Oracle Real Application Clusters

Dynamic Ressource Management

Switch 1 intern verbunden mit onboard NICs, Switch 2 mit Erweiterungs-NICs der Server 1..6

Hochverfügbarkeit mit Speichernetzen

Szenarien zu Hochverfügbarkeit und Skalierung mit und ohne Oracle RAC. Alexander Scholz

IBM SPSS Modeler Entity Analytics - Erweiterte Konfiguration

Transkript:

Ananjo Informatiker Fischer, Simone & Partner Allzeit bereit Oracle Real Application Clusters Andrea Held / 2005 (andrea.held@held-informatik.de) Oracle Real Application Clusters Eine Datenbank Mehrere Instanzen Services Oracle 10g: Automatic Storage Management Oktober 2005 Seite 2

Oracle Real Application Cluster Alle Knoten sind aktiv Keine passive Hardware Kombination aus Hochverfügbarkeit und Skalierbarkeit Load Balancing möglich Anwendungspartitionierung möglich Oracle 10g: Automatic Storage Management Oktober 2005 Seite 3 Oracle Real Application Cluster Nur ein Teil der Anwender ist von einem Ausfall betroffen anders als bei einem Aktiv/Passiv- Cluster! Failover ist sehr schnell! Anwendungen sollten cluster aware sein Oracle 10g: Automatic Storage Management Oktober 2005 Seite 4

Oracle Real Application Clusters Hardwarevoraussetzungen: Zwei oder mehr Rechnerknoten Shared Storage SCSI SAN NAS (bedingt) iscsi Shared Access Oracle Automatic Storage Management Cluster Filesystem Raw Devices Oracle 10g: Automatic Storage Management Oktober 2005 Seite 5 Oracle Real Application Clusters Hardwarevoraussetzungen Private Network (Cluster Interconnect) Public Network (Zugriff von außen auf die DB) Shared Storage Gleiche Plattform Gleiches Betriebssystem Oracle 10g: Automatic Storage Management Oktober 2005 Seite 6

RAC Architektur Client 1... Client 2 C lient 3 C lient 4 Client 5 Client 6 Client 7 Client 8 Client 9 Client 10 Client 11 Client n N etzw erk Cluster Interconnect (redundant ausgelegt) Oracle Instance auf Node 1 Oracle Instance auf No de 2 O racle Datenbank auf Shared Disk Su bsystem Oracle 10g: Automatic Storage Management Oktober 2005 Seite 7 Distanzen Performance u.a. vom Cluster Interconnect abhängig Wichtig: Hardware und Protokoll! Entfernung führt zu Verzögerungen Bis zu 3 KM problemlos realisierbar Bis 10 KM spricht auch Oracle noch von Standardlösungen Ab 50 KM sind Performance-Einbußen zu verzeichnen Erste Performance-Einbrüche bei 100 Km RAC mit Standby-DB kein Problem! Oracle 10g: Automatic Storage Management Oktober 2005 Seite 8

Hardwarekonfiguration Clients... Cluster Node 1 Public Network Cluster Node 2 Public NIC Public NIC Private NIC Cluster Switch Private Network Private NIC Storage Adapter Storage Adapter Local Disks Multi Host Disks Local Disks Oracle 10g: Automatic Storage Management Oktober 2005 Seite 9 Cluster Interconnect Interconnect Übertragungs-leistung (GBit/s) Latenzeit (sec) Fast Ethernet 0,1 3000 Gigabit Ethernet 1 3000 SCI (Scalable Coherent Interconnect) 10,66 1500 Myrinet 2 6,7 Memory Channel 1 3 Hyper Fabric 4 22 InfiniBand 2,5 < 500 Oracle 10g: Automatic Storage Management Oktober 2005 Seite 10

Storage Konfiguration Oracle 10g: Automatic Storage Management Oktober 2005 Seite 11 Konfigurationsbeispiel 1 Oracle 10g: Automatic Storage Management Oktober 2005 Seite 12

Konfigurationsbeispiel 2 Oracle 10g: Automatic Storage Management Oktober 2005 Seite 13 Cache Fusion in Oracle 10g Optimierung des Cache Coherency Protokolls Reduzierung der Anzahl Messages Vermeidung von I/O Oracle 10g: Automatic Storage Management Oktober 2005 Seite 14

Block Ping mit OPS Quelle: [BeKü_2002] Oracle 10g: Automatic Storage Management Oktober 2005 Seite 15 Cache Fusion mit RAC Quelle: [BeKü_2002] Oracle 10g: Automatic Storage Management Oktober 2005 Seite 16

Zugriffszeiten Auf lokalen Cache Auf globalen Cache Auf lokale Platte 100 Ohne Cache Fusion: ~ 100 ms 75 Block Zugriffszeit in Millisekunden 50 25 Verminderung der Zugriffszeiten der Blockzugriffe bei Internode Access durch Einsatz von Cache Fusion ~ 20 ms Mit Cache Fusion: ~ 0,8 ms ~ 0,01 ms Datenbank Block im lokalen Cache Datenbank Block auf Remote Instanz Datenbank Block auf Disk Storage Oracle 10g: Automatic Storage Management Oktober 2005 Seite 17 Entwicklungsziele mit 10g Verfügbarkeit und Hochverfügbarkeit Skalierbarkeit und Performance Einfache Bedienung Oracle 10g: Automatic Storage Management Oktober 2005 Seite 18

Ergebnisse in Oracle 10g Oracle bietet einen eigenen portablen Cluster Manager: Cluster Ready Services (CRS) Automatic Storage Management (ASM) vereinfacht das Storage Management Enterprise Manager ist nun weitestgehend cluster aware Oracle Real Application Clusters auch mit Standby DB gut kombinierbar Oracle 10g: Automatic Storage Management Oktober 2005 Seite 19 Cluster Ready Services Werden vor der Installation der Datenbanksoftware implementiert Bieten eine eigene Virtual IP Adress Können künftig auch genutzt werden, um weitere Software in den Cluster einzubinden (Stichwort Grid ) Oracle 10g: Automatic Storage Management Oktober 2005 Seite 20

Cluster Stack Oracle RDBMS inkl. RAC und andere Applikationen Oracle RDBMS inkl. RAC und andere Applikationen System Management Cluster Control / Resource Management / Agents / Failover API Volume Management und File System Messaging und Locking Cluster Membership Event Management Integriertes System Management Cluster Ready Services (CRS) bestehend aus: Services Framework Cluster Control / Recovery APIs Automatic Storage Management Messaging und Locking Cluster Membership Integriertes Event Management Konnektivität Konnektivität Betriebssystem Kernel Betriebssystem Kernel Oracle 9i Cluster Stack Oracle 10g Cluster Stack Oracle 10g: Automatic Storage Management Oktober 2005 Seite 21 Prozessarchitektur Instance 1 Instance 2 Global Resource Directory LMS Global Cache Service (GCS) LMS Global Enqueue Service (GES) LMD LMON LMON LMD LCK LCK LGWR SMON PMON DBWR DBWR SMON PMON LGWR Storage Subsystem Redo Log Files (Instance 1) Control Files Data Files Redo Log Files (Instance 2) Oracle 10g: Automatic Storage Management Oktober 2005 Seite 22

Handling globaler Ressourcen GRD: Global Resource Directory Enthält Informationen über gemeinsam genutzte Ressourcen Ermöglicht Lokalisierung eines Block Images im Cluster GCS: Global Cache Service Ist für den Block Transfer über den Cluster Interconnect verantwortlich Wird von den Prozessen LMSn und LMD realisiert Oracle 10g: Automatic Storage Management Oktober 2005 Seite 23 Handling globaler Ressourcen GES: Global Enqueue Service Verwaltung der Non-Cache-Fusion-Ressourcen im Cluster, z.b. Data Dictionary Locks und Library Cache Locks GSD: Global Services Daemon Optionaler Prozess (gsdctl start) Ist nicht instanz-spezifisch Steuert die Interaktion mit dem DBCA, dem OEM und dem Server Control (SRVCTL) Oracle 10g: Automatic Storage Management Oktober 2005 Seite 24

Prozesse DIAG: Diagnose Im Rahmen von Fehlern in RAC-Umgebungen Schreibt Trace-Informationen LCK: Lock Process Verarbeitet Locks, die außerhalb von Cache Fusion angefordert werden, bspw. Innerhalb des Row Cache oder Library Cache Oracle 10g: Automatic Storage Management Oktober 2005 Seite 25 Prozesse LMD: Lock Manager Daemon Entspricht dem Global Enqueue Services Daemon Regelt clusterweite Sperren (Global Enqueues) und clusterweiten Zugriff auf Ressourcen wie Datenblöcke (Global Ressources Access) Deadlock Detection im Cluster Monitort Lock Conversions Oracle 10g: Automatic Storage Management Oktober 2005 Seite 26

Prozesse LMON: Lock Monitor Entspricht dem Global Enqueue Service Monitor Regelt Rekonfiguration von Sperren beim Entfernen oder Hinzufügen von Instanzen Prüft regelmäßig auf Vorhandensein von Cluster-Instanzen Im Falle eines Crashes leitet er den Vorgang des Dynamic Resource Remastering ein Ressource Remastering: Umverteilen der Ressourcen im Cluster bei einem Knotenausfall => Datenblöcke, die im Cache des ausgefallenen Knotens vorlagen, werden von einem der verbleibenden Knoten übernommen Oracle 10g: Automatic Storage Management Oktober 2005 Seite 27 Prozesse LMS: Lock Manager Process Entspricht dem Global Cache Service (GCS) Antwortet auf Ressourcen Requests von Instanzen, die einen Block aus dem eigenen Cache anfordern Abhängig vom Workload kann eine Instanz bis zu 10 LMS-Prozesse starten Oracle 10g: Automatic Storage Management Oktober 2005 Seite 28

Ressourcen auf Disk Cluster Registry Quorum Oracle 10g: Automatic Storage Management Oktober 2005 Seite 29 Services und Daemons Quelle: Oracle / M. Michalewicz 2005 Oracle 10g: Automatic Storage Management Oktober 2005 Seite 30

Services bzw. Daemons Auf Windows => Services: OracleCSService OracleCRService OracleEVMService Unix => Daemons: cssd crsd evmd Oracle 10g: Automatic Storage Management Oktober 2005 Seite 31 Konfigurationsbeispiel Oracle 10g: Automatic Storage Management Oktober 2005 Seite 32

Planung Redundante Storage Pfade Redundante Netzwerkschnittstellen Private public Nutzung von Services Oracle 10g: Automatic Storage Management Oktober 2005 Seite 33 Ablauf der Installation Cluster Ready Services Oracle Software Erstellen der Clusterdatenbank Oracle 10g: Automatic Storage Management Oktober 2005 Seite 34

Vor der Installation der CRS Funktioniert der Zugriff auf Shared Storage von allen Knoten aus sowohl lesend als auch schreibend Ist jeder Knoten von jedem erreichbar: Über Private Network Über Public Network Jeweils über Hostname und IP-Adresse Ist rsh bzw. ssh sauber konfiguriert Wichtig: Zugriff ohne Paßwortanforderung Oracle 10g: Automatic Storage Management Oktober 2005 Seite 35 Die Clusterdatenbank Auf Shared Storage Data Files Redo Log Files Control Files Oracle 10g: Automatic Storage Management Oktober 2005 Seite 36

Installationsbeschreibungen www.puschitz.com Quick Installation Guides von Oracle Oracle Metalink Oracle 10g: Automatic Storage Management Oktober 2005 Seite 37 Die Clusterdatenbank Für jede Instanz exklusiv Undo Tablespace Mind. 2 Redo Log Gruppen Parameter Files können gemeinsam genutzt werden RAC1.undo_tablespace=UNDO01 RAC2.undo_tablespace=UNDO02 RAC3.undo_tablespace=UNDO03 RAC4.undo_tablespace=UNDO04 Oracle 10g: Automatic Storage Management Oktober 2005 Seite 38

Speicheroptionen Oracle 10g: Automatic Storage Management Oktober 2005 Seite 39 Speicheroptionen Oracle 10g: Automatic Storage Management Oktober 2005 Seite 40

Cluster Filesysteme Wichtig: Auf Zertifizierung achten!!! Oracle 10g: Automatic Storage Management Oktober 2005 Seite 41 Oracle Clusterfilesystem Windows und Linux Download unter http://oss.oracle.com Neue OCFS-Version seit kurzem verfügbar Oracle 10g: Automatic Storage Management Oktober 2005 Seite 42

Oracle Clusterfilesystem 1. Bereitstellen der Partitionen 2. Installieren der RPMS # rpm rpm -Uvh -Uvhocfs*.rpm Preparing... ###################################### [100%] 1:ocfs-support ###################################### [ 33%] 33%] 2:ocfs-2.4.9-e-smp ###################################### [ 66%] 66%] 3:ocfs-tools ###################################### [100%] # chkconfig --list grep grep-i -i ocfs ocfs ocfs ocfs0:off 1:off 2:off 3:on 3:on 4:on 4:on 5:on 5:on 6:off Oracle 10g: Automatic Storage Management Oktober 2005 Seite 43 Oracle Cluster Filesystem 3. Konfiguration des Files /etc/ocfs.conf #./ocfstool node_name = rac1-priv1 ip_address = 10.0.0.1 ip_port = 7000 7000 comm_voting = 1 guid guid = 9B2996991BCB25DF4CBB0003470CFE75 Oracle 10g: Automatic Storage Management Oktober 2005 Seite 44

Oracle Clusterfilesystem 4. Laden des Kernel Moduls # /sbin/load_ocfs Oracle 10g: Automatic Storage Management Oktober 2005 Seite 45 Oracle Clusterfilesystem 5. Erstellen des Cluster Filesystems # mkfs.ocfs mkfs.ocfs usage: usage: mkfs.ocfs mkfs.ocfs-b -b block-size [-C] [-C][-F] [-F][-g [-g gid] gid] [-h] [-h]-l -L volume-label -m -m mount-path [-n] [-n][-p [-p permissions] [-q] [-q][-u [-u uid] uid] [-V] [-V] device device -b -b Block Block size size in in kilo kilo bytes bytes -C -C Clear Clear all all data data blocks blocks -F -F Force Force format format existing existing OCFS OCFS volume volume -g -g GID GID for for the the root root directory directory -h -h Help Help -L -L Volume Volume label label -m -m Path Path where where this this device device will will be be mounted mounted -n -n Query Query only only -p -p Permissions for for the the root root directory directory -q -q Quiet Quiet execution execution -u -u UID UID for for the the root root directory directory Oracle 10g: Automatic Storage Management Oktober 2005 Seite 46

Oracle Clusterfilesystem 5. Erstellen des Cluster Filesystems (Fortsetzung) # mkfs.ocfs mkfs.ocfs-f -F-b -b 128 128 -L -L/oracle /oracle-m -m/oracle /oracle/dev/hdg5 /dev/hdg5 Checking Checking heart heart beat beat on on volume volume... Cleared Cleared volume volume header header sectors sectors Cleared Cleared node node config configsectors Cleared Cleared publish publish sectors sectors Cleared Cleared vote vote sectors sectors Cleared Cleared bitmap bitmap sectors sectors Cleared Cleared data data block block Wrote Wrote volume volume header header Oracle 10g: Automatic Storage Management Oktober 2005 Seite 47 Oracle Clusterfilesystem Oracle 10g: Automatic Storage Management Oktober 2005 Seite 48

Services Basis des Workload Management im RAC Services können relokiert werden Clients und Mid Tier Applications verbinden sich zu einem Global Service Name Oracle 10g: Automatic Storage Management Oktober 2005 Seite 49 Services Quelle: HP 2005 / IT Symposium Oracle 10g: Automatic Storage Management Oktober 2005 Seite 50

Verwaltung von Services Enterprise Manager Oracle 10g: Automatic Storage Management Oktober 2005 Seite 51 Verwaltung von Services Enterprise Manager Quelle: Oracle / De Peerp Oracle 10g: Automatic Storage Management Oktober 2005 Seite 52

Verwaltung von Services Hinzufügen srvctl srvctladd addservice service-d -d ORADB ORADB -s -s ERP ERP -r -r RAC01,RAC02 -a -a RAC03,RAC04 Start srvctl srvctlstart start service service-d -d ORADB ORADB -s -s ERP ERP -i -i RAC01 RAC01 Status srvctl srvctlstatus statusservice service-d -d crm crm-s -s crm crm Relocate srvctl srvctlrelocate relocateservice service-d -d crm crm-s -s crm crm-i -i crm1 crm1 -t -t crm3 crm3 Oracle 10g: Automatic Storage Management Oktober 2005 Seite 53 RAC Failover Verbindung zu einem Service im Cluster Applikationen und Benutzer können bei einem Systemausfall automatisch und transparent mit der nächsten laufenden Instanz verbunden. Es sind nur wenige Benutzer betroffen. Failover der Benutzer unter einer Minute! Client pre-connect möglich. Oracle 10g: Automatic Storage Management Oktober 2005 Seite 54

Listener Konfiguration RAC Server 1 RAC Server 2 Listener Listener RAC1 RAC2 Dispatcher 1 Dispatcher 2 Dispatcher 3 Dispatcher 1 Dispatcher 2 DB_NAME=RAC DB_DOMAIN=itc-frankfurt.de SERVICE_NAMES=RAC.itc-frankfurt.de INSTANCE_NAME=RAC1 DISPATCHERS= (PROTOCOL=tcp) (DISPATCHERS=3) (LISTENER=listeners_RAC) Datenbank RAC DB_NAME=RAC DB_DOMAIN=itc-frankfurt.de SERVICE_NAMES=RAC.itc-frankfurt.de INSTANCE_NAME=RAC2 DISPATCHERS= (PROTOCOL=tcp) (DISPATCHERS=2) (LISTENER=listeners_RAC) Oracle 10g: Automatic Storage Management Oktober 2005 Seite 55 Listener Konfiguration Local Listener LISTENER_CLUSNODE-1 = (ADDRESS (ADDRESS = (PROTOCOL (PROTOCOL = TCP) TCP) (HOST (HOST = clusnode-1vip) (PORT (PORT = 1521) 1521) ) SID_LIST_LISTENER_CLUSNODE-1 = (SID_LIST (SID_LIST = (SID_DESC (SID_DESC = (SID_NAME (SID_NAME = PLSExtProc) (ORACLE_HOME = $ORACLE_HOME) (PROGRAM (PROGRAM = extproc) extproc) ) ) Oracle 10g: Automatic Storage Management Oktober 2005 Seite 56

Listener Konfiguration Remote Listener in TNS-Konfig # TNS TNS Alias Alias für für die die Nutzung Nutzung des des Instanz-Parameters REMOTE_LISTENER : LISTENERS_ORADB= (ADDRESS_LIST = (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-1vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-2vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-3vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-4vip)(PORT=1521))) Oracle Instance Parameter -- --Zeiger auf auf TNS-Eintrag auf auf die die Virtual VirtualIP IP Adress AdressCLUSNODE-1 local_listener=listener_clusnode-1 -- --Zeiger auf auf TNS-Eintrag auf auf die die Virtual VirtualIP IP Adress Adressder der Datenbank Datenbank ORADB ORADB remote_listener=listeners_oradb Oracle 10g: Automatic Storage Management Oktober 2005 Seite 57 Load Balancing Oracle 10g: Automatic Storage Management Oktober 2005 Seite 58

Connection Load Balancing Serverseitig mit dem Oracle Listener Clientseitig Oracle 10g: Automatic Storage Management Oktober 2005 Seite 59 Clientseitiges Load Balancing RACDB = (DESCRIPTION = (LOAD_BALANCE = on) on) (ADDRESS = (PROTOCOL = TCP)(HOST = rac-01)(port = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = rac-02)(port = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = rac-03)(port = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = rac-04)(port = 1521)) (CONNECT_DATA = (SERVICE_NAME = rac) rac) ) ) Oracle 10g: Automatic Storage Management Oktober 2005 Seite 60

Transparent Application Failover RACTAF = (DESCRIPTION = (FAILOVER=ON) (LOAD_BALANCE=ON) (ADDRESS = (PROTOCOL = TCP)(HOST = RAC-01)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = RAC-02)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = RACDB) ) ) Oracle 10g: Automatic Storage Management Oktober 2005 Seite 61 Transparent Appliction Failover Type none (ist default) select Method basic preconnect Retries Delay Oracle 10g: Automatic Storage Management Oktober 2005 Seite 62

Transparent Application Failover Client Load Balancing und Failover RACTAF = (DESCRIPTION = (FAILOVER=ON) (LOAD_BALANCE=ON) (ADDRESS = (PROTOCOL = TCP)(HOST = RAC-01)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = RAC-02)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = RACDB) (TYPE=SESSION) (METHOD=BASIC)) ) Oracle 10g: Automatic Storage Management Oktober 2005 Seite 63 Transparent Application Failover Failover mit Übernahme der Select-Statements RACTAFS = (DESCRIPTION = (FAILOVER=ON) (LOAD_BALANCE=ON) (ADDRESS = (PROTOCOL = TCP)(HOST = RAC-01)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = RAC-02)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = RACDB) (FAILOVER_MODE= (TYPE=SELECT) (METHOD=BASIC) ) ) ) Oracle 10g: Automatic Storage Management Oktober 2005 Seite 64

Transparent Application Failover Retry RACTAFS = (DESCRIPTION= (FAILOVER=ON) (LOAD_BALANCE=ON) (ADDRESS = (PROTOCOL = TCP)(HOST = RAC-01)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = RAC-02)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME=RACDB) (FAILOVER_MODE= (TYPE=select) (METHOD=basic) (RETRIES=20) (DELAY=15) ) ) ) Oracle 10g: Automatic Storage Management Oktober 2005 Seite 65 Transparent Application Failover Preconnect mit Übernahme von Select Statements RACTAFS = (DESCRIPTION = (FAILOVER=ON) (LOAD_BALANCE=ON) (ADDRESS = (PROTOCOL = TCP)(HOST = RAC-01)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = RAC-02)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = RACDB) (FAILOVER_MODE= (TYPE=SELECT) (METHOD=PRECONNECT) ) ) ) Oracle 10g: Automatic Storage Management Oktober 2005 Seite 66

Transparent Application Failover Backup: Optional Net Service Name des Backup Sollte bei METHOD=PRECONNECT gesetzt werden Oracle 10g: Automatic Storage Management Oktober 2005 Seite 67 TAF Preconnect TNSnames.ora ERP_PRECONNECT = (DESCRIPTION= (LOAD_BALANCE=on) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-1vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-2vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-3vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-4vip)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ERP_PRECONNECT)) (FAILOVER_MODE= (BACKUP=ERP)(TYPE=SESSION)(METHOD=BASIC)(RETRIES=180)(DELAY =5)) =5)) ) Oracle 10g: Automatic Storage Management Oktober 2005 Seite 68

TAF Preconnect Thick JDBC url="jdbc:oracle:oci:@tns_alias" url="jdbc:oracle:oci:@(description= (LOAD_BALANCE=on) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-1vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-2vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-3vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-4vip)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ERP)))" url="jdbc:oracle:oci:@(description= (ADDRESS=(PROTOCOL=TCP)(HOST=clusalias)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ERP)))" Thin JDBC Oracle 10g: Automatic Storage Management Oktober 2005 Seite 69 TAF Preconnect url="jdbc:oracle:thin:@(description= (LOAD_BALANCE=on) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-1vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-2vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-3vip)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=clusnode-4vip)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ERP)))" url="jdbc:oracle:thin:@(description= (ADDRESS=(PROTOCOL=TCP)(HOST=clusalias)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ERP)))" Oracle 10g: Automatic Storage Management Oktober 2005 Seite 70

TCP-Timeout-Problem bei 9i RAC Beispiel 1 shutdown abort von Instance 1 Nachricht an Clients erfolgt Failoverzeit < 1min Beispiel 2 uadmin 0 1 von Knoten 2 Client bekommt nichts vom Ausfall mit TCP/IP Client Timeout Parameter Failover findet nach 11min statt Lösung zu Beispiel 2 tcp_ip_abort_interval (default: 480000 ms) tcp_ip_abort_cinterval (default: 180000 ms) Oracle 10g: Automatic Storage Management Oktober 2005 Seite 71 Wechsel zu RAC In der Regel unproblematisch Das heißt nicht, dass der Failover in jedem Fall automatisiert abläuft die Anwendung mit der Anzahl an Knoten linear skaliert Lösung: Cluster Interconnect nicht unnötig belasten Partitionierung einsetzen Workload Management nutzen Oracle 10g: Automatic Storage Management Oktober 2005 Seite 72

und die Performance? Batch Jobs meist schlecht skalierbar OLTP und DSS skalieren anwendungsabhängig - oft gut. Oracle 10g: Automatic Storage Management Oktober 2005 Seite 73 und die Performance Soweit möglich: Last auf Cluster Interconnect vermeiden Contention mehrer Nodes auf gleiche Blöcke vermeiden Locally Managed Tablespaces mindert Zugriffe aufs DD ASSM innerhlalb der Tablespaces Full Table Scans, wenn möglich vermeiden Partitioning einsetzen Oracle 10g: Automatic Storage Management Oktober 2005 Seite 74

Best Practices Verfügbarkeit durch horizontale Skalierung Performance durch vertikale Skalierung Viele kleine Server produzieren Overhead Systemload aller Server steigt Erfahrung: 1 Server 80%, 2 Server 50% + 50% 20% Overhead bei Lastverteilung Oracle 10g: Automatic Storage Management Oktober 2005 Seite 75 Best Practices Load Balancing prüfen: Ev. ist Partitionierung von Daten und Benutzern sinnvoll (Workload Management und Services nutzen) Failover konfigurieren Anwendung schon heute cluster aware und grid aware stricken! Oracle 10g: Automatic Storage Management Oktober 2005 Seite 76

Die Zukunft: Enterprise Grid? Clients AppServer Grid Datenbank Grid Storage Grid Oracle 10g: Automatic Storage Management Oktober 2005 Seite 77 Resümee Oracle Cluster Ready Services sind ein großer Schritt in die richtige Richtung! Automatic Storage Management ist die Speicheroption der Zukunft für RAC und Grid! Die Verwaltung von Datenbank-Services und der automatische Failover sind recht komfortabel. Die Einbindung weiterer Ressourcen in CRS wird sicherlich hochinteressant! Oracle 10g: Automatic Storage Management Oktober 2005 Seite 78

Literatur [BeKü_2002] M. Beeck, M. Kühn: The Unbreakable Database System, Unterföhring, 11.2002 Oracle Dokumentation Oracle 10g: Automatic Storage Management Oktober 2005 Seite 79