Aus Standby-DB wird Data-Guard Klaus Reimers Leiter Systeme & Datenbanken [email protected] Copyright ORDIX AG 2002 http://www.ordix.de Ordix AG - Zahlen und Fakten • Gutes Datenbank- und Produkt Know-how für Oracle seit Bestehen des Unternehmens (1990) • Oracle Partner (seit mehr als 8 Jahren) • DOAG Mitglied (seit 1999) • Unabhängigkeit in der Beratung Copyright ORDIX AG 2002 http://www.ordix.de Ordix AG - Zahlen und Fakten • Bereiche – Systeme und Datenbanken • Oracle • Informix • DB2 – Systeme und Netze • UNIX • NT / W2000 – System-Management • Patrol • Tivoli • OpenView – Systeme und Applikationen • SAP Basis – Schulung Copyright ORDIX AG 2002 http://www.ordix.de Ordix AG - Zahlen und Fakten • Betreuung diverser Großkunden im Oracle Umfeld • Oracle Know-How: – – – – – – Betriebsunterstützung Installation und Konfiguration Tuning Backup-Konzepte Systemanalyse Applikations-Entwicklung Copyright ORDIX AG 2002 http://www.ordix.de Ordix AG auf der DOAG Konferenz Vorträge • Data Guard (SIG) • Migration Informix • Table Reorg 12.11. 13.11. 15:30 Uhr 14.11. 11:00 Uhr Stand ORDIX • Ordix AG C11 Copyright ORDIX AG 2002 http://www.ordix.de Agenda • Oracle 7.3/8.0 – Standby DB • Oracle 8.1 – Managed Standby DB • Oracle 9.0 – Data Guard (physical) • Oracle 9.2 – Data Guard (logical) Copyright ORDIX AG 2002 http://www.ordix.de Anforderungen / Ziele • HV-Lösung • Backup • Delay • Reporting • Switch Over Copyright ORDIX AG 2002 http://www.ordix.de Voraussetzungen allgemein • Oracle Release identisch (incl. Patchlevel) – trifft nicht zu für logical Data Guard • Produktions-DB im ArchiveLog-Mode • Betriebssystem - selbe Plattform • idealerweise 2 Maschinen – Plattenkapazität für DB identisch – CPU / Speicher - Ausbau kann unterschiedlich sein Copyright ORDIX AG 2002 http://www.ordix.de Installation und Ablauf 7.3 / 8.0 init. ora CF init. ora CF SGA SCF DF DF LF LF Copyright ORDIX AG 2002 http://www.ordix.de A ftp A Installation 7.3 / 8.0 • Backup der Datafiles auf Standby-System einspielen • Standby Controlfile erzeugen – alter database create standby controlfile as ´...´; • init.ora kopieren • Standby Controlfile kopieren auf Standby-System auf alle in der init.ora verwiesenen Positionen • Instance starten – startup nomount – alter database mount standby database; Copyright ORDIX AG 2002 http://www.ordix.de Ablauf 7.3 / 8.0 • Transport der Archive mit Betriebssystemmitteln – Shell-Skripte • neues Archivefile vorhanden und vollständig ? • Übertragen vom Produktions-System zum Standby-System – ftp – rcp – scp • Einspielen mit manuellem Recovery – Shell-Skripte • neue Archivdatei vorhanden? • recover standby database; Copyright ORDIX AG 2002 http://www.ordix.de Fail Over 7.3 / 8.0 • Kopieren und Nachfahren Current Log (falls möglich) • ALTER DATABASE ACTIVATE STANDBY DATABASE; • Standby Datenbank herunterfahren • Backup der neuen Produktionsdatenbank • Hochfahren der neuen Produktionsdatenbank • Aufbauen neues Standby System Copyright ORDIX AG 2002 http://www.ordix.de Bewertung 7.3 / 8.0 + Offline Backup + Delay per Hand + Desaster-Lösung bei Zerstörung der Produktions-DB - physische Änderungen (neue Datafiles) • alter database create datafile ´...´ as ´...´; • Refresh der Standby Controlfile - Reporting - Switch Over Copyright ORDIX AG 2002 http://www.ordix.de Ablauf 8.1 init. ora CF init. ora CF SGA DF ARCn DF LF LF Copyright ORDIX AG 2002 http://www.ordix.de A A Installation 8.1 • Identisch 7.3 / 8.0 • Konfiguration Oracle-Net – tnsnames.ora (Produktions-System) – listener.ora (Standby-System) – Listener starten • init.ora (Produktions-System) – log_archive_dest_1=´Location=...´ – log_archive_dest_2=´Service=<tns_alias>´ • init.ora (Standby-System) – standby_archive_dest=... Copyright ORDIX AG 2002 http://www.ordix.de Ablauf 8.1 • Identisch 7.3 / 8.0 • Übertragung über Net-8 – kein ftp – recover managed standby database; • Fail Over identisch zu 7.3 / 8.0 Copyright ORDIX AG 2002 http://www.ordix.de Bewertung 8.1 + + + + Offline und “Online“ Backup Delay über zusätzliches Perl-Skript (siehe Doku) Desaster-Lösung bei Zerstörung der Produktions-DB Reporting (Read-Only Öffnen der Datenbank) - physische Änderungen (neue Datafiles) • alter database create datafile ´...´ as ´...´; • Refresh der Standby Controlfile - Reporting und Recovery nicht parallel möglich - Switch Over - Manuelles Aufsetzen nach Unterbrechung der Übertragungskette (siehe 7.3 / 8.0) Copyright ORDIX AG 2002 http://www.ordix.de Ablauf 9.0 (ARCH) init. ora CF init. ora CF SGA ARCn DF DF LF LF Copyright ORDIX AG 2002 http://www.ordix.de RFS A MRP A Ablauf 9.0 FAL / File-Management • FetchArchiveLog (FAL) – init.ora (nur Standby-System) • fal_client = <tns_alias_standby_db> • fal_server = <tns_alias_prod_db> – tnsnames.ora (Standby-System) • Eintragen Produktions- und Standby-System • File-Management – init.ora (Produktions- und Standby-System) • standby_file_management = auto Copyright ORDIX AG 2002 http://www.ordix.de Ablauf 9.0 Delay / Hintergrund • Delay – init.ora (Produktions-System) • log_archive_dest_2 =´Services=<tns_alias> delay = n´ – im Standby-System übersteuerbar • recover managed standby database nodelay; • Hintergrund – recover managed standby database disconnect; – recover managed standby database cancel; Copyright ORDIX AG 2002 http://www.ordix.de Installation und Ablauf 9.0 (LGWR) init. ora CF init. ora CF SGA DF LGWR DF ARCn MRP RFS LF LF Copyright ORDIX AG 2002 http://www.ordix.de SLF SLF A ARCn A Installation 9.0 LGWR Übertragung • init.ora (Produktions-DB) – Synchrone Übertragung auf Standby RedoLogs • LOG_ARCHIVE_DEST_n = ‘SERVICE=<tns_alias> LGWR SYNC‘ – Asynchrone Übertragung auf Standby RedoLogs • LOG_ARCHIVE_DEST_n = ‘SERVICE=<tns_alias> LGWR ASYNC=2048‘ Copyright ORDIX AG 2002 http://www.ordix.de Installation 9.0 LGWR Übertragung • Standby Redo Log Dateien (Standby-DB) – ALTER DATABASE ADD STANDBY LOGFILE ´...´ SIZE n [K|M]; • init.ora (Standby-DB) – log_archive_start=true – log_archive_dest_1=´location...´ – log_archive_format=... • führt zum zusätzlichen Starten vom MRP-Prozess Copyright ORDIX AG 2002 http://www.ordix.de Ablauf 9.0 Switch Over • Primär Datenbank: – ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY; – SHUTDOWN – STARTUP NOMOUNT – ALTER DATABASE MOUNT STANDBY DATABASE; • Standby Datenbank: – ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL PRIMARY; – SHUTDOWN – Pflegen init.ora – STARTUP Copyright ORDIX AG 2002 http://www.ordix.de Bewertung 9.0 + + + + + + + Offline und “Online“ Backup Delay Desaster-Lösung bei Zerstörung der Produktions-DB Reporting (Read-Only Öffnen der Datenbank) physische Änderungen (neue Datafiles) Switch Over Data Guard Broker (unterstützendes Tool) - Reporting und Recovery nicht parallel möglich Copyright ORDIX AG 2002 http://www.ordix.de Installation Logical Data Guard 9.2 init. ora CF SGA BCF init. ora CF DF DF register LF LF Copyright ORDIX AG 2002 http://www.ordix.de A A Ablauf 9.2 (Logical Data Guard) init. ora CF init. ora CF SGA LGWR DF DF LSP RFS LF LF Copyright ORDIX AG 2002 http://www.ordix.de A A Logical Data-Guard Installation Produktions-System • Tabellen ohne Primary Key erhalten Zusatzinfos – alter database add supplemental log data (primary key, unique index) columns; • init.ora – LOG_PARALLELISM = 1 Copyright ORDIX AG 2002 http://www.ordix.de Logical Data-Guard Installation Standby-System I • Kopieren aller Datafiles vom Produktions-System – ohne Tempfiles • Backup Controlfile vom Produktions-System • Merken aktuelle Checkpoint_Change_Number – select checkpoint_change# from v$database; • Log Switch auf Produktions-System • Kopieren eben geswitchte Log-Datei • evtl. Anpassungen an init.ora Copyright ORDIX AG 2002 http://www.ordix.de Logical Data-Guard Installation Standby-System II • Startup mount • alter database clear logfile group n; • recover automatic database until <SCN> using backup controlfile; • alter database guard all; – nur SYS hat schreibenden Zugriff • alter database open resetlogs; • shutdown Copyright ORDIX AG 2002 http://www.ordix.de Logical Data-Guard Installation Standby-System III • Startup mount • nid target=sys/<pw> dbname=<new> setname=yes – neuer DB-name • • • • shutdown startup mount + alter database open resetlogs; neues Tempfile anlegen Registrierung der Start-ArchiveLog + Starten Log-Apply – alter database register logical logfile ´...´; – alter database start logical standby apply initial <SCN>; • Oracle Net Konfiguration (beidseitig) Copyright ORDIX AG 2002 http://www.ordix.de Logical Data-Guard Installation Standby-System IV • Database Link zum Produktions-System – execute dbms_logstdby.guard_bypass_on – create database link ... – execute dbms_logstdby.guard_bypass_off • Database Link zum Standby-System – create database link ... Copyright ORDIX AG 2002 http://www.ordix.de Logical Data-Guard Add-Ons • Kaskadierende Standby-Datenbanken • Zusätzliche Tabellen in Standby-Datenbank definierbar – alter database guard [all / standby / none] • Möglichkeit zur Filterung – dbms_logstdby.skip Copyright ORDIX AG 2002 http://www.ordix.de Logical Data-Guard Einschränkungen • • • • • Unsupported Datatypes (rowid, long, ...) Objekte aus SYS tables mit function_based indexes tables mit materialized views global temporary tables • DBA_LOGSTDBY_UNSUPPORTED • DBA_LOGSTDBY_NOT_UNIQUE – Empfehlung: alle Tabellen mit Primary Key versehen Copyright ORDIX AG 2002 http://www.ordix.de Bewertung 9.2 + + + + + + + + Offline und “Online“ Backup Delay Desaster-Lösung bei Zerstörung der Produktions-DB Reporting (Read-Only Öffnen der Datenbank) physische Änderungen (neue Datafiles) Switch Over Data Guard Broker (unterstützendes Tool) Reporting und Recovery parallel möglich - Einschränkungen Copyright ORDIX AG 2002 http://www.ordix.de Fazit • Geforderte Funktionalitäten beinahe alle vorhanden (siehe Einschränkungen) • Übertragung mittels LGWR: + HV Lösung – Gefahr des Ausfalls --> Wiederaufsetzen • Logical Data Guard + Filterung • Brauchen wir noch “Libelle“? Copyright ORDIX AG 2002 http://www.ordix.de