Migrationsskript / Dokumentation erstellt um ca. 200 Oracle 11g Datenbanken nach Oracle 12c zu migrieren
Migration der ersten 10 Datenbanken
Aufspaltung in einzelne Projekte
Betreuung des indischen Betriebsteams bei der Migration auf englisch
Verwendung von Container und Pluggable Databases
Oracle Enterprise User Security (EUS) für Verwaltung personalisierter Nutzer
Transparent Data Encryption (TDE), Verschlüsselung der Backups
Verwendung von Wallets
DB-Vault und Realms (Trennung von Infrastruktur-DBA und Applikations-DBA) (Datenbank-Administrator kann die Applikationsdaten nicht einsehen)
Applikations-Tuning, SQL-Tuning, Optimierung des Tabellen-Designs (Einfügen einer temporären Tabelle beschleunigte ein wichtiges Statement um den Faktor 10.)
Verwendung von Oracle Enterprise User Security um den Active Directory- Nutzern in der Datenbank einen Shared User zuzuweisen
Dataguard für Hochverfügbarkeit, Ausfallsicherheit
InMemory DB
Problem: Statement-Ausführung dauert zu lange
Lösung:
Analyse des Tabellen-Designs und des Ausführungsplan
Erstellen einer temporären Tabelle und Verwendung dieser in der Applikation beschleunigt das Statement um den Faktor 10
Problem: Lizenz-Kosten der Oracle Middleware (iAS, ESB, BPEL)
Lösung: Ersetzen der Oracle Middleware durch RedHat-Fuse/JBoss Middleware
Problem: Kosten der Rechner
Lösung: Migration der Datenbanken von Sun Solaris nach RedHat Linux
Problem: Operator-Fehler, gelöschte online Redologs einer Datenbank
Lösung: Gezielte Backup und Recovery-Befehle ermöglichten den Weiterbetrieb dieser Datenbank ohne Datenverlust
Problem: hohe Zahl von "direct write" - Wait Events
Lösung: Analyse der Datenbank und Änderung des Speicherverhaltens der betroffenen LOBs von nocache auf cache
Problem: Testperformance zu langsam
Lösung: Einsatz von Oracle Flashback erhöhte den Testdurchsatz auf das Fünffache
Problem: Anonymisierung von Werten in einer 100-Mio-Zeilen Tabelle dauert zu lange oder überschreitet die Rollback-Segment-Größe
Lösung: Optimierung der zu löschenden Zeilen pro Statement-Durchlauf
Problem: Zugriff auf eine Tabelle dauert trotz Indexverwendung zu lange
Lösung: Analyse des Ausführungsplans und Unterdrückung der Indexnutzung beschleunigte die Ausführungszeit von 40 Minuten auf 5 Minuten
Problem: Das folgende Statement sollte eine Spalte zu '0' anonymisieren: update big_table set sp2='0' where sp2!='0'; Es führte aber zu einer Endlos-Schleife, wobei sp2 vom Datentyp raw ist.
Lösung: Statement umschreiben in update big_table set sp2='00' where sp2!='00';