Oracle Dataguard

Werbung
<Insert Picture Here>
Oracle Dataguard
Harald Wolf, Sales Consulting, Nürnberg
Architektur der Exadata Database Machine
Ein 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)
– 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)
2
Agenda
Oracle DataGuard Kurzüberblick
Snapshot Standby
Standby aufbauen mit RMAN
Active Dataguard
Rolling Upgrades mit Transient Logical Standby
Vermischtes
Oracle Database 11g Data Guard
• “Active Data Guard” Fundamentally
changes the value of redundant infrastructure
• Can now use “Physical Standby” for:
Off-Site
DR-RO
Queries
Sync or Async
Redo Shipping
• Reporting
Production
Database
• Read only Physical Standby
• Online Upgrades
Production
• Transient Logical Standby
• Testing
• Snapshot Standby
• Backups
• Fast incremental backups (Change Tracking)
Network
• Major performance enhancements too
Physical Standby
Database
Backup
Redo Apply
DIGITAL DAT A S TORAGE
DIGIT AL DAT A ST ORAGE
Broker
Additional
Reporting
Logical Standby Indexes &
Materialized Views
Database
Transform
Redo to SQL
Open for
Reports
SQL
Apply
QA - Test
Transform
Redo to SQL
Physical/ Snapshot Standby
Database
Open for
Testing
SQL
Apply
Changes
queued
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).
• 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 End
Oracle 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 Guard
Zero 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
Data Guard DR
Sweet Spot
Synchrone
Plattenspiegelung
150 km
300 km
450+ km
• Weit genug weg für Regionales Desaster
• Nah genug für Zero Data Loss
Oracle DataGuard - Redo Transport
Transactions
Standby
Production
LGWR
LNS
LGWR SYNC
RFS
Production
Database
Standby
Redo
Logs!!!
Online
Redo
Logs
LNS
LGWR ASYNC
RFS
ARCH
Gap Resolution
ARCH
Archived
Redo Logs
RFS
Archived
Redo Logs
Oracle DataGuard - Apply Services
Standby
Redo
Data
From
Site A
Standby
Redo Logs
Physical
(Redo Apply)
RFS
Apply
Logical
(SQL Apply)
ARCH
Archived
Redo Logs
Standby
Database
Oracle DataGuard Überblick
• 3 Möglichkeiten zur Administration
• Pures SQL (SQL*Plus, o.a.)
• DataGuard Broker und DGMGRL (spfile erforderlich)
• DataGuard Broker und EM GridControl/Cloud Control
Oracle DataGuard Überblick
• Dokumentation
Agenda
Oracle DataGuard Kurzüberblick
Snapshot Standby
Standby aufbauen mit RMAN
Active Dataguard
Rolling Upgrades mit Transient Logical Standby
Vermischtes
Snapshot Standby
• Was sagt die Dokumentation?
Snapshot Standby Database
A 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 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
Updates
Physical Standby
Snapshot
Database
Database
Snapshot Standby
• Physical Standby als Snapshot Standby öffnen:
• SQL> ALTER DATABASE
CONVERT TO SNAPSHOT STANDBY;
• Redo-Transport läuft weiter
• Alternativ im DGMGRL:
DGMGRL> CONVERT DATABASE stby TO SNAPSHOT STANDBY;
• Wichtige Anmerkung: Man muss mit User/Pw@connect auf der Primary-DB eingeloggt sein
• Wieder zurück:
SQL> ALTER DATABASE
CONVERT TO PHYSICAL STANDBY;
• Alternativ im DGMGRL:
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
• Funktioniert nicht, wenn:
• Max-Protection-Mode eingestellt wurde und nur eine
Standby vorhanden ist
• Wenn die Standby das Ziel bei Fast-Start-Failover ist
Agenda
Oracle DataGuard Kurzüberblick
Snapshot Standby
Standby aufbauen mit RMAN
Active Dataguard
Rolling Upgrades mit Transient Logical Standby
Vermischtes
Standby aufbauen mit RMAN
•
Wer
hat
Angst
vorm R
•
MAN??
"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 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 aufbauen
7. RMAN-Skript ablaufen lassen:
$ rman target / auxiliary sys/oracle@stby
run {
DUPLICATE TARGET DATABASE
FOR STANDBY
FROM ACTIVE DATABASE
DORECOVER
SPFILE PARAMETER_VALUE_CONVERT '+DATA_EXA1','+DATA_EXA2'
SET DB_UNIQUE_NAME='STBY'
SET SGA_TARGET=100G
SET 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 aufbauen
8. Dataguard konfigurieren
• Entweder manuell eintragen (init.ora):
•
•
•
•
FAL_SERVER, FAL_CLIENT, DG_CONFIG
LOG_ARCHIVE_DEST_n
STANDBY_FILE_MANAGEMENT
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.
CREATE CONFIGURATION DG_ENV
AS PRIMARY DATABASE IS orcl
CONNECT IDENTIFIER IS orcl;
b.
ADD DATABASE stby AS CONNECT IDENTIFIER IS stby;
c.
EDIT DATABASE stby SET PROPERTY
'StandbyArchiveLocation'='/archfs/arch/';
EDIT DATABASE stby SET PROPERTY
'StandbyFileManagement'='AUTO';
d.
ENABLE CONFIGURATION;
e. Bei Problemen:
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
Agenda
Oracle DataGuard Kurzüberblick
Snapshot Standby
Standby aufbauen mit RMAN
Active Dataguard
Rolling Upgrades mit Transient Logical Standby
Vermischtes
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
Read-Only
Redo Shipping
PROD
aber: kein Apply
Physical STBY
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
Read-Only
Redo Shipping
PROD
und Redo Apply
Physical STBY
Active Dataguard
•
•
Vorgehensweise:
1.
ALTER DATABASE
RECOVER MANAGED STANDBY DATABASE CANCEL;
3.
ALTER DATABASE OPEN;
4.
ALTER DATABASE
RECOVER MANAGED STANDBY DATABASE
USING CURRENT LOGFILE DISCONNECT;
Wieder zurück:
1.
2.
ALTER DATABASE CLOSE;
(oder Restart)
ALTER DATABASE
RECOVER MANAGED STANDBY DATABASE
USING CURRENT LOGFILE DISCONNECT;
Lese-Farmen mit Active Dataguard
• Praktisches Anwendungsszenario: Auktionsplattform
Open
Read-Only
Lese-DBs
Updates
Redo Shipping
PrimärDatenbank
Standby Datenbank:
Lese-DB und Fast-Start
Failover Target
Mount-Status
Agenda
Oracle DataGuard Kurzüberblick
Snapshot Standby
Standby aufbauen mit RMAN
Active Dataguard
Rolling Upgrades mit Transient Logical Standby
Vermischtes
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.
2.
3.
4.
5.
6.
Restore Point anlegen, Physical Standby Controlfile anlegen
Existierende Physical Standby Datenbank
Umwandlung in eine Logical Standby
Upgrade/Patching der Logical Standby
Rollentausch - Standby wird zur Produktions-DB
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
Rolling Upgrades
• 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
Agenda
Oracle DataGuard Kurzüberblick
Snapshot Standby
Standby aufbauen mit RMAN
Real-Time-Query
Rolling Upgrades mit Transient Logical Standby
Vermischtes
Vermischtes
Larry Carpenter: Alert.log is admin‘s Friend
Fast Start Failover:
•
•
Nun auch LGWR ASYNC erlaubt (MaxPerformance/MaxAvailability)
User-defined Failover-Kriterien
Clients
PROD
STANDBY
LGWR ASYNC
Data Guard Broker
Broker Agent
Broker Agent
•
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
Datenbanken in der Konfiguration
Vermischtes
•
•
•
•
White Paper, Oracle Data Guard 11g:
The Next Era in Data Protection and Availability
Data Protection and Availability for Oracle Database
Standby-Tuning: Note:387343.1 - MAA Redo Apply BP
DG im RAC-Umfeld
11gR2 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?
Herunterladen