SlideShare une entreprise Scribd logo
1  sur  52
Télécharger pour lire hors ligne
www.fromdual.com
1 / 52
Der Datenbank-Backup ist gemacht -
was nun ?
DOAG-Konferenz 2015, Nürnberg
Jörg Brühe
Senior Support Engineer, FromDual GmbH
joerg.bruehe@fromdual.com
www.fromdual.com
2 / 52
FromDual GmbH
Support
remote-DBA
Schulung
Beratung
www.fromdual.com
3 / 52
Zur Person
● Entwicklung verteiltes SQL-DBMS:
Unix-Portierung,
Anschluss Archivierungs-Tools (ADSM, NetWorker)
● MySQL Build Team:
Release-Builds inkl. Tests, Paketierung, Skripte, ...
● DBA:
MySQL für eine Web-Plattform
(Master-Master-Replikation)
● Support-Ingenieur (FromDual):
Support + Remote-DBA für MySQL / MariaDB / Percona
mit oder ohne Galera Cluster
www.fromdual.com
4 / 52
Inhalt
Datenbank-Backup – welcher Zweck?
Tauglichkeit des Backup, Verifikation
Echtdaten vollständig nutzen
Dem Datenschutz genügen
Material für die Entwicklung
Automatisierung
www.fromdual.com
5 / 52
Datenbank-Backup – welcher Zweck?
Tauglichkeit des Backup, Verifikation
Echtdaten vollständig nutzen
Dem Datenschutz genügen
Material für die Entwicklung
Automatisierung
www.fromdual.com
6 / 52
Zweck des DB-Backup
Gilt für beliebige Datenbanksysteme:
● Firma / Mensch ist auf Daten angewiesen
(finanziell, juristisch oder emotional)
● Datenverlust kann Betrieb verhindern
● „Wenn die Daten nicht gesichert wurden,
dann sind sie auch nicht wichtig“
www.fromdual.com
7 / 52
Schadensursachen z.B. ...
● Hardware-Defekte
Laufwerk, Controller, Netzteil, ...
● Software-Defekte
DBMS, Betriebssystem, Anwendung, ...
● Fehlbedienung / Sabotage
delete from T; commit;  / rm ­fr /
● Katastrophe
Brand, Hochwasser, Unfall, ...
www.fromdual.com
8 / 52
Risiko-Annahmen
Berücksichtigte Ereignisse
● Individuelle Entscheidung
● Abhängig vom Geschäftszweck
● Abhängig von Technik und Lage
Setzen Anforderungen an Backup
z.B. Offsite-Speicherung nötig ja/nein?
www.fromdual.com
9 / 52
Datenbank-Backup – welcher Zweck?
Tauglichkeit des Backup, Verifikation
Echtdaten vollständig nutzen
Dem Datenschutz genügen
Material für die Entwicklung
Automatisierung
www.fromdual.com
10 / 52
Weitere Einfluss-Faktoren
Individuelle Prüfung nötig:
● Wie sind die Abläufe?
(z.B. Papier, Telefon oder Online-Änderungen?)
● Welche technischen, kommerziellen und
juristischen Randbedingungen?
(z.B. Replikation von Daten und Log?)
Setzen Anforderungen an Backup
(z.B. Point-in-Time-Recovery gefordert ja/nein?
Dafür separate Log-Sicherung nötig ja/nein?)
www.fromdual.com
11 / 52
Backup-Strategie
Ergibt sich aus technischen Möglichkeiten,
Risiko-Annahmen, anderen Einfluss-Faktoren
und Kosten:
● Art, Umfang, Häufigkeit
(physisch vs logisch; mit/ohne Log; ...)
● Benutztes Tool
● Ablage / Speicherung
● Aufbewahrungs-Dauer
www.fromdual.com
12 / 52
Zweck des DB-Backup
Datenverlust verhindern
● ... durch Restore (Recovery)
● ... gemäß Anforderungen
● ... bei allen (betrachteten) Risiken
Backup hat nur dann seinen Zweck erfüllt,
wenn Restore (Recovery) erfolgreich ist
=> Prüfkriterium des Backup
www.fromdual.com
13 / 52
Schrödingers Backup
„Der Zustand jedes Backup
ist solange unbestimmt,
bis er bei einem Restore
eingesetzt wird.“
(u.a. Karoly Nagy, Vortrag auf „Percona Live Europe 2015“)
www.fromdual.com
14 / 52
Risiken für Recovery z.B. ...
● Backup nicht für Recovery tauglich
● Defekter Backup erzeugt
(HW, SW, Netz, Platte voll, ...)
● Backup nach Ablage defekt / unerreichbar
● Recovery-Prozedur fehlerhaft / unpassend
● Recovery scheitert an System-Zustand
(HW, SW, Netz, Platte voll, ...)
www.fromdual.com
15 / 52
Verifikation – wie?
● Nur erfolgreiche Recovery beweist
grundsätzliche Tauglichkeit der Techniken
von Backup und Recovery
● Kontrolle muss Routine-Aktion sein
● Kein Limit nach oben:
Prüfung von Schema, Satz-Zahlen, Inhalten,
Benutzer, Privilegien, ... ist möglich
www.fromdual.com
16 / 52
Verifikation – wo?
● Produktiv-Backup enthält sensible Daten
● Produktive DB darf nicht betroffen sein
Nötig:
Eigenes Recovery-System in Produktion,
das für jede Produktiv-DB hinreichend groß ist
www.fromdual.com
17 / 52
Separate Recovery-Instanz
Backup
Recovery-
Instanz
Produktions-
Instanz
Restore
www.fromdual.com
18 / 52
Datenbank-Backup – welcher Zweck?
Tauglichkeit des Backup, Verifikation
Echtdaten vollständig nutzen
Dem Datenschutz genügen
Material für die Entwicklung
Automatisierung
www.fromdual.com
19 / 52
Zustand nach Recovery-Test
● Produktiv-DB
● mit Echt-Daten (aktuell)
● im laufenden Betrieb (Zugriffe, Last, laufende
Änderungen)
● Recovery-DB
● mit Echt-Daten (vom Backup-Zeitpunkt)
● auf separatem System (Leerlauf, stabil)
www.fromdual.com
20 / 52
Kopie der Echt-Daten
● ... unterliegt dem Datenschutz
● ... taugt für Statistik, Abrechnung, ...
● ... erlaubt zuverlässige Messung von z.B.
Schema-Änderungen („create index“, ...)
(ggfs. HW-Unterschiede beachten)
www.fromdual.com
21 / 52
Nutzungs-Beispiele (1)
● Abrechnung der letzten Periode
(Woche, Monat, ...)
● Statistik / Report,
besonders wenn ohne Index-Unterstützung
● Kontrolle auf Fehlerfreiheit
mysqldump > /dev/null für vollständiges Lesen
● ...
www.fromdual.com
22 / 52
Nutzungs-Beispiele (2)
● Export in anderem Format, z.B.
● CSV für Spreadsheet
● Mysqldump (Klartext) für Transfer
● ...
Jede nur-lesende nicht-sofortige
Nutzung der Echtdaten
kann auf den Recovery-Server
verlagert werden.
www.fromdual.com
23 / 52
Datenbank-Backup – welcher Zweck?
Tauglichkeit des Backup, Verifikation
Echtdaten vollständig nutzen
Dem Datenschutz genügen
Material für die Entwicklung
Automatisierung
www.fromdual.com
24 / 52
Stichworte zum Datenschutz
● Personenbezogene Daten
z.B. Name, Adresse, Telefon, E-Mail, Konto
● Zweckbindung der Daten
● Datensparsamkeit
● Fristen für Aufbewahrung / Löschung
● Abstimmung mit Datenschutz-Beauftragtem
● Im Zweifel: juristischen Rat holen
www.fromdual.com
25 / 52
Anonymisieren
Restore-Instanz hat SQL verfügbar:
● UPDATE kunde
SET name = 'Mustermann',
    vorname = 'Max'
WHERE anrede = 'Herr';
● UPDATE kontakte
SET mail = concat( md5(mail),
'@provider.tld');
www.fromdual.com
26 / 52
Eigeninitiative
● Pessimistische Annahme:
Die anderen vergessen den Datzenschutz!
● Ausländische Kollegen ...
● Als DBA selbst das Schema prüfen,
bei Zweifeln nachfragen
● Datenschutz-Belehrung beachten
www.fromdual.com
27 / 52
Hoffentlich überflüssig
● Langfristiges (Firmen-) Interesse
● vgl. aktuelle Skandale und Bußgelder
● Zivilcourage !
www.fromdual.com
28 / 52
Datenbank-Backup – welcher Zweck?
Tauglichkeit des Backup, Verifikation
Echtdaten vollständig nutzen
Dem Datenschutz genügen
Material für die Entwicklung
Automatisierung
www.fromdual.com
29 / 52
Entwickler-Wünsche
● Analyse der Feature-Nutzung
● Test mit Echt-Daten
Volumen, Werte-Verteilung
● Daten-Volumen für Tuning
„Explain“ mit/ohne Index
● Schema-Änderung testen
„Create Index“, „Alter Table“
www.fromdual.com
30 / 52
Probleme / Konflikte
● Datenschutz-Recht:
● Gesetzliche Verpflichtung
● Zweckbindung
● Löschung
● Datenschutz-Erklärung:
● Eigene Zusagen an Nutzer
● Datenschutz-Belehrung:
● Vertraulichkeit, ...
www.fromdual.com
31 / 52
Ausweg / Lösung
● In Recovery-Instanz
● löschen
● anonymisieren
● nur selektiv exportieren
● Export ablehnen
● Entwickler-Skript annehmen
und als DBA kontrolliert auf Recovery-Instanz
ausführen
www.fromdual.com
32 / 52
Export zur Entwicklung
Backup
Produktions-
Instanz
Restore
Entwicklungs-
Instanz
update;
delete;
– anonym
commit;
Export Import
www.fromdual.com
33 / 52
Datenbank-Backup – welcher Zweck?
Tauglichkeit des Backup, Verifikation
Echtdaten vollständig nutzen
Dem Datenschutz genügen
Material für die Entwicklung
Automatisierung
www.fromdual.com
34 / 52
Vorbemerkung
● Beispiele / Code für MySQL,
bitte selbst an Firmen-Regeln anpassen
und für anderes DBMS übertragen
● $CONNECT = Verbindungs-Information
-u USER -pPASSWORD -h HOST
● $DB = ausgewählte Datenbank (Schema)
www.fromdual.com
35 / 52
Automatisierung: Prinzipien
● Keine manuelle Ausführung von Routine-
Aufgaben
● Erfolgs-Kontrolle im Skript enthalten,
manuell nur Stichproben
● Mail-Alarm bei Fehler
● Keine manuelle Konfiguration / Anpassung,
Skript erstellt Listen selbst
www.fromdual.com
36 / 52
Automatisierung: Teile
● Backup (lokale MySQL-Instanz)
● Purge Log
● Restore (Sicherung vorgegeben)
● Restore-Wrapper (automatisierte Auswahl)
● DBen/Schemata im aktuellen Restore
● User/Passwort für DB/Schema
● Anonymisierungs-Skript für DB/Schema
www.fromdual.com
37 / 52
Skript: Backup (1)
● Sichert DB-Instanz gemäß Backup-Strategie
● Generiert Namen mit Datum/Uhrzeit
● Löscht überflüssige alte Backups
● Aufruf durch cron
● Separat: Monitoring für Speicherplatz
www.fromdual.com
38 / 52
Skript: Backup (2)
● Hilfreich: Tabelle „backup_history“
mit Timestamp und Exit-Code
● „MySQL Enterprise Backup“ führt sie
● Auf Slave repliziert?
MEB 3.9 ja, 3.10 nein
Oracle SR 3-9497158271
● Welche Instanz(en) sichern bei Replikation?
www.fromdual.com
39 / 52
Skript: Purge Log (1)
Bis zum vorletzten erfolgreichen Backup löschen:
TIMESTAMP=`echo
  "select start_time from
      mysql.backup_history
   where exit_state = 'SUCCESS'
   order by start_time desc limit 1, 1 ;"
| mysql $CONNECT | tail ­n1`
echo 
  "PURGE MASTER LOGS BEFORE '$TIMESTAMP';" 
| mysql $CONNECT
www.fromdual.com
40 / 52
Skript: Purge Log (2)
Ohne Tabelle – fest 26 Stunden zurück:
TIMESTAMP=`echo
  "select subtime( now(), '26:00:00')"
| mysql $CONNECT | tail ­n1`
www.fromdual.com
41 / 52
Skript: Restore
● Name der Sicherung wird als Parameter
übergeben
● Rückfrage, falls nicht auf Restore-Maschine
● Löscht alle vorhandenen DB-Inhalte
● Lädt Sicherung
● Startet DB-Server
www.fromdual.com
42 / 52
Skript: Restore-Wrapper (1)
● Sorgt dafür, dass die Sicherungen aller DB-
Instanzen der Test-Recovery unterzogen
werden
● Läuft nur auf Restore-Host
● Optionaler Parameter: Hostname
● Gegeben: Name des letzten Backup bestimmen
● Sonst: alle Instanzen reihum
● Ruft Restore-Skript mit Sicherungsname
www.fromdual.com
43 / 52
Skript: Restore-Wrapper (2)
HOSTLIST=( `ls ­d ... |
     grep ­iv ...` ) 
NUMHOSTS=${#HOSTLIST[@]}    # count
DAY=`date '+%j'`      # day of year
INDEX=`expr $DAY % $NUMHOSTS`
BACKUPDIR=${HOSTLIST[$INDEX]}
TIMESTAMP=`ls $BACKUPDIR | 
    grep '^20[1­9][0­9]' | tail ­1`
Round-Robin über alle Hostnamen:
www.fromdual.com
44 / 52
Code: Welche DB/Schema?
DBLIST=`cd /DISK ; find * ­type d`
for DB in $DBLIST
do
    if [ "$DB" = "information_schema"
      ­o "$DB" = "mysql"
      ­o "$DB" = "performance_schema" ]
    then
        echo "Ignoring database $DB"
        continue
    fi
    ... # nächste Folie
done
www.fromdual.com
45 / 52
Code: User/Passwort zu DB
Annahme: Benutzer existiert schon in der DB und hat
die nötigen Privilegien für Anonymisierung
Sonst: Nach Restore erzeugen
DB_S=`echo $DB |
      tr '[:upper:]' '[:lower:]'`
   # 9 Zeichen von DB für User(16)
DB_9=`echo ${DB_S} |
      sed 's/(.........).*/1/'`
DB_USR="${DB_9}_anonym"
DB_PWD="${DB_S}#geheim#"
www.fromdual.com
46 / 52
Code: DB behandeln?
DB ohne Anonymisierungs-Nutzer wird nicht behandelt
mysql ­u $DB_USR ­p$DB_PWD ­e 'show grants;'
RC=$?
if [ $RC ­ne 0 ]
then
    echo "'mysql ­u $DB_USR ­p$DB_PWD'
           scheitert mit Code $RC"
    echo "Kein Check / Export für diese DB."
    continue
fi
www.fromdual.com
47 / 52
Code: Skript suchen
for ACTION in pruef anonym export ; do
   BASE=/pfad/zu/script­${ACTION}­${DB_S}
   SCRIPT=${BASE}.sh
   if [ ­x $SCRIPT ] ; then
      bash $SCRIPT ­U $DB_USR ­P $DB_PWD ­N $DB_S
      RC=$?
      echo "$SCRIPT terminated with exit code $RC"
   fi
   SCRIPT=${BASE}.sql
   if [ ­r $SCRIPT ] ; then
      mysql ­u $DB_USR ­p$DB_PWD $DB_S < $SCRIPT
      RC=$?
      echo "$SCRIPT terminated with exit code $RC"
   fi
done
www.fromdual.com
48 / 52
Skript: Anonymisieren (1)
Überflüssige Tabellen leeren:
echo "use information_schema ;
  select TABLE_NAME from TABLES
  where TABLE_SCHEMA = '$DB' and
  TABLE_TYPE = 'BASE TABLE' and
  TABLE_NAME not in ('t1', 't2', 't3') ;" | 
mysql $CONNECT ­­skip­column­names | 
while read TAB
do
    echo "truncate table $TAB ;"
done | mysql $CONNECT $DB
www.fromdual.com
49 / 52
Skript: Anonymisieren (2)
Personenbezogene Daten:
mysql $CONNECT $DB <<'eof'
UPDATE t1 SET
  payment = 'xxx', birth = '1970­01­01',
  fname = 'Hans', lname = 'Mustermann',
  email = 'mustermail@muster.comp',
  ... ;
UPDATE t2 SET
  request = NULL, response = NULL;
eof
www.fromdual.com
50 / 52
Code: „select count(*)“
# Get a list of all tables, feed it into a loop
# that generates "select count(*)" statements,
# pipe these to another client call for execution
mysql $CONNECT ­­silent ­­skip­column­names
 ­e "select TABLE_NAME from
       information_schema.TABLES
     where TABLE_SCHEMA = '$DB' and
       TABLE_TYPE = 'BASE TABLE' order by 1" | 
while read TN
do
  echo "select count(*) as '$TN' from $DB.$TN ;"
done | mysql $CONNECT ­­table $DB
www.fromdual.com
51 / 52
Code: „show create table“
# Get a list of all tables, feed it into a loop
# that generates "show create table" statements,
# pipe these to another client call for execution
echo 'show tables ;' | 
mysql $CONNECT $DB | tail ­n +2 | sort | 
while read TAB
do
    echo "show create table $TAB G"
done | mysql $CONNECT $DB
www.fromdual.com
52 / 52
Q & A
Fragen ?
Diskussion?
Wir haben Zeit für ein persönliches Gespräch ...
● FromDual bietet neutral und unabhängig:
● Beratung
● Remote-DBA
● Support für MySQL, Galera, Percona Server und MariaDB
● Schulung
www.fromdual.com/presentations

Contenu connexe

Tendances

MySQL - New Features 5.6
MySQL - New Features 5.6MySQL - New Features 5.6
MySQL - New Features 5.6FromDual GmbH
 
MySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerMySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerFromDual GmbH
 
DOAG 2011: MySQL Replication
DOAG 2011: MySQL ReplicationDOAG 2011: MySQL Replication
DOAG 2011: MySQL ReplicationFromDual GmbH
 
MySQL Replication for Beginners
MySQL Replication for BeginnersMySQL Replication for Beginners
MySQL Replication for BeginnersFromDual GmbH
 
DOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningDOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningFromDual GmbH
 
DOAG 2010: MySQL Architekturen für Oracle DBA's
DOAG 2010: MySQL Architekturen für Oracle DBA'sDOAG 2010: MySQL Architekturen für Oracle DBA's
DOAG 2010: MySQL Architekturen für Oracle DBA'sFromDual GmbH
 
FROSCON 2011: MySQL Replication
FROSCON 2011: MySQL ReplicationFROSCON 2011: MySQL Replication
FROSCON 2011: MySQL ReplicationFromDual GmbH
 
FROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance TuningFROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance TuningFromDual GmbH
 
Internet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLInternet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLFromDual GmbH
 
DAOG SIG: HA Architekturen mit MySQL
DAOG SIG: HA Architekturen mit MySQLDAOG SIG: HA Architekturen mit MySQL
DAOG SIG: HA Architekturen mit MySQLFromDual GmbH
 
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, BackupDOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, BackupFromDual GmbH
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenLenz Grimmer
 
MySQL HA and Security
MySQL HA and SecurityMySQL HA and Security
MySQL HA and SecurityFromDual GmbH
 
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQLInternet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQLFromDual GmbH
 
Microservices and Container Management with Mesosphere DC/OS
Microservices and Container Management with Mesosphere DC/OSMicroservices and Container Management with Mesosphere DC/OS
Microservices and Container Management with Mesosphere DC/OSRalf Ernst
 
Grundlagen postgresql
Grundlagen postgresqlGrundlagen postgresql
Grundlagen postgresqlinovex GmbH
 
MySQL Absicherung und Datensicherung
MySQL Absicherung und DatensicherungMySQL Absicherung und Datensicherung
MySQL Absicherung und DatensicherungLenz Grimmer
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability SolutionsFromDual GmbH
 

Tendances (20)

MySQL - New Features 5.6
MySQL - New Features 5.6MySQL - New Features 5.6
MySQL - New Features 5.6
 
MySQL Backup
MySQL BackupMySQL Backup
MySQL Backup
 
MySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerMySQL Performance Tuning für Entwickler
MySQL Performance Tuning für Entwickler
 
DOAG 2011: MySQL Replication
DOAG 2011: MySQL ReplicationDOAG 2011: MySQL Replication
DOAG 2011: MySQL Replication
 
MySQL Replication for Beginners
MySQL Replication for BeginnersMySQL Replication for Beginners
MySQL Replication for Beginners
 
DOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningDOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance Tuning
 
DOAG 2010: MySQL Architekturen für Oracle DBA's
DOAG 2010: MySQL Architekturen für Oracle DBA'sDOAG 2010: MySQL Architekturen für Oracle DBA's
DOAG 2010: MySQL Architekturen für Oracle DBA's
 
FROSCON 2011: MySQL Replication
FROSCON 2011: MySQL ReplicationFROSCON 2011: MySQL Replication
FROSCON 2011: MySQL Replication
 
FROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance TuningFROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance Tuning
 
Internet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLInternet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQL
 
DAOG SIG: HA Architekturen mit MySQL
DAOG SIG: HA Architekturen mit MySQLDAOG SIG: HA Architekturen mit MySQL
DAOG SIG: HA Architekturen mit MySQL
 
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, BackupDOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL Hochverfügbarkeitslösungen
 
MySQL HA and Security
MySQL HA and SecurityMySQL HA and Security
MySQL HA and Security
 
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQLInternet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
 
Microservices and Container Management with Mesosphere DC/OS
Microservices and Container Management with Mesosphere DC/OSMicroservices and Container Management with Mesosphere DC/OS
Microservices and Container Management with Mesosphere DC/OS
 
Hazelcast
HazelcastHazelcast
Hazelcast
 
Grundlagen postgresql
Grundlagen postgresqlGrundlagen postgresql
Grundlagen postgresql
 
MySQL Absicherung und Datensicherung
MySQL Absicherung und DatensicherungMySQL Absicherung und Datensicherung
MySQL Absicherung und Datensicherung
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 

En vedette

Regalito21 sept2011
Regalito21 sept2011 Regalito21 sept2011
Regalito21 sept2011 camillop
 
Einführung in Moodle 2.3
Einführung in Moodle 2.3Einführung in Moodle 2.3
Einführung in Moodle 2.3Johannes Maurek
 
Sichere Kommunikation: De-Mail für die Öffentliche Hand
Sichere Kommunikation: De-Mail für die Öffentliche HandSichere Kommunikation: De-Mail für die Öffentliche Hand
Sichere Kommunikation: De-Mail für die Öffentliche HandFrancotyp-Postalia GmbH
 
De-Mail: Verschluesselt, geschuetzt, nachweisbar
De-Mail: Verschluesselt, geschuetzt, nachweisbarDe-Mail: Verschluesselt, geschuetzt, nachweisbar
De-Mail: Verschluesselt, geschuetzt, nachweisbarFrancotyp-Postalia GmbH
 
Sistemas de est._hei-engel
Sistemas de est._hei-engelSistemas de est._hei-engel
Sistemas de est._hei-engelMiguel Reyes
 
Vision step1 projektpräsentation
Vision step1 projektpräsentationVision step1 projektpräsentation
Vision step1 projektpräsentationsymvaro
 
LA ORIENTACIÓN EN EDUCACIÓN INFANTIL
LA ORIENTACIÓN EN EDUCACIÓN INFANTILLA ORIENTACIÓN EN EDUCACIÓN INFANTIL
LA ORIENTACIÓN EN EDUCACIÓN INFANTILMiriamcaguana
 
Presentación estrategia
Presentación estrategiaPresentación estrategia
Presentación estrategiavinklums
 
Capitulo 8: El internet y el comercio electronico
Capitulo 8: El internet y el comercio electronicoCapitulo 8: El internet y el comercio electronico
Capitulo 8: El internet y el comercio electronicoJailyn Manjarrez
 
Photovoltaik: SOLON 230/07. SOLON-Qualität für alle Dächer.
Photovoltaik: SOLON 230/07.  SOLON-Qualität für alle Dächer.Photovoltaik: SOLON 230/07.  SOLON-Qualität für alle Dächer.
Photovoltaik: SOLON 230/07. SOLON-Qualität für alle Dächer.Solon
 
Solarenergie: SOLON SOLfixx. Photovoltaik-System für Flachdächer.
Solarenergie: SOLON SOLfixx. Photovoltaik-System für Flachdächer.Solarenergie: SOLON SOLfixx. Photovoltaik-System für Flachdächer.
Solarenergie: SOLON SOLfixx. Photovoltaik-System für Flachdächer.Solon
 
Adiccion a las redes sociales
Adiccion a las redes socialesAdiccion a las redes sociales
Adiccion a las redes socialesAdri Benavides
 
Jhon garrido power point.
Jhon garrido power point.Jhon garrido power point.
Jhon garrido power point.Jhon Garrido
 
Social Media - Im Spannungsfeld zwischen Kompetenz und Demenz
Social Media - Im Spannungsfeld zwischen Kompetenz und DemenzSocial Media - Im Spannungsfeld zwischen Kompetenz und Demenz
Social Media - Im Spannungsfeld zwischen Kompetenz und DemenzJohannes Maurek
 

En vedette (20)

Regalito21 sept2011
Regalito21 sept2011 Regalito21 sept2011
Regalito21 sept2011
 
Blog
BlogBlog
Blog
 
Einführung in Moodle 2.3
Einführung in Moodle 2.3Einführung in Moodle 2.3
Einführung in Moodle 2.3
 
Sichere Kommunikation: De-Mail für die Öffentliche Hand
Sichere Kommunikation: De-Mail für die Öffentliche HandSichere Kommunikation: De-Mail für die Öffentliche Hand
Sichere Kommunikation: De-Mail für die Öffentliche Hand
 
Hhss
HhssHhss
Hhss
 
De-Mail: Verschluesselt, geschuetzt, nachweisbar
De-Mail: Verschluesselt, geschuetzt, nachweisbarDe-Mail: Verschluesselt, geschuetzt, nachweisbar
De-Mail: Verschluesselt, geschuetzt, nachweisbar
 
Sistemas de est._hei-engel
Sistemas de est._hei-engelSistemas de est._hei-engel
Sistemas de est._hei-engel
 
Vision step1 projektpräsentation
Vision step1 projektpräsentationVision step1 projektpräsentation
Vision step1 projektpräsentation
 
Trabajo
TrabajoTrabajo
Trabajo
 
Lo de etica
Lo de eticaLo de etica
Lo de etica
 
LA ORIENTACIÓN EN EDUCACIÓN INFANTIL
LA ORIENTACIÓN EN EDUCACIÓN INFANTILLA ORIENTACIÓN EN EDUCACIÓN INFANTIL
LA ORIENTACIÓN EN EDUCACIÓN INFANTIL
 
Presentación estrategia
Presentación estrategiaPresentación estrategia
Presentación estrategia
 
virus informaticos marina
virus informaticos marinavirus informaticos marina
virus informaticos marina
 
Capitulo 8: El internet y el comercio electronico
Capitulo 8: El internet y el comercio electronicoCapitulo 8: El internet y el comercio electronico
Capitulo 8: El internet y el comercio electronico
 
Photovoltaik: SOLON 230/07. SOLON-Qualität für alle Dächer.
Photovoltaik: SOLON 230/07.  SOLON-Qualität für alle Dächer.Photovoltaik: SOLON 230/07.  SOLON-Qualität für alle Dächer.
Photovoltaik: SOLON 230/07. SOLON-Qualität für alle Dächer.
 
Solarenergie: SOLON SOLfixx. Photovoltaik-System für Flachdächer.
Solarenergie: SOLON SOLfixx. Photovoltaik-System für Flachdächer.Solarenergie: SOLON SOLfixx. Photovoltaik-System für Flachdächer.
Solarenergie: SOLON SOLfixx. Photovoltaik-System für Flachdächer.
 
Adiccion a las redes sociales
Adiccion a las redes socialesAdiccion a las redes sociales
Adiccion a las redes sociales
 
Blog
BlogBlog
Blog
 
Jhon garrido power point.
Jhon garrido power point.Jhon garrido power point.
Jhon garrido power point.
 
Social Media - Im Spannungsfeld zwischen Kompetenz und Demenz
Social Media - Im Spannungsfeld zwischen Kompetenz und DemenzSocial Media - Im Spannungsfeld zwischen Kompetenz und Demenz
Social Media - Im Spannungsfeld zwischen Kompetenz und Demenz
 

Similaire à Der Datenbank-Backup ist gemacht - was nun?

MySQL Security SLAC 2015
MySQL Security SLAC 2015MySQL Security SLAC 2015
MySQL Security SLAC 2015FromDual GmbH
 
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeasSystem-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeasSpeedPartner GmbH
 
Disk und Tape treffen auf Cloud - Launch-Webinar NovaBACKUP DataCenter 5.5
Disk und Tape treffen auf Cloud - Launch-Webinar NovaBACKUP DataCenter 5.5Disk und Tape treffen auf Cloud - Launch-Webinar NovaBACKUP DataCenter 5.5
Disk und Tape treffen auf Cloud - Launch-Webinar NovaBACKUP DataCenter 5.5NovaStor GmbH
 
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeasSystem-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeasSpeedPartner GmbH
 
C1 Adcon Backup For Domino
C1 Adcon Backup For DominoC1 Adcon Backup For Domino
C1 Adcon Backup For DominoAndreas Schulte
 
üBersicht 1
üBersicht 1üBersicht 1
üBersicht 1empalis
 
Bacula Workshop - Teil 2
Bacula Workshop - Teil 2Bacula Workshop - Teil 2
Bacula Workshop - Teil 2inovex GmbH
 
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeasSystem-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeasSpeedPartner GmbH
 
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machenDomino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machenAndreas Ponte
 
Oracle Backup & Recovery für Einsteiger
Oracle Backup & Recovery für EinsteigerOracle Backup & Recovery für Einsteiger
Oracle Backup & Recovery für EinsteigerMarkus Flechtner
 
Wiederherstellung von Daten im Rechenzentrum - OPITZ CONSULTING - Andreas Rei...
Wiederherstellung von Daten im Rechenzentrum - OPITZ CONSULTING - Andreas Rei...Wiederherstellung von Daten im Rechenzentrum - OPITZ CONSULTING - Andreas Rei...
Wiederherstellung von Daten im Rechenzentrum - OPITZ CONSULTING - Andreas Rei...OPITZ CONSULTING Deutschland
 
Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)
Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)
Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)data://disrupted®
 
Drupal 7 - Media Modul (Version 2.x-dev)
Drupal 7 - Media Modul (Version 2.x-dev)Drupal 7 - Media Modul (Version 2.x-dev)
Drupal 7 - Media Modul (Version 2.x-dev)Steffen Rühlmann
 
Der oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerterDer oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerterGunther Pippèrr
 
Domino 9 - Was ist neu?
Domino 9 - Was ist neu?Domino 9 - Was ist neu?
Domino 9 - Was ist neu?Ralph Belfiore
 
Sql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenSql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenCommunardo GmbH
 
Sql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSharepointUGDD
 

Similaire à Der Datenbank-Backup ist gemacht - was nun? (20)

MySQL Security
MySQL SecurityMySQL Security
MySQL Security
 
MySQL Security SLAC 2015
MySQL Security SLAC 2015MySQL Security SLAC 2015
MySQL Security SLAC 2015
 
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeasSystem-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
 
Disk und Tape treffen auf Cloud - Launch-Webinar NovaBACKUP DataCenter 5.5
Disk und Tape treffen auf Cloud - Launch-Webinar NovaBACKUP DataCenter 5.5Disk und Tape treffen auf Cloud - Launch-Webinar NovaBACKUP DataCenter 5.5
Disk und Tape treffen auf Cloud - Launch-Webinar NovaBACKUP DataCenter 5.5
 
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeasSystem-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
 
C1 Adcon Backup For Domino
C1 Adcon Backup For DominoC1 Adcon Backup For Domino
C1 Adcon Backup For Domino
 
üBersicht 1
üBersicht 1üBersicht 1
üBersicht 1
 
Digicomp sqlday admin
Digicomp sqlday adminDigicomp sqlday admin
Digicomp sqlday admin
 
Bacula Workshop - Teil 2
Bacula Workshop - Teil 2Bacula Workshop - Teil 2
Bacula Workshop - Teil 2
 
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeasSystem-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
 
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machenDomino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
Domino 9 - jetzt mit integrierten Features, die das Admin-Leben leichter machen
 
Oracle Backup & Recovery für Einsteiger
Oracle Backup & Recovery für EinsteigerOracle Backup & Recovery für Einsteiger
Oracle Backup & Recovery für Einsteiger
 
Wiederherstellung von Daten im Rechenzentrum - OPITZ CONSULTING - Andreas Rei...
Wiederherstellung von Daten im Rechenzentrum - OPITZ CONSULTING - Andreas Rei...Wiederherstellung von Daten im Rechenzentrum - OPITZ CONSULTING - Andreas Rei...
Wiederherstellung von Daten im Rechenzentrum - OPITZ CONSULTING - Andreas Rei...
 
Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)
Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)
Hochleistungsspeichersysteme für Datenanalyse an der TU Dresden (Michael Kluge)
 
Drupal 7 - Media Modul (Version 2.x-dev)
Drupal 7 - Media Modul (Version 2.x-dev)Drupal 7 - Media Modul (Version 2.x-dev)
Drupal 7 - Media Modul (Version 2.x-dev)
 
Der oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerterDer oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerter
 
Domino 9 - Was ist neu?
Domino 9 - Was ist neu?Domino 9 - Was ist neu?
Domino 9 - Was ist neu?
 
Froscon 2012 DWH
Froscon 2012 DWHFroscon 2012 DWH
Froscon 2012 DWH
 
Sql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenSql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint Administratoren
 
Sql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point Admins
 

Plus de FromDual GmbH

MariaDB/MySQL pitfalls - And how to come out again...
MariaDB/MySQL pitfalls - And how to come out again...MariaDB/MySQL pitfalls - And how to come out again...
MariaDB/MySQL pitfalls - And how to come out again...FromDual GmbH
 
MariaDB / MySQL tripping hazard and how to get out again?
MariaDB / MySQL tripping hazard and how to get out again?MariaDB / MySQL tripping hazard and how to get out again?
MariaDB / MySQL tripping hazard and how to get out again?FromDual GmbH
 
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration WorkshopPXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration WorkshopFromDual GmbH
 
IT Tage 2019 MariaDB 10.4 New Features
IT Tage 2019 MariaDB 10.4 New FeaturesIT Tage 2019 MariaDB 10.4 New Features
IT Tage 2019 MariaDB 10.4 New FeaturesFromDual GmbH
 
MariaDB 10.4 New Features
MariaDB 10.4 New FeaturesMariaDB 10.4 New Features
MariaDB 10.4 New FeaturesFromDual GmbH
 
MariaDB 10.2 New Features
MariaDB 10.2 New FeaturesMariaDB 10.2 New Features
MariaDB 10.2 New FeaturesFromDual GmbH
 
PERFORMANCE_SCHEMA and sys schema
PERFORMANCE_SCHEMA and sys schemaPERFORMANCE_SCHEMA and sys schema
PERFORMANCE_SCHEMA and sys schemaFromDual GmbH
 
MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?FromDual GmbH
 
Reading MySQL fingerprints
Reading MySQL fingerprintsReading MySQL fingerprints
Reading MySQL fingerprintsFromDual GmbH
 
High-availability with Galera Cluster for MySQL
High-availability with Galera Cluster for MySQLHigh-availability with Galera Cluster for MySQL
High-availability with Galera Cluster for MySQLFromDual GmbH
 
MySQL always-up with Galera Cluster
MySQL always-up with Galera ClusterMySQL always-up with Galera Cluster
MySQL always-up with Galera ClusterFromDual GmbH
 
MySQL Indexierung CeBIT 2014
MySQL Indexierung CeBIT 2014MySQL Indexierung CeBIT 2014
MySQL Indexierung CeBIT 2014FromDual GmbH
 
Need for Speed: Mysql indexing
Need for Speed: Mysql indexingNeed for Speed: Mysql indexing
Need for Speed: Mysql indexingFromDual GmbH
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAsFromDual GmbH
 
MySQL Performance Tuning Variables
MySQL Performance Tuning VariablesMySQL Performance Tuning Variables
MySQL Performance Tuning VariablesFromDual GmbH
 

Plus de FromDual GmbH (16)

MariaDB/MySQL pitfalls - And how to come out again...
MariaDB/MySQL pitfalls - And how to come out again...MariaDB/MySQL pitfalls - And how to come out again...
MariaDB/MySQL pitfalls - And how to come out again...
 
MariaDB / MySQL tripping hazard and how to get out again?
MariaDB / MySQL tripping hazard and how to get out again?MariaDB / MySQL tripping hazard and how to get out again?
MariaDB / MySQL tripping hazard and how to get out again?
 
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration WorkshopPXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
 
IT Tage 2019 MariaDB 10.4 New Features
IT Tage 2019 MariaDB 10.4 New FeaturesIT Tage 2019 MariaDB 10.4 New Features
IT Tage 2019 MariaDB 10.4 New Features
 
MariaDB 10.4 New Features
MariaDB 10.4 New FeaturesMariaDB 10.4 New Features
MariaDB 10.4 New Features
 
MariaDB 10.2 New Features
MariaDB 10.2 New FeaturesMariaDB 10.2 New Features
MariaDB 10.2 New Features
 
PERFORMANCE_SCHEMA and sys schema
PERFORMANCE_SCHEMA and sys schemaPERFORMANCE_SCHEMA and sys schema
PERFORMANCE_SCHEMA and sys schema
 
MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?
 
Reading MySQL fingerprints
Reading MySQL fingerprintsReading MySQL fingerprints
Reading MySQL fingerprints
 
High-availability with Galera Cluster for MySQL
High-availability with Galera Cluster for MySQLHigh-availability with Galera Cluster for MySQL
High-availability with Galera Cluster for MySQL
 
MySQL always-up with Galera Cluster
MySQL always-up with Galera ClusterMySQL always-up with Galera Cluster
MySQL always-up with Galera Cluster
 
HA with Galera
HA with GaleraHA with Galera
HA with Galera
 
MySQL Indexierung CeBIT 2014
MySQL Indexierung CeBIT 2014MySQL Indexierung CeBIT 2014
MySQL Indexierung CeBIT 2014
 
Need for Speed: Mysql indexing
Need for Speed: Mysql indexingNeed for Speed: Mysql indexing
Need for Speed: Mysql indexing
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
 
MySQL Performance Tuning Variables
MySQL Performance Tuning VariablesMySQL Performance Tuning Variables
MySQL Performance Tuning Variables
 

Der Datenbank-Backup ist gemacht - was nun?

  • 1. www.fromdual.com 1 / 52 Der Datenbank-Backup ist gemacht - was nun ? DOAG-Konferenz 2015, Nürnberg Jörg Brühe Senior Support Engineer, FromDual GmbH joerg.bruehe@fromdual.com
  • 2. www.fromdual.com 2 / 52 FromDual GmbH Support remote-DBA Schulung Beratung
  • 3. www.fromdual.com 3 / 52 Zur Person ● Entwicklung verteiltes SQL-DBMS: Unix-Portierung, Anschluss Archivierungs-Tools (ADSM, NetWorker) ● MySQL Build Team: Release-Builds inkl. Tests, Paketierung, Skripte, ... ● DBA: MySQL für eine Web-Plattform (Master-Master-Replikation) ● Support-Ingenieur (FromDual): Support + Remote-DBA für MySQL / MariaDB / Percona mit oder ohne Galera Cluster
  • 4. www.fromdual.com 4 / 52 Inhalt Datenbank-Backup – welcher Zweck? Tauglichkeit des Backup, Verifikation Echtdaten vollständig nutzen Dem Datenschutz genügen Material für die Entwicklung Automatisierung
  • 5. www.fromdual.com 5 / 52 Datenbank-Backup – welcher Zweck? Tauglichkeit des Backup, Verifikation Echtdaten vollständig nutzen Dem Datenschutz genügen Material für die Entwicklung Automatisierung
  • 6. www.fromdual.com 6 / 52 Zweck des DB-Backup Gilt für beliebige Datenbanksysteme: ● Firma / Mensch ist auf Daten angewiesen (finanziell, juristisch oder emotional) ● Datenverlust kann Betrieb verhindern ● „Wenn die Daten nicht gesichert wurden, dann sind sie auch nicht wichtig“
  • 7. www.fromdual.com 7 / 52 Schadensursachen z.B. ... ● Hardware-Defekte Laufwerk, Controller, Netzteil, ... ● Software-Defekte DBMS, Betriebssystem, Anwendung, ... ● Fehlbedienung / Sabotage delete from T; commit;  / rm ­fr / ● Katastrophe Brand, Hochwasser, Unfall, ...
  • 8. www.fromdual.com 8 / 52 Risiko-Annahmen Berücksichtigte Ereignisse ● Individuelle Entscheidung ● Abhängig vom Geschäftszweck ● Abhängig von Technik und Lage Setzen Anforderungen an Backup z.B. Offsite-Speicherung nötig ja/nein?
  • 9. www.fromdual.com 9 / 52 Datenbank-Backup – welcher Zweck? Tauglichkeit des Backup, Verifikation Echtdaten vollständig nutzen Dem Datenschutz genügen Material für die Entwicklung Automatisierung
  • 10. www.fromdual.com 10 / 52 Weitere Einfluss-Faktoren Individuelle Prüfung nötig: ● Wie sind die Abläufe? (z.B. Papier, Telefon oder Online-Änderungen?) ● Welche technischen, kommerziellen und juristischen Randbedingungen? (z.B. Replikation von Daten und Log?) Setzen Anforderungen an Backup (z.B. Point-in-Time-Recovery gefordert ja/nein? Dafür separate Log-Sicherung nötig ja/nein?)
  • 11. www.fromdual.com 11 / 52 Backup-Strategie Ergibt sich aus technischen Möglichkeiten, Risiko-Annahmen, anderen Einfluss-Faktoren und Kosten: ● Art, Umfang, Häufigkeit (physisch vs logisch; mit/ohne Log; ...) ● Benutztes Tool ● Ablage / Speicherung ● Aufbewahrungs-Dauer
  • 12. www.fromdual.com 12 / 52 Zweck des DB-Backup Datenverlust verhindern ● ... durch Restore (Recovery) ● ... gemäß Anforderungen ● ... bei allen (betrachteten) Risiken Backup hat nur dann seinen Zweck erfüllt, wenn Restore (Recovery) erfolgreich ist => Prüfkriterium des Backup
  • 13. www.fromdual.com 13 / 52 Schrödingers Backup „Der Zustand jedes Backup ist solange unbestimmt, bis er bei einem Restore eingesetzt wird.“ (u.a. Karoly Nagy, Vortrag auf „Percona Live Europe 2015“)
  • 14. www.fromdual.com 14 / 52 Risiken für Recovery z.B. ... ● Backup nicht für Recovery tauglich ● Defekter Backup erzeugt (HW, SW, Netz, Platte voll, ...) ● Backup nach Ablage defekt / unerreichbar ● Recovery-Prozedur fehlerhaft / unpassend ● Recovery scheitert an System-Zustand (HW, SW, Netz, Platte voll, ...)
  • 15. www.fromdual.com 15 / 52 Verifikation – wie? ● Nur erfolgreiche Recovery beweist grundsätzliche Tauglichkeit der Techniken von Backup und Recovery ● Kontrolle muss Routine-Aktion sein ● Kein Limit nach oben: Prüfung von Schema, Satz-Zahlen, Inhalten, Benutzer, Privilegien, ... ist möglich
  • 16. www.fromdual.com 16 / 52 Verifikation – wo? ● Produktiv-Backup enthält sensible Daten ● Produktive DB darf nicht betroffen sein Nötig: Eigenes Recovery-System in Produktion, das für jede Produktiv-DB hinreichend groß ist
  • 17. www.fromdual.com 17 / 52 Separate Recovery-Instanz Backup Recovery- Instanz Produktions- Instanz Restore
  • 18. www.fromdual.com 18 / 52 Datenbank-Backup – welcher Zweck? Tauglichkeit des Backup, Verifikation Echtdaten vollständig nutzen Dem Datenschutz genügen Material für die Entwicklung Automatisierung
  • 19. www.fromdual.com 19 / 52 Zustand nach Recovery-Test ● Produktiv-DB ● mit Echt-Daten (aktuell) ● im laufenden Betrieb (Zugriffe, Last, laufende Änderungen) ● Recovery-DB ● mit Echt-Daten (vom Backup-Zeitpunkt) ● auf separatem System (Leerlauf, stabil)
  • 20. www.fromdual.com 20 / 52 Kopie der Echt-Daten ● ... unterliegt dem Datenschutz ● ... taugt für Statistik, Abrechnung, ... ● ... erlaubt zuverlässige Messung von z.B. Schema-Änderungen („create index“, ...) (ggfs. HW-Unterschiede beachten)
  • 21. www.fromdual.com 21 / 52 Nutzungs-Beispiele (1) ● Abrechnung der letzten Periode (Woche, Monat, ...) ● Statistik / Report, besonders wenn ohne Index-Unterstützung ● Kontrolle auf Fehlerfreiheit mysqldump > /dev/null für vollständiges Lesen ● ...
  • 22. www.fromdual.com 22 / 52 Nutzungs-Beispiele (2) ● Export in anderem Format, z.B. ● CSV für Spreadsheet ● Mysqldump (Klartext) für Transfer ● ... Jede nur-lesende nicht-sofortige Nutzung der Echtdaten kann auf den Recovery-Server verlagert werden.
  • 23. www.fromdual.com 23 / 52 Datenbank-Backup – welcher Zweck? Tauglichkeit des Backup, Verifikation Echtdaten vollständig nutzen Dem Datenschutz genügen Material für die Entwicklung Automatisierung
  • 24. www.fromdual.com 24 / 52 Stichworte zum Datenschutz ● Personenbezogene Daten z.B. Name, Adresse, Telefon, E-Mail, Konto ● Zweckbindung der Daten ● Datensparsamkeit ● Fristen für Aufbewahrung / Löschung ● Abstimmung mit Datenschutz-Beauftragtem ● Im Zweifel: juristischen Rat holen
  • 25. www.fromdual.com 25 / 52 Anonymisieren Restore-Instanz hat SQL verfügbar: ● UPDATE kunde SET name = 'Mustermann',     vorname = 'Max' WHERE anrede = 'Herr'; ● UPDATE kontakte SET mail = concat( md5(mail), '@provider.tld');
  • 26. www.fromdual.com 26 / 52 Eigeninitiative ● Pessimistische Annahme: Die anderen vergessen den Datzenschutz! ● Ausländische Kollegen ... ● Als DBA selbst das Schema prüfen, bei Zweifeln nachfragen ● Datenschutz-Belehrung beachten
  • 27. www.fromdual.com 27 / 52 Hoffentlich überflüssig ● Langfristiges (Firmen-) Interesse ● vgl. aktuelle Skandale und Bußgelder ● Zivilcourage !
  • 28. www.fromdual.com 28 / 52 Datenbank-Backup – welcher Zweck? Tauglichkeit des Backup, Verifikation Echtdaten vollständig nutzen Dem Datenschutz genügen Material für die Entwicklung Automatisierung
  • 29. www.fromdual.com 29 / 52 Entwickler-Wünsche ● Analyse der Feature-Nutzung ● Test mit Echt-Daten Volumen, Werte-Verteilung ● Daten-Volumen für Tuning „Explain“ mit/ohne Index ● Schema-Änderung testen „Create Index“, „Alter Table“
  • 30. www.fromdual.com 30 / 52 Probleme / Konflikte ● Datenschutz-Recht: ● Gesetzliche Verpflichtung ● Zweckbindung ● Löschung ● Datenschutz-Erklärung: ● Eigene Zusagen an Nutzer ● Datenschutz-Belehrung: ● Vertraulichkeit, ...
  • 31. www.fromdual.com 31 / 52 Ausweg / Lösung ● In Recovery-Instanz ● löschen ● anonymisieren ● nur selektiv exportieren ● Export ablehnen ● Entwickler-Skript annehmen und als DBA kontrolliert auf Recovery-Instanz ausführen
  • 32. www.fromdual.com 32 / 52 Export zur Entwicklung Backup Produktions- Instanz Restore Entwicklungs- Instanz update; delete; – anonym commit; Export Import
  • 33. www.fromdual.com 33 / 52 Datenbank-Backup – welcher Zweck? Tauglichkeit des Backup, Verifikation Echtdaten vollständig nutzen Dem Datenschutz genügen Material für die Entwicklung Automatisierung
  • 34. www.fromdual.com 34 / 52 Vorbemerkung ● Beispiele / Code für MySQL, bitte selbst an Firmen-Regeln anpassen und für anderes DBMS übertragen ● $CONNECT = Verbindungs-Information -u USER -pPASSWORD -h HOST ● $DB = ausgewählte Datenbank (Schema)
  • 35. www.fromdual.com 35 / 52 Automatisierung: Prinzipien ● Keine manuelle Ausführung von Routine- Aufgaben ● Erfolgs-Kontrolle im Skript enthalten, manuell nur Stichproben ● Mail-Alarm bei Fehler ● Keine manuelle Konfiguration / Anpassung, Skript erstellt Listen selbst
  • 36. www.fromdual.com 36 / 52 Automatisierung: Teile ● Backup (lokale MySQL-Instanz) ● Purge Log ● Restore (Sicherung vorgegeben) ● Restore-Wrapper (automatisierte Auswahl) ● DBen/Schemata im aktuellen Restore ● User/Passwort für DB/Schema ● Anonymisierungs-Skript für DB/Schema
  • 37. www.fromdual.com 37 / 52 Skript: Backup (1) ● Sichert DB-Instanz gemäß Backup-Strategie ● Generiert Namen mit Datum/Uhrzeit ● Löscht überflüssige alte Backups ● Aufruf durch cron ● Separat: Monitoring für Speicherplatz
  • 38. www.fromdual.com 38 / 52 Skript: Backup (2) ● Hilfreich: Tabelle „backup_history“ mit Timestamp und Exit-Code ● „MySQL Enterprise Backup“ führt sie ● Auf Slave repliziert? MEB 3.9 ja, 3.10 nein Oracle SR 3-9497158271 ● Welche Instanz(en) sichern bei Replikation?
  • 39. www.fromdual.com 39 / 52 Skript: Purge Log (1) Bis zum vorletzten erfolgreichen Backup löschen: TIMESTAMP=`echo   "select start_time from       mysql.backup_history    where exit_state = 'SUCCESS'    order by start_time desc limit 1, 1 ;" | mysql $CONNECT | tail ­n1` echo    "PURGE MASTER LOGS BEFORE '$TIMESTAMP';"  | mysql $CONNECT
  • 40. www.fromdual.com 40 / 52 Skript: Purge Log (2) Ohne Tabelle – fest 26 Stunden zurück: TIMESTAMP=`echo   "select subtime( now(), '26:00:00')" | mysql $CONNECT | tail ­n1`
  • 41. www.fromdual.com 41 / 52 Skript: Restore ● Name der Sicherung wird als Parameter übergeben ● Rückfrage, falls nicht auf Restore-Maschine ● Löscht alle vorhandenen DB-Inhalte ● Lädt Sicherung ● Startet DB-Server
  • 42. www.fromdual.com 42 / 52 Skript: Restore-Wrapper (1) ● Sorgt dafür, dass die Sicherungen aller DB- Instanzen der Test-Recovery unterzogen werden ● Läuft nur auf Restore-Host ● Optionaler Parameter: Hostname ● Gegeben: Name des letzten Backup bestimmen ● Sonst: alle Instanzen reihum ● Ruft Restore-Skript mit Sicherungsname
  • 43. www.fromdual.com 43 / 52 Skript: Restore-Wrapper (2) HOSTLIST=( `ls ­d ... |      grep ­iv ...` )  NUMHOSTS=${#HOSTLIST[@]}    # count DAY=`date '+%j'`      # day of year INDEX=`expr $DAY % $NUMHOSTS` BACKUPDIR=${HOSTLIST[$INDEX]} TIMESTAMP=`ls $BACKUPDIR |      grep '^20[1­9][0­9]' | tail ­1` Round-Robin über alle Hostnamen:
  • 44. www.fromdual.com 44 / 52 Code: Welche DB/Schema? DBLIST=`cd /DISK ; find * ­type d` for DB in $DBLIST do     if [ "$DB" = "information_schema"       ­o "$DB" = "mysql"       ­o "$DB" = "performance_schema" ]     then         echo "Ignoring database $DB"         continue     fi     ... # nächste Folie done
  • 45. www.fromdual.com 45 / 52 Code: User/Passwort zu DB Annahme: Benutzer existiert schon in der DB und hat die nötigen Privilegien für Anonymisierung Sonst: Nach Restore erzeugen DB_S=`echo $DB |       tr '[:upper:]' '[:lower:]'`    # 9 Zeichen von DB für User(16) DB_9=`echo ${DB_S} |       sed 's/(.........).*/1/'` DB_USR="${DB_9}_anonym" DB_PWD="${DB_S}#geheim#"
  • 46. www.fromdual.com 46 / 52 Code: DB behandeln? DB ohne Anonymisierungs-Nutzer wird nicht behandelt mysql ­u $DB_USR ­p$DB_PWD ­e 'show grants;' RC=$? if [ $RC ­ne 0 ] then     echo "'mysql ­u $DB_USR ­p$DB_PWD'            scheitert mit Code $RC"     echo "Kein Check / Export für diese DB."     continue fi
  • 47. www.fromdual.com 47 / 52 Code: Skript suchen for ACTION in pruef anonym export ; do    BASE=/pfad/zu/script­${ACTION}­${DB_S}    SCRIPT=${BASE}.sh    if [ ­x $SCRIPT ] ; then       bash $SCRIPT ­U $DB_USR ­P $DB_PWD ­N $DB_S       RC=$?       echo "$SCRIPT terminated with exit code $RC"    fi    SCRIPT=${BASE}.sql    if [ ­r $SCRIPT ] ; then       mysql ­u $DB_USR ­p$DB_PWD $DB_S < $SCRIPT       RC=$?       echo "$SCRIPT terminated with exit code $RC"    fi done
  • 48. www.fromdual.com 48 / 52 Skript: Anonymisieren (1) Überflüssige Tabellen leeren: echo "use information_schema ;   select TABLE_NAME from TABLES   where TABLE_SCHEMA = '$DB' and   TABLE_TYPE = 'BASE TABLE' and   TABLE_NAME not in ('t1', 't2', 't3') ;" |  mysql $CONNECT ­­skip­column­names |  while read TAB do     echo "truncate table $TAB ;" done | mysql $CONNECT $DB
  • 49. www.fromdual.com 49 / 52 Skript: Anonymisieren (2) Personenbezogene Daten: mysql $CONNECT $DB <<'eof' UPDATE t1 SET   payment = 'xxx', birth = '1970­01­01',   fname = 'Hans', lname = 'Mustermann',   email = 'mustermail@muster.comp',   ... ; UPDATE t2 SET   request = NULL, response = NULL; eof
  • 50. www.fromdual.com 50 / 52 Code: „select count(*)“ # Get a list of all tables, feed it into a loop # that generates "select count(*)" statements, # pipe these to another client call for execution mysql $CONNECT ­­silent ­­skip­column­names  ­e "select TABLE_NAME from        information_schema.TABLES      where TABLE_SCHEMA = '$DB' and        TABLE_TYPE = 'BASE TABLE' order by 1" |  while read TN do   echo "select count(*) as '$TN' from $DB.$TN ;" done | mysql $CONNECT ­­table $DB
  • 51. www.fromdual.com 51 / 52 Code: „show create table“ # Get a list of all tables, feed it into a loop # that generates "show create table" statements, # pipe these to another client call for execution echo 'show tables ;' |  mysql $CONNECT $DB | tail ­n +2 | sort |  while read TAB do     echo "show create table $TAB G" done | mysql $CONNECT $DB
  • 52. www.fromdual.com 52 / 52 Q & A Fragen ? Diskussion? Wir haben Zeit für ein persönliches Gespräch ... ● FromDual bietet neutral und unabhängig: ● Beratung ● Remote-DBA ● Support für MySQL, Galera, Percona Server und MariaDB ● Schulung www.fromdual.com/presentations