42
ERFAHRUNGEN MIT DER MIGRATION NACH 19C MULTITENANT Andre Lünsmann (Barmenia Krankenversicherung AG) Johannes Ahrends (CarajanDB GmbH) 18.11.2020 Upgrade 19c

ERFAHRUNGEN MIT DER MIGRATION NACH 19C

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

ERFAHRUNGEN MIT DER MIGRATION NACH 19C

MULTITENANT Andre Lünsmann (Barmenia Krankenversicherung AG)

Johannes Ahrends (CarajanDB GmbH)

18.11.2020

Upgrade

19c

Page 2: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Agenda

Vorstellung Barmenia, CarajanDB

Derzeitige Oracle Architektur

• VMware mit einer oder mehrerer DB pro Anwendung pro Guest

• Actifio für Backup und Hochverfügbarkeit

• Toolset der DB Administration

• Automatischer Prozesse (Install, Patching)

• Shell Skripting

03.12.2021 2

Page 3: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Vorstellung Barmenia, CarajanDB

Derzeitige Oracle Architektur

Multitanent Datenbank1

Page 4: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Johannes Ahrends

Oracle Spezialist seit 1992

• 1992: Presales bei Oracle in Düsseldorf

• 1999: Projektleiter bei Herrmann & Lenz Services GmbH

• 2005: Technischer Direktor ADM Presales bei Quest Software GmbH

• 2011: Geschäftsführer CarajanDB GmbH

2011 → Ernennung zum Oracle ACE

Autor der Bücher:

• Oracle9i für den DBA, Oracle10g für den DBA, Oracle 11g Release 2 für den DBA

DOAG Themenverantwortlicher Datenbankadministration, Standard Edition

Hobbies:

• Drachen steigen lassen (Kiting) draußen wie drinnen (Indoorkiting)

• Motorradfahren (nur draußen)

• Singen (überall)

03.12.2021 4

Page 5: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Andre Lünsmann

Vers.-Fachwirt und Teamleiter Produktionssteuerung und Datenbanken

• 1980 Barmenia Versicherungen

• 1988/9: IT Ausbildung

• 1991: Projektleiter in diversen IT Projekten

• 2002: Verantwortlicher für Datenbanken

• 2013/4: Projektleiter Mainframe Ablösung

• 2015 Mitglied im DOAG Anwenderbeirat

• 2020 DOAG Vorstand Infrastruktur & Middleware

Hobbies:

• Tischtennis (nur drinnen)

• Radfahren (nur draußen)

• DOAG (überall)

03.12.2021 5

Page 6: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

DMZ

Oracle

AIX RAC

(2010)

v5orap1 v6orap2

Grid

Control

lxnnn

Oracle

Linux VM

(2016)

Oracle ESX

cluster99

lxnnn

lxnnn

lxnnn

Oracle

Linux VM (2016)

lxnnnlxnnnlxnnnlxnnn

▪lxnn

n▪lxnn

nlxnnnlxnnn

Oracle ESXnnn

RZ2

lxnnnlxnnnlxnnnlxnnn

lxnnnlxnnnlxnnnlxnnn

lxnnnlxnnnlxnnnlxnnn

▪lxnn

n▪lxnn

nlxnnnlxnnn

Oracle ESXnnn

RZ1

lxnnnlxnnnlxnnnlxnnn

lxnnnlxnnnlxnnnlxnnn

2016/2017

Übersicht Oracle Datenbank Infrastruktur

03.12.2021 6

Page 7: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

RZ3 Sparkasse

Barmenia HV

VCenter

Storage VPLEX/VNX

Oracle Linux

lxnnnlxnnnlxnnnlxnnn

Oracle ESXnnn - RZ2 -

lxnnnlxnnnlxnnnlxnnnlxnnn

Oracle ESXnnn - RZ1 -

Storage RZ1 Storage RZ2Spiegelung

NetBackup

Archive

LogsArchive

Logs

NEO8000e

8*LTO5 RZ1 NEO8000e

8*LTO5 RZ3

Media Server Virtuo

VTL Cache

(max. 7Tage)

Media Server Virtuo

VTL Cache

(max. 7Tage)

NFS Share

Archive

Logs

lxnnnlxnnnlxnnnlxnnn

Archive

Logs

SpiegelungSLA

Linux Oracle VM Infrastruktur (2017)

03.12.2021 7

Page 8: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

VMs

vCPUs0

100

200

300

400

500

600

RAC 2016

Linux VM 2016

Linux VM 2017

Linux VM 2017 ohneData Guard

2 82

249

181

48 164

551

450

VMs

vCPUs

Lizenzvergleich

AIX 48 CPU = Linux 68,5 CPU

Durch die vCPU und sharen der

Infrastruktur in Vmware

genügen im Linux Umfeld 120

lizenzpflichtige CPUs, die für

den HA Fall nur ca. 50 %

ausgelastet werden.

Beim Tausch NetBackup gegen actifio erfolgte der Verzicht auf Data Guard

03.12.2021 8

Page 9: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Quelle

Oracle (BB)Oracle (BI)

Oracle (BC)MySQL (BB)

MySQL (BI)MySQL (BC)

MSSQLServer (BB)

MSSQLServer (BI) MSSQL

Server (BC)Informix

(BB) Informix (BI)Informix

(BC)

13

78

111

48

321

154

62

34

45

78

111

53

321

45

1111

2626

23

Datenbanken über alle RDBMS

Systeme AnwendungsDB

Überblick der Datenbank Landschaft

03.12.2021 9

Page 10: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Toolset für DB Administration

DB Admin

db

ah

ost

• Central DBA Jump

• Central DBA Admin Tools Host

• Central REST API Proxy

• Central Job Execution Provider

• REST API Calls

• Remote Executions

(SSH / Salt / ORArexec)

MYS hostORA host

MNG host

MSS host

Vcenter Y

Flowster

IFX host

Vcenter X

Jenkins Control-M

REST API Proxy

Actifio

Netbackup

Com

pu

teS

tora

ge

Dep

loym

ent

Orc

he

str

atio

n

Salt

DBA Clients

PrimaryActifioNetbackup

Service Portal

EMCLI

ORArexec

CheckMK Foglight

NFS

SharesCMDBGIT

Code

Nexus

Bin, RPM

Monitoring

EM13C

FlowsterCTM

Log Management

Vault

Config

PWD

Jira

Ansible, Skrpte

Graylog ReportSafe

samaritan

03.12.2021 10

Page 11: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Skripte für Self Service – Oracle Deploy –

• Inkl. CTM Agent

• Inkl. Foglight Agent

• Inkl. Check_mk Agent

Erstellen Linux VM

• Inkl. RMAN Katalog Eintrag

• Inkl. Foglight DB Überwachung

• Email an Actifio Admins

Erstellen Oracle DB auf

Linux VM

• Tägl. Actifio Full Backup per CTM

• Alle 15 Minuten Archive Logs Prüfung mit mind. stündlicher Archivierung

• Tägl. Cleanup Job TAR Files

• Wöchentl. Cleanup RMAN Repository

• Regelm. Cleanup Job mit Backup der FRA

Eintrag Oracle DB in CTM Hostgroup

03.12.2021 11

Page 12: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Skript

OracleOracleOracle

Oracle

CMDB

OracleOracleOracleOracle

Control-M

SCT DB

Control-M

DB

6 Rollout OH

Inventory

registrieren

DBA

sst

CTM

5 Generieren Jobs

mit allen DB

je Hostgroup

2 Auslesen alle Oralcle Instanzen

4 ermitteln

Hostgroup

1 Starten Skript

Rollout Oracle Home

3 ermitteln Patchlevel in

/app/oracle/product/…

Patch: Rollout neues Oracle Home

1. Start Rollout Skript Oracle Home

2. Auslesen aller Oracle Instanzen

3. Ermitteln Patchlevel auf Zielsystem

4. Ermitteln Hostgroups

5. Generieren Jobs für alle DB je Hostgroup

6. Rollout neues Oracle Home

• FS anlegen

• Größe in Konfigurationsdatei vermerkt

• TAR-Image aus „Repository“ holen und entpacken

• neues ORACLE_HOME in Inventory registrieren

03.12.2021 12

Page 13: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Patch: Aktualisieren der Datenbanken

1. Einplanen des DB Patch

2. Auslesen der Patchlevel

3. Ermitteln der Hostgroup

4. Generieren der Jobs mit allen DB je Hostgroup

5. Patchen der DB Instanz

• evtl. störende alte Patches deinstalliert

• die Instanz herunterfährt

• Den Listener herunterfährt

• die Umgebung auf das neue OH setzt und daraus die Instanz und

den Listener startet

• listener.ora wird angepasst

• datapatch aufruft

• Erfolgreichen Patch testen

Skript

OracleOracleOracle

Oracle

CMDB

OracleOracleOracleOracle

Control-M

SCT DB

Control-M

DB

DBA

sst

CTM

4 Generieren Jobs

mit allen DB

je Hostgroup

5 patchen der DB

2 Auslesen

Patchlevel DB3 ermitteln

Hostgroup

1 Einplanung

DB Patch

03.12.2021 13

Page 14: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Lizenzsituation

• ULA mit Oracle seit 2012

• Lizenzumfang

• DB Enterprise Edition (unlimitiert)

• Partioning (unlimitiert)

• Diagnostic und Tuning Pack (unlimitiert)

• Advanced Compression (unlimitiert)

• Advanced Security Option (unlimitiert)

• In-Memory (unlimitiert)

• Multitanent (28 – Processor Perputal)

• Enterprise User Security für Oracle unified Directory Service

• Virtualisierungsvereinbarung seit 2018

03.12.2021 14

Page 15: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Multitanent Datenbank2

Page 16: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Ausgangslage aus Sicht der Technik und Lizenzsituation

Zielarchitektur

• Multitenant mit max. 3 PDBs

• CDB Cloning (Templates)

• PDB kann nicht geklont werden (Details)

• Ansible für Software Rollout

• Shell Skripting für Datenbank Rollout

Spezielle Herausforderungen

• Keine Multitenant Option lizenziert

• Namenskonventionen

• Einbindung EUS / AD mit Common User

• PDB Template umständlich

03.12.2021 16

Page 17: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

„Klassische Datenbankarchitektur“

non-CDB

• Architektur bis Oracle 11.2

Multitenant Architektur

• Alternative Architektur ab Version 12.1.1 für alle Editionen

Multitenant Option

• Kostenpflichtig für die Enterprise Edition

• Bis zu 253 PDBs pro CDB (Exadata ab 12.2 4096 PDBs)

The non-CDB architecture was deprecated in Oracle Database 12c. It can be desupported and unavailable in a release

after Oracle Database 12c Release

Oracle recommends use of the CDB architecture.

The non-CDB architecture will be desupported from Oracle 20c on

(OOW 2019 Dominic Gilles)

03.12.2021 17

Page 18: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

3 PDBs in jeder Edition

Quelle: Oracle Database Database Licensing Information User Manual 19c E94254-10 September 2019

03.12.2021 18

Page 19: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

PDB$SEED APPL1 APPL2 APPL3 APPL4

CDB$ROOT

Architektur

Shared Pool LogbufferBuffercache

PMON SMON … …

Redolog

Controlfile

spfile

DBWR LGWR

03.12.2021 19

Page 20: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

USERS

TEMP

UNDO

SYSAUX

Root Container (CDB)

Komponenten für den Aufbau der Instanz

• Controlfiles

• spfile

→ Connect an die Instanz nur über die CDB möglich

Verwaltung der Redolog-Dateien

→ Vollständiges Recovery der Datenbank nur über die CDB möglich

SYSTEM

Redolog

Controlfile

spfile

03.12.2021 20

Page 21: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

DATEN

USERS

UNDO *)

Pluggable Database (PDB)

In sich geschlossenes System

• Data Dictionary

• Tablespaces

• Schemata

• Objekte

• Public Objekte

• Workload Repository

• Lokales Undo (nicht immer)

• Parameter

TEMP

SYSAUX

SYSTEM

03.12.2021 21

Page 22: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Warum Pluggable Database?

Konsolidierung von Datenbanken

Eine gemeinsame Instanz

Ein gemeinsames Redo Management

Separate Tablespace Verwaltung

Separate Schema Verwaltung

Separate User / Rollen-Verwaltung

03.12.2021 22

Page 23: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Common Roles

Rolle wird in der CDB definiert und ist automatisch in allen PDBs verfügbar

Privilegien in den PDBs können unterschiedlich sein

Voraussetzung: Role beginnt mit “C##“

Common Privilegien durch Angabe von „CONTAINER=ALL“

SQL> CREATE ROLE c##dba CONTAINER=ALL;

Role created.

SQL> GRANT CREATE SESSION TO c##dba;

Grant succeeded.

03.12.2021 23

Page 24: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Common User

Voraussetzung wie bei der Role

Warum?

• Weil das Privileg „CREATE SESSION“ nur für die CDB vergeben worden ist!

SQL> CREATE USER c##dbauser IDENTIFIED BY "oracle" CONTAINER=ALL;

User created.

SQL> GRANT c##dba TO c##dbauser;

Grant succeeded.

SQL> CONNECT c##dbauser/oracle

Connected.

SQL> ALTER SESSION SET CONTAINER=nachtmusik;

ERROR:

ORA-01031: insufficient privileges

03.12.2021 24

Page 25: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Enterprise User Security

Definition eines Gobalen (nicht Common) Users

• Zuordnung der DBAs, etc. zu den Global Usern über Active Directory

Problem?

• Derzeit ist der Global User ohne Prefix definiert

• Dadurch kann er aber nicht Common User werden

• Änderungs des Global Users in AD nicht möglich, weil noch NON-CDB Datenbank existieren

Lösung

• temporär Parameter common_user_prefix = ''

• Restart der Datenbank

• Benutzer anlegen

• Parameter zurücksetzen

• Restart der Datenbank

03.12.2021 25

Page 26: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Namenskonventionen

Derzeit:

• Name der Datenbank = Anwendungskürzel (meist dreistellig)

Multitenant:

• ????

• Name der CDB = Name der Anwendung plus „C“

• Name der PDB = Name der Anwendung

• Frage: was passiert, wenn wir mehrere PDBs in einer CDB haben?

• Alternative: CDBs durchnummerieren

03.12.2021 26

Page 27: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Andere Objekte

Es gibt keine „Common“ Packages, Procedures, DB-Links, etc.

• Außer, wenn Sie bei der Erstellung der Datenbank direkt mit installiert wurden

Daher müssen diese Objekte in jeder PDB neu installiert werden

03.12.2021 27

Page 28: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Deployment

Erstellen der CDB aus einem eigenen Template

• Erstellen der Datenbank dauert ca. 10 Minuten

• Alle Common Rollen, Profiles, User enthalten

Erstellen der PDB aus der PDB$SEED

• PDB$SEED kann nicht angepasst werden

• Es müssen diverse Skripte nachinstalliert werden

03.12.2021 28

Page 29: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Datenbank Zeichensatz

ca. 75 % aller Datenbanken benutzen noch WE8ISO8859P15

Ab 12.2: CDB mit Unicode kann PDB mit WE8 Zeichensatz enthalten (nicht aber umgekehrt!)

• aber: in einer Unicode CDB kann keine WE8 Datenbank erstellt werden

• Temporäre Lösung: CDB und PDB mit gleichem Zeichensatz (unflexibel)

03.12.2021 29

Page 30: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Tools

z.B. Toad:

• Der DBA muss sich an jede PDB und jede CDB einzeln anmelden

• Für Anwendungen (z.B. DB-Visualizer) kein Problem, da nur eine Anmeldung an die PDB möglich ist

03.12.2021 30

Page 31: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Backup und Recovery

Actifio

Funktioniert problemlos (Version beachten)

Recovery bzw. Cloning nur von der gesamten CDB mit allen PDBs

• Muss noch intensiver getestet werden

03.12.2021 31

Page 32: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Neue Möglichkeiten

Cloning von Datenbank (DevOps)

Snapshot Cloning

Refresh2I (Neuaufbau der Vorproduktion) → Cloning über Datenbank –Link

03.12.2021 32

Page 33: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

… und was ist mit Patching?

03.12.2021 33

http://www.oracle.com/technetwork/database/multitenant/overview/index.html

Page 34: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Realität

Neues ORACLE_HOME als Klon

CDB und alle PDBs werden gemeinsam gepatcht

03.12.2021 34

Page 35: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Ressourcenverbrauch

Derzeit kein nennenswerter Overhead erkennbar

Benchmark mit Swingbench zeigt keinen Unterschied von 12.1 (NON-CDB) zu 19c Multitenant

03.12.2021 35

Page 36: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Aktueller Status

Fazit3

Page 37: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Aktueller Status Quo

• Viele Skripte wurden überarbeitet

• Self Service für die vollautomatisierte Bereitstellung ist noch in Arbeit

• Erste produktive Instanz wird derzeit ausgerollt um Erfahrungen zu sammeln und etwaige todo‘s zu ermitteln

• ….

03.12.2021 37

Page 38: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Ist 19c als Schritt in Richtung autonomes Database zu werten?

In der Stadt am Rhein wird jetzt

die deutschlandweit erste Buslinie

mit autonom fahrenden Bussen

betrieben. Ganz ohne Mensch

kommen die aber doch nicht vom

Fleck.

https://www.sueddeutsche.de/auto

/automatisiert-fahrende-elektro-

busse-in-monheim-nrw-1.4820833

03.12.2021 38

Page 39: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Die 5 Stufen der Datenbank AutomationWie ist 19c hier einzustufen?

Stufe 1unterstützt

Der DBA

händelt alles

manuell und

nutzt die

Assistenten

des DB

Systems,

bedient sich

der GUI und

CLI, Skripte

kein aktiv

eingreifendes

DB System

Stufe 2teilautomatisiert

Der DBA

konfiguriert

die vorh.

Assistenten

und arbeitet

ansonsten

über GUI und

CLI, Skripte

Einzelne

Funktionen

des DB

Systems

greifen aktiv

ein

Stufe 3Hochautomatisiert

Der DBA nutzt

vorkonfigurierte

Assistenten

und arbeitet

selten über

GUI und CLI

Viele Funk-

tionen des DB

Systems grei-

fen aktiv ein

und sind vor-

konfiguriert.

Es alarmiert

den DBA bei

Problemen.

Stufe 4Vollautomatisiert

Der DBA instal-

liert u. kontrol-

liert den rei-

bungsl.Betrieb

Das DB

Systems kann

in allen

relevanten

Situationen

gezielt

eingreifen und

etwaige

Probleme

händeln und

Patche selbst

installieren.

Stufe 5ohne DBA

Das DB

Systems kann

nicht nur in

allen relevan-

ten Situationen

gezielt eingrei-

fen und

etwaige Pro-

bleme händeln,

sondern sich

auch selbstän-

dig installieren,

neustarten,

patchen und

auf eine neue

Major Version

migrieren.Roboter

2018 2020 2023 2028

03.12.2021 39

Sind wir wirklich in 2020 schon in Stufe 3

angekommen?

U.E. ist sind noch viel zu viele Schritte manuell

vom DBA durchzuführen.

Für den Aufwand der Migration ist der

Fortschritt im neuen Konstrukt überschaubar.

DB Admin

Page 40: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Was wir uns von Oracle wünschen

• Eine durchgängige Trennung von CDB und PDB zu realisieren.

• Bereitstellung konfigurierbarer Self Services, mit denen die gängigen Funktionen (anlegen,

sichern, patchen, löschen) von Datenbank Instanzen einfach bereitgestellt werden können.

• Integration einer Configuration Management Database (CMDB) für weitere

Automationsmöglichkeiten.

• ...

• Wenn Multitanent der Standard ist,

sollte Multitanent auch in einer Standardlizenz enthalten sein!

03.12.2021 40

Page 41: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Tipps für die kommenden Herausforderungen

✓ proaktiv

reaktiv

03.12.2021 41

Page 42: ERFAHRUNGEN MIT DER MIGRATION NACH 19C

Johannes Ahrends

"Erfolg ist die Fähigkeit, von einer Niederlage

zur nächsten zu schreiten, ohne dabei die Begeisterung

zu verlieren."

Winston Churchill

Andre Lünsmann