Date post: | 04-Jun-2018 |
Category: |
Documents |
Upload: | truongduong |
View: | 230 times |
Download: | 1 times |
<Insert Picture Here>
Oracle Dataguard
Harald Wolf, Sales Consulting, Nürnberg
Architektur der Exadata Database MachineEin komplettes System: rechnen, speichern, vernetzen
• Datenbank Server (Grid/RAC)
– Datenbank Server mit Intel-Techn.
– Oracle Linux
– Oracle Datenbank 11g und 12c
– 10 Gb Ethernet (zum RZ)
• Exadata Storage Server (Grid)
2
• Exadata Storage Server (Grid)
– Platten Server mit Intel-Techn.
– bis zu 1344 TB Plattenkapazität(brutto)
– bis zu 89,6 TB High Speed Flash
– Exadata Storage Server Software
• InfiniBand Netzwerk
– internes aktiv-aktiv Netz (2x40 Gb/s)
Oracle DataGuard Kurzüberblick
Agenda
Snapshot Standby
Standby aufbauen mit RMAN
Active Dataguard
Vermischtes
Standby aufbauen mit RMAN
Rolling Upgrades mit Transient Logical Standby
• “Active Data Guard” � Fundamentally changes the value of redundant infrastructure
• Can now use “Physical Standby” for:• Reporting
• Read only Physical Standby
• Online Upgrades
NetworkBroker
ProductionDatabase
Logical Standby
Physical StandbyDatabase
DIGITAL DATA S TORAGE
DIGITAL DATA STORAGE
Backup
Redo Apply
Sync or Async Redo Shipping
Reporting
Off-Site
DR-RO
Queries
AdditionalIndexes &
NetworkNetworkBrokerBroker
ProductionDatabase
Logical Standby
Physical StandbyDatabase
DIGITAL DATA S TORAGE
DIGITAL DATA STORAGE
Backup
Redo Apply
Sync or Async Redo Shipping
Reporting
Off-Site
DR-RO
Queries
AdditionalIndexes &
Oracle Database 11g Data Guard
• Transient Logical Standby
• Testing
• Snapshot Standby
• Backups
• Fast incremental backups (Change Tracking)
• Major performance enhancements too
Logical StandbyDatabase
Open for Reports
SQLApply
Transform Redo to SQL
Reporting
Production
AdditionalIndexes &
Materialized ViewsLogical Standby
DatabaseOpen for Reports
SQLApply
Transform Redo to SQL
Reporting
Production
AdditionalIndexes &
Materialized Views
Physical/ Snapshot StandbyDatabase
Open for Testing
SQLApply
Transform Redo to SQL
QA - Test
Changesqueued
Physical/ Snapshot StandbyDatabase
Open for Testing
SQLApply
Transform Redo to SQL
QA - Test
Changesqueued
Vorteile von Data Guard
• Physikalische “Langstrecken”-Redundanz der Datenbank
• Trennung (“Optokoppler”) von Primary und Standby
• Korrupte DB-Blöcke werden auf der Standby DB (STBY) sofort entdeckt.
• Es wird permanent der RESTORE der DB getestet (implizit die Komplettheit des Backups).Komplettheit des Backups).
• Die Standby DB ist im laufenden Betrieb (online) aufsetzbar.
• Keinerlei Rückwirkungen auf die Primary DB (PRIM) bei Max Performance Mode (ASYNC NOAFFIRM)
• Trotzdem nur minimaler Datenverlust (1 Tx) bei Verwendung von Standby Redolog-Files (SRL) und Realtime Apply
Vorteile von Data Guard (Forts.)• 24x365 Betrieb – Nahezu Unterbrechungsfrei
• Sicherung auf Standby-System – Entlastung des Primary
• Einfacher Betrieb
• Einfaches Monitoring (1 View: V$_DATAGUARD_STATS)
• Automatic Block Repair (ADG)
• Patch Standby First: PSU zuerst auf STBY � Test
• Z.Zt. Einzige HA-Lösung für Exadata
• Aus geg. Anlaß: Gleiche oder unterschiedlich SIDs möglich
Data Guard Enhancements in 11g
• Bessere Ressourcen Ausnutzung auf der Standby-Seite � Reporting / Incr. Backup
• Erhöhte High Availability (HA) / Disaster Recovery (DR) Funktionalität
• Administrierbarkeit verbessert
Data Guard wird ein integraler Bestandteil im High EndOracle RZ
• 50 DG Inst. in den letzten 2 Jahren (meine Kd.)
• Data Guard vs. HA auf SAN-Ebene (Disk-Mirr.)DG macht Sinn, wenn reiner Oracle DB-Server
Oracle Data GuardZero Data Loss über lange Distanzen
• Die verwendete Netzwerkbandbreite von Data Guard Redo Transport ist viel geringer, als bei System auf Basis reiner Plattenspiegelung
Data Guard: Synchrones Redo Shipping
150 km 450+ km
Data Guard: Synchrones Redo Shipping
Synchrone Plattenspiegelung
300 km
Data Guard DR Sweet Spot
• Weit genug weg für Regionales Desaster• Nah genug für Zero Data Loss
Oracle DataGuard - Redo Transport
Production
Database
Transactions
LGWR
Production
RFS
Standby
Redo
Logs!!!
LGWR SYNCLNS
Standby
Online
Redo
Logs
Archived
Redo Logs
ARCH
Logs!!!
Archived
Redo Logs
ARCH
LGWR ASYNCLNS RFS
RFS
Gap Resolution
Oracle DataGuard - Apply Services
Standby
Redo Logs
Standby
Physical(Redo Apply)
Apply
Redo
Data
From
Site A
RFS
Archived
Redo Logs
Logical(SQL Apply)
Site A
Standby
DatabaseARCH
• 3 Möglichkeiten zur Administration• Pures SQL (SQL*Plus, o.a.)
• DataGuard Broker und DGMGRL (spfile erforderlich)
Oracle DataGuard Überblick
• DataGuard Broker und EM GridControl/Cloud Control
• Dokumentation
Oracle DataGuard Überblick
Oracle DataGuard Kurzüberblick
Agenda
Snapshot Standby
Standby aufbauen mit RMAN
Active Dataguard
Vermischtes
Standby aufbauen mit RMAN
Rolling Upgrades mit Transient Logical Standby
Snapshot Standby
• Was sagt die Dokumentation?
Snapshot Standby DatabaseA snapshot standby database is a fully updatable
standby database that is created by converting a
physical standby database into a snapshot standby
database. Like a physical or logical standby database, a
Snapshot Standby DatabaseA snapshot standby database is a fully updatable
standby database that is created by converting a
physical standby database into a snapshot standby
database. Like a physical or logical standby database, a database. Like a physical or logical standby database, a
snapshot standby database receives and archives redo
data from a primary database. Unlike a physical or logical
standby database, a snapshot standby database does
not apply the redo data that it receives.
database. Like a physical or logical standby database, a
snapshot standby database receives and archives redo
data from a primary database. Unlike a physical or logical
standby database, a snapshot standby database does
not apply the redo data that it receives.
Snapshot Standby
• Physical Standby Read/Write öffnen, Testen, Daten ändern - und danach einfach auf Knopfdruck wieder zurückstellen und synchronisieren• Einsatz: Testdatenbank, Entwicklungssystem, P
Updates
Primary
Database
Queries
Physical Standby
DatabaseSnapshot Standby
Database
UpdatesQueries
Physical Standby
Database
Snapshot Standby
• Physical Standby als Snapshot Standby öffnen:•
• Redo-Transport läuft weiter
• Alternativ im DGMGRL:
• Wichtige Anmerkung: Man muss mit User/Pw@connect auf der Primary-DB eingeloggt sein
SQL> ALTER DATABASECONVERT TO SNAPSHOT STANDBY;SQL> ALTER DATABASECONVERT TO SNAPSHOT STANDBY;
DGMGRL> CONVERT DATABASE stby TO SNAPSHOT STANDBY;DGMGRL> CONVERT DATABASE stby TO SNAPSHOT STANDBY;
• Wichtige Anmerkung: Man muss mit User/Pw@connect auf der Primary-DB eingeloggt sein
• Wieder zurück:
• Alternativ im DGMGRL:
SQL> ALTER DATABASECONVERT TO PHYSICAL STANDBY;SQL> ALTER DATABASECONVERT TO PHYSICAL STANDBY;
DGMGRL> CONVERT DATABASE stby TO PHYSICAL STANDBY;DGMGRL> CONVERT DATABASE stby TO PHYSICAL STANDBY;
Snapshot Standby
• Anmerkungen:• Wesentlich weniger Schritte notwendig, als in 10gR2
• Der Redo-Transport läuft im Hintergrund weiter
• Zero Data Loss möglich!!!
• Nach dem Rückkonvertieren in eine Physical Standby werden die aufgelaufenen Logdateien nachgefahren
• Im Standby-RAC darf nur eine Apply-Instanz gestartet sein• Im Standby-RAC darf nur eine Apply-Instanz gestartet sein
• Funktioniert nicht, wenn:
• Max-Protection-Mode eingestellt wurde und nur eine Standby vorhanden ist
• Wenn die Standby das Ziel bei Fast-Start-Failover ist
Oracle DataGuard Kurzüberblick
Agenda
Snapshot Standby
Standby aufbauen mit RMAN
Active Dataguard
Vermischtes
Standby aufbauen mit RMAN
Rolling Upgrades mit Transient Logical Standby
Standby aufbauen mit RMAN
• Wer
hat
Angst
vorm RMAN??
• "Duplicate Standby" nun auch über das Netzwerk und ohne vorheriges Backup möglich
• RMAN-Klausel: ... FROM ACTIVE DATABASE
• SQL*Net muss vorab konfiguriert und getestet !!! werden
• SPFILE kann „on-the-fly“ angepasst werden
Standby aufbauen mit RMAN
• Ohne Backup eine Standby aufbauen (RMAN Duplicate)Vorgehen:
1. PRIM-Datenbank im Archivelogmode?
2. Standby-Redologs anlegen (auf der Primary)
3. Force Logging einschalten
4. Optional Flashback Logging einschalten (für Reinstantiate)
5. Listener/TNS-Konfiguration vornehmen5. Listener/TNS-Konfiguration vornehmen
• Listener sollte Kenntnis von der zu erzeugenden Zieldatenbank haben (statischer Eintrag)
6. Password-File mit orapwd anlegen (auf Standby)
7. Zieldatenbank (-Instanz) in den NOMOUNT-Status fahren
• Beim Ziel eine Mini init.ora für den rman clone
Standby aufbauen mit RMAN
• Ohne Backup eine Standby aufbauen7. RMAN-Skript ablaufen lassen:
$ rman target / auxiliary sys/oracle@stby
run {DUPLICATE TARGET DATABASEFOR STANDBYFROM ACTIVE DATABASE
$ rman target / auxiliary sys/oracle@stby
run {DUPLICATE TARGET DATABASEFOR STANDBYFROM ACTIVE DATABASEFROM ACTIVE DATABASE
DORECOVERSPFILE PARAMETER_VALUE_CONVERT '+DATA_EXA1','+DATA_EXA2'SET DB_UNIQUE_NAME='STBY'SET SGA_TARGET=100GSET LOG_FILE_NAME_CONVERT='+DATA_EXA1','+DATA_EXA2'SET DB_FILE_NAME_CONVERT='+DATA_EXA1','+DATA_EXA2'
NOFILENAMECHECK;}
FROM ACTIVE DATABASEDORECOVERSPFILE PARAMETER_VALUE_CONVERT '+DATA_EXA1','+DATA_EXA2'SET DB_UNIQUE_NAME='STBY'SET SGA_TARGET=100GSET LOG_FILE_NAME_CONVERT='+DATA_EXA1','+DATA_EXA2'SET DB_FILE_NAME_CONVERT='+DATA_EXA1','+DATA_EXA2'
NOFILENAMECHECK;}
Standby aufbauen mit RMAN
• Ohne Backup eine Standby aufbauen8. Dataguard konfigurieren
• Entweder manuell eintragen (init.ora):
• FAL_SERVER, FAL_CLIENT, DG_CONFIG
• LOG_ARCHIVE_DEST_n
• STANDBY_FILE_MANAGEMENT
• Oder besser:• Oder besser:Mit DGMGRL konfigurieren lassen
• SPFILE ist Vorraussetzung
• DG_BROKER_START=TRUE ins SPFILE übernehmen: alter system set DG_BROKER_START=TRUE....
Standby aufbauen mit RMAN
• DGMGRL - Konfiguration
a.
b.
c.
CREATE CONFIGURATION DG_ENVAS PRIMARY DATABASE IS orclCONNECT IDENTIFIER IS orcl;
CREATE CONFIGURATION DG_ENVAS PRIMARY DATABASE IS orclCONNECT IDENTIFIER IS orcl;
ADD DATABASE stby AS CONNECT IDENTIFIER IS stby;ADD DATABASE stby AS CONNECT IDENTIFIER IS stby;
EDIT DATABASE stby SET PROPERTY'StandbyArchiveLocation'='/archfs/arch/';EDIT DATABASE stby SET PROPERTY'StandbyArchiveLocation'='/archfs/arch/';c.
d.
e. Bei Problemen:
'StandbyArchiveLocation'='/archfs/arch/';
EDIT DATABASE stby SET PROPERTY'StandbyFileManagement'='AUTO';
'StandbyArchiveLocation'='/archfs/arch/';
EDIT DATABASE stby SET PROPERTY'StandbyFileManagement'='AUTO';
ENABLE CONFIGURATION;ENABLE CONFIGURATION;
SHOW DATABASE stby InconsistentProperties;SHOW DATABASE stby InconsistentProperties;
Standby aufbauen mit RMAN
• Fazit:
• Eine Standby ohne vorheriges Backup direkt aufbauen zu lassen, ist sehr effizient
• Deutliche Verfahrensvereinfachung, falls kein Grid Control (OEM) im Einsatz ist
Oracle DataGuard Kurzüberblick
Agenda
Snapshot Standby
Standby aufbauen mit RMAN
Active Dataguard
Vermischtes
Standby aufbauen mit RMAN
Rolling Upgrades mit Transient Logical Standby
Active Dataguard
• Vor 11g:• Physical Standby Read-Only öffnen und Abfragen ausführen
• Währenddessen werden Redologs zwar transportiert, aber nicht angewendet (applied)
• Daraus resultieren beim Failover/Switchover längere Umschaltzeiten + Standby gibt "veraltete" Daten zurück
Physical STBYPROD
Redo Shipping
aber: kein Apply
Read-Only
Active Dataguard (Option)
• Ab11g:• Physical Standby Read-Only öffnen und Abfragen ausführen
• Währenddessen werden Redologs transportiert und sofort angewendet (Real-Time-Apply)
• Alle Datentypen werden unterstützt
• Konsistente Leseergebnisse
Physical STBYPROD
Redo Shipping
und Redo Apply
Read-Only
Active Dataguard
• Vorgehensweise:1.
3.
4.
ALTER DATABASERECOVER MANAGED STANDBY DATABASE CANCEL;ALTER DATABASERECOVER MANAGED STANDBY DATABASE CANCEL;
ALTER DATABASE OPEN;ALTER DATABASE OPEN;
ALTER DATABASERECOVER MANAGED STANDBY DATABASEUSING CURRENT LOGFILE DISCONNECT;
ALTER DATABASERECOVER MANAGED STANDBY DATABASEUSING CURRENT LOGFILE DISCONNECT;
• Wieder zurück:1.
2.
USING CURRENT LOGFILE DISCONNECT;USING CURRENT LOGFILE DISCONNECT;
ALTER DATABASE CLOSE; (oder Restart)ALTER DATABASE CLOSE; (oder Restart)
ALTER DATABASERECOVER MANAGED STANDBY DATABASEUSING CURRENT LOGFILE DISCONNECT;
ALTER DATABASERECOVER MANAGED STANDBY DATABASEUSING CURRENT LOGFILE DISCONNECT;
Lese-Farmen mit Active Dataguard
• Praktisches Anwendungsszenario: Auktionsplattform
Updates
Lese-DBsOpen
Read-Only
Standby Datenbank:
Lese-DB und Fast-Start
Failover Target
Primär-
Datenbank
Updates
Redo Shipping Mount-Status
Oracle DataGuard Kurzüberblick
Agenda
Snapshot Standby
Standby aufbauen mit RMAN
Active Dataguard
Vermischtes
Standby aufbauen mit RMAN
Rolling Upgrades mit Transient Logical Standby
Rolling Upgrades (Near Zero-Downtime)
• Rolling Upgrades ab 10.1.0.3• Mit Transient Logical Standby Datenbank
Rolling Upgrades 11g
• Transient Logical Standby bedeutet:1. Restore Point anlegen, Physical Standby Controlfile anlegen
2. Existierende Physical Standby Datenbank
3. Umwandlung in eine Logical Standby
4. Upgrade/Patching der Logical Standby
5. Rollentausch - Standby wird zur Produktions-DB
6. Zurücksetzen der ehemaligen Produktions-DB auf einen 6. Zurücksetzen der ehemaligen Produktions-DB auf einen garantierten Restore Point
7. Einspielen eines Physical Standby Controlfiles
• Damit wird die ehemalige Produktions-DB zur Physical Standby
8. Starten in der neuen SW-Umgebung
9. Nachfahren der Redolog-Informationen
10.Kontrollierter Rollentausch zurück
• Fazit:• Ein sehr schneller Weg für ein Rolling Upgrade
• Downtime < 1min durchaus erreichbar
• Bei Hardware-identischen Systemen sehr verlockend, da evtl. nur ein einziger Switchover (also nur 1x Downtime) notwendig ist
Rolling Upgrades
Oracle DataGuard Kurzüberblick
Agenda
Snapshot Standby
Standby aufbauen mit RMAN
Real-Time-Query
Vermischtes
Standby aufbauen mit RMAN
Rolling Upgrades mit Transient Logical Standby
Vermischtes
• Fast Start Failover:• Nun auch LGWR ASYNC erlaubt (MaxPerformance/MaxAvailability)
• User-defined Failover-KriterienSTANDBYPROD
Clients
Larry Carpenter: Alert.log is admin‘s Friend
LGWR ASYNC
Broker Agent
Broker Agent B
rokerAgent
BrokerAgent
Data Guard BrokerData Guard Broker
Vermischtes
• RMAN und Dataguard• Block Change Tracking nun auch auf der Physical Standby
zuschaltbar für Fast Incremental Backups (ADG)
• Archive Log Deletion Policy
• Nun auch "Shipped" konfigurierbar
• "Applied On Standby" gilt nun für alle Destinations
• Transparentes Backup, Restore & Recovery mit allen • Transparentes Backup, Restore & Recovery mit allen Datenbanken in der Konfiguration
Vermischtes• White Paper, Oracle Data Guard 11g:
The Next Era in Data Protection and AvailabilityData Protection and Availability for Oracle DatabaseStandby-Tuning: Note:387343.1 - MAA Redo Apply BP
• DG im RAC-Umfeld11gR2 RAC to RAC Dataguard with Dataguard Broker MAA
• http://www.oracledba.org/11gR2/dr/11gR2_dataguard_RAC_to_RAC.html....
• Sehr gute Anleitung:Google: Standby Datenbank in "5 Minuten„
Fazit• Oracle Dataguard ist:
Sagt unser Dataguard Produkt-Manager - Eine „Saubere“ Sache sage ich
Fragen, Anregungen?