Oracle 11g R2 Unterschiede im RAC Sigrid Ehrenreich, Seniorberaterin OPITZ CONSULTING Hamburg GmbH Hamburg, 10. November 2009 OPITZ CONSULTING GmbH 2009 Seite 1
Ausgewählte Features 1. Grid Infrastructure 2. Voting, OCR und OLR 3. SCAN und GNS 4. Server Pools 5. Grid Plug and Play OPITZ CONSULTING GmbH 2009 Seite 2
1 Grid Infrastructure OPITZ CONSULTING GmbH 2009 Seite 3
GRID Oracle spricht immer stärker von Grid Grosser Verbund von einzelnen Servern Ein RAC-Cluster ist ein Grid In der Praxis meistens 2 oder 3 Knoten Clusterware => Grid Infrastructure OPITZ CONSULTING GmbH 2009 Seite 4
Clusterware-, ASM- und Datenbank-Software Oracle 10g, 11g Release 1 CRS_HOME Cluster-Software ORACLE_HOME Datenbank- und ASM-Software Oracle 11g Release 2 GRID_HOME Cluster- und ASM-Software ORACLE_HOME Datenbanksoftware ASM ist vom Datenbank- ins Cluster-Home umgezogen ASM muß gleiche Version wie die Clusterware haben OPITZ CONSULTING GmbH 2009 Seite 5
Clusterware-, ASM- und Datenbank-Software Die Cluster-Software läuft im Kontext von root Verschiedene ORACLE_BASE für GRID_HOME und ORACLE_HOME. (neues OFA Prinzip) Parent-Directory wird auf Owner root gesetzt Oracle ermöglicht nun eine Trennung von DBA- und ASM- Administration Administration erfolgt mit SYSASM Privileg Bei der Installation wird eine OSASM-Gruppe ausgewählt (z.b. "asm"). Wenn die DBAs nicht ASM verwalten sollen, darf für OSDBA nicht dieselbe Gruppe wie bei OSDBA der Datenbank-Homes gewählt werden Benutzer dieser Gruppen können passwortlos einloggen sqlplus / as sysasm OPITZ CONSULTING GmbH 2009 Seite 6
2 Voting, OCR und OLR OPITZ CONSULTING GmbH 2009 Seite 7
Oracle Cluster Registry (OCR) und Voting Disks (bis Oracle 11.1) Clusterware braucht OCR und Voting Disks ASM braucht die laufende Clusterware Henne-Ei-Problem: Man kann Voting Disks, OCR und das SPFILE der ASM Instanz nicht ins ASM speichern weil ASM zu dem Zeitpunkt noch nicht läuft Die Installation von Clusterware erfordert RAW-Devices /dev/raw/raw1 (10.1) Block-Devices /dev/sdc5 (ab 10.2) Das SPFILE der ASM Instanz Zentral auf einem Cluster-Filesystem Oder als pfile auf jedem Knoten ASM Clusterware Diskgruppe ASM Disks Voting Disks OCR OPITZ CONSULTING GmbH 2009 Seite 8
Oracle Cluster Registry (OCR) und Voting Disks ab Oracle 11.2 Oracle hat das Henne-Ei-Problem gelöst! OCR und Voting Disks werden in 11.2 im ASM gespeichert Wie wird das gelöst? OCR und Voting befinden sich in ASM Disks an einer genau definierten Position (konzeptionell vergleichbar mit einem Master-Boot-Record einer Harddisk) Dadurch kann der Cluster auf diese Disk-Bereiche ohne laufendes ASM zugreifen ASM Clusterware Diskgruppe Voting Disks OCR ASM Disks OPITZ CONSULTING GmbH 2009 Seite 9
Voting Disks OCR Oracle Cluster Registry (OCR) und Voting Disks ab Oracle 11.2 Es wird bei Normal Redundancy eine Diskgruppe über 3 Disks erstellt Normal Redundancy mit 3 Disks? Ungerade Anzahl Voting Disks Diskgruppe Failgroup 1 Failgroup 2 Failgroup 3 OPITZ CONSULTING GmbH 2009 Seite 10
Oracle Cluster Registry (OCR) und Voting Disks ab Oracle 11.2 Bei der Installation stehen nur noch ASM oder Clusterfilesystem zur Verfügung (weder Raw- noch Blockdevice) Best Practice Die Diskgruppe nicht "DATA" benennen, sondern z.b. "GRID" In dieser Diskgruppe nur OCR und Voting speichern, nichts anderes Falls OCR und Voting Disks neu aufgesetzt werden müssen, bleibt die unterliegende Datenbank intakt. OPITZ CONSULTING GmbH 2009 Seite 11
Oracle Cluster Registry (OCR) und Voting Disks ab Oracle 11.2 Backup / Restore Ein Backup der Voting Disks wird automatisch in die OCR geschrieben Ein Backup mit "dd" ist nicht mehr unterstützt Restore der Voting Disks nur möglich, wenn OCR intakt. crsctl start crs -excl crsctl query css votedisk crsctl replace votedisk +GRID Die OCR wird In regelmässigen Abständen automatisch ins Filesystem gesichert OLR Für Knoten-spezifische Resourcen Liegt im Filesystem Kein automatisches Backup Manuell sichern, wenn OCR nach ASM bewegt wird oder aus ASM heraus OPITZ CONSULTING GmbH 2009 Seite 12
3 SCAN und GNS OPITZ CONSULTING GmbH 2009 Seite 13
SCAN und GNS Was möchte der Installer hier wissen? SCAN, GNS: hier kommt der Pre-11gR2 DBA ins Staunen... OPITZ CONSULTING GmbH 2009 Seite 14
Virtual IP Address (VIP) Virtual IP Address (VIP) Klassisches Prinzip seit Oracle 10g Jeder Host besitzt eine VIP Oracle Clients kennen beim sqlnet-connect Liste mit allen VIP s und versuchen im Fehlerfall die nächste Adresse (tnsnames.ora) Fällt ein Host aus, übernimmt ein anderer diese Adresse listener vip1 vip2 listener vip1 vip2 X listener host1 eth0 host2 eth0 eth0 host2 eth0 OPITZ CONSULTING GmbH 2009 Seite 15
Virtual IP Address (VIP) Bisher Ein Client kann über irgendeinen der RAC-Nodes auf die Daten zugreifen Der Client muss alle möglichen RAC-Nodes kennen HR.erfinder = (DESCRIPTION = (ADDRESS_LIST = (FAILOVER=ON) (LOAD_BALANCE=ON) (ADDRESS = (PROTOCOL = TCP)(HOST = srvrac1.firma.com)(port = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = srvrac2.firma.com)(port = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = srvrac3.firma.com)(port = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = HR.firma.com)) ) Problem bei Connects der Form user/pass@host:port/service OPITZ CONSULTING GmbH 2009 Seite 16
Single Client Access Name (SCAN) 11g Release 2 Der Single Client Access Name ist ein voll qualifizieter Hostname, der mehrere (Empfehlung Oracle: 3) IP-Adressen besitzen soll Die Adressauflösung erfolgt im Round-Robin-Verfahren durch den DNS oder durch GNS Der Client muss nur noch einen Namen kennen HR.erfinder = (DESCRIPTION = (FAILOVER=ON)(LOAD_BALANCE=ON) (ADDRESS_LIST = 192.168.2.11 192.168.2.12 192.168.2.13 (ADDRESS = (PROTOCOL = TCP)(HOST = scan.firma.com)(port = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = HR.firma.com)) ) OPITZ CONSULTING GmbH 2009 Seite 17
Single Client Access Name (SCAN) Ein 2 Node Cluster benötigt jetzt mind. 6 IP Adressen im Public Netz! 2x Public (Host) Adressen 2x VIP ebenfalls im Public Netz 2-3x SCAN IP Adressen auch im Public Netz Müssen aber auf den gleichen Hostnamen aufgelöst werden => nur mit DNS Server möglich OPITZ CONSULTING GmbH 2009 Seite 18
SCAN Listener SCAN Listener für alle Nodes SCAN Listener können auf jedem Node im Cluster laufen Sie werden über die SCAN IP-Adresse angesprochen (DNS round-robin) Fällt ein Node aus, übernimmt ein anderer die SCAN IP und den Listener Die Datenbank-Instanzen registrieren sich dort via remote_listener (nicht mehr bei den lokalen Listenern) Diese Listener dienen als eine Art Load-Balancer und leiten die Client- Anfragen auf den lokalen Listener der am wenigsten ausgelasteten Maschine weiter OPITZ CONSULTING GmbH 2009 Seite 19
SCAN Listener SCAN Listener für alle Nodes Die Clients brauchen nur noch eine VIP dieser Listener zu kennen Knoten können zum Cluster hinzugefügt werden, ohne daß die Clients angepaßt werden müssen Oracle installiert so viele SCAN Listener wie IP-Adressen definiert sind Oracle empfiehlt 3 Adressen bei GNS werden automatisch 3 erstellt (auch bei einem 2-Node-Cluster) Abfrage srvctl config scan_listener Connect mit user/pass@scan-hostname:port möglich OPITZ CONSULTING GmbH 2009 Seite 20
SCAN Listener Listener wird aus dem Grid-Home gestartet listener.ora wird vom Cluster geschrieben LISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))) LISTENER_SCAN1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_ SCAN1)))) ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN1=ON ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON Aber wo läuft der Listener? listener_scanx: Auf der SCAN-VIP, Port 1521 listener: Auf <host> und <host>-vip, Port 1521 Wird vermutlich durch Parameter enable_global_dynamic_endpoint_listener* gesteuert Dieser Parameter ist (zur Zeit) nicht dokumentiert! OPITZ CONSULTING GmbH 2009 Seite 21
Grid Naming Service (GNS) Cluster bekommt eigene Sub-Domain Domain: firma.com cluster.firma.com DNS GNS firma.com cluster.firma.com gns-server.firma.com node1-vip.cluster.firma.com Domain Sub-Domain VIP für Subdomain-DNS (GNS) VIP Name vom 1. Node OPITZ CONSULTING GmbH 2009 Seite 22
Grid Naming Service (GNS) Cluster besitzt eigene Sub-Domain für die der GNS die Namensauflösung macht Der Domain Name Server (DNS) muss Anfragen für diese Sub-Domain an den GNS weiterleiten Nur die VIP des GNS muß vom DNS auflösbar sein Der GNS ist auf einem Node aktiv; fällt dieser aus, übernimmt ein anderer Cluster-Node die VIP und den Dienst IP-Adressen für die Sub-Domain kommen aus public DHCP OPITZ CONSULTING GmbH 2009 Seite 23
4 Server Pools OPITZ CONSULTING GmbH 2009 Seite 24
Ressourcen Ressourcen-Typen Bisher gab es nur einen Ressourcen-Typ "application" Jetzt viele Typen z.b. ora.database.type, ora.network.type, ora.asm.type Neu: local_resource (kein Failover), cluster_resource Abhängigkeiten zwischen Ressourcen Bisher gab es nur Required und Optional Abhängigkeiten Diese werden jetzt als Hard und Weak bezeichnet Neu hinzugekommen sind attraction, pullup und dispersion attraction: Ressource dort starten, wo die abhängige Ressource schon läuft pullup: Die angegebene Ressource wird danach ebenfalls gestartet dispersion: Start auf Node mit den wenigsten Ressourcen OPITZ CONSULTING GmbH 2009 Seite 25
Server Pools Eine logische Unterteilung des Clusters in einen Pool von Servern Cluster Server Pool Server Server Server Server Server Server OPITZ CONSULTING GmbH 2009 Seite 26
Management von Server Pools Bisher: Administrator-managed Der DBA legt fest, auf welchen Servern eine Datenbank-Ressource laufen soll Policy managed Der DBA spezifiziert, in welchen Serverpool(s) eine Datenbank-Ressource laufen soll Es kann die minimale und maximale Anzahl Server, auf denen die Ressource laufen soll, spezifiziert werden. OPITZ CONSULTING GmbH 2009 Seite 27
Management von Server Pools Policy managed Datenbanken mindestens Version 11.2 Konvertierung von Administrator- zu Policy-managed srvctl modify database -d db_unique_name -g server_pool Aber kein (vorbereiteter) Weg zurück Automatische Umbenennung der Instanzen Administrator-Managed: DATABASE1, DATABASE2 Policy-Managed: DATABASE_1, DATABASE_2 OPITZ CONSULTING GmbH 2009 Seite 28
crsctl Neues, zentrales Tool zum Handling der Ressourcen: crsctl Wurde stark erweitert crsctl stop cluster all Ersetzt die bisherigen crs_profile, crs_register, crs_stat, crs_start usw. Nicht verwechseln: ersetzt nicht srvctl! ora.* Ressourcen weiterhin mit srvctl bedienen crs_stat t => crsctl status resource t Die crs_* Tools sind aus kompatibilitätsgründen immer noch vorhanden, zeigen aber häufig nicht mehr alle Informationen an crs_stat -p ora.db1120.db crsctl status resource ora.db1120.db -f OPITZ CONSULTING GmbH 2009 Seite 29
Serverpool Syntax Einige Syntaxbeispiele Anzeige der Serverpools crsctl status serverpool Erstellen eines Serverpools crsctl add serverpool ora.sp1 srvctl add srvpool -g "sp1" -u -1 -n "vm206,vm207" Bearbeiten eines Serverpools srvctl modify srvpool -g sp1 -n "vm206,vm207,vm208" OPITZ CONSULTING GmbH 2009 Seite 30
5 Grid Plug and Play OPITZ CONSULTING GmbH 2009 Seite 31
Grid Plug and Play Hinzufügen eines neuen Nodes Betriebssystem-Installation analog der anderen Nodes Den neuen Server physisch mit dem Cluster verbinden Storage-Anbindung ans SAN Netzwerk (Public Interface und Interconnect) Erstellung der User und Gruppen für Oracle SSH-Konfiguration für passwortloses Login zwischen den Nodes cluvfy stage -pre nodeadd -n vm078 verbose Warnungen/Fehler genau anschauen und Ursache beheben OPITZ CONSULTING GmbH 2009 Seite 32
Grid Plug and Play Hinzufügen eines neuen Nodes Starten von addnode.sh auf einem bestehenden Node./addNode.sh -silent "CLUSTER_NEW_NODES={vm078}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={vm078-vip}" The following configuration scripts need to be executed as the "root" user. /u00/app/root/product/grid/root.sh #On nodes vm078 To execute the configuration scripts: 1. Open a terminal window 2. Log in as "root" 3. Run the scripts in each cluster node Was nun? Alle oder nur vm078? Korrekt ist vm078, aber bei Aufruf auf anderen passiert nichts, abgesehen von Fehlermeldung Wiederholen für Datenbank-Home./addNode.sh -silent "CLUSTER_NEW_NODES={vm078}" OPITZ CONSULTING GmbH 2009 Seite 33
Grid Plug and Play (Policy Managed) Hinzufügen einer neuen Instanz Der Cluster kümmert sich selbst darum, eine neue Instanz zu konfigurieren Abhängig von der Kardinalität Fügt Redo-Threads und Undo-Tablespaces hinzu (ASM mit OMF erforderlich) Passt spfile-parameter an Beispiel: Neuer Node kommt zu Pool srvctl modify srvpool -g RACPM -n "vm076,vm077,vm078" Clusterware erkennt automatisch, dass weitere Instanz möglich ist Instanz wird für neuen Node automatisch konfiguriert und dort gestartet OPITZ CONSULTING GmbH 2009 Seite 34
Fragen OPITZ CONSULTING GmbH 2009 Seite 35
Ansprechpartner bei OC Sigrid Ehrenreich OPITZ CONSULTING Hamburg GmbH Butendeichsweg 2 21129 Hamburg Sigrid.Ehrenreich@opitz-consulting.com Telefon +49 40 741122 1335 Mobil +49 173 7042100 OPITZ CONSULTING GmbH 2009 Seite 36