SlideShare a Scribd company logo
1 of 31
Download to read offline
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Our way to 19c
18.11.2020 - Torsten Kleiber
Our way to 19cOur way to 19c



1
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Agenda
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Agenda
Was macht unser Unternehmen?
Was mache ich?
Im Anfang war das Wort … Projektskizze
Starten! Womit noch mal gleich?
"Vorstudie"-ren geht über Probieren
Mühsam ernährt sich das Projekt-Hörnchen
Früh übt sich … lange
Was länger währt wird unendlich gut
To Unicode or Not to Unicode
Offene Punkte
Fazit
Q&A
Our way to 19cOur way to 19c



2
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Was macht unser Unternehmen?
Our way to 19cOur way to 19c



3
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Was mache ich?
Torsten Kleiber
So ware-Architekt, DevOps
Kreditpla orm
Seit 21 Jahren bei der IKB
24 Jahre Erfahrung
PL/SQL
Forms & Reports
ADF
SOA Mediator
Architektur & Infrastruktur
Fusion Middleware
Development Tools
Development Lifecycle
seit dem Projekt ein halber DBA
Kontakt
Our way to 19cOur way to 19c



4
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Im Anfang war das Wort … Projektskizze
Ausgangslage 2016:
Premier Support für 11.2 ist seit 1.1.2015 beendet
Extended Support nur bis 31.5.2017 kostenfrei
Interner Provider wünscht Datenbank-Update
Bisher: Eine Bank ist kein So warehaus!
November 2016: Budgetplanung für 2017
Ab 31.5.2017 Kosten für den Extended Support
Diese kann man reduzieren und ROI ausrechnen
Und nebenbei auch das Risiko minimieren
Teamleiter erstellt Projektskizze für Migra on nach 12c:
KreDa & in Datenbank "konsolidierte" Anwendungen
5 TEUR / 200 MT intern / 3 Monate / 1 Monat Frozen Zone
Our way to 19cOur way to 19c



5
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Starten! Womit noch mal gleich?
2017: Projekt ist genehmigt, Übergabe an Projektleiter
Analyse Lifecycle Server: End of Life → neue Server!
Analyse Zer fizierungen zw. Datenbank, OS, So ware:
11g < / 12c >= SLES 12 → neue Server, kein Inplace Upgrade!
3rd Party SW: teilweise nicht upgradefähig → Trennung!
Analyse Dependencies
4 Server, 15 x 11.2 Instanzen (9 KreDa), 2 x 12.1 Instanzen
11.2 Instanzen teilen sich das Oracle-Home (Shared Services)
ca. 20 weitere Anwendungen aus 5 Teams
diverse Schemas, die nicht direkt zugeordnet werden können
Hilfe!!!
Our way to 19cOur way to 19c



6
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
"Vorstudie"-ren geht über Probieren
Vorarbeiten leisten
Abschaltungen verringern Analyse- und Migra ons-Umfang
Festlegung Umfang und Planung für eigentliche Migra on
passenden Zeitpunkt für Migra onen definieren
Our way to 19cOur way to 19c



7.1
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Anwendungen und Datenbanken iterativ bereinigen
Abschaltungen wegen Restrukturierung der Bank
Auslagerung von Datensicherungen auf Band
Migra onen nach MS SQL Server
verbleibende Anwendungen auf Alt-Umgebung
nicht mehr benö gte Schemas/User sperren und später löschen
nicht zugeordnete Rollen löschen
Tablespaces ohne Objekte
Datenbankdateien ohne Zugriff
Datenbankobjekte, die nicht in VCS exis eren
tnsnames.ora bereinigt
Our way to 19cOur way to 19c



7.2
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
01.09.2017: Verkauf Interner Provider
Our way to 19cOur way to 19c



7.3
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Architekturauswahl
5 Alterna ven:
1. Shared Server für alle Applika onen wie bisher
2. dedizierte Datenbank-Instanz für KreDa auf Shared Server
3. dedizierter Datenbank-Server für KreDa, Rest Shared Server
4. dedizierter Datenbank-Server für KreDa, Rest Downscaled
Shared Server
5. dedizierte Datenbank-Server für KreDa & Marktdaten
a. incl. Unicode Migra on
b. Konsolidierung KreDa Instanzen wegen Unicode
c. Rest dedizierte Instanzen auf Shared Server
Our way to 19cOur way to 19c



7.4
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Projektantrag für Migration nach Xc
5 zu migrierende Anwendungen, KreDa ist die komplexeste
Zielversion jeweils aktuelle verfügbare und zer fizierte Version
Ablösen der Server, die den Life Cycle überschri en haben
Umstellung des Zeichensatzes auf Unicode, wo möglich
Zusammenfassung von Datenbanken, wenn möglich
Architekturanpassungen z.B. wegen Revision und No alltest
164 TEUR / 395 MT intern / 9 Monate / 2 Monate Frozen Zone
Our way to 19cOur way to 19c



7.5
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Mühsam ernährt sich das Projekt-Hörnchen
April 2018: Projekt ist genehmigt und gestartet
Projektvertrag/Projektleiter Provider lange nicht fixiert
Last-Test- wird zur Migra ons-Test-Umgebung
Auswahl von KreDa als komplexeste Anwendung für den Test
CSSCAN → Database Migra on Assistant for Unicode (DMU)
Neue Anforderung: Deployment-Prozess wegen Revision ändern
Prüfung Parallelisierung
itera ve Test-Migra onen
Abschluss des Projektvertrags
Extended Support for 11.2.0.4 extended un l 12/2018
Projekt pausiert
Änderung Deployment-Prozess
Our way to 19cOur way to 19c



8
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Früh übt sich … lange
Dezember 2018: Wiederaufnahme des Projekts, 18c ist da
Server werden nicht in Time geliefert
Pake erung Entwicklungstools: Client, SQL Navigator/Developer
Fehler wiederholen sich in Itera onen → Dokumenta on Ablauf
Weitere Testläufe incl. Zeitmessung für finale Migra onsplanung
März 2019: Management-Eskala on
Mai 2019: 19c ist da (Long Term Support)
Wiederholung DMU, Zer fizierung, Aufräumarbeiten (Skrip ng!)
Markdaten-Anwendung nun vor KreDa
Juli 2019 Rollout Entwicklungstools
Oktober/November 19 Entwicklertest auf Test-Migra on
Konflikt mit Fachprojekt - Projekt pausiert erneut
Our way to 19cOur way to 19c



9.1
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Ablauf - einmalige Vorbereitungen
1. Template PDB$SEED nur mit benö gten Op onen erstellen
2. zusätzliche CDB/PDB WE8ISO8859P15 als
3. Ziel-Server installieren und konfigurieren
4. Datenbank-So ware installieren
5. CDB AL32UTF8 vorbereiten
a. NLS_LANG=AMERICAN_AMERICA.UTF8
b. SQL Net Encryp on, gefordert vom Betriebsprüfer
c. SQLNET.ALLOWED_LOGON_VERSION_CLIENT/SERVER=8
wg. Forms/Reports 11g
d. max_string_size=extended / utl32k.sql
Clone-Source
Our way to 19cOur way to 19c



9.2
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Ablauf - Vorbereitungen pro Migrations-Lauf
1. PDB löschen, wenn vorhanden
2. Anlegen der PDB als Clone aus der WE8ISO8859P15 PDB
3. Anlegen Objekte mit neuer Struktur (Tablespaces, Links,
Directories)
4. Grants für diese Objekte und FGA/RLS
5. Audit, Recycle Bin, Sta s ken für DMU-Lauf abschalten/leeren
6. DMU Repository/Client installieren, Zugriff per X-Server
Our way to 19cOur way to 19c



9.3
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Ablauf - Migration pro Migrations-Lauf
1. Datei-basierter Full Export im Restricted Mode
2. Selek ver Import (Exclude Tablespaces / Directories / Sta s ken
sowie Schemas / Rollen / Kontexte außerhalb KreDa)
3. SYS-Grants an KreDa vergeben
4. Checks
5. ACL’s auf Ziel-Server migrieren
6. Recompile
7. DMU Konver erung
8. A er Logon Trigger: nls_length_seman cs=char in User Sessions
9. komple es Deployment (Datenbank, ADF, Forms/Reports, SOA)
10. Nacharbeiten (Queues starten, Refresh Materialized Views …)
11. Umstellung Jobsteuerungssystem
12. Automa sche Tests (utPLSQL, JUnit, Selenium)
Our way to 19cOur way to 19c



9.4
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
schnelle Log-File-Analyse mit regulären Expressions
Eliminieren bereits analysierter Fehler über Backreferences in der Analyse von 400 auf 12
Our way to 19cOur way to 19c



9.5
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
ACL: Zuweisen ACL
Anlegen eines Datenbank-Links mit DBA-Berech gung auf Altumgebung (o)
Ausführen mit einem User mit DBA-Berech gung auf Neuumgebung (n)
Kapselung in PL/SQL Block mit Dynamischem SQL zur Ausführung, hier für Lesbarkeit vernachlässigt
Our way to 19cOur way to 19c



9.6
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Ablauf - DMU Konvertierung
1. VPD Policies / SYS-Tablespace Logging deak vieren
2. Bulk Cleansing → Migrate to character length seman cs
3. Scan: Blockierende Objekte ändern/löschen/leeren
a. Types / Views / Check Constraints mit Umlauten
b. Tabellen mit ANYTYPE Spalten
c. Tabellen-Kommentare
d. Prüfen, Ändern & Dokumen eren weiterer Objekte
4. Konver erung → Behandeln von Fehlern → Skip/Con nue
5. Wiederanlage Objekte / Granten
6. mit utlirp.sql/utlrp.sql
7. VPD Policies / SYS-Tablespace Logging ak vieren
Invalidate & Recompile PLSQL
Our way to 19cOur way to 19c



9.7
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Umstellung Jobsteuerungssystem
Vorbereitung auf Umgebungskopie
Serverwechsel
SSH Keys
Keypass
neue Parameter für CDB und PDB sta SID in Skripten
connect / as sysdba → alter session set container=${PDB}
neuer OS-User / neue Verzeichnis Struktur
Fehler z.B. bei cd löscht komple en Verzeichnisbaum
Prozesse erwarten genau diesen User oder das Verzeichnis
NLS-Session Einstellungen beibehalten!
Our way to 19cOur way to 19c



9.8
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Umstellung Zugriff bestehende Systeme
Neue Datenbanken → selber Service-Name
Alte Datenbanken → neuer Service-Name, weniger umzustellen
Mounts auf Datenbank
diverse tnsnames/sqlnet.ora
Variablen im Jobsteuerungsystem
Re-Installa on Applica on Server ADF, Forms/Reports, SOA
Anpassungen JDeveloper ADF, SOA
Quelldatenbank herunterfahren oder migrierte User dort sperren
Our way to 19cOur way to 19c



9.9
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Was länger währt wird unendlich gut
Fachprojekt verzögert sich auf unbes mmte Zeit / Corona
März 2020: Übernahme aller Migra onstä gkeiten ab dem Import
März 2020: Testmigra onen Entwicklung, Abnahme, Produk on
April 2020: finale Migra on Entwicklung & Entwicklertest
Mai 2020
Frozen Zone beginnt
finale Migra on Abnahme
Fachabteilungstest
parallel Fehlerbesei gung
Our way to 19cOur way to 19c



10.1
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Probleme und Lösungen - Export & Import
ORA-01466: Tabellendefini on hat sich geändert: Tasks
deak vieren / Export im Restricted Mode
Import hängt mit SQL*Net message from dblink ALTER VIEW,
message from dblink → Drop View auf fehlende Objekte auf Link
Func on Based Indizes verhindern tw. Datenimport → löschen
oder ändern, bei Import ausschließen, später anlegen
ORA-02298 nicht ak vierbare FK’s → expdp consistent=yes
ORA-01843: not a valid month:
→ Refresh-Groups droppen oder anpassen
ORA-06508: PL/SQL: could not find program unit being called →
Func on Based Index ru Package auf
ORA-00955: name is already used by an exis ng object →
PS_TXN_PK, Bug USING INDEX REVERSE?
01.01.4000 in next_date von Jobs
Our way to 19cOur way to 19c



10.2
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Probleme und Lösungen - Versions-Upgrade
ORA-29516: Aurora Asser on Failure → Installa on OJVM
ORA-01417: Tabelle darf mit max. einer anderen Tabelle durch
Outer-Join verbunden werden → SQL anpassen
ORA-03113: end-of-file on communica on channel bei CREATE
OR REPLACE <PACKAGE> → erst droppen
ORA-04045/ORA-00600 bei utl_recomp.recomp_parallel 1 View in
SQL Developer → SQL Plus
Bug 30796980:
→ Workaround: remove -cleargrants
ORA-30372: fine grain access policy conflicts with materialized
view → USING TRUSTED CONSTRAINTS
VPD: Materialized Views nach Refresh leer → Policy Funk on:
Dauer dropjava/loadjava Java-Klassen 4→74min
if
dbms_mview.i_am_a_refresh then return null; end if;
Our way to 19cOur way to 19c



10.3
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Probleme und Lösungen - Unicode
ORA-22998 CLOB or NCLOB in mul byte character set not
supported: SUBSTR → DBMS_LOB.COPY
utl_file Zeichensatz der der Datenbank → Konver erungsrou nen
z.B. WE8MSWIN1252
Bug 29435966: Ora-22813 with Pipelined Func on with Rowtype
without Data Type Cas ng in AL32UTF8 DB +
NLS_LENGTH_SEMANTICS=CHAR → Patch 29435966 oder
Merge einspielen
Our way to 19cOur way to 19c



10.4
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Probleme und Lösungen - ADF, SOA, Forms & Reports
Schwenk Applica on Server auf impor erte Repositories
funk oniert nicht → automa sierte De-/Re-Installa on
ORA-01450 SOA RCU → drop synonym schema_version_registry
Transla onHub, alles funkioniert noch bis auf CLI → Abschaltung
FRM-41072 Gruppe <Recordgroup> kann nicht erstellt werden →
verwendete View-Spalten durch substr definieren
FRM-40505: Abfrage konnte nicht ausgeführt werden
ORA-24920: Spaltengröße für Client zu groß
REP-268836873: Fehler bei der Ausführung des CA-U litys
REP-300: Spaltengröße für Client zu groß
Our way to 19cOur way to 19c



10.5
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
To Unicode or Not to Unicode
Unicode für Konsolidierung RCU und Zukun sfähigkeit
max_string_size=extended, um Datenverlust zu vermeiden
Abbrüche mit Forms & Reports bei Zugriffen auf voll gefüllte
Tabellenspalten >= 4000 CHAR mit Sonderzeichen / Umlauten
Unicode-Codierung ist mit 19c und allen verfügbaren Forms und
Reports Versionen technisch ohne Datenverlust nicht umsetzbar
Keine Unicode-Migra on für KreDa solange bis Oracle Forms &
Reports abgelöst oder max_string_size=extended unterstützt
Migra on erfolgt ohne alle Unicode Schri e
2 PDB’s: Nutzdaten (WE8ISO8859P15) & Middleware (AL32UTF8)
weiterhin getrennt, aber in einer CDB (AL32UTF8)
Juni 2020: Neuaufsetzen Entwicklung/Abnahme, Re-Test
August 2020: Go Live
Our way to 19cOur way to 19c



11
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Offene Punkte
Hos ng einer Third Party Anwendug
Migra on zweier Klein-Anwendungen
automa siertes Klonen Las est aus Entwicklung
Rückbau von Server / Instanzen nach Migra on / Auslagerung
Our way to 19cOur way to 19c



12
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Fazit
Prü Abhängigkeiten und Zer fizierungen
Die Datenbank ist nur ein kleiner Teil der Migra on
Bescha Euch rechtzei g zusätzliche Testumgebungen
Wählt für den Test schnell die komplexeste Anwendung
Entwickelt itera v den Migra onsablauf
Testet gegen alle Umgebungen, achtet auf Durchlaufzeiten
Stellt rechtzei g kompa ble Entwicklungstools bereit
Sucht Euch selbst einen wissenden Partner
Dokumen eren → Skripten → Automa sieren
Sucht nach Eurer gewählten Architektur
Prü und testet Grenzwerte der Ziel-Umgebung
Verkau nicht Euren Provider mi en im Projekt
Rechnet bis zum Schluss mit einer Scope-Änderung
Einschränkungen
Our way to 19cOur way to 19c



13
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Q&A
Our way to 19cOur way to 19c



14
@develishdevelop #DOAG2020 #OurWayToOracleDatabase19c
Fotos
by , by ,
by , by ,
by , by ,
by , by ,
by , by ,
by , by ,
by , by ,
by , by
, by ,
by ,
by , by
, by , by
, by ,
by , by
3 x 3 rubiks cube Karla Hernandez aerial photo of road Andrew Butler asphalt road between trees
Ma Duncan athle c’s on star ng line during day me Nicolas Hoizey black and gold book on gray
concrete floor Yura Timoshenko black traffic light on go signal Paul Volkmer blue and white metal
door closed Paweł Czerwiński dry leaves on black concrete pavement Pop & Zebra electronic wire
lot Massimo Bo uri gray concrete road across brown valley during day me Jesse Bowser light bulb
on black background Alessandro Bianchi person playing puppet dog pixpoetry person si ng on
stack of books while reading Gaelle Marcel photo of male weight li er Filip Mroz red and white
Open signage beside building Casey Horner red love freestanding le ers on gray brick floor Markus
Spiske selec ve focus photo of baby playing ac vity cube Markus Spiske selec ve focus photo of black
and white delete, enter, power bu on, and F12 computer keys u j e s h shallow focus photography of
person in red hooded jacket Sandeep Swarnkar silhoue e of person standing on cliff during sunset
Nicholas Sampson silver laptop computer near notebook STIL STOP signage – Free Road boris
misevic waterfalls surrounded by rock forma on Bruce Timaná white and black kanji text concrete wall
金金 陶 white modern cement building under blue sky Joel Filipe
Our way to 19cOur way to 19c



15

More Related Content

What's hot

Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...gedoplan
 
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScript
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScriptJSF meets JS (2. ed.) - JSF-Komponenten mit JavaScript
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScriptOPEN KNOWLEDGE GmbH
 
EntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloadedEntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloadedRené Winkelmeyer
 
Zend Framework
Zend FrameworkZend Framework
Zend Frameworkluckec
 
Das ende von owb was nun migrationspfade fuer owb_projekte-dani schnider-stan...
Das ende von owb was nun migrationspfade fuer owb_projekte-dani schnider-stan...Das ende von owb was nun migrationspfade fuer owb_projekte-dani schnider-stan...
Das ende von owb was nun migrationspfade fuer owb_projekte-dani schnider-stan...Trivadis
 
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...gedoplan
 
May the forge be with you
May the forge be with youMay the forge be with you
May the forge be with youSandro Sonntag
 
PRADO - Erstellung wiederverwendbarer Enterprise-Applikationen
PRADO - Erstellung wiederverwendbarer Enterprise-ApplikationenPRADO - Erstellung wiederverwendbarer Enterprise-Applikationen
PRADO - Erstellung wiederverwendbarer Enterprise-Applikationenluckec
 
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...Informatik Aktuell
 
Server Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM ServerServer Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM ServerSandro Sonntag
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrants0enke
 
Codd & ACID - ein Ausflug in die Datenbank-Theorie und Geschichte
Codd & ACID - ein Ausflug in die Datenbank-Theorie und GeschichteCodd & ACID - ein Ausflug in die Datenbank-Theorie und Geschichte
Codd & ACID - ein Ausflug in die Datenbank-Theorie und GeschichteMarkus Flechtner
 
Enterprise Java Batch mit Spring
Enterprise Java Batch mit SpringEnterprise Java Batch mit Spring
Enterprise Java Batch mit Springdenschu
 
BED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als EntwicklerBED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als EntwicklerPatrick Baumgartner
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersUlrich Krause
 
Von Maven zu Gradle in 45 Minuten
Von Maven zu Gradle in 45 MinutenVon Maven zu Gradle in 45 Minuten
Von Maven zu Gradle in 45 MinutenQAware GmbH
 
Nagios Conference 2007 | Pluginprogrammierung in Perl by Wolfgang Barth
Nagios Conference 2007 |  Pluginprogrammierung in Perl by Wolfgang BarthNagios Conference 2007 |  Pluginprogrammierung in Perl by Wolfgang Barth
Nagios Conference 2007 | Pluginprogrammierung in Perl by Wolfgang BarthNETWAYS
 

What's hot (20)

Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
 
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScript
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScriptJSF meets JS (2. ed.) - JSF-Komponenten mit JavaScript
JSF meets JS (2. ed.) - JSF-Komponenten mit JavaScript
 
EntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloadedEntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloaded
 
Zend Framework
Zend FrameworkZend Framework
Zend Framework
 
Das ende von owb was nun migrationspfade fuer owb_projekte-dani schnider-stan...
Das ende von owb was nun migrationspfade fuer owb_projekte-dani schnider-stan...Das ende von owb was nun migrationspfade fuer owb_projekte-dani schnider-stan...
Das ende von owb was nun migrationspfade fuer owb_projekte-dani schnider-stan...
 
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
 
May the forge be with you
May the forge be with youMay the forge be with you
May the forge be with you
 
PRADO - Erstellung wiederverwendbarer Enterprise-Applikationen
PRADO - Erstellung wiederverwendbarer Enterprise-ApplikationenPRADO - Erstellung wiederverwendbarer Enterprise-Applikationen
PRADO - Erstellung wiederverwendbarer Enterprise-Applikationen
 
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker Container
 
Server Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM ServerServer Revolutions- Der Spring Source DM Server
Server Revolutions- Der Spring Source DM Server
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
 
Codd & ACID - ein Ausflug in die Datenbank-Theorie und Geschichte
Codd & ACID - ein Ausflug in die Datenbank-Theorie und GeschichteCodd & ACID - ein Ausflug in die Datenbank-Theorie und Geschichte
Codd & ACID - ein Ausflug in die Datenbank-Theorie und Geschichte
 
Enterprise Java Batch mit Spring
Enterprise Java Batch mit SpringEnterprise Java Batch mit Spring
Enterprise Java Batch mit Spring
 
BED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als EntwicklerBED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als Entwickler
 
Die Neuerungen in SDL WorldServer 10.4
Die Neuerungen in SDL WorldServer 10.4Die Neuerungen in SDL WorldServer 10.4
Die Neuerungen in SDL WorldServer 10.4
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino Developers
 
Von Maven zu Gradle in 45 Minuten
Von Maven zu Gradle in 45 MinutenVon Maven zu Gradle in 45 Minuten
Von Maven zu Gradle in 45 Minuten
 
CI und OTPC in ADF Projekten
CI und OTPC in ADF ProjektenCI und OTPC in ADF Projekten
CI und OTPC in ADF Projekten
 
Nagios Conference 2007 | Pluginprogrammierung in Perl by Wolfgang Barth
Nagios Conference 2007 |  Pluginprogrammierung in Perl by Wolfgang BarthNagios Conference 2007 |  Pluginprogrammierung in Perl by Wolfgang Barth
Nagios Conference 2007 | Pluginprogrammierung in Perl by Wolfgang Barth
 

Similar to Our way to 19c - DOAG 2020

Forms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsForms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsTorsten Kleiber
 
Die Datenbank ist nicht immer Schuld - Gründe warum Datenbank-Migration schei...
Die Datenbank ist nicht immer Schuld - Gründe warum Datenbank-Migration schei...Die Datenbank ist nicht immer Schuld - Gründe warum Datenbank-Migration schei...
Die Datenbank ist nicht immer Schuld - Gründe warum Datenbank-Migration schei...Markus Flechtner
 
130605 buildfrei skalieren_fuer_bigdata
130605 buildfrei skalieren_fuer_bigdata130605 buildfrei skalieren_fuer_bigdata
130605 buildfrei skalieren_fuer_bigdataHenning Blohm
 
AdminCamp 14 - IBM Connections Deep Dive
AdminCamp 14 - IBM Connections Deep DiveAdminCamp 14 - IBM Connections Deep Dive
AdminCamp 14 - IBM Connections Deep DiveKlaus Bild
 
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloudGünzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloudAndreas Günzel
 
Dnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookDnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookUlrich Krause
 
Drupal Austria Roadshow in Klagenfurt
Drupal Austria Roadshow in KlagenfurtDrupal Austria Roadshow in Klagenfurt
Drupal Austria Roadshow in Klagenfurtdasjo
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturQAware GmbH
 
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Ulrike Schwinn
 
Container Only - Neue Features für Multitenant in Oracle 21c
Container Only - Neue Features für Multitenant in Oracle 21cContainer Only - Neue Features für Multitenant in Oracle 21c
Container Only - Neue Features für Multitenant in Oracle 21cMarkus Flechtner
 
Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?
Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?
Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?Trivadis
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Niels de Bruijn
 
DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...
DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...
DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...DNUG e.V.
 
Architectures for .Net Core Applications
Architectures for .Net Core ApplicationsArchitectures for .Net Core Applications
Architectures for .Net Core ApplicationsRobin Sedlaczek
 
Graphing mit Graphite (Webinar vom 06.11.2013)
Graphing mit Graphite (Webinar vom 06.11.2013)Graphing mit Graphite (Webinar vom 06.11.2013)
Graphing mit Graphite (Webinar vom 06.11.2013)NETWAYS
 
Skalierbare Flutter Architektur - eine Einführung
Skalierbare Flutter Architektur - eine EinführungSkalierbare Flutter Architektur - eine Einführung
Skalierbare Flutter Architektur - eine EinführungMarkus Kühle
 
Cloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
Cloud-Native experience mit einer Container-Plattform im eigenen RechenzentrumCloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
Cloud-Native experience mit einer Container-Plattform im eigenen RechenzentrumTEC Campus
 
SAP Datashpere - von Bits und Bites zu Widgets und Charts
SAP Datashpere - von Bits und Bites zu Widgets und ChartsSAP Datashpere - von Bits und Bites zu Widgets und Charts
SAP Datashpere - von Bits und Bites zu Widgets und ChartsIBsolution GmbH
 

Similar to Our way to 19c - DOAG 2020 (20)

Forms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsForms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and Operations
 
Die Datenbank ist nicht immer Schuld - Gründe warum Datenbank-Migration schei...
Die Datenbank ist nicht immer Schuld - Gründe warum Datenbank-Migration schei...Die Datenbank ist nicht immer Schuld - Gründe warum Datenbank-Migration schei...
Die Datenbank ist nicht immer Schuld - Gründe warum Datenbank-Migration schei...
 
130605 buildfrei skalieren_fuer_bigdata
130605 buildfrei skalieren_fuer_bigdata130605 buildfrei skalieren_fuer_bigdata
130605 buildfrei skalieren_fuer_bigdata
 
AdminCamp 14 - IBM Connections Deep Dive
AdminCamp 14 - IBM Connections Deep DiveAdminCamp 14 - IBM Connections Deep Dive
AdminCamp 14 - IBM Connections Deep Dive
 
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloudGünzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
 
Dnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookDnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbook
 
Drupal Austria Roadshow in Klagenfurt
Drupal Austria Roadshow in KlagenfurtDrupal Austria Roadshow in Klagenfurt
Drupal Austria Roadshow in Klagenfurt
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
 
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
 
Container Only - Neue Features für Multitenant in Oracle 21c
Container Only - Neue Features für Multitenant in Oracle 21cContainer Only - Neue Features für Multitenant in Oracle 21c
Container Only - Neue Features für Multitenant in Oracle 21c
 
Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?
Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?
Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?
 
Learnings aus einem Magento-Enterprise-Projekt
Learnings aus einem Magento-Enterprise-ProjektLearnings aus einem Magento-Enterprise-Projekt
Learnings aus einem Magento-Enterprise-Projekt
 
Docker Workbench
Docker WorkbenchDocker Workbench
Docker Workbench
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)
 
DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...
DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...
DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...
 
Architectures for .Net Core Applications
Architectures for .Net Core ApplicationsArchitectures for .Net Core Applications
Architectures for .Net Core Applications
 
Graphing mit Graphite (Webinar vom 06.11.2013)
Graphing mit Graphite (Webinar vom 06.11.2013)Graphing mit Graphite (Webinar vom 06.11.2013)
Graphing mit Graphite (Webinar vom 06.11.2013)
 
Skalierbare Flutter Architektur - eine Einführung
Skalierbare Flutter Architektur - eine EinführungSkalierbare Flutter Architektur - eine Einführung
Skalierbare Flutter Architektur - eine Einführung
 
Cloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
Cloud-Native experience mit einer Container-Plattform im eigenen RechenzentrumCloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
Cloud-Native experience mit einer Container-Plattform im eigenen Rechenzentrum
 
SAP Datashpere - von Bits und Bites zu Widgets und Charts
SAP Datashpere - von Bits und Bites zu Widgets und ChartsSAP Datashpere - von Bits und Bites zu Widgets und Charts
SAP Datashpere - von Bits und Bites zu Widgets und Charts
 

Our way to 19c - DOAG 2020

  • 1. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Our way to 19c 18.11.2020 - Torsten Kleiber Our way to 19cOur way to 19c    1
  • 2. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Agenda 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Agenda Was macht unser Unternehmen? Was mache ich? Im Anfang war das Wort … Projektskizze Starten! Womit noch mal gleich? "Vorstudie"-ren geht über Probieren Mühsam ernährt sich das Projekt-Hörnchen Früh übt sich … lange Was länger währt wird unendlich gut To Unicode or Not to Unicode Offene Punkte Fazit Q&A Our way to 19cOur way to 19c    2
  • 3. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Was macht unser Unternehmen? Our way to 19cOur way to 19c    3
  • 4. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Was mache ich? Torsten Kleiber So ware-Architekt, DevOps Kreditpla orm Seit 21 Jahren bei der IKB 24 Jahre Erfahrung PL/SQL Forms & Reports ADF SOA Mediator Architektur & Infrastruktur Fusion Middleware Development Tools Development Lifecycle seit dem Projekt ein halber DBA Kontakt Our way to 19cOur way to 19c    4
  • 5. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Im Anfang war das Wort … Projektskizze Ausgangslage 2016: Premier Support für 11.2 ist seit 1.1.2015 beendet Extended Support nur bis 31.5.2017 kostenfrei Interner Provider wünscht Datenbank-Update Bisher: Eine Bank ist kein So warehaus! November 2016: Budgetplanung für 2017 Ab 31.5.2017 Kosten für den Extended Support Diese kann man reduzieren und ROI ausrechnen Und nebenbei auch das Risiko minimieren Teamleiter erstellt Projektskizze für Migra on nach 12c: KreDa & in Datenbank "konsolidierte" Anwendungen 5 TEUR / 200 MT intern / 3 Monate / 1 Monat Frozen Zone Our way to 19cOur way to 19c    5
  • 6. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Starten! Womit noch mal gleich? 2017: Projekt ist genehmigt, Übergabe an Projektleiter Analyse Lifecycle Server: End of Life → neue Server! Analyse Zer fizierungen zw. Datenbank, OS, So ware: 11g < / 12c >= SLES 12 → neue Server, kein Inplace Upgrade! 3rd Party SW: teilweise nicht upgradefähig → Trennung! Analyse Dependencies 4 Server, 15 x 11.2 Instanzen (9 KreDa), 2 x 12.1 Instanzen 11.2 Instanzen teilen sich das Oracle-Home (Shared Services) ca. 20 weitere Anwendungen aus 5 Teams diverse Schemas, die nicht direkt zugeordnet werden können Hilfe!!! Our way to 19cOur way to 19c    6
  • 7. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c "Vorstudie"-ren geht über Probieren Vorarbeiten leisten Abschaltungen verringern Analyse- und Migra ons-Umfang Festlegung Umfang und Planung für eigentliche Migra on passenden Zeitpunkt für Migra onen definieren Our way to 19cOur way to 19c    7.1
  • 8. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Anwendungen und Datenbanken iterativ bereinigen Abschaltungen wegen Restrukturierung der Bank Auslagerung von Datensicherungen auf Band Migra onen nach MS SQL Server verbleibende Anwendungen auf Alt-Umgebung nicht mehr benö gte Schemas/User sperren und später löschen nicht zugeordnete Rollen löschen Tablespaces ohne Objekte Datenbankdateien ohne Zugriff Datenbankobjekte, die nicht in VCS exis eren tnsnames.ora bereinigt Our way to 19cOur way to 19c    7.2
  • 9. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c 01.09.2017: Verkauf Interner Provider Our way to 19cOur way to 19c    7.3
  • 10. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Architekturauswahl 5 Alterna ven: 1. Shared Server für alle Applika onen wie bisher 2. dedizierte Datenbank-Instanz für KreDa auf Shared Server 3. dedizierter Datenbank-Server für KreDa, Rest Shared Server 4. dedizierter Datenbank-Server für KreDa, Rest Downscaled Shared Server 5. dedizierte Datenbank-Server für KreDa & Marktdaten a. incl. Unicode Migra on b. Konsolidierung KreDa Instanzen wegen Unicode c. Rest dedizierte Instanzen auf Shared Server Our way to 19cOur way to 19c    7.4
  • 11. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Projektantrag für Migration nach Xc 5 zu migrierende Anwendungen, KreDa ist die komplexeste Zielversion jeweils aktuelle verfügbare und zer fizierte Version Ablösen der Server, die den Life Cycle überschri en haben Umstellung des Zeichensatzes auf Unicode, wo möglich Zusammenfassung von Datenbanken, wenn möglich Architekturanpassungen z.B. wegen Revision und No alltest 164 TEUR / 395 MT intern / 9 Monate / 2 Monate Frozen Zone Our way to 19cOur way to 19c    7.5
  • 12. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Mühsam ernährt sich das Projekt-Hörnchen April 2018: Projekt ist genehmigt und gestartet Projektvertrag/Projektleiter Provider lange nicht fixiert Last-Test- wird zur Migra ons-Test-Umgebung Auswahl von KreDa als komplexeste Anwendung für den Test CSSCAN → Database Migra on Assistant for Unicode (DMU) Neue Anforderung: Deployment-Prozess wegen Revision ändern Prüfung Parallelisierung itera ve Test-Migra onen Abschluss des Projektvertrags Extended Support for 11.2.0.4 extended un l 12/2018 Projekt pausiert Änderung Deployment-Prozess Our way to 19cOur way to 19c    8
  • 13. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Früh übt sich … lange Dezember 2018: Wiederaufnahme des Projekts, 18c ist da Server werden nicht in Time geliefert Pake erung Entwicklungstools: Client, SQL Navigator/Developer Fehler wiederholen sich in Itera onen → Dokumenta on Ablauf Weitere Testläufe incl. Zeitmessung für finale Migra onsplanung März 2019: Management-Eskala on Mai 2019: 19c ist da (Long Term Support) Wiederholung DMU, Zer fizierung, Aufräumarbeiten (Skrip ng!) Markdaten-Anwendung nun vor KreDa Juli 2019 Rollout Entwicklungstools Oktober/November 19 Entwicklertest auf Test-Migra on Konflikt mit Fachprojekt - Projekt pausiert erneut Our way to 19cOur way to 19c    9.1
  • 14. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Ablauf - einmalige Vorbereitungen 1. Template PDB$SEED nur mit benö gten Op onen erstellen 2. zusätzliche CDB/PDB WE8ISO8859P15 als 3. Ziel-Server installieren und konfigurieren 4. Datenbank-So ware installieren 5. CDB AL32UTF8 vorbereiten a. NLS_LANG=AMERICAN_AMERICA.UTF8 b. SQL Net Encryp on, gefordert vom Betriebsprüfer c. SQLNET.ALLOWED_LOGON_VERSION_CLIENT/SERVER=8 wg. Forms/Reports 11g d. max_string_size=extended / utl32k.sql Clone-Source Our way to 19cOur way to 19c    9.2
  • 15. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Ablauf - Vorbereitungen pro Migrations-Lauf 1. PDB löschen, wenn vorhanden 2. Anlegen der PDB als Clone aus der WE8ISO8859P15 PDB 3. Anlegen Objekte mit neuer Struktur (Tablespaces, Links, Directories) 4. Grants für diese Objekte und FGA/RLS 5. Audit, Recycle Bin, Sta s ken für DMU-Lauf abschalten/leeren 6. DMU Repository/Client installieren, Zugriff per X-Server Our way to 19cOur way to 19c    9.3
  • 16. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Ablauf - Migration pro Migrations-Lauf 1. Datei-basierter Full Export im Restricted Mode 2. Selek ver Import (Exclude Tablespaces / Directories / Sta s ken sowie Schemas / Rollen / Kontexte außerhalb KreDa) 3. SYS-Grants an KreDa vergeben 4. Checks 5. ACL’s auf Ziel-Server migrieren 6. Recompile 7. DMU Konver erung 8. A er Logon Trigger: nls_length_seman cs=char in User Sessions 9. komple es Deployment (Datenbank, ADF, Forms/Reports, SOA) 10. Nacharbeiten (Queues starten, Refresh Materialized Views …) 11. Umstellung Jobsteuerungssystem 12. Automa sche Tests (utPLSQL, JUnit, Selenium) Our way to 19cOur way to 19c    9.4
  • 17. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c schnelle Log-File-Analyse mit regulären Expressions Eliminieren bereits analysierter Fehler über Backreferences in der Analyse von 400 auf 12 Our way to 19cOur way to 19c    9.5
  • 18. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c ACL: Zuweisen ACL Anlegen eines Datenbank-Links mit DBA-Berech gung auf Altumgebung (o) Ausführen mit einem User mit DBA-Berech gung auf Neuumgebung (n) Kapselung in PL/SQL Block mit Dynamischem SQL zur Ausführung, hier für Lesbarkeit vernachlässigt Our way to 19cOur way to 19c    9.6
  • 19. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Ablauf - DMU Konvertierung 1. VPD Policies / SYS-Tablespace Logging deak vieren 2. Bulk Cleansing → Migrate to character length seman cs 3. Scan: Blockierende Objekte ändern/löschen/leeren a. Types / Views / Check Constraints mit Umlauten b. Tabellen mit ANYTYPE Spalten c. Tabellen-Kommentare d. Prüfen, Ändern & Dokumen eren weiterer Objekte 4. Konver erung → Behandeln von Fehlern → Skip/Con nue 5. Wiederanlage Objekte / Granten 6. mit utlirp.sql/utlrp.sql 7. VPD Policies / SYS-Tablespace Logging ak vieren Invalidate & Recompile PLSQL Our way to 19cOur way to 19c    9.7
  • 20. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Umstellung Jobsteuerungssystem Vorbereitung auf Umgebungskopie Serverwechsel SSH Keys Keypass neue Parameter für CDB und PDB sta SID in Skripten connect / as sysdba → alter session set container=${PDB} neuer OS-User / neue Verzeichnis Struktur Fehler z.B. bei cd löscht komple en Verzeichnisbaum Prozesse erwarten genau diesen User oder das Verzeichnis NLS-Session Einstellungen beibehalten! Our way to 19cOur way to 19c    9.8
  • 21. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Umstellung Zugriff bestehende Systeme Neue Datenbanken → selber Service-Name Alte Datenbanken → neuer Service-Name, weniger umzustellen Mounts auf Datenbank diverse tnsnames/sqlnet.ora Variablen im Jobsteuerungsystem Re-Installa on Applica on Server ADF, Forms/Reports, SOA Anpassungen JDeveloper ADF, SOA Quelldatenbank herunterfahren oder migrierte User dort sperren Our way to 19cOur way to 19c    9.9
  • 22. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Was länger währt wird unendlich gut Fachprojekt verzögert sich auf unbes mmte Zeit / Corona März 2020: Übernahme aller Migra onstä gkeiten ab dem Import März 2020: Testmigra onen Entwicklung, Abnahme, Produk on April 2020: finale Migra on Entwicklung & Entwicklertest Mai 2020 Frozen Zone beginnt finale Migra on Abnahme Fachabteilungstest parallel Fehlerbesei gung Our way to 19cOur way to 19c    10.1
  • 23. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Probleme und Lösungen - Export & Import ORA-01466: Tabellendefini on hat sich geändert: Tasks deak vieren / Export im Restricted Mode Import hängt mit SQL*Net message from dblink ALTER VIEW, message from dblink → Drop View auf fehlende Objekte auf Link Func on Based Indizes verhindern tw. Datenimport → löschen oder ändern, bei Import ausschließen, später anlegen ORA-02298 nicht ak vierbare FK’s → expdp consistent=yes ORA-01843: not a valid month: → Refresh-Groups droppen oder anpassen ORA-06508: PL/SQL: could not find program unit being called → Func on Based Index ru Package auf ORA-00955: name is already used by an exis ng object → PS_TXN_PK, Bug USING INDEX REVERSE? 01.01.4000 in next_date von Jobs Our way to 19cOur way to 19c    10.2
  • 24. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Probleme und Lösungen - Versions-Upgrade ORA-29516: Aurora Asser on Failure → Installa on OJVM ORA-01417: Tabelle darf mit max. einer anderen Tabelle durch Outer-Join verbunden werden → SQL anpassen ORA-03113: end-of-file on communica on channel bei CREATE OR REPLACE <PACKAGE> → erst droppen ORA-04045/ORA-00600 bei utl_recomp.recomp_parallel 1 View in SQL Developer → SQL Plus Bug 30796980: → Workaround: remove -cleargrants ORA-30372: fine grain access policy conflicts with materialized view → USING TRUSTED CONSTRAINTS VPD: Materialized Views nach Refresh leer → Policy Funk on: Dauer dropjava/loadjava Java-Klassen 4→74min if dbms_mview.i_am_a_refresh then return null; end if; Our way to 19cOur way to 19c    10.3
  • 25. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Probleme und Lösungen - Unicode ORA-22998 CLOB or NCLOB in mul byte character set not supported: SUBSTR → DBMS_LOB.COPY utl_file Zeichensatz der der Datenbank → Konver erungsrou nen z.B. WE8MSWIN1252 Bug 29435966: Ora-22813 with Pipelined Func on with Rowtype without Data Type Cas ng in AL32UTF8 DB + NLS_LENGTH_SEMANTICS=CHAR → Patch 29435966 oder Merge einspielen Our way to 19cOur way to 19c    10.4
  • 26. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Probleme und Lösungen - ADF, SOA, Forms & Reports Schwenk Applica on Server auf impor erte Repositories funk oniert nicht → automa sierte De-/Re-Installa on ORA-01450 SOA RCU → drop synonym schema_version_registry Transla onHub, alles funkioniert noch bis auf CLI → Abschaltung FRM-41072 Gruppe <Recordgroup> kann nicht erstellt werden → verwendete View-Spalten durch substr definieren FRM-40505: Abfrage konnte nicht ausgeführt werden ORA-24920: Spaltengröße für Client zu groß REP-268836873: Fehler bei der Ausführung des CA-U litys REP-300: Spaltengröße für Client zu groß Our way to 19cOur way to 19c    10.5
  • 27. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c To Unicode or Not to Unicode Unicode für Konsolidierung RCU und Zukun sfähigkeit max_string_size=extended, um Datenverlust zu vermeiden Abbrüche mit Forms & Reports bei Zugriffen auf voll gefüllte Tabellenspalten >= 4000 CHAR mit Sonderzeichen / Umlauten Unicode-Codierung ist mit 19c und allen verfügbaren Forms und Reports Versionen technisch ohne Datenverlust nicht umsetzbar Keine Unicode-Migra on für KreDa solange bis Oracle Forms & Reports abgelöst oder max_string_size=extended unterstützt Migra on erfolgt ohne alle Unicode Schri e 2 PDB’s: Nutzdaten (WE8ISO8859P15) & Middleware (AL32UTF8) weiterhin getrennt, aber in einer CDB (AL32UTF8) Juni 2020: Neuaufsetzen Entwicklung/Abnahme, Re-Test August 2020: Go Live Our way to 19cOur way to 19c    11
  • 28. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Offene Punkte Hos ng einer Third Party Anwendug Migra on zweier Klein-Anwendungen automa siertes Klonen Las est aus Entwicklung Rückbau von Server / Instanzen nach Migra on / Auslagerung Our way to 19cOur way to 19c    12
  • 29. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Fazit Prü Abhängigkeiten und Zer fizierungen Die Datenbank ist nur ein kleiner Teil der Migra on Bescha Euch rechtzei g zusätzliche Testumgebungen Wählt für den Test schnell die komplexeste Anwendung Entwickelt itera v den Migra onsablauf Testet gegen alle Umgebungen, achtet auf Durchlaufzeiten Stellt rechtzei g kompa ble Entwicklungstools bereit Sucht Euch selbst einen wissenden Partner Dokumen eren → Skripten → Automa sieren Sucht nach Eurer gewählten Architektur Prü und testet Grenzwerte der Ziel-Umgebung Verkau nicht Euren Provider mi en im Projekt Rechnet bis zum Schluss mit einer Scope-Änderung Einschränkungen Our way to 19cOur way to 19c    13
  • 30. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Q&A Our way to 19cOur way to 19c    14
  • 31. @develishdevelop #DOAG2020 #OurWayToOracleDatabase19c Fotos by , by , by , by , by , by , by , by , by , by , by , by , by , by , by , by , by , by , by , by , by , by , by , by , by 3 x 3 rubiks cube Karla Hernandez aerial photo of road Andrew Butler asphalt road between trees Ma Duncan athle c’s on star ng line during day me Nicolas Hoizey black and gold book on gray concrete floor Yura Timoshenko black traffic light on go signal Paul Volkmer blue and white metal door closed Paweł Czerwiński dry leaves on black concrete pavement Pop & Zebra electronic wire lot Massimo Bo uri gray concrete road across brown valley during day me Jesse Bowser light bulb on black background Alessandro Bianchi person playing puppet dog pixpoetry person si ng on stack of books while reading Gaelle Marcel photo of male weight li er Filip Mroz red and white Open signage beside building Casey Horner red love freestanding le ers on gray brick floor Markus Spiske selec ve focus photo of baby playing ac vity cube Markus Spiske selec ve focus photo of black and white delete, enter, power bu on, and F12 computer keys u j e s h shallow focus photography of person in red hooded jacket Sandeep Swarnkar silhoue e of person standing on cliff during sunset Nicholas Sampson silver laptop computer near notebook STIL STOP signage – Free Road boris misevic waterfalls surrounded by rock forma on Bruce Timaná white and black kanji text concrete wall 金金 陶 white modern cement building under blue sky Joel Filipe Our way to 19cOur way to 19c    15