Oracle 10g Flashback. Andrea Held Business Management Systeme Deutsche Post ITSolutions. Deutsche Post ITSolutions GmbH

Ähnliche Dokumente
Oracle 10g Flashback. Andrea Held

Oracle Flashback. in der Praxis Dr. Frank Haney 1

IT-Symposium 2004 Experten im Dialog

Oracle Flashback Ein Überblick

Oracle Flashback Der Rewind-Button für die Datenbank

Oracle Real Application Cluster, Data Guard und Flashback

Oracle Real Application Cluster, Data Guard und Flashback

Flashback mal sieben. DOAG Konferenz , Nürnberg. Klaus Reimers

Oracle Flashback DOAG K onferenz Nürnberg 2009 Marco P atzwahl Patzwahl

IT-Symposium Mike Dietrich. BU Database Technologies ORACLE Deutschland GmbH. Page 1. 1

ORACLE Database Migration


Flashback Früher war alles besser Marion Mahr Daniel Schulz Flashback Früher war alles besser

Erzeugen von Constraints

Datenbanken Konsistenz und Mehrnutzerbetrieb III

Total Recall Eine Reise in die Tiefen des Oracle Gedächtnis

Die Datenmanipulationssprache SQL

Einstellungen zur Verwendung von Flashback-Abfragen

Oracle Backup und Recovery

Allzeit bereit Hochverfügbarkeit mit Oracle 10g. Andrea Held Systemarchitektin / Deutsche Post ITSolutions

IT-Symposium /20/2004. Ralf Durben. Business Unit Datenbank. ORACLE Deutschland GmbH. 1

DOAG ORACLE LogMiner

<Insert Picture Here> Sie läuft, und läuft, und läuft Verfügbarkeit - Die Mobilitätsausstattung in der EE

Prakt. Datenbankprogrammierung. Sommersemester I,9: Datenmanipulation. Daten-Manipulations-Sprache. Das INSERT-Statement

Übung PL/SQL Trigger Lösungen


Ein reales Testumfeld bereitstellen - basierend auf einer Produktionsdatenbank (ohne eine neue Kopie zu erstellen)

Funktion definieren Gibt Summe der Gehälter zurück. Aufruf in einem SQL-Statement

PostgreSQL in großen Installationen

Backup & Recovery in Oracle 11g Funktionen und Features

Agenda. FRA Was ist das? Warum sollte die FRA genutzt werden? FRA INIT Paramter Verzeichnisstruktur (Beispiel) Überwachung der Flash Recovery Area

Datensicherheit und Hochverfügbarkeit

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

Multi-temporale Datenbank Features in Oracle 12c Philipp Salvisberg

Historisierung mit Flashback Database Archive (FDA)

5.8 Bibliotheken für PostgreSQL

Oracle 9i Einführung Performance Tuning

Listener: Bei Oracle erfolgt die Steuerung (konventionell) via listener.ora (Listener Konfiguration), tnsnames.ora (Client Konfiguration)

Neuerungen in Marco Patzwahl MuniQSoft GmbH Unterhaching

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement

Verwendung und Einsatzmöglichkeiten des Flashback-Query

Datenbanksystem. System Global Area. Hintergrundprozesse. Dr. Frank Haney 1

Datenbanken Implementierungstechniken SS2015

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Die Idee der Recovery Area: Sie enthält bei Beschädiging der Database Area alles, was für ein erfolgreiches Recovery gebraucht wird

Referenzielle Integrität SQL

NoSQL mit Postgres 15. Juni 2015

Erzeugung und Veränderung von Tabellen

Oracle 9i Einführung Performance Tuning

Chancen und Wachstumsfelder für PostgreSQL

Datenbankreplikation in der Standard Edition. Markus Jendrossek

Oracle Database 12c Was Sie immer schon über Indexe wissen wollten

Automatisierte Datenmigration mit dynamischen SQL

Inhaltsverzeichnis. Geleitwort der Fachgutachterin Vorwort Einführung Architektur eines Oracle-Datenbanksystems...

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Übung 5. Implementierung einer Datenbank. Prof. Dr. Andreas Schmietendorf 1. Übung 5

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

Oracle Backup und Recovery mit RMAN

SQL-Loader. Prof. Dr. Waldemar Rohde Dipl.-Ing. Jörg Höppner

SQL structured query language

DOAG München Die etwas anderen Oracle Performance-Tipps. Marco Patzwahl

11. Backup & Recovery. Datenbankadministration

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS Metadaten

IV. Datenbankmanagement

Oracle Data Guard und RMAN das perfekte Team

Username and password privileges. Rechteverwaltung. Controlling User Access. Arten von Rechten Vergabe und Entzug von Rechten DBS1 2004

Übersicht der wichtigsten MySQL-Befehle

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

Data Guard. Deutsche Oracle Anwendergruppe Regionalgruppe BI / MS / OS. Funktionsweise und Einsatzmöglichkeiten. Klaus Garstecki

Tag 4 Inhaltsverzeichnis

Andrea Held. Motivation ILM: Definition und Strategien Lösungen für Oracle Datenbanken. Empfehlungen

Schlüsselworte Data Guard, Standby Datenbank, RMAN, Backup, Restore, Recovery

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.

ACCESS SQL ACCESS SQL

MySQL Replikation Neue Features in 5.5 und 5.6

Oracle Datenbank - Recovery

Oracle GoldenGate Die Replikation beginnt mit Initial-Load! DOAG Konferenz Nürnberg 16. November 2011

Cassandra Query Language (CQL)

Oracle 10g Einführung

Total synchron Daten retten ohne Downtime?! Oracle DataGuard und Flashback

quick documentation Inhalt Datenmodellierung

<Insert Picture Here> Einblick in die Oracle Datenbank

Oracle Database 12c: Backup and Recovery Workshop

Views erzeugen. Datenbank - Objekte. Wozu braucht man Views? Was ist eine View?

Garten - Daten Bank. - survival pack -

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

Oracle Streams Doag Vortrag Claus Cullmann

Testklausur 1 Übungsaufgaben aus alten Datenbanken 1 Klausuren zum Data Science-Synchronisationsmodul Datenbanken WS 2016/17

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

Oracle Data Guard 11gR2. What s new? DOAG Regionaltreffen Martin Decker

Die relationale Abfragesprache SQL Structured Query Language

Übersicht über Datenbanken

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Standby in 5 Minuten. und was man sonst noch so mit Dataguard machen kann

MySQL, phpmyadmin & SQL. Kurzübersicht

Folien php/mysql Kurs der Informatikdienste

DOAG Regionaltreffen TABLE REORG. Klaus Reimers. Leiter Beratung & Entwicklung, ORDIX AG, Paderborn

Transkript:

Oracle 10g Flashback Andrea Held Business Management Systeme Deutsche Post ITSolutions Deutsche Post ITSolutions GmbH

Agenda Flashback Technologien Architektur Anwendung Probleme Bewertung: Möglichkeiten und Grenzen Seite 1-2

Flashback Level Flashback Query Flashback Table Flashback Drop Flashback Database Seite 1-3

Flashback Query Mit Oracle 9i eingeführt In 10g: Einige Änderungen und Vereinfachungen in der Syntax Erlaubt Abfrage historischer Zustände von Datenbeständen Basis ist Automatic Undo Management (AUM) Seite 1-4

Flashback Query in 9i Abfrage der Daten zu einem historischen Zeitpunkt Kein DBA Eingriff, keine Recovery Operation notwendig Aktueller Datenbestand bleibt unangetastet Auswahl über SCN oder Zeitpunkt Seite 1-5

Voraussetzungen AUM muss genutzt werden: UNDO_MANAGEMENT=AUTO UNDO TS sollte groß genug gesetzt werden UNDO_RETENTION kann gesetzt werden Unter 9i: Benutzer benötigt execute Rechte auf DBMS_FLASHBACK Seite 1-6

Flashback unter 9i DBMS_FLASHBACK.ENABLE_AT_TIME oder DBMS_FLASHBACK.ENABLE_AT_SYSTEM_CHANGE_NUMBER Beenden mit: DBMS_FLASHBACK.DISABLE Während Flashback keine DML und DDL Operationen EXECUTE DBMS_FLASHBACK.ENABLE_AT_TIME( 01-JAN-2001 ); SELECT salary FROM FROM employee WHERE WHERE empid empid = 41863; EXECUTE DBMS_FLASHBACK.DISABLE; Seite 1-7

Flashback Query auf 10g Neue, erweiterte Syntax: SELECT <column_list> FROM FROM <table_name> AS AS OF OF TIMESTAMP <timestamp>; SELECT <column_list> FROM FROM <table_name> VERSIONS BETWEEN <start_timestamp> AND AND <end_timestamp>; Seite 1-8

Flashback Query Beispiel 1: SQL>SELECT * FROM FROM dept dept 2> 2> AS AS OF OF TIMESTAMP 3> 3> to_timestamp('02-03-2004 07:00:00','dd-mm-yyyy hh24:mi:ss'); DEPTNO DNAME DNAME LOC LOC ------------ --------------- ------------- 10 10 ACCOUNTING NEW NEW YORK YORK 20 20 RESEARCH DALLAS 30 30 SALES SALES CHICAGO 40 40 OPERATIONS BOSTON 50 50 IT IT FRANKFURT Seite 1-9

Flashback Query Beispiel 2: SQL> SQL> SELECT deptno, dname, loc, loc, versions_operation, 2> 2> versions_xid, versions_starttime 3> 3> FROM FROM scott.dept 4> 4> versions between timestamp minvalue and and maxvalue 5> 5> ORDER ORDER BY BY deptno, versions_starttime DEPTNO DEPTNO DNAME DNAME LOC LOC V V VERSIONS_XID VERSIONS_XID VERSIONS_STARTTIME VERSIONS_STARTTIME ---------- ---------- -------------- -------------- ------------- ------------- - - ---------------- ---------------- ------------------- ------------------- 10 10 ACCOUNTING ACCOUNTING NEW NEW YORK YORK 20 20 RESEARCH RESEARCH DALLAS DALLAS 30 30 SALES SALES CHICAGO CHICAGO 40 40 OPERATIONS OPERATIONS BOSTON BOSTON 50 50 IT IT FRANKFURT FRANKFURT 50 50 MARKETING MARKETING FRANKFURT FRANKFURT U U 1E000A0008000000 1E000A0008000000 02.03.04 02.03.04 09:30:02 09:30:02 50 50 FRANKFURT FRANKFURT U U 1E000B0008000000 1E000B0008000000 02.03.04 02.03.04 09:31:15 09:31:15 50 50 FRANKFURT FRANKFURT D D 1E000C0008000000 1E000C0008000000 02.03.04 02.03.04 09:32:20 09:32:20 8 8 Zeilen Zeilen ausgewählt ausgewählt Seite 1-10

Bewertung: Flashback Query Plus: Performant Zuverlässig Minus: Keine Probleme, keine Bugs festgestellt Seite 1-11

Flashback Transaction Query Matchen zu Transaktionen SQL> SQL> SELECT logon_user, table_name, table_owner, undo_sql FROM FROM flashback_transaction_query WHERE WHERE table_owner='scott' -- -- xid xid = Transaktions-ID AND AND xid= xid= '1E000C0008000000'; LOGON_USER LOGON_USER TABLE_NAME TABLE_NAME TABLE_OWNER TABLE_OWNER UNDO_SQL UNDO_SQL --------------- ----------------------------- ---------------------------- ----------------- SMUELLER SMUELLER DEPT DEPT SCOTT SCOTT insert insert into into "SCOTT"."DEPT"("DEPTNO","DNAME","LOC") values values ('50','UUuuups','Frankfurt'); Seite 1-12

Flashback Transaction Query Undo SQL nach mehreren Änderungen: SQL> SQL> 1 SELECT undo_sql 2 FROM FROM flashback_transaction_query 3 WHERE WHERE table_owner = 'SCOTT' 4 AND AND table_name = 'DEPT' 5* 5* ORDER ORDER BY BY commit_timestamp desc desc UNDO_SQL UNDO_SQL ----------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------- insert insert into into "SCOTT"."DEPT"("DEPTNO","DNAME","LOC") "SCOTT"."DEPT"("DEPTNO","DNAME","LOC") values values ('50','UUuuups','Frankfurt'); ('50','UUuuups','Frankfurt'); update update "SCOTT"."DEPT" "SCOTT"."DEPT" set set "DNAME" "DNAME" = = 'MARKETING' 'MARKETING' where where ROWID ROWID = = 'AAALy6AAEAAAAAOAAA'; 'AAALy6AAEAAAAAOAAA'; update update "SCOTT"."DEPT" "SCOTT"."DEPT" set set "DNAME" "DNAME" = = 'IT' 'IT' where where ROWID ROWID = = 'AAALy6AAEAAAAAOAAA'; 'AAALy6AAEAAAAAOAAA'; Seite 1-13

Bewertung: Flashback Transaction Query Plus: Erlaubt unkomplizierte Nachverfolgung von Änderungen Übersichtlich und einfaches generieren von UNDO SQL Statements Minus: Miserable Zugriffsgeschwindigkeit Bei Updates unzuverlässig Seite 1-14

Flashback Table und Flashback Drop Flashback Table und Flashback Drop stehen ab 10g zur Verfügung Flashback Table nutzt ebenfalls Undo TS. Flashback Drop basiert auf Recycle Bin. SQL> SQL> FLASHBACK TABLE TABLE dept dept 2 TO TO TIMESTAMP to_timestamp('02.03.2004 09:30'); SQL> SQL> FLASHBACK TABLE TABLE dept dept to to BEFORE DROP; DROP; Seite 1-15

Flashback Drop im EM 10g Seite 1-16

Recycle Bin Anzeige der Objekte im Recycle Bin SQL> SQL> show show recyclebin recyclebin ORIGINAL ORIGINAL NAME NAME RECYCLEBIN RECYCLEBIN NAME NAME OBJECT OBJECT TYPE TYPE DROP DROP TIME TIME ---------------- ---------------- ------------------------------ ------------------------------ ------------ ------------ ------------------- ------------------- DEPT DEPT RB$$48444$TABLE$0 RB$$48444$TABLE$0 TABLE TABLE 2004-03-02 2004-03-02 10:29:40 10:29:40 Leeren des Recycle Bin DROP DROP TABLE TABLE dept dept PURGE; -- -- Löscht die die Tabelle endgültig PURGE PURGE RECYCLEBIN; -- -- Leert Leert den den Recycle Bin Bin Seite 1-17

Flashback Table im EM Gestattet graphische Auswahl der Undo Optionen. Ist einfach zu bedienen. Derzeit sehr schlechte Antwortzeiten. Seite 1-18

Flashback Table im EM Seite 1-19

Bewertung: Flashback Table / Flashback Drop Plus: Sehr einfache Handhabung Keine Wiederherstellung aus Backup nötig Verkürzt Wiederherstellungszeiten von Stunden auf Minuten Minus: Flashback Table macht Probleme bei Nutzung paralleler Prozesse Flashback Drop stellt Indizes und Constraints nicht vollständig wieder her Seite 1-20

Flashback Database Wurde mit Oracle 10g eingeführt. Muss zuvor mit ALTER DATABASE FLASHBACK ON aktiviert worden sein. Größe des Flash Recovery Area sowie der DB Parameter db_flashback_retention_target bestimmen, wie weit zurückgesetzt werden kann. Flash Recovery Area kann für die Flashback Logs, die inkrementellen Backups und die archivierten Redo Logs verwendet werden. Seite 1-21

Flashback Database Umsetzen in den Flashback Mode -- -- Herunterfahren der der Datenbank SHUTDOWN IMMEDIATE; -- -- Hochfahren in in den den Mount Mount Modus Modus STARTUP MOUNT; -- -- Flashback absetzen FLASHBACK DATABASE TO TO TIMESTAMP to_timestamp ('02.03.2004 09:30:00'); -- -- Datenbank öffnen ALTER ALTER DATABASE OPEN OPEN RESETLOGS; Seite 1-22

Flashback Konfiguration Im DBCA: Seite 1-23

Flashback Konfiguration Im EM 10g: Seite 1-24

Flashback und Standby Datenbanken Benutzerfehler konnte man in 9i und kann man auch in 10g schon durch ein delayed apply abfangen. In 10g ist Flashback Database eine gute Alternative Kombination aus Flashback Database und Standby Datenbank ist möglich: Flashback auf Standby mit alter database flashback on; aktivieren. Bei Benutzerfehler: flashback database to scn <scn_vor_benutzerfehler>; Standby DB readonly öffnen. Möglichkeiten: Failover auf Standby DB, Export der Benutzertabellen oder Übertragen der gelöschten Daten auf Primary DB via Database Link. Seite 1-25

Standby DB Produktionsdatenbank Standby Datenbank Produktsionsinstanz Stand By Instanz DB Files Redo Log Files Netzwerk LGWR / ARCH synchron / asynchron Delay / NoDelay Redo Log Files DB Files Log Apply Seite 1-26

Standby Datenbanken Backup der Primär-Datenbank Insgesamt bis zu 9 Standby Datenbanken an einem Primärsystem Weitere DBs können kaskadierend an Standby Systeme angehängt werden Primärsystem kann Single Instanz oder RAC sein. Standby DB kann Single Instanz oder RAC sein. Seite 1-27

Standby Datenbank im EM 10g Seite 1-28

Parameter für Standby Datenbanken in 10g Parameter wurden erweitert, d.h. Initialisierungsparameter haben für alle Rollen Gültigkeit *.log_archive_config='dg_config=(darmstadt,frankfurt,rechenzentrum_bonn)' *.log_archive_dest_1='location=/app/oracle/product/admin/prod/archive VALID_FOR=(ONLINE_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=darmstadt' *.log_archive_dest_2='location=/app/oracle/product/admin/prod/archive/std VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLES) DB_UNIQUE_NAME=darmstadt' *.log_archive_dest_3='service=tdsphys LGWR LGWR async async VALID_FOR=(ONLINE_LOGFILES, PRIMARY_ROLE)DB_UNIQUE_NAME=rechenzentrum_bonn' *.log_archive_dest_4='service=tdsrpt VALID_FOR=(ONLINE_LOGFILES, PRIMARY_ROLE) PRIMARY_ROLE) DB_UNIQUE_NAME=frankfurt Seite 1-29

Standby DB in 10g Failback auf Primärdatenbank möglich Daher: Keine Re-Instantiierung nötig Tests stehen noch aus Seite 1-30

Bewertung: Flashback Database Plus: Sehr einfache Handhabung Keine Wiederherstellung aus Backup nötig Verkürzt Wiederherstellungszeiten von Stunden auf Minuten Läßt sich hervorragend mit Standby DB kombinieren Minus: Keines bekannt Seite 1-31

Zusammenfassung Flashback Query Erste Schritte in 9i In 10g erweiterte Syntax Nutzt AUM Probleme: Keine bekannt Flashback Transaction Query Eingeführt in 10g Nutzt AUM Derzeit Problem bei Zugriff auf flashback_transaction_query Update Bug in Windows Beta Zugriffsgeschwindigkeit hat noch Optimierungspotential Seite 1-32

Zusammenfassung Flashback Table Eingeführt in 10g Nutzt ebenfalls AUM Probleme: Derzeit gelegentlich noch Probleme bei parallelem Zurücksetzen Workaround: Parallel Degree = 1 Flashback Drop Verfügbar ab 10g Nutzt Recycle Bin Probleme: Workaround: Bei Wiederherstellung von Foreign Key Constraints und Indizes Manuelles oder gescriptetes Wiederherstellen von Constraints und Indizes Seite 1-33

Zusammenfassung Flashback Database Ab 10g nutzbar Nutzt Flash Recovery Area und Archived Logs Funktionierte in unseren Tests tadellos Kann mit Standby DB hervorragend kombiniert werden Probleme: Keine bekannt Seite 1-34