SlideShare ist ein Scribd-Unternehmen logo
1 von 51
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
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
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
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
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
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
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
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
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
Übersicht: Funktionsweise von
2   Oracle Data Guard




        DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover   © OPITZ CONSULTING GmbH 2012   Seite 10
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
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
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
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
3   Übersicht Fast-Start-Failover (FSFO)




         DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover   © OPITZ CONSULTING GmbH 2012   Seite 15
Ü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
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
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
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
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
4   Parametrisierung Fast-Start-Failover




         DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover   © OPITZ CONSULTING GmbH 2012   Seite 21
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
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
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
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
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
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
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
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
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
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
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
Monitoring Data Guard und
4   Maintenance FSFO




        DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover   © OPITZ CONSULTING GmbH 2012   Seite 33
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
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
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
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
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
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
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
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
5   Client Failover




         DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover   © OPITZ CONSULTING GmbH 2012   Seite 42
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
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
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
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
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
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
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
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
Diskussion




         DOAG Webinar – Verfügbarkeit durch Oracle Data Guard und automatisches Failover   © OPITZ CONSULTING GmbH 2012   Seite 51

Weitere ähnliche Inhalte

Andere mochten auch

REST in Peace - Mit ORDS, Node.JS, ADF, Java oder OSB?
REST in Peace  - Mit ORDS, Node.JS, ADF, Java oder OSB?REST in Peace  - Mit ORDS, Node.JS, ADF, Java oder OSB?
REST in Peace - Mit ORDS, Node.JS, ADF, Java oder OSB?enpit GmbH & Co. KG
 
Überblick Oracle Datenbank Hochverfügbarkeit
Überblick Oracle Datenbank HochverfügbarkeitÜberblick Oracle Datenbank Hochverfügbarkeit
Überblick Oracle Datenbank HochverfügbarkeitIleana Somesan
 
Gratis Wordpress Webinar - Web-Blogsystem Einführung mit Eduvision Ausbildungen
Gratis Wordpress Webinar - Web-Blogsystem Einführung mit Eduvision AusbildungenGratis Wordpress Webinar - Web-Blogsystem Einführung mit Eduvision Ausbildungen
Gratis Wordpress Webinar - Web-Blogsystem Einführung mit Eduvision AusbildungenEduvision Ausbildungen
 
Cloud-native Apps – Architektur, Implementierung, Demo
Cloud-native Apps – Architektur, Implementierung, DemoCloud-native Apps – Architektur, Implementierung, Demo
Cloud-native Apps – Architektur, Implementierung, Demoenpit GmbH & Co. KG
 

Andere mochten auch (8)

API Management - Why it matters!
API Management - Why it matters!API Management - Why it matters!
API Management - Why it matters!
 
Was ist Docker ?
Was ist Docker ?Was ist Docker ?
Was ist Docker ?
 
REST in Peace - Mit ORDS, Node.JS, ADF, Java oder OSB?
REST in Peace  - Mit ORDS, Node.JS, ADF, Java oder OSB?REST in Peace  - Mit ORDS, Node.JS, ADF, Java oder OSB?
REST in Peace - Mit ORDS, Node.JS, ADF, Java oder OSB?
 
Überblick Oracle Datenbank Hochverfügbarkeit
Überblick Oracle Datenbank HochverfügbarkeitÜberblick Oracle Datenbank Hochverfügbarkeit
Überblick Oracle Datenbank Hochverfügbarkeit
 
Forms 12c und der Oracle SB
Forms 12c und der Oracle SBForms 12c und der Oracle SB
Forms 12c und der Oracle SB
 
Gratis Wordpress Webinar - Web-Blogsystem Einführung mit Eduvision Ausbildungen
Gratis Wordpress Webinar - Web-Blogsystem Einführung mit Eduvision AusbildungenGratis Wordpress Webinar - Web-Blogsystem Einführung mit Eduvision Ausbildungen
Gratis Wordpress Webinar - Web-Blogsystem Einführung mit Eduvision Ausbildungen
 
Cloud-native Apps – Architektur, Implementierung, Demo
Cloud-native Apps – Architektur, Implementierung, DemoCloud-native Apps – Architektur, Implementierung, Demo
Cloud-native Apps – Architektur, Implementierung, Demo
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker Container
 

Mehr von OPITZ CONSULTING Deutschland

Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"OPITZ CONSULTING Deutschland
 
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOPITZ CONSULTING Deutschland
 
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOPITZ CONSULTING Deutschland
 
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OPITZ CONSULTING Deutschland
 
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OPITZ CONSULTING Deutschland
 
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OPITZ CONSULTING Deutschland
 
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OPITZ CONSULTING Deutschland
 
OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OPITZ CONSULTING Deutschland
 
Effiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungEffiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungOPITZ CONSULTING Deutschland
 

Mehr von OPITZ CONSULTING Deutschland (20)

OC|Webcast: Grundlagen der Oracle Lizenzierung
OC|Webcast: Grundlagen der Oracle LizenzierungOC|Webcast: Grundlagen der Oracle Lizenzierung
OC|Webcast: Grundlagen der Oracle Lizenzierung
 
OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021
 
OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021
 
OC|Webcast "Daten wirklich nutzen"
OC|Webcast "Daten wirklich nutzen"OC|Webcast "Daten wirklich nutzen"
OC|Webcast "Daten wirklich nutzen"
 
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
 
OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Willkommen in der Cloud!"OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Willkommen in der Cloud!"
 
OC|Webcast "Die neue Welt der Virtualisierung"
OC|Webcast "Die neue Welt der Virtualisierung"OC|Webcast "Die neue Welt der Virtualisierung"
OC|Webcast "Die neue Welt der Virtualisierung"
 
10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung
 
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
 
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
 
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
 
OC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-LizenzierungOC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-Lizenzierung
 
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
 
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
 
OC|Weekly Talk The Power of DevOps…
OC|Weekly Talk  The Power of DevOps…OC|Weekly Talk  The Power of DevOps…
OC|Weekly Talk The Power of DevOps…
 
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
 
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
 
OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring
 
OC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remoteOC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remote
 
Effiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungEffiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud Nutzung
 

Verfügbarkeit durch Oracle Data Guard und automatisches Failover - DOAG Webinar 2012

  • 1. 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