SlideShare ist ein Scribd-Unternehmen logo
1 von 42
BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENF
HAMBURG KOPENHAGEN LAUSANNE MÜNCHEN STUTTGART WIEN ZÜRICH
Die Datenbank ist nicht immer schuld …
… andere Gründe warum Migrationen scheitern können
Markus Flechtner
** Ergänzt um einige Bemerkungen aus dem Vortrag **
Trivadis – Unsere Mission.
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
2 19.02.2019
Trivadis makes IT easier:
Wir unterstützen unsere Kunden
massgeblich bei der intelligenten
Nutzung von Daten im digitalen
Zeitalter.
Wir reduzieren Komplexität für
unsere Kunden durch herausragende
Technologiekompetenz.
Wir übernehmen Kernaufgaben der
bestehenden und zukünftigen IT
unserer Kunden.
Trivadis – Was uns auszeichnet und unterscheidet.
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
3 19.02.2019
Wir verstehen die Business-Prozesse und wirtschaftlichen Herausforderungen
unserer Kunden und unterstützen sie durch IT-Beratung und bei der Entwicklung
ganzheitlicher IT-Lösungen.
Unsere selbstentwickelten, bewährten Produkte und Methoden basieren auf dem
tiefen Know-how in den Kerntechnologien von Microsoft, Oracle und Open Source.
Dies unterscheidet uns von unserem Mitbewerb.
OPEN SOURCE
Trivadis – Unsere wichtigsten Kennzahlen.
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
4 19.02.2019
Gründung: 1994.
15 Trivadis Niederlassungen mit
über 650 Mitarbeitenden.
Umsatz CHF 111 Mio. (EUR 96 Mio.).
Über 250 Service Level Agreements.
Mehr als 4'000 Trainingsteilnehmer.
Forschungs- und Entwicklungsbudget:
CHF 5.0 Mio.
Mehr als 1'900 Projekte pro Jahr bei
über 800 Kunden.
Finanziell unabhängig und
nachhaltig profitabel.
Über mich - Markus Flechtner
Principal Consultant, Trivadis, Düsseldorf, seit April 2008
Im Oracle-Umfeld tätig seit den 1990ern:
– Development (Forms, Reports, PL/SQL)
– Support
– Database Administration
Schwerpunkte
– Oracle Real Application Clusters
– Datenbank Upgrade- und Migrationsprojekte
Kursreferent
– O-RAC – Oracle Real Application Clusters
– O-NF-DBA – Oracle Database New Features for the DBA
– O-MT – Oracle Multitenant
Blog: markusdba.de
@markusdba
19.02.2019
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
5
19.02.2019
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
6
Technik allein bringt Sie nicht weiter.
Man muss wissen, wie man sie richtig nutzt.
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
7 19.02.2019
Das Projekt
Das Projekt im Überblick
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
8 19.02.2019
Datenbank-Migration von Solaris SPARC nach Linux
– Oracle 11.2.0.4
– Von RAC (4 Cluster, 2 + 4 Knoten) nach MAA (2 x 2-Knoten-RAC)
– ASM
– 40 Datenbanken (Staging (Test) + Produktion)
– DB-Größen von 150 GB bis 9 TB
Organisatorische Vorgaben/Wünsche
– Maximale Downtime für alle DBs: 1 Stunde
– Gleiches Migrationsverfahren für alle Datenbanken
Am Ende waren es nur 30 DBs
Zwischen 1 h und 48 h
Verfahren abhängig von der
Downtime
Agenda
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
9 19.02.2019
1. Halten Sie Ordnung
2. Halten Sie die Datenbank sauber
3. Ein Tropfen Öl macht 1000 Liter Trinkwasser ungenießbar
4. Clients & Datenbanken können sich manchmal nicht verstehen
5. Fazit und ein Real-Life-Beispiel
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
10 19.02.2019
Halten Sie Ordnung
Configuration Management Database (CMDB)
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
11 19.02.2019
Bauen Sie eine CMDB auf und halten Sie diese aktuell
– Datenbanken
– Applikationen
– Netzwerk-Strukturen
Welche Applikationen (Clients) nutzen die Datenbanken?
– Wer sind die Ansprechpartner?
– Was sind die möglichen Auszeiten für diese Applikationen?
– Wie lange darf eine Downtime maximal dauern?
– Versionen der Applikationen? Zertifizierung gegenüber mit der DB-Version?
Schatten-IT ist ein Risiko für
Migrationen und Upgrades
Wissen, wo die Clients herkommen .. (1)
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
12 19.02.2019
select
sc.client_version,sc.client_driver,
s.machine,s.program,s.osuser,s.service_name,count(*)
from gv$session s,gv$session_connect_info sc
where sc.inst_id=s.inst_id
and sc.sid=s.sid and sc.serial#=s.serial#
and s.type<>'BACKGROUND'
group by sc.client_version,sc.client_driver,s.machine,s.program,s.osuser,s.service_name
order by sc.client_version,sc.client_driver,s.machine,s.program,s.osuser,s.service_name
/
Wissen, wo die Clients herkommen .. (2)
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
13 19.02.2019
Tipp:
Via Datenbank-Job vor der Migration Informationen über die Clients sammeln,
die die Datenbank nutzen, um unbekannte Clients zu aufzuspüren!
Wer sind die Ansprechpartner?
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
14 19.02.2019
Storage
Netzwerk
Firewall
Applikation
[..]
Achtung, wenn Verantwortlichkeiten ausgelagert wurden!
Sicherstellen, dass die Ansprechpartner bei der Migration zur Verfügung stehen!
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
15 19.02.2019
Halten Sie die Datenbank sauber
Ungenutzte Schemata und User (1)
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
16 19.02.2019
Nicht mehr genutzte Schemata sollten ggf. archiviert und dann aus der Datenbank
gelöscht werden
– Weniger Platz- und Zeitbedarf für Backups
– Mehr Flexibilität bei der Auswahl der Migrationsverfahren
– Schnellere Migrationen und ggf. Upgrades
– Sicherheitsrisiko
SQL> CONNECT scott/tiger@prod
SQL> SELECT owner, table_name FROM all_tables;
Ungenutzte Schemata und User (2)
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
17 19.02.2019
Demo-User, Beispiel-Schemata, ..
Mitarbeiter verlassen die Firma ..
– .. und hinterlassen Datenbank-User und Datenbank-Objekte
 Nicht mehr benötigte Benutzer droppen (oder zumindest sperren)
Seit Oracle 12.1:
Seit Oracle 12.2:
SQL> SELECT username,last_login FROM dba_users;
SQL> ALTER PROFILE DEFAULT LIMIT INACTIVE_ACCOUNT_TIME 365;
Ungültige Objekte
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
18 19.02.2019
Ungültige Objekte haben in einer Produktionsdatenbank nichts zu suchen
–  erschwerte Fehlersuche bei Migrationen und Upgrades
@?/rdbms/admin/utlrp.sql
set linesize 100
set pagesize 100
column owner format a30
column object_type format a30
column object_name format a30
select owner,object_type,object_name from dba_objects
where status='INVALID'
order by owner,object_type,object_name from dba_objects;
Brauchen Sie alle Indizes? (1)
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
19 19.02.2019
Indizes, die von der Applikation nicht genutzt werden und die die nicht für
referentielle Integrität (Primary Keys, Unique Keys oder Foreign Keys) benötigt
werden können (oft) gelöscht werden
 schnellere Migrationen (insbesondere DataPump)
 Achtung: Indizes liefern auch Informationen für den Optimizer auch wenn
sie nicht genutzt werden.
 Ausführungspläne beobachten (ggf. Indizes nachträglich wieder anlegen)
SQL> ALTER INDEX <owner>.<index_name> MONITORING USAGE;
Brauchen Sie alle Indizes? (2) - Auswertung
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
20 19.02.2019
Oracle 11g (als Eigentümer):
Oracle 12c:
MOS-Notes:
– V$OBJECT_USAGE RETURNS NO ROWS EVEN AFTER ENABLING
MONITORING (Doc ID 261756.1)
– Index Monitoring in Oracle 12.2 (Doc ID 2302110.1)
SQL> SELECT * FROM v$object_usage;
SQL> SELECT * FROM dba_object_usage;
Ungenutzte (oder nicht lizenzierte) Optionen (1)
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
21 19.02.2019
Oft werden nicht erforderliche oder nicht lizenzierte Optionen und Komponenten mit
installiert (Spatial, Label Security, …)
Eine Migration ist eine gute Gelegenheit, das zu ändern
– Ggf. kein Lizenzverstoß mehr
– Weniger Sicherheitsrisiken
– Schnellere Upgrades
Ungenutzte (oder nicht lizenzierte) Optionen (2)
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
22 19.02.2019
Was ist installiert?
– DBA_REGISTRY
– V$OPTION
Was wird genutzt?
– Keine einfache Kontrolle via SELECT
– Anhaltspunkte: DBA_FEATURE_USAGE_STATISTICS
„false positives“
Raus-Konfigurieren nicht lizenzierter Optionen
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
23 19.02.2019
Bei der Enterprise Edition können (seit 12c) Optionen nicht mehr bei der Installation
abgewählt werden
Lösung: nach der Installation nicht lizenzierte Optionen rauskonfigurieren
Folgende Optionen können entfernt werden
– Oracle Advanced Analytics (oaa)
– Oracle OLAP (olap)
– Oracle Partitioning (partitioning)
– Oracle Real Application Testing (rat)
– Oracle Database Extensions for .NET (ode_net, Windows only)
oracle> chopt <enable|disable> option
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
24 19.02.2019
Ein Tropfen Öl macht 1000 Liter
Trinkwasser ungenießbar
Eine Datenbank und 1000 Clients …
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
25 19.02.2019
Die Datenbank-Clients sind manchmal schwer kontrollierbar
Namensauflösung
– LDAP
– Lokale tnsnames.ora
– Easy Connect
– …
Oracle Net, ODBC, JDBC, ODP.NET, …
Client-Versionen
Eine Datenbank-Migration
kann an EINEM CLIENT der
sich nach der Migration nicht
mit der neuen Datenbank
verbinden kann, scheitern!
Einschub: ein Service pro Applikation
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
26 19.02.2019
Einfachere Identifikation der Clients
Bessere Auswertungen (z.B. AWR, OEM)
Applikationen können einzeln in andere Datenbanken oder auf andere Server
verlagert werden
Nicht den Default-Service der Datenbank verwenden
– Nicht konfigurierbar
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
27 19.02.2019
Clients & Datenbanken können sich
manchmal nicht verstehen
Clients & Datenbanken können sich einfach nicht
verstehen
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
28 19.02.2019
Inkompatible Versionen
Verschlüsselung
Password-Versionen
Inkompatible Versionen (1)
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
29 19.02.2019
Alte Applikationen, die nicht weiterentwickelt wurden
– Oracle 8 Clients können sich nicht an Oracle 12.2 oder höher anmelden
Alte Datenbanken auf alter Hardware
– Auch ein Datenbank-Link ist ein Client!
– Datenbank-Links zwischen Oracle 9i und 12c sind nicht möglich 
Inkompatible Versionen (2)
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
30 19.02.2019
MOS-Note: Client / Server Interoperability Support Matrix for Different Oracle
Versions (Doc ID 207303.1)
– (*) = 11.2.0.3 + 11.2.0.4
Client
Server
18c + 12.2 12.1 11.2 (*) 11.1 10.2
18c + 12.2 OK OK OK NO NO
12.1 OK OK OK NO** Special
11.2 (*) OK* OK OK NO** Special
11.1 NO NO** NO** NO** NO**
10.2 NO Special Special NO** Special
Verschlüsselung (1)
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
31 19.02.2019
Oracle Net – Verschlüsselung benötigt keine ASO-Lizenz mehr
Security sagt: Verschlüsselung muss sein! (=> „requested“)
Sqlnet.ora (Client + Server) - Einstellungen für Verschlüsselung:
– Algorithmen: AES256, AES192 und AES128
SQLNET.ENCRYPTION_SERVER = [accepted | rejected | requested | required]
SQLNET.ENCRYPTION_TYPES_SERVER = (valid_encryption_algorithm
[,valid_encryption_algorithm])
SQLNET.ENCRYPTION_CLIENT = [accepted | rejected | requested | required]
SQLNET.ENCRYPTION_TYPES_CLIENT = (valid_encryption_algorithm
[,valid_encryption_algorithm])
Verschlüsselung (2)
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
32 19.02.2019
Teilweise waren zusätzliche Einstellungen (Properties) für JDBC-Thin-Clients
erforderlich
–  vorher prüfen und anpassen
Treiber von Drittherstellern können teilweise keine Verschlüsselung
– Server-Einstellung ändern auf „required“ oder “accepted“
– Gilt dann serverweit! (eine sqlnet.ora!)
Kontrolle, ob Verschlüsselung genutzt wird
select NETWORK_SERVICE_BANNER from v$session_connect_info where SID =
sys_context('USERENV','SID');
Verschlüsselung (3)
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
33 19.02.2019
Ergebnis (ohne Verschlüsselung)
Mit Verschlüsselung:
NETWORK_SERVICE_BANNER
--------------------------------------------------------------------------------
TCP/IP NT Protocol Adapter for Linux: Version 19.0.0.0.0 - Production
Encryption service for Linux: Version 19.0.0.0.0 - Production
Crypto-checksumming service for Linux: Version 19.0.0.0.0 - Production
NETWORK_SERVICE_BANNER
--------------------------------------------------------------------------------
TCP/IP NT Protocol Adapter for Linux: Version 19.0.0.0.0 - Production
Encryption service for Linux: Version 19.0.0.0.0 - Production
AES256 Encryption service adapter for Linux: Version 19.0.0.0.0 - Production
Crypto-checksumming service for Linux: Version 19.0.0.0.0 - Production
Das Datenbank-Password im Laufe der Zeit .. (1)
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
34 19.02.2019
Case-Sensitive Passworte
– Eingeführt mit Oracle 10g
– Parameter SEC_CASE_SENSITIVE_LOGON als Workaround
– Parameter ist seit Oracle 12c abgekündigt („deprecated“)
Verwendung von SEC_CASE_SENSITIV_LOGON ergibt eine Warnung beim
Hochfahren der Datenbank
– Löschen aus dem Spfile mit
ORA-32004: obsolete or deprecated parameter(s) specified for %s instance
SQL> ALTER SYSTEM RESET sec_case_sensitive_logon scope=spfile sid='*';
Das Datenbank-Password im Laufe der Zeit .. (2)
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
35 19.02.2019
Password-Versionen
– Änderung der Password-Hashes seit Oracle 10g
SQL select password_versions from dba_users;
PASSWORD_VERSIONS
-----------------
10G 11G 12C
11G 12C
[..]
Password-Versionen (1)
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
36 19.02.2019
Parameter SQLNET.ALLOWED_LOGON_VERSION_SERVER bestimmt, welche
Password-Hashes generiert werden
– Default in Oracle 12.2: 12
–  es werden nur 11G + 12C Hashes generiert
–  10g-Clients können sich nicht anmelden
ORA-1017: invalid username/password; logon denied
Password-Versionen (2)
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
37 19.02.2019
Lösung:
1. Parameter SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8 setzen
- dann werden alle Password-Hashes generiert
2. Für die User, die Oracle 10g-Clients nutzen:
- dann werden die 10g-Hashes angelegt
3. User mit älteren Client-Versionen können sich wieder anmelden
SQL> ALTER USER <user> identified by <PASSWORD>;
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
38 19.02.2019
Fazit und ein Real-Life-Beispiel
Fazit
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
39 19.02.2019
Ordnung ist das halbe Leben!
Auch Datenbanken brauchen Pflege 
Räumen Sie vor einer Migration oder einem Upgrade in den Datenbanken auf!
Das Umfeld bei einer Migration ist oft komplexer als die Datenbank selbst!
Testen, testen, testen
.. Aber man wird nie alles testen können :)
Murphy ist bei allen Datenbank-Migrationen dabei!
Eine Datenbank-Migration - kurzgefasst
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
40 19.02.2019
Vorbereitung:
– Statt 600 GB (DB-Größe) müssen nur 150 GB Daten migriert werden
1.Migrationsversuch:
– Wir entdecken eine unbekannte Applikation => Abbruch
2. Migrationsversuch:
– Die Applikation kommt aus einem anderen Netz, Firewall-Regeln fehlen => Abbruch
3. Migrationsversuch:
– Die neuen Firewall-Regeln waren unvollständig implementiert => Abbruch
4. Migrationsversuch:
– erfolgreich
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
41 19.02.2019
Weitere Informationen
• Remove and Clean Up Components from Oracle Database 11.2 – 12.2 –
https://mikedietrichde.com/2017/07/26/remove-clean-components-oracle-11-2-12-2/
•
Fragen und Antworten
Markus Flechtner
Principal Consultant
Tel. +49 211 5866 64725
Markus.Flechtner@Trivadis.com
@markusdba https://markusdba.de
Vortrag zum Download verfügbar unter https://www.slideshare.net/markusflechtner
19.02.2019
DOAG Migration Day - Die Datenbank ist nicht immer
schuld ..
42

Weitere ähnliche Inhalte

Was ist angesagt?

Modellierung agliler Data Warehouses mit Data Vault
Modellierung agliler Data Warehouses mit Data VaultModellierung agliler Data Warehouses mit Data Vault
Modellierung agliler Data Warehouses mit Data VaultTrivadis
 
Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2Ulrike Schwinn
 
CDC und Data Vault für den Aufbau eines DWH in der Automobilindustrie
CDC und Data Vault für den Aufbau eines DWH in der AutomobilindustrieCDC und Data Vault für den Aufbau eines DWH in der Automobilindustrie
CDC und Data Vault für den Aufbau eines DWH in der AutomobilindustrieAndreas Buckenhofer
 
Oracle GoldenGate Monitoring
Oracle GoldenGate MonitoringOracle GoldenGate Monitoring
Oracle GoldenGate MonitoringIleana Somesan
 
Wie modelliere ich mein Core DWH?
Wie modelliere ich mein Core DWH?Wie modelliere ich mein Core DWH?
Wie modelliere ich mein Core DWH?Trivadis
 

Was ist angesagt? (7)

Modellierung agliler Data Warehouses mit Data Vault
Modellierung agliler Data Warehouses mit Data VaultModellierung agliler Data Warehouses mit Data Vault
Modellierung agliler Data Warehouses mit Data Vault
 
Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2
 
CDC und Data Vault für den Aufbau eines DWH in der Automobilindustrie
CDC und Data Vault für den Aufbau eines DWH in der AutomobilindustrieCDC und Data Vault für den Aufbau eines DWH in der Automobilindustrie
CDC und Data Vault für den Aufbau eines DWH in der Automobilindustrie
 
Lambdaarchitektur für BigData
Lambdaarchitektur für BigDataLambdaarchitektur für BigData
Lambdaarchitektur für BigData
 
Amazon Redshift
Amazon RedshiftAmazon Redshift
Amazon Redshift
 
Oracle GoldenGate Monitoring
Oracle GoldenGate MonitoringOracle GoldenGate Monitoring
Oracle GoldenGate Monitoring
 
Wie modelliere ich mein Core DWH?
Wie modelliere ich mein Core DWH?Wie modelliere ich mein Core DWH?
Wie modelliere ich mein Core DWH?
 

Ähnlich wie Die Datenbank ist nicht immer Schuld - Gründe warum Datenbank-Migration scheitern können

Skalierung & Performance
Skalierung & PerformanceSkalierung & Performance
Skalierung & Performanceglembotzky
 
BATbern52 SBB zu Data Products und Knacknüsse
BATbern52 SBB zu Data Products und KnacknüsseBATbern52 SBB zu Data Products und Knacknüsse
BATbern52 SBB zu Data Products und KnacknüsseBATbern
 
Oracle Database 12c Release 2
Oracle Database 12c Release 2 Oracle Database 12c Release 2
Oracle Database 12c Release 2 oraclebudb
 
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
 
8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen
8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen
8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzenAWS Germany
 
DOAG 2015 enterprise_securitymitlda_pundpki-pub
DOAG 2015 enterprise_securitymitlda_pundpki-pubDOAG 2015 enterprise_securitymitlda_pundpki-pub
DOAG 2015 enterprise_securitymitlda_pundpki-pubLoopback.ORG
 
DOAG SIG Security 2014 in Hamburg: Enterprise User Security for DBAs #eus4dbas
DOAG SIG Security 2014 in Hamburg: Enterprise User Security for DBAs #eus4dbasDOAG SIG Security 2014 in Hamburg: Enterprise User Security for DBAs #eus4dbas
DOAG SIG Security 2014 in Hamburg: Enterprise User Security for DBAs #eus4dbasCarsten Muetzlitz
 
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?panagenda
 
Sensitive Daten in der Oracle Datenbank
Sensitive Daten in der Oracle DatenbankSensitive Daten in der Oracle Datenbank
Sensitive Daten in der Oracle DatenbankUlrike Schwinn
 
20181120_DOAG_OracleNoSQLDB_KPatenge
20181120_DOAG_OracleNoSQLDB_KPatenge20181120_DOAG_OracleNoSQLDB_KPatenge
20181120_DOAG_OracleNoSQLDB_KPatengeKarin Patenge
 
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysieren
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysierenDBSAT – Die Oracle DATENBANK bzgl. PII Daten analysieren
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysierenGunther Pippèrr
 
Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2panagenda
 
Kritische app performance erfolgreich optimieren mit Bison
Kritische app performance erfolgreich optimieren mit BisonKritische app performance erfolgreich optimieren mit Bison
Kritische app performance erfolgreich optimieren mit BisonDynatrace
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...QAware GmbH
 
AdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsightsAdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsightsChristoph Adler
 
Our way to 19c - DOAG 2020
Our way to 19c - DOAG 2020Our way to 19c - DOAG 2020
Our way to 19c - DOAG 2020Torsten Kleiber
 
Roadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesRoadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesDigicomp Academy AG
 

Ähnlich wie Die Datenbank ist nicht immer Schuld - Gründe warum Datenbank-Migration scheitern können (20)

Skalierung & Performance
Skalierung & PerformanceSkalierung & Performance
Skalierung & Performance
 
BATbern52 SBB zu Data Products und Knacknüsse
BATbern52 SBB zu Data Products und KnacknüsseBATbern52 SBB zu Data Products und Knacknüsse
BATbern52 SBB zu Data Products und Knacknüsse
 
Oracle Database 12c Release 2
Oracle Database 12c Release 2 Oracle Database 12c Release 2
Oracle Database 12c Release 2
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)
 
Infrastructure Solution Day | Core
Infrastructure Solution Day | CoreInfrastructure Solution Day | Core
Infrastructure Solution Day | Core
 
8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen
8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen
8 Tipps für eine Cloud Strategie – wie Unternehmen heute die Cloud einsetzen
 
DOAG 2015 enterprise_securitymitlda_pundpki-pub
DOAG 2015 enterprise_securitymitlda_pundpki-pubDOAG 2015 enterprise_securitymitlda_pundpki-pub
DOAG 2015 enterprise_securitymitlda_pundpki-pub
 
DOAG SIG Security 2014 in Hamburg: Enterprise User Security for DBAs #eus4dbas
DOAG SIG Security 2014 in Hamburg: Enterprise User Security for DBAs #eus4dbasDOAG SIG Security 2014 in Hamburg: Enterprise User Security for DBAs #eus4dbas
DOAG SIG Security 2014 in Hamburg: Enterprise User Security for DBAs #eus4dbas
 
Datenmanagement 2.0: Active Datamanagement (ADM)
Datenmanagement 2.0: Active Datamanagement (ADM)Datenmanagement 2.0: Active Datamanagement (ADM)
Datenmanagement 2.0: Active Datamanagement (ADM)
 
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
 
Sensitive Daten in der Oracle Datenbank
Sensitive Daten in der Oracle DatenbankSensitive Daten in der Oracle Datenbank
Sensitive Daten in der Oracle Datenbank
 
20181120_DOAG_OracleNoSQLDB_KPatenge
20181120_DOAG_OracleNoSQLDB_KPatenge20181120_DOAG_OracleNoSQLDB_KPatenge
20181120_DOAG_OracleNoSQLDB_KPatenge
 
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysieren
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysierenDBSAT – Die Oracle DATENBANK bzgl. PII Daten analysieren
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysieren
 
Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2
 
Kritische app performance erfolgreich optimieren mit Bison
Kritische app performance erfolgreich optimieren mit BisonKritische app performance erfolgreich optimieren mit Bison
Kritische app performance erfolgreich optimieren mit Bison
 
#PinkDB DataVault
#PinkDB DataVault#PinkDB DataVault
#PinkDB DataVault
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
 
AdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsightsAdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsights
 
Our way to 19c - DOAG 2020
Our way to 19c - DOAG 2020Our way to 19c - DOAG 2020
Our way to 19c - DOAG 2020
 
Roadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesRoadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & Features
 

Mehr von Markus Flechtner

My SYSAUX tablespace is full, please
My SYSAUX tablespace is full, pleaseMy SYSAUX tablespace is full, please
My SYSAUX tablespace is full, pleaseMarkus Flechtner
 
Rolle Rückwärts - Backported Features in Oracle Database 19c
Rolle Rückwärts - Backported Features in Oracle Database 19cRolle Rückwärts - Backported Features in Oracle Database 19c
Rolle Rückwärts - Backported Features in Oracle Database 19cMarkus Flechtner
 
Oracle vs. PostgreSQL - Unterschiede in 45 Minuten
Oracle vs. PostgreSQL - Unterschiede in 45 MinutenOracle vs. PostgreSQL - Unterschiede in 45 Minuten
Oracle vs. PostgreSQL - Unterschiede in 45 MinutenMarkus Flechtner
 
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
 
Oracle Datenbank-Architektur
Oracle Datenbank-ArchitekturOracle Datenbank-Architektur
Oracle Datenbank-ArchitekturMarkus Flechtner
 
Wie kommt der Client zur Datenbank?
Wie kommt der Client zur Datenbank?Wie kommt der Client zur Datenbank?
Wie kommt der Client zur Datenbank?Markus Flechtner
 
TFA - Trace File Analyzer Collector
TFA - Trace File Analyzer CollectorTFA - Trace File Analyzer Collector
TFA - Trace File Analyzer CollectorMarkus Flechtner
 
High Availability for Oracle SE2
High Availability for Oracle SE2High Availability for Oracle SE2
High Availability for Oracle SE2Markus Flechtner
 
My SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please helpMy SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please helpMarkus Flechtner
 
Datenbank-Hausputz für Einsteiger
Datenbank-Hausputz für EinsteigerDatenbank-Hausputz für Einsteiger
Datenbank-Hausputz für EinsteigerMarkus Flechtner
 
Should I stay or should I go?
Should I stay or should I go?Should I stay or should I go?
Should I stay or should I go?Markus Flechtner
 
Privilege Analysis with the Oracle Database
Privilege Analysis with the Oracle DatabasePrivilege Analysis with the Oracle Database
Privilege Analysis with the Oracle DatabaseMarkus Flechtner
 
New Features for Multitenant in Oracle Database 21c
New Features for Multitenant in Oracle Database 21cNew Features for Multitenant in Oracle Database 21c
New Features for Multitenant in Oracle Database 21cMarkus Flechtner
 
Oracle - Checklist for performance issues
Oracle - Checklist for performance issuesOracle - Checklist for performance issues
Oracle - Checklist for performance issuesMarkus Flechtner
 
Einführung in den SQL-Developer
Einführung in den SQL-DeveloperEinführung in den SQL-Developer
Einführung in den SQL-DeveloperMarkus Flechtner
 
Oracle Database: Checklist Connection Issues
Oracle Database: Checklist Connection IssuesOracle Database: Checklist Connection Issues
Oracle Database: Checklist Connection IssuesMarkus Flechtner
 
Checklist for Upgrades and Migrations
Checklist for Upgrades and MigrationsChecklist for Upgrades and Migrations
Checklist for Upgrades and MigrationsMarkus Flechtner
 
Taming the PDB: Resource Management and Lockdown Profiles
Taming the PDB: Resource Management and Lockdown ProfilesTaming the PDB: Resource Management and Lockdown Profiles
Taming the PDB: Resource Management and Lockdown ProfilesMarkus Flechtner
 
Oracle Backup & Recovery für Einsteiger
Oracle Backup & Recovery für EinsteigerOracle Backup & Recovery für Einsteiger
Oracle Backup & Recovery für EinsteigerMarkus Flechtner
 

Mehr von Markus Flechtner (20)

My SYSAUX tablespace is full, please
My SYSAUX tablespace is full, pleaseMy SYSAUX tablespace is full, please
My SYSAUX tablespace is full, please
 
Rolle Rückwärts - Backported Features in Oracle Database 19c
Rolle Rückwärts - Backported Features in Oracle Database 19cRolle Rückwärts - Backported Features in Oracle Database 19c
Rolle Rückwärts - Backported Features in Oracle Database 19c
 
Oracle vs. PostgreSQL - Unterschiede in 45 Minuten
Oracle vs. PostgreSQL - Unterschiede in 45 MinutenOracle vs. PostgreSQL - Unterschiede in 45 Minuten
Oracle vs. PostgreSQL - Unterschiede in 45 Minuten
 
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
 
Oracle Datenbank-Architektur
Oracle Datenbank-ArchitekturOracle Datenbank-Architektur
Oracle Datenbank-Architektur
 
Wie kommt der Client zur Datenbank?
Wie kommt der Client zur Datenbank?Wie kommt der Client zur Datenbank?
Wie kommt der Client zur Datenbank?
 
OraChk
OraChkOraChk
OraChk
 
TFA - Trace File Analyzer Collector
TFA - Trace File Analyzer CollectorTFA - Trace File Analyzer Collector
TFA - Trace File Analyzer Collector
 
High Availability for Oracle SE2
High Availability for Oracle SE2High Availability for Oracle SE2
High Availability for Oracle SE2
 
My SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please helpMy SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please help
 
Datenbank-Hausputz für Einsteiger
Datenbank-Hausputz für EinsteigerDatenbank-Hausputz für Einsteiger
Datenbank-Hausputz für Einsteiger
 
Should I stay or should I go?
Should I stay or should I go?Should I stay or should I go?
Should I stay or should I go?
 
Privilege Analysis with the Oracle Database
Privilege Analysis with the Oracle DatabasePrivilege Analysis with the Oracle Database
Privilege Analysis with the Oracle Database
 
New Features for Multitenant in Oracle Database 21c
New Features for Multitenant in Oracle Database 21cNew Features for Multitenant in Oracle Database 21c
New Features for Multitenant in Oracle Database 21c
 
Oracle - Checklist for performance issues
Oracle - Checklist for performance issuesOracle - Checklist for performance issues
Oracle - Checklist for performance issues
 
Einführung in den SQL-Developer
Einführung in den SQL-DeveloperEinführung in den SQL-Developer
Einführung in den SQL-Developer
 
Oracle Database: Checklist Connection Issues
Oracle Database: Checklist Connection IssuesOracle Database: Checklist Connection Issues
Oracle Database: Checklist Connection Issues
 
Checklist for Upgrades and Migrations
Checklist for Upgrades and MigrationsChecklist for Upgrades and Migrations
Checklist for Upgrades and Migrations
 
Taming the PDB: Resource Management and Lockdown Profiles
Taming the PDB: Resource Management and Lockdown ProfilesTaming the PDB: Resource Management and Lockdown Profiles
Taming the PDB: Resource Management and Lockdown Profiles
 
Oracle Backup & Recovery für Einsteiger
Oracle Backup & Recovery für EinsteigerOracle Backup & Recovery für Einsteiger
Oracle Backup & Recovery für Einsteiger
 

Die Datenbank ist nicht immer Schuld - Gründe warum Datenbank-Migration scheitern können

  • 1. BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENF HAMBURG KOPENHAGEN LAUSANNE MÜNCHEN STUTTGART WIEN ZÜRICH Die Datenbank ist nicht immer schuld … … andere Gründe warum Migrationen scheitern können Markus Flechtner ** Ergänzt um einige Bemerkungen aus dem Vortrag **
  • 2. Trivadis – Unsere Mission. DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 2 19.02.2019 Trivadis makes IT easier: Wir unterstützen unsere Kunden massgeblich bei der intelligenten Nutzung von Daten im digitalen Zeitalter. Wir reduzieren Komplexität für unsere Kunden durch herausragende Technologiekompetenz. Wir übernehmen Kernaufgaben der bestehenden und zukünftigen IT unserer Kunden.
  • 3. Trivadis – Was uns auszeichnet und unterscheidet. DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 3 19.02.2019 Wir verstehen die Business-Prozesse und wirtschaftlichen Herausforderungen unserer Kunden und unterstützen sie durch IT-Beratung und bei der Entwicklung ganzheitlicher IT-Lösungen. Unsere selbstentwickelten, bewährten Produkte und Methoden basieren auf dem tiefen Know-how in den Kerntechnologien von Microsoft, Oracle und Open Source. Dies unterscheidet uns von unserem Mitbewerb. OPEN SOURCE
  • 4. Trivadis – Unsere wichtigsten Kennzahlen. DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 4 19.02.2019 Gründung: 1994. 15 Trivadis Niederlassungen mit über 650 Mitarbeitenden. Umsatz CHF 111 Mio. (EUR 96 Mio.). Über 250 Service Level Agreements. Mehr als 4'000 Trainingsteilnehmer. Forschungs- und Entwicklungsbudget: CHF 5.0 Mio. Mehr als 1'900 Projekte pro Jahr bei über 800 Kunden. Finanziell unabhängig und nachhaltig profitabel.
  • 5. Über mich - Markus Flechtner Principal Consultant, Trivadis, Düsseldorf, seit April 2008 Im Oracle-Umfeld tätig seit den 1990ern: – Development (Forms, Reports, PL/SQL) – Support – Database Administration Schwerpunkte – Oracle Real Application Clusters – Datenbank Upgrade- und Migrationsprojekte Kursreferent – O-RAC – Oracle Real Application Clusters – O-NF-DBA – Oracle Database New Features for the DBA – O-MT – Oracle Multitenant Blog: markusdba.de @markusdba 19.02.2019 DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 5
  • 6. 19.02.2019 DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 6 Technik allein bringt Sie nicht weiter. Man muss wissen, wie man sie richtig nutzt.
  • 7. DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 7 19.02.2019 Das Projekt
  • 8. Das Projekt im Überblick DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 8 19.02.2019 Datenbank-Migration von Solaris SPARC nach Linux – Oracle 11.2.0.4 – Von RAC (4 Cluster, 2 + 4 Knoten) nach MAA (2 x 2-Knoten-RAC) – ASM – 40 Datenbanken (Staging (Test) + Produktion) – DB-Größen von 150 GB bis 9 TB Organisatorische Vorgaben/Wünsche – Maximale Downtime für alle DBs: 1 Stunde – Gleiches Migrationsverfahren für alle Datenbanken Am Ende waren es nur 30 DBs Zwischen 1 h und 48 h Verfahren abhängig von der Downtime
  • 9. Agenda DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 9 19.02.2019 1. Halten Sie Ordnung 2. Halten Sie die Datenbank sauber 3. Ein Tropfen Öl macht 1000 Liter Trinkwasser ungenießbar 4. Clients & Datenbanken können sich manchmal nicht verstehen 5. Fazit und ein Real-Life-Beispiel
  • 10. DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 10 19.02.2019 Halten Sie Ordnung
  • 11. Configuration Management Database (CMDB) DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 11 19.02.2019 Bauen Sie eine CMDB auf und halten Sie diese aktuell – Datenbanken – Applikationen – Netzwerk-Strukturen Welche Applikationen (Clients) nutzen die Datenbanken? – Wer sind die Ansprechpartner? – Was sind die möglichen Auszeiten für diese Applikationen? – Wie lange darf eine Downtime maximal dauern? – Versionen der Applikationen? Zertifizierung gegenüber mit der DB-Version? Schatten-IT ist ein Risiko für Migrationen und Upgrades
  • 12. Wissen, wo die Clients herkommen .. (1) DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 12 19.02.2019 select sc.client_version,sc.client_driver, s.machine,s.program,s.osuser,s.service_name,count(*) from gv$session s,gv$session_connect_info sc where sc.inst_id=s.inst_id and sc.sid=s.sid and sc.serial#=s.serial# and s.type<>'BACKGROUND' group by sc.client_version,sc.client_driver,s.machine,s.program,s.osuser,s.service_name order by sc.client_version,sc.client_driver,s.machine,s.program,s.osuser,s.service_name /
  • 13. Wissen, wo die Clients herkommen .. (2) DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 13 19.02.2019 Tipp: Via Datenbank-Job vor der Migration Informationen über die Clients sammeln, die die Datenbank nutzen, um unbekannte Clients zu aufzuspüren!
  • 14. Wer sind die Ansprechpartner? DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 14 19.02.2019 Storage Netzwerk Firewall Applikation [..] Achtung, wenn Verantwortlichkeiten ausgelagert wurden! Sicherstellen, dass die Ansprechpartner bei der Migration zur Verfügung stehen!
  • 15. DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 15 19.02.2019 Halten Sie die Datenbank sauber
  • 16. Ungenutzte Schemata und User (1) DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 16 19.02.2019 Nicht mehr genutzte Schemata sollten ggf. archiviert und dann aus der Datenbank gelöscht werden – Weniger Platz- und Zeitbedarf für Backups – Mehr Flexibilität bei der Auswahl der Migrationsverfahren – Schnellere Migrationen und ggf. Upgrades – Sicherheitsrisiko SQL> CONNECT scott/tiger@prod SQL> SELECT owner, table_name FROM all_tables;
  • 17. Ungenutzte Schemata und User (2) DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 17 19.02.2019 Demo-User, Beispiel-Schemata, .. Mitarbeiter verlassen die Firma .. – .. und hinterlassen Datenbank-User und Datenbank-Objekte  Nicht mehr benötigte Benutzer droppen (oder zumindest sperren) Seit Oracle 12.1: Seit Oracle 12.2: SQL> SELECT username,last_login FROM dba_users; SQL> ALTER PROFILE DEFAULT LIMIT INACTIVE_ACCOUNT_TIME 365;
  • 18. Ungültige Objekte DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 18 19.02.2019 Ungültige Objekte haben in einer Produktionsdatenbank nichts zu suchen –  erschwerte Fehlersuche bei Migrationen und Upgrades @?/rdbms/admin/utlrp.sql set linesize 100 set pagesize 100 column owner format a30 column object_type format a30 column object_name format a30 select owner,object_type,object_name from dba_objects where status='INVALID' order by owner,object_type,object_name from dba_objects;
  • 19. Brauchen Sie alle Indizes? (1) DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 19 19.02.2019 Indizes, die von der Applikation nicht genutzt werden und die die nicht für referentielle Integrität (Primary Keys, Unique Keys oder Foreign Keys) benötigt werden können (oft) gelöscht werden  schnellere Migrationen (insbesondere DataPump)  Achtung: Indizes liefern auch Informationen für den Optimizer auch wenn sie nicht genutzt werden.  Ausführungspläne beobachten (ggf. Indizes nachträglich wieder anlegen) SQL> ALTER INDEX <owner>.<index_name> MONITORING USAGE;
  • 20. Brauchen Sie alle Indizes? (2) - Auswertung DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 20 19.02.2019 Oracle 11g (als Eigentümer): Oracle 12c: MOS-Notes: – V$OBJECT_USAGE RETURNS NO ROWS EVEN AFTER ENABLING MONITORING (Doc ID 261756.1) – Index Monitoring in Oracle 12.2 (Doc ID 2302110.1) SQL> SELECT * FROM v$object_usage; SQL> SELECT * FROM dba_object_usage;
  • 21. Ungenutzte (oder nicht lizenzierte) Optionen (1) DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 21 19.02.2019 Oft werden nicht erforderliche oder nicht lizenzierte Optionen und Komponenten mit installiert (Spatial, Label Security, …) Eine Migration ist eine gute Gelegenheit, das zu ändern – Ggf. kein Lizenzverstoß mehr – Weniger Sicherheitsrisiken – Schnellere Upgrades
  • 22. Ungenutzte (oder nicht lizenzierte) Optionen (2) DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 22 19.02.2019 Was ist installiert? – DBA_REGISTRY – V$OPTION Was wird genutzt? – Keine einfache Kontrolle via SELECT – Anhaltspunkte: DBA_FEATURE_USAGE_STATISTICS „false positives“
  • 23. Raus-Konfigurieren nicht lizenzierter Optionen DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 23 19.02.2019 Bei der Enterprise Edition können (seit 12c) Optionen nicht mehr bei der Installation abgewählt werden Lösung: nach der Installation nicht lizenzierte Optionen rauskonfigurieren Folgende Optionen können entfernt werden – Oracle Advanced Analytics (oaa) – Oracle OLAP (olap) – Oracle Partitioning (partitioning) – Oracle Real Application Testing (rat) – Oracle Database Extensions for .NET (ode_net, Windows only) oracle> chopt <enable|disable> option
  • 24. DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 24 19.02.2019 Ein Tropfen Öl macht 1000 Liter Trinkwasser ungenießbar
  • 25. Eine Datenbank und 1000 Clients … DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 25 19.02.2019 Die Datenbank-Clients sind manchmal schwer kontrollierbar Namensauflösung – LDAP – Lokale tnsnames.ora – Easy Connect – … Oracle Net, ODBC, JDBC, ODP.NET, … Client-Versionen Eine Datenbank-Migration kann an EINEM CLIENT der sich nach der Migration nicht mit der neuen Datenbank verbinden kann, scheitern!
  • 26. Einschub: ein Service pro Applikation DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 26 19.02.2019 Einfachere Identifikation der Clients Bessere Auswertungen (z.B. AWR, OEM) Applikationen können einzeln in andere Datenbanken oder auf andere Server verlagert werden Nicht den Default-Service der Datenbank verwenden – Nicht konfigurierbar
  • 27. DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 27 19.02.2019 Clients & Datenbanken können sich manchmal nicht verstehen
  • 28. Clients & Datenbanken können sich einfach nicht verstehen DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 28 19.02.2019 Inkompatible Versionen Verschlüsselung Password-Versionen
  • 29. Inkompatible Versionen (1) DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 29 19.02.2019 Alte Applikationen, die nicht weiterentwickelt wurden – Oracle 8 Clients können sich nicht an Oracle 12.2 oder höher anmelden Alte Datenbanken auf alter Hardware – Auch ein Datenbank-Link ist ein Client! – Datenbank-Links zwischen Oracle 9i und 12c sind nicht möglich 
  • 30. Inkompatible Versionen (2) DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 30 19.02.2019 MOS-Note: Client / Server Interoperability Support Matrix for Different Oracle Versions (Doc ID 207303.1) – (*) = 11.2.0.3 + 11.2.0.4 Client Server 18c + 12.2 12.1 11.2 (*) 11.1 10.2 18c + 12.2 OK OK OK NO NO 12.1 OK OK OK NO** Special 11.2 (*) OK* OK OK NO** Special 11.1 NO NO** NO** NO** NO** 10.2 NO Special Special NO** Special
  • 31. Verschlüsselung (1) DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 31 19.02.2019 Oracle Net – Verschlüsselung benötigt keine ASO-Lizenz mehr Security sagt: Verschlüsselung muss sein! (=> „requested“) Sqlnet.ora (Client + Server) - Einstellungen für Verschlüsselung: – Algorithmen: AES256, AES192 und AES128 SQLNET.ENCRYPTION_SERVER = [accepted | rejected | requested | required] SQLNET.ENCRYPTION_TYPES_SERVER = (valid_encryption_algorithm [,valid_encryption_algorithm]) SQLNET.ENCRYPTION_CLIENT = [accepted | rejected | requested | required] SQLNET.ENCRYPTION_TYPES_CLIENT = (valid_encryption_algorithm [,valid_encryption_algorithm])
  • 32. Verschlüsselung (2) DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 32 19.02.2019 Teilweise waren zusätzliche Einstellungen (Properties) für JDBC-Thin-Clients erforderlich –  vorher prüfen und anpassen Treiber von Drittherstellern können teilweise keine Verschlüsselung – Server-Einstellung ändern auf „required“ oder “accepted“ – Gilt dann serverweit! (eine sqlnet.ora!) Kontrolle, ob Verschlüsselung genutzt wird select NETWORK_SERVICE_BANNER from v$session_connect_info where SID = sys_context('USERENV','SID');
  • 33. Verschlüsselung (3) DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 33 19.02.2019 Ergebnis (ohne Verschlüsselung) Mit Verschlüsselung: NETWORK_SERVICE_BANNER -------------------------------------------------------------------------------- TCP/IP NT Protocol Adapter for Linux: Version 19.0.0.0.0 - Production Encryption service for Linux: Version 19.0.0.0.0 - Production Crypto-checksumming service for Linux: Version 19.0.0.0.0 - Production NETWORK_SERVICE_BANNER -------------------------------------------------------------------------------- TCP/IP NT Protocol Adapter for Linux: Version 19.0.0.0.0 - Production Encryption service for Linux: Version 19.0.0.0.0 - Production AES256 Encryption service adapter for Linux: Version 19.0.0.0.0 - Production Crypto-checksumming service for Linux: Version 19.0.0.0.0 - Production
  • 34. Das Datenbank-Password im Laufe der Zeit .. (1) DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 34 19.02.2019 Case-Sensitive Passworte – Eingeführt mit Oracle 10g – Parameter SEC_CASE_SENSITIVE_LOGON als Workaround – Parameter ist seit Oracle 12c abgekündigt („deprecated“) Verwendung von SEC_CASE_SENSITIV_LOGON ergibt eine Warnung beim Hochfahren der Datenbank – Löschen aus dem Spfile mit ORA-32004: obsolete or deprecated parameter(s) specified for %s instance SQL> ALTER SYSTEM RESET sec_case_sensitive_logon scope=spfile sid='*';
  • 35. Das Datenbank-Password im Laufe der Zeit .. (2) DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 35 19.02.2019 Password-Versionen – Änderung der Password-Hashes seit Oracle 10g SQL select password_versions from dba_users; PASSWORD_VERSIONS ----------------- 10G 11G 12C 11G 12C [..]
  • 36. Password-Versionen (1) DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 36 19.02.2019 Parameter SQLNET.ALLOWED_LOGON_VERSION_SERVER bestimmt, welche Password-Hashes generiert werden – Default in Oracle 12.2: 12 –  es werden nur 11G + 12C Hashes generiert –  10g-Clients können sich nicht anmelden ORA-1017: invalid username/password; logon denied
  • 37. Password-Versionen (2) DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 37 19.02.2019 Lösung: 1. Parameter SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8 setzen - dann werden alle Password-Hashes generiert 2. Für die User, die Oracle 10g-Clients nutzen: - dann werden die 10g-Hashes angelegt 3. User mit älteren Client-Versionen können sich wieder anmelden SQL> ALTER USER <user> identified by <PASSWORD>;
  • 38. DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 38 19.02.2019 Fazit und ein Real-Life-Beispiel
  • 39. Fazit DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 39 19.02.2019 Ordnung ist das halbe Leben! Auch Datenbanken brauchen Pflege  Räumen Sie vor einer Migration oder einem Upgrade in den Datenbanken auf! Das Umfeld bei einer Migration ist oft komplexer als die Datenbank selbst! Testen, testen, testen .. Aber man wird nie alles testen können :) Murphy ist bei allen Datenbank-Migrationen dabei!
  • 40. Eine Datenbank-Migration - kurzgefasst DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 40 19.02.2019 Vorbereitung: – Statt 600 GB (DB-Größe) müssen nur 150 GB Daten migriert werden 1.Migrationsversuch: – Wir entdecken eine unbekannte Applikation => Abbruch 2. Migrationsversuch: – Die Applikation kommt aus einem anderen Netz, Firewall-Regeln fehlen => Abbruch 3. Migrationsversuch: – Die neuen Firewall-Regeln waren unvollständig implementiert => Abbruch 4. Migrationsversuch: – erfolgreich
  • 41. DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 41 19.02.2019 Weitere Informationen • Remove and Clean Up Components from Oracle Database 11.2 – 12.2 – https://mikedietrichde.com/2017/07/26/remove-clean-components-oracle-11-2-12-2/ •
  • 42. Fragen und Antworten Markus Flechtner Principal Consultant Tel. +49 211 5866 64725 Markus.Flechtner@Trivadis.com @markusdba https://markusdba.de Vortrag zum Download verfügbar unter https://www.slideshare.net/markusflechtner 19.02.2019 DOAG Migration Day - Die Datenbank ist nicht immer schuld .. 42