Más contenido relacionado Más de OPITZ CONSULTING Deutschland (20) Verfügbarkeit durch Oracle Data Guard und automatisches Failover - DOAG Webinar 20121. Verfügbarkeit durch Oracle Data Guard und
automatisches Failover
DOAG Webinar am 14.12.2012
Andreas Haak, Senior Consultant
OPITZ CONSULTING Deutschland GmbH
Bad Homburg, den 14.12.2012
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 1
Seite 1
2. Motivation
Kundenanforderung:
„Die Anwendung muss hochverfügbar sein“
„Es darf im Fehlerfall kein Datenverlust entstehen“
Definitionen
Verfügbarkeit
Ausfallzeit
Toleranz des Datenverlustes
Lösungen von Oracle
(RAC, Data Guard, Streams, Golden Gate)
Häufig vernachlässigt:
Oracle Client Failover
Managability Overhead
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 2
3. Inhalt
1. Einführung: Verfügbarkeit und Oracle Data Guard
2. Übersicht: Funktionsweise von Oracle Data Guard
3. Übersicht: Fast-Start-Failover (FSFO)
4. Parametrisierung FSFO
5. Monitoring Data Guard und Maintenance FSFO
6. Client Failover
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 3
4. Einführung: Verfügbarkeit und
1 Oracle Data Guard
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 4
5. Was bedeutet Hochverfügbarkeit ?
Definition der Verfügbarkeitsklassen (https://www.bsi.bund.de)
VK Bezeichnung Mind. Ausfall / Ausfall /
Verfügbarkeit Monat Jahr
0 Ohne zug.
Verfügbarkeit
1 Normale Verfügbarkeit 99,0 % <8h < 88 h
2 Erhöhte Verfügbarkeit 99,9 % < 44 min <9h
3 Hochverfügbarkeit 99,99 % < 5 min < 53 min
4 Höchstverfügbarkeit 99,999 % < 26 s < 6 min
5 Disaster Tolerant 99,9999 % < 2,6 s < 32 s
bei 7*24 h Betrieb
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 5
6. Definitionen und Begriffe
Voraussetzung / Bewertung
SLA (Service Level Agreement) mit geplanten Ausfallzeiten
Technische Kenngrößen zur Bestimmung der Architektur
RTO (Recovery Time Objective)
Max. Wiederanlaufzeit nach einem Ausfall
RPO (Recovery Point Objective)
Max. tolerierbarer Datenverlust
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 6
7. Definitionen und Begriffe
Weitere Kenngrößen zur Bestimmung der Architektur
MO (Manageability Overhead)
Aufwände bei Wartung und Administration
TCO (Total Cost of Ownership)
Einmalige und laufende Investitionskosten
ROI (Return on Investment)
Abschätzung der mittel- und langfristigen finanziellen Effizienz
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 7
8. High Availability Overview 11g Release 2 (E17157-08)
HA Lösung R R M R Features
T P O O
O O I
Cold Cluster • Autom. Verlagerung der Instanz und Applikationen
• Rolling Upgrade für Clusterware
RAC • Workload Management und Skalierbarkeit
• Rolling Upgrades für HW, OS, Clusterware, CPUs
Extended RAC • Vorteile von RAC + zusätzliche Datenspiegelung
in 2 getrennte Lokationen
Data Guard • Rolling Upgrades für HW, OS, DB, Patches
• Read Only Snapshot DB, Active Data Guard,
Logical Standby
Data Guard und • Vorteile von Cold Cluster und Data Guard
Cold Cluster
RAC & Data Guard • Vorteile von RAC und Data Guard
• „Die empfohlene MAA Architektur“
Streams/Golden Gate • Asynchrone und bidirektionale Replikation
• Heterogene Plattformen, verschiedene Character
Sets, Fine Control und Data Sharing
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 8
9. Fazit
Vorteile von Oracle Data Guard hinsichtlich
RPO (tolerierbarer Datenverlust)
und MO (Mangeability Overhead)
Vorteile von RAC hinsichtlich RTO
Empfohlene MAA-Architektur RAC (2–n Knoten) plus mind.
eine Standby DB (Data Guard)
Literatur:
Oracle® Database High Availability Overview
11g Release 2 (11.2)
Oracle® Database High Availability Best Practices
11g Release 2 (11.2)
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 9
10. Übersicht: Funktionsweise von
2 Oracle Data Guard
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 10
11. Funktionsprinzip Phys. Oracle Data Guard
Commit
Sync/Async Redo Transport (10g/11g)
SGA
LNS MRP
Primary Redo (11.1)
RFS Standby
DB Buffer DB
Standby RL
LGWR Arch / Redo Transport 9i/10g
Archived RL
ORL
LGWR
ARC
LGWR
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 11
12. Data Guard – Protection Modes
Maximum Performance (default)
Asynchroner Mode
Maximum Availability
Standby DB ja Synchroner
erreichbar ? Logtransport
NetTimeout nein
(default 60)
Transaktionen laufen
Asynchroner Mode
weiter
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 12
13. Data Guard – Protection Modes
Maximum Protection
ja Synchroner
Mind. 1 Standby DB
erreichbar ? Logtransport
NetTimeout
(default 60) nein
ja
t < ReOpensecs
Primary DB
nein
Shutdown Primary DB
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 13
14. Aufbau eine Data Guard Umgebung
Cloning der Primary DB als Standby DB
RMAN> duplicate target database for standby from active
database nofilenamecheck;
Konfiguration TNS (Listener, tnsnames)
Data Guard Parametrisierung mittels
SQLPLUS
ODER Data Guard Broker
ODER Oracle Enterprise Grid Control
Start Standby DB Instanz und Mount der DB
Start des MRP (Managed Recovery Prozess)
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 14
15. 3 Übersicht Fast-Start-Failover (FSFO)
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 15
16. Übersicht Fast-Start-Failover (FSFO)
Observer dgmgrl> start observer
Primary Target Standby Bystanders 2-n
Redo Transport
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 16
17. Ausfall der Primary DB
Observer Failover gemäß
FastStartFailoverThreshold
Primary Target Standby Bystanders 2-n
Redo Transport
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 17
18. Neue Primary DB nach Failover
Observer
Primary Primary Bystanders 2-n
Redo Transport
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 18
19. Manueller Startup Mount und Reinstate
durch den Observer
SQL> startup mount
Observer
1
2
Primary Primary Bystanders 2-n
Redo Transport
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 19
20. Zustand nach dem Reinstate durch den Observer
Observer
Target Standby Primary Bystanders 2-n
Redo Transport
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 20
21. 4 Parametrisierung Fast-Start-Failover
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 21
22. Voraussetzungen für FSFO
Funktionierende Data Guard Umgebung (Primary und Target
Standby DB) mit DG Broker
Force Logging aktiviert
Flashback auf Primary und Target Standby DB aktiviert
Separate Hardware für den Observer (Unix oder Windows)
Auf der Observer Seite ist der Oracle Client unter der
gleichen Version installiert
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 22
23. Schritte zum FSFO in der Praxis
Cloning der Primary DB und Aufsetzen Oracle DG
Protection Mode =
Max. Performance oder max. Availability (unter 11g)
Max. Availability (unter 10g)
Tests von Switchover, Failover und Reinstate
Installation des Oracle Clients mit Oracle NET
Konfiguration tnsnames.ora auf dem Client (für mindestens
Primary und Target Standby)
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 23
24. Schritte zum FSFO in der Praxis
DGMGRL> edit database 'OC11G_BCK' set property FastStartFailoverTarget = 'OC11G';
DGMGRL> edit database 'OC11G' set property FastStartFailoverTarget = 'OC11G_BCK';
DGMGRL> edit configuration set property FastStartFailoverThreshold = '60';
DGMGRL> edit configuration set property FastStartFailoverLagLimit = '60';
DGMGRL> show configuration verbose;
Configuration - oc11
Protection Mode: MaxPerformance
Databases:
OC11G_BCK - Primary database
OC11G - Physical standby database
Properties:
FastStartFailoverThreshold = ‘60'
OperationTimeout = '30'
FastStartFailoverLagLimit = ‘60'
CommunicationTimeout = '180'
FastStartFailoverAutoReinstate = 'TRUE'
FastStartFailoverPmyShutdown = 'TRUE'
BystandersFollowRoleChange = 'ALL'
Fast-Start Failover: DISABLED
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 24
25. Schritte zum FSFO in der Praxis
DGMGRL> enable fast_start failover;
Error: ORA-16651: requirements not met for enabling fast-start failover
Auf dem Oracle Client den Observer starten
start_OC11_Observer.bat
dgmgrl -echo sys/<PW>@OC11G "start observer
FILE=C:oracleproduct11.2.0dg_observerOC11G.dat" >>
C:oracleproduct11.2.0dg_observerdg_observer.log
Dann FSFO einschalten
Dgmgrl> enable fast_start failover;
Enabled
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 25
26. Beispiel einer Statusanzeige
DGMGRL> show configuration verbose;
Configuration - oc11
Protection Mode: MaxAvailability
Databases:
OC11G - Primary database
OC11G_BCK - (*) Physical standby database
(*) Fast-Start Failover target
Properties:
FastStartFailoverThreshold = '60'
OperationTimeout = '30'
FastStartFailoverLagLimit = '60'
CommunicationTimeout = '180'
FastStartFailoverAutoReinstate = 'TRUE'
FastStartFailoverPmyShutdown = 'TRUE'
BystandersFollowRoleChange = 'ALL'
Fast-Start Failover: ENABLED
Threshold: 60 seconds
Target: OC11G_BCK
Observer: NLWHG109
Lag Limit: 60 seconds (not in use)
Shutdown Primary: TRUE
Auto-reinstate: TRUE
Configuration Status:
SUCCESS
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 26
27. Test Failover nach Aktivierung von FSFO
Automatisches Failover testen
Zum Beispiel durch Stop der Primary DB:
SQL> shutdown abort ;
Nach 60 Sekunden (FastStartFailoverThreshold=60) im Observer
Log:
22:47:03.23 Sonntag, 7. August 2011
Fast-Start Failover zu Datenbank "OC11G_BCK" wird eingeleitet...
Failover wird JETZT vorgenommen. Bitte warten...
Failover erfolgreich. Neue Primär-Datenbank ist "OC11G_BCK"
22:47:13.98 Sonntag, 7. August 2011
‚tail –f‘ auf die Alert Log Datei der (Target Standby DB)
Nach Failover
sqlplus system@OC11G_BCK und sqlplus system@OC11GPROD
Dgmgrl> show configuration verbose;
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 27
28. Test Reinstate nach Aktivierung von FSFO
Reinstate der ehemaligen Primary DB zur Standby DB
Ehemalige Primary Instanz starten und mounten
SQL> startup mount;
Der DG Observer leitet ein Reinstate ein
Instanz "OC11G" wird gestartet...
ORACLE-Instanz hochgefahren.
Datenbank mounted.
Datenbank "OC11G" wird weiterhin neu instanziiert...
Neuinstanziierung von Datenbank "OC11G" erfolgreich
‚tail –f‘ auf die Alert Log Datei der (neue Target Standby DB)
Nach Failover
Auf Primary: SQL> alter system switch logfile;
Dgmgrl> show configuration verbose;
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 28
29. Was ist ein Reinstate ?
Primary (ALT) OC11G OC11G_BCK Primary
SQL> startup mount;
Dgmgrl> reinstate database „OC11G“;
SQL> select
STANDBY_BECAME_PRIMARY_SCN
from v$database;
SQL> flashback database to SCN
TO <SCN> ;
SQL> alter database convert to
PHYSICAL STANDBY
Shutdown und Startup mount;
SQL> alter database recover managed
standby database (…)
Standby OC11G Sync OC11G_BCK Primary
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 29
30. FSFO Relevante Parameter (11.2) - 1
Parameter Typ Default Empfehlung Literaturhinweise
db_flashback_retention_target SQL 1440 >=60 565535.1
FastStartFailoverTarget DG NULL Target Standby Oracle 11g Dokumentation
(TNS)
FastStartFailoverThreshold DG 30 >=10 1319917.1
+ mind 20 bei
RAC
FastStartFailoverLagLimit DG 30 Business Oracle 11g Dokumentation
Relevant
OperationTimeout DG 30 >=30, bei RAC 1322877.1, 1315368.1
ggf. höher
CommunicationTimeout DG 180 default Oracle 11g Dokumentation
FastStartFailoverAutoReinstate DG TRUE default Oracle 11g Dokumentation
FastStartFailoverPmyShutdown DG TRUE default Oracle 11g Dokumentation
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 30
31. FSFO Relevante Parameter (11.2) - 2
Parameter Typ Default Empfehlung Literaturhinweise
BystandersFollowRoleChange DG ALL default Oracle 11g Dokumentation
Corrupted Controlfile DG YES default Oracle 11g Dokumentation
JS *)
Corrupted Dictionary DG YES default Oracle 11g Dokumentation
JS *)
Inaccessible Logfile DG NO ggf. YES Oracle 11g Dokumentation
JS *)
Datafile Offline DG YES default Oracle 11g Dokumentation
JS *)
Stuck Archiver DG NO NO Oracle 11g Dokumentation
JS *)
*) „Guide to Guide to Oracle Data Guard Fast-Start Failover by John Smiley
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 31
32. Weitere Literaturempfehlungen
Guide to Oracle Data Guard Fast-Start Failover
http://www.oracle.com/technetwork/articles/smiley-fsfo-084973.html
JD Edwards EnterpriseOne Oracle 11gR2 Database Data Guard with RAC
[1315368.1]
Best Practices for Corruption Detection, Prevention, and Automatic Repair
- in a Data Guard Configuration [1302539.1]
Best Practice - Oracle GoldenGate and Oracle Data Guard
- Switchover/Failover Operations [1323670.1]
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 32
33. Monitoring Data Guard und
4 Maintenance FSFO
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 33
34. Health Checks der DG Umgebung - 1
Monitoring der Alert Logdatei und der Broker Logs von
Primary und Standby DB
Monitoring des Observer Logs und Observer Prozesses
Stati in V$DATABASE
SQL> select SWITCHOVER_STATUS, FS_FAILOVER_STATUS,
FS_FAILOVER_CURRENT_TARGET, FS_FAILOVER_OBSERVER_PRESENT
from v$database;
Auf Primary
SWITCHOVER_STATUS FS_FAILOVER_STATUS
TO STANDBY SYNCHRONIZED OC11G YES
Auf Standby
SWITCHOVER_STATUS FS_FAILOVER_STATUS
NOT ALLOWED SYNCHRONIZED OC11G YES
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 34
35. Health Checks der DG Umgebung - 2
Status des Managed Recovery Prozesses auf Standby
SQL> SELECT PROCESS FROM V$MANAGED_STANDBY WHERE PROCESS LIKE 'MRP%’;
process
-------
MRP0
SQL> select pid, process, status,thread#
2 from v$managed_standby where PROCESS like 'MRP%';
PID PROCESS STATUS THREAD#
---------- --------- ------------ ----------
4543 MRP0 APPLYING_LOG 1
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 35
36. Health Checks der DG Umgebung - 3
Status des Redo Applies auf Standby
SQL> select NAME, VALUE, UNIT, TIME_COMPUTED from v$dataguard_stats
2 where name in ('transport lag', 'apply lag');
NAME VALUE UNIT TIME_COMPUTED
------------- -------------------- ---------------------------
transport lag +00 00:00:00 day(2) to second(0) interval 08/14/2011
15:19:01
apply lag +00 00:00:00 day(2) to second(0) interval 08/14/2011
15:19:01
Weitere Skripte zum Herunterladen und Testen
http://www.dataguardbook.com/downloads
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 36
37. Maintenance FSFO
Szenario: Stop von Standby DB und Observer:
Nach 60 Sekunden (hier FastStartFailoverThreshold)
SQL> select sysdate from dual;
select sysdate from dual
*
ERROR at line 1:
ORA-03135: connection lost contact
Process ID: 20684
Session ID: 49 Serial number: 13
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 37
38. Maintenance FSFO
Das Alert Log zeigt die folgenden Einträge:
It is likely an automatic failover has already occurred. Primary is
shutting down.
Errors in file
/opt/oracle/diag/rdbms/oc11g_bck/OC11G_BCK/trace/OC11G_BCK_lgwr_4425.trc:
ORA-16830: Primärdatenbank länger von Fast-Start Failover-Partnern
isoliert als FastStartFailovehreshold-Sekunden: Datenbank wird
heruntergefahren
Sun Aug 14 15:36:39 2011
System state dump requested by (instance=1, osid=4425 (LGWR)),
summary=[abnormal instance termination].
System State dumped to trace file
/opt/oracle/diag/rdbms/oc11g_bck/OC11G_BCK/trace/OC11G_BCK_diag_4400.trc
LGWR (ospid: 4425): terminating the instance due to error 16830
Dumping diagnostic data in directory=[cdmp_20110814153639], requested by
(instance=1, osid=4425 (LGWR)), summary=[abnormal instance termination].
Instance terminated by LGWR, pid = 4425
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 38
39. Versuchter Restart der Primary Instanz
Es wird versucht die DB normal wieder hochzufahren:
SQL> startup
ORACLE instance started.
Total System Global Area 318046208 bytes
Fixed Size 1343916 bytes
Variable Size 176164436 bytes
Database Buffers 134217728 bytes
Redo Buffers 6320128 bytes
Database mounted.
ORA-16649: possible failover to another database prevents this database
from being opened
!
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 39
40. Versuchter Restart der Primary Instanz
Notlösung (Standby und Observer nicht mehr erreichbar):
DGMGRL> disable fast_start failover;
Error: ORA-12514: TNS:listener does not currently know of service requested
in connect descriptor
Failed.
DGMGRL> disable fast_start failover force;
Disabled.
SQL> alter database open;
Database altered.
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 40
41. Korrekte Vorgehensweise bei Maintenance
Stop Observer
DGMGRL> stop observer;
Disable FSFO
DGMGRL> disable fast_start failover;
Maintenance
Z.B. Switchover, Änderung Protection Mode, Änderung Target Stdby, …
Start Observer
Auf Oracle Client: dgmgrl -echo sys/<PW>@OC11G "start
observer ….
Enable FSFO
DGMGRL> enable fast_start failover;
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 41
42. 5 Client Failover
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 42
43. Automatische Service-Verlagerung
Service Relocation
Switchover des DB Services, an dem sich die Clients verbinden
(bei Bedarf auch Switchover des IP/DNS Alias)
Client notification
Benachrichtigung an den Client
Efficient reconnection
Schneller Reconnect des Client an die neue Primary DB
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 43
44. Service Relocation und Client Notification
Separater Service für Transparent Application Failover (TAF)
begin
DBMS_SERVICE.CREATE_SERVICE(service_name => 'OC11GPROD'
,network_name => 'OC11GPROD' TNS Name
,aq_ha_notifications => true Sende HA Event zum Client
,failover_method => 'BASIC' TAF Failover Methode
,failover_type => 'SELECT' Versuche Neustart des Selects
,failover_retries => 180 Versuche Neustart des Selects
,failover_delay => 1); Delay zwischen Reconnects
end;
/
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 44
45. Client TNS Konfiguratrion
TAF Konfiguration
Beispiel tnsnames.ora
OC11GPROD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL= TCP)(Host= sles10sp2.vmware)(Port=
1521))
(ADDRESS = (PROTOCOL= TCP)(Host= sles10sp2bck.vmware)(Port=
1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME=OC11GPROD)
)
)
Beispiel sqlnet.ora
SQLNET.OUTBOUND_CONNECT_TIMEOUT=3
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 45
46. Automatischer Service beim Start
Automatischer Start per Trigger beim Open der DB
CREATE OR REPLACE TRIGGER manage_OCIservice_START after
STARTUP ON DATABASE
DECLARE
role VARCHAR(30);
BEGIN
SELECT DATABASE_ROLE INTO role FROM V$DATABASE;
IF role = 'PRIMARY' THEN
DBMS_SERVICE.START_SERVICE('OC11GPROD');
END IF;
END;
/
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 46
47. Automatische Verlagerung beim
Failover/Switchover
Automatischer Start per Trigger beim RoleChange
CREATE OR REPLACE TRIGGER manage_OCIservice_RC after
DB_ROLE_CHANGE ON DATABASE
DECLARE
role VARCHAR(30);
BEGIN
SELECT DATABASE_ROLE INTO role FROM V$DATABASE;
IF role = 'PRIMARY' THEN
DBMS_SERVICE.START_SERVICE('OC11GPROD');
END IF;
END;
/
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 47
48. Service Status der Instanzen
Beim Einsatz der genannten Trigger wird auch der
Instanzparameter service_names automatisch gesetzt
Auf Primary (=OC11G):
SQL> show parameter service
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names string OC11G, OC11GPROD
Auf Standby (=OC11G_BCK):
SQL> show parameter service
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names string OC11G_BCK
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 48
49. Literatur zum Client Failover unter 11.2
Oracle MAA Paper „Client Failover Best Practices for Highly
Available Oracle Databases: Oracle Database 11g Release 2”
http://www.oracle.com/technetwork/database/features/availability/maa-wp-11gr2-
client-failover-173305.pdf
Zu Fast-Application Notfication (FAN)
Oracle® Database Administrator's Guide 11g Release 2 (11.2):
Enabling Clients for Fast Connection Failover
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 49
50. Einschränkungen für TAF
TAF funktioniert für
OCI Connections
JDBC Connections über Oracle Clients („JDBC thick driver“)
Client Applikation muss FAN (Fast-Application-Notification) Messages
empfangen und auswerten.
( ID 276225.1, 297490.1 und dortige Referenzen)
Alternative zu TAF ist Fast-Connection-Failover (FCF)
Unterstützt für JDBC thin und thick driver
Basiert auf dem Oracle Notification Service ONS
ONS wird mit der Clusterware installiert und konfiguriert
(ID 759895.1, ID 566573.1 und dortige Referenzen)
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 50
51. Diskussion
DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover © OPITZ CONSULTING GmbH 2012 Seite 51