Oracle implementierte über 500 neue Funktionen in die neuste Datenbankversion 12c. Da ist es schwierig, eine einzelne neue Funktion herauszupicken. Multitenant Pluggable Database, Life Cycle Management oder neue Funktionen im Bereich «High Availablity» sind nun verfügbar.
Fachspezialisten von Oracle gaben im Rahmen der Partnerschaft von Digicomp zu Oracle University einen Einblick in die Fülle und die Möglichkeiten der Version 12c.
Die Inhalte zielen auf alle Benutzergruppen der Oracle-DB: Administratoren, Entwickler, technische Berater, Consultants, High-Level-Manager, IT-Entscheider und alle anderen mit Interesse an der Weiterentwicklung der DB.
2. The following is intended to outline our general product
direction. It is intended for information purposes only, and
may not be incorporated into any contract. It is not a
commitment to deliver any material, code, or functionality,
and should not be relied upon in making purchasing
decisions. The development, release, and timing of any
features or functionality described for Oracle's products
remains at the sole discretion of Oracle.
3. 5 Gründe für Oracle12c
1
Einfacher, effizienter und ressourcenschonender Betrieb
grosser Oracle DB Umgebungen
2
Daten auf den "richtigen Platz" - Zugriffe optimieren
und Kosten sparen
3
Aufgaben mit weniger Code erledigen - gesteigerte
Entwicklerproduktivität
4. 5 Gründe für Oracle12c
Fortsetzung
4
Sicherheit auf allen Ebenen: Einheitliche Zugriffsregeln einheitliches Auditing
5
Ständige Verfügbarkeit des Datenbankservice - transparent für
die Anwendungen
5. Oracle12c: Ein Überblick
Oracle Multitenant
Hochverfügbarkeit
Coole Features für Entwickler
Sicherheit auf allen Ebenen
Information Lifecycle Management
Werkzeuge für Oracle12c
Lizenzinformationen
8. Oracle12c: Ein Überblick
Oracle Multitenant
Hochverfügbarkeit
Coole Features für Entwickler
Sicherheit auf allen Ebenen
Information Lifecycle Management
Werkzeuge für Oracle12c
Lizenzinformationen
10. Die neue Multitenant Architektur
Hauptspeicher und Prozesse nur noch auf Ebene des “Containers”
System Resourcen
11. Die neue Multitenant Architektur
Hauptspeicher und Prozesse nur noch auf Ebene des “Containers”
System Resourcen
PDB
= Pluggable Database
CDB
= Container Database
non-CDB = Traditionelle Instanz
12. Trennung von System- und Benutzer-Daten
Das horizontal partitionierte Data Dictionary
OBJ$
TAB$
SOURCE$
EMP
Die PDB-Architektur
DEPT
…
…
OBJECT “STUBS”
OBJ$
TAB$
EMP
SOURCE$
…
DEPT
…
entschärft die Lage
durch ‘in-database
virtualization’
Nur die reine Definition des Oracle
System verbleibt
Das ‘Data Dictionary’
wird durch BenutzerMetadaten “kontaminiert”
15. Multitenant Architektur
Unterstützt derzeit bis zu 252 PDBs
Eine PDB verhält sich wie eine "non-CDB"
Database
Link
Transparent für die Anwendung
DB Sessions "sehen" nur die PDB, an der
sie angemeldet sind
16. Multitenant Architektur – Memory
PDBs teilen sich die SGA und
Background-Prozesse
Die Datenbank sichert die
korrekte Verwaltung
Sessions können nicht in den
Memory-Bereich anderer PDBs
‘spähen’ – zugesicherte Isolation
18. Dateien in der CDB-Welt
Jede PDB hat eigene Tablespaces,
inclusive SYSTEM und SYSAUX
PDBs teilen sich UNDO, REDO
und control files, (s)pfile
Per Default stellt die CDB einen
gemeinsamen TEMP Tablespace, aber
PDBs können eigene erstellen
19. Benutzer/Rollen
Local Users
Nachfolger der erstellen Users einer non-CDB
Nur in einzelner PDB bekannt / sichtbar
Kann Admin-Rechte für PDB erhalten
Common Users
Auf Level ROOT angesiedelt - in jeder PDB
ausgerollt (auch zukünftige)
Kann in jede PDB einloggen – falls
“Create Session”-Recht vorhanden
Kann lokale Objekte in PDB erstellen
Kann (potentiell) PDBs administrieren
Besitzen / Verwalten die CDB
24. Multitenant und ‘Service Level Tiers’
Einfaches Wechseln des Tiers durch Unplug/Plug
GOLD
SILBER
BRONZE
RAC, Data Guard, Tägliche Inkrementals
Data Guard, Tägliche Inkrementals
Wöchenliche Full Backups
25. Multitenant für schnelles Provisionieren
Die ‘Seed’ Datenbank
Zeitbedarf Provisionieren neuer Datenbank
25
20
15
10
5
0
Non CDB
PDB
Clone PDB using Copyon-Write File System
26. Erstellen von Datenbanken für Test / Development
Schnell und flexibel PDBs kopieren oder Snapshots anlegen
27. Clonen einer PDB
Beispiele
Lokale CDB
CREATE PLUGGABLE DATABASE tin FROM silver
SNAPSHOT COPY
Entfernte CDB (DB Link)
CREATE PLUGGABLE DATABASE pdb5 FROM bronze@[db_link]
FILE_NAME_CONVERT=('/u01/app/oracle/oradata/metal/bronze/',
'/u01/app/oracle/oradata/color/green/')
Identisches Endian-System ∙ Identische Datenbank-Optionen ∙ Kompatibler Character-Set
28. Anwendungsfälle
Test und Entwicklung:
Schnelle, flexible Kopien/Snapshots mit
Pluggable Databases
Konsolidierung:
"Teilen" des Overheads für Hauptspeicher
und Systemprozesse
Einfaches Upgrade und Patching:
Patch / Upgrade der CDB – wirkt für alle
PDBs
Mandantenfähige Systeme:
Isolation mit PDBs – Ideal für SaaS
Nutzbar auch mit genau einer PDB (1:1);
dafür ist keine Option erforderlich
29. ‘OPEX continues to outpace CAPEX’
Customer
Spending ($B)
Installed
Servers (M)
Power & Cooling Expense
$250
Management & Administra on
70
Server Spending
$200
“It is vital for system administrators,
Logical Server Installed Base (M)
Physical Server installed Base (M)
50
Ref: IDC Whitepaper - 4/2012
$150
30
$100
RUN | MAINTAIN
$50
10
0
‘96 ‘97 ‘98 ‘99 ‘00 ‘01 ‘02 ‘03 ‘04 ‘05 ‘06 ‘07 ‘08 ‘09 ‘10 ‘11 ‘12 ‘13
IT managers, and datacenter
managers to consider the overall
TCO, especially the often-overlooked
management costs, before choosing
server and virtualization solutions. IT
organizations should take a holistic
approach to datacenter efficiency.. “
30. Kundenzitate
“Oracle Multitenant will help lower our
administrative costs since we can now
manage many databases as one with fewer
software installations and patches during the
lifeTime of our applications.” (Postbank)
“Oracle Multitenant allows us to
consolidate hundreds of databases onto an
Oracle Real Application Clusters environment
whilst guaranteeing the separation that drove
us to put them on separate servers
previously.” ( Logical Technology)
31. Oracle12c: Ein Überblick
Oracle Multitenant
Hochverfügbarkeit
Coole Features für Entwickler
Sicherheit auf allen Ebenen
Information Lifecycle Management
Werkzeuge für Oracle12c
Lizenzinformationen
33. Active Data Guard Far Sync
Systematische Darstellung
Standby
Primary
SYNC
ASYNC
Far Sync
Instance
Latenzproblem bei ‘Zero Data Loss’ über grosse Entfernung
34. Datenbank-Failover für die Middleware
Situation bis Oracle11g
Fokus liegt auf der Datenbank-Session
TAF fokussiert auf Client-Server
End User
Application Servers
FCF/FAN fokussiert auf Connection Pool
Aber kein Handling des Session State
Nicht committetes DML
PL/SQL Package state
Session Contexts
Und mehr ...
Database Servers
Der Entwickler muss etwas tun ...
35. Datenbank-Failover für die Middleware
Transaction Guard und Application Continuity
Transaction Guard
– Protokoll und Programmier-API für Entwickler
– Entwickler kann feststellen, welche Statements durchliefen und welche nicht
– Entwickler kann gezielt nur die "nicht gelaufenen" Kommandos wiederholen
Application Continuity
– Selbstständiges Wiederholen nicht gelaufener Kommandos
– Ziel: Möglichst transparentes Failover für den Entwickler
36. Data Guard – Kurzübersicht weiterer Features
DML auf Global Temporary Tables
Rolling Upgrade mit Active Data Guard
Temporär Undo wird nicht in Redo Logs festgehalten
Reduktion Komplexität durch simples PL/SQL
Package: DBMS_ROLLING (12.1.0.1 onwards)- bietet
Init, Build, Start, Switchover, Finish Procedures
Erlaubt DML auf ‘Global Temporary Tables’ bei Active
Data Guard => breiterer Einsatz von Reporting Werkzeugen
Mehr Daten-Typen Support: XML OR, Binary XML,
Spatial, Image, Oracle Text, DICOM, ADTs (simple
types, varrays), …
Default ON auf Active Data Guard Standby
Unique Sequences
Validate Role Change Readiness
Stellt sicher, dass Data Guard Konfiguration bereits ist
für Switchover mit autom. Checks – prüfe dass keine
Log Gaps | Ausführen log switch | Aufspüren von
Inkonsistenzen | Sicherstellen online log files cleared
auf Standby, …
5
Primary
SYNC or ASYNC
Primary alloziert eine’ unique range of sequence’ an
jede Standby
Auch hier breiterer Einsatz von Reporting Werkzeugen
Standby 1
ASYNC
Forwards redo to Standby 2 in real-time
Standby 2
37. Oracle12c: Ein Überblick
Oracle Multitenant
Hochverfügbarkeit
Coole Features für Entwickler
Sicherheit auf allen Ebenen
Information Lifecycle Management
Werkzeuge für Oracle12c
Lizenzinformationen
38. Oracle12c für Entwickler
Noch mehr Möglichkeiten mit SQL und PL/SQL
SQL LIMIT und OFFSET Clauses
Identity Columns und Sequences als Default
PL/SQL in WITH-Klausel
32k VARCHAR
Valid Time Temporal
SQL Pattern Matching
Und vieles mehr ...
39. SQL "Row Limit" Klausel
Zwei Beispiele ...
Sortiere nach "SAL" aufsteigend und gib die ersten 5 Zeilen zurück
SELECT empno, ename, sal FROM (
SELECT empno, ename, sal FROM emp ORDER BY sal DESC
)
WHERE rownum <= 5;
SELECT empno, ename, sal FROM emp
ORDER BY sal ASC
FETCH FIRST 5 ROWS ONLY;
Sortiere nach "SAL" absteigend, überspringe 3 Zeilen und gib dann
die nächsten drei Zeilen zurück
SELECT empno, ename, sal FROM emp
ORDER BY sal DESC
OFFSET 3 ROWS FETCH FIRST 3 ROWS ONLY;
SELECT empno, ename, sal FROM (
SELECT rownum zeile, empno, ename, sal FROM (
SELECT empno, ename, sal FROM emp ORDER BY sal DESC
)
) WHERE zeile BETWEEN 4 AND 6;
40. FIRST_X
SQL Pattern Matching
LAST_Z
1
13
Muster finden: über Tabellenzeilen hinweg!
9
19
Finde "Double Bottoms" im Kursverlauf einer Aktie
X
Wann beginnt das Muster?
Wann endet das Muster?
Y
W
Z
Aktienkurs
Welcher Aktienkurs?
Muster innerhalb einer
Woche?
SELECT first_x, last_z
FROM ticker MATCH_RECOGNIZE (
PARTITION BY name ORDER BY Time
MEASURES FIRST(x.Time) AS first_x
LAST(z.Time) AS last_z
ONE ROW PER MATCH
PATTERN (X+ Y+ W+ Z+)
DEFINE X AS (price < PREV(price))
Y AS (price > PREV(price))
W AS (price < PREV(price))
Z AS (price > PREV(price))
Tage
41. IDENTITY Columns
Beispiele
TRIGGER_IDENTITY : Zeit=217 hsecs CPU Zeit=204 hsecs
SEQUENCE_IDENTITY: Zeit= 26 hsecs CPU Zeit= 22 hsecs
REAL_IDENTITY
: Zeit= 28 hsecs CPU Zeit= 26 hsecs
Erstellen einer Tabelle, in der ‘ID’ immer generiert wird
CREATE TABLE t1
(id NUMBER GENERATED AS IDENTITY,
first_name varchar2(30));
Erstellen einer Tabelle, in der ‘ID’ generiert wird, falls kein Wert geliefert wird
CREATE TABLE t2
(id NUMBER GENERATED BY DEFAULT AS IDENTITY
(START WITH 100 INCREMENT BY 10),
first_name varchar2(30));
Erstellen einer Tabelle, in ‘ID’ von einer bestehenden Sequence generiert wird, falls kein Wert geliefert wird
CREATE TABLE t3
(id NUMBER DEFAULT my_sequence.nextval,
first_name varchar2(30));
42. Oracle12c: Ein Überblick
Oracle Multitenant
Hochverfügbarkeit
Coole Features für Entwickler
Sicherheit auf allen Ebenen
Information Lifecycle Management
Werkzeuge für Oracle12c
Lizenzinformationen
43. Daten unkenntlich machen
Oracle Advanced Security (ASO)
Neu in ASO: Data Redaction
Jede Ausgabe
wird in Echtzeit maskiert
Gängige Policies im
Kreditkarten
4451-2172-9841-4368
5106-8395-2095-5938
7830-0032-0294-1827
Redaction Policy
Lieferumfang enthalten
Transparent für Anwendungen
xxxx-xxxx-xxxx-4368
4451-2172-9841-4368
Call Center Mitarbeiter
Rechnungsabteilung
44. Data Redaction – Ein Beispiel mit Apex
DBMS_REDACT.ADD_POLICY(
object_schema => 'CALLCENTER',
object_name
=> 'CUSTOMERS'
column_name
=> 'SSN'...
45. Privilege Analysis
1. Verwendete Privilegien und
Database Vault mit
Rollen erfassen
DBMS_PRIVILEGE_CAPTURE
Create…
Drop…
Modify…
DBA role
APPADMIN role
2. Berichte über die verwendeten
oder nicht verwendeten
Privilegien und Rollen erzeugen
3. Im laufenden Betrieb Least
Privilege, durch Entzug nicht
benötigter Privilegien und Rollen,
umsetzen
Privilege Analysis
47. Das neue Auditing: Unified Auditing
Bisher:
Dateien auf Betriebssystem, in verschiedenen Formaten
und in der DB (AUD$, SYS.FGA_LOG$, DVSYS.AUDIT_TRAIL$)
Jetzt:
Unified Audit Trail
– Policies steuern das Auditing, nicht Initialisierungsparameter
– AUDSYS ist Eigentümer des Audit Trail
– Nur eine Tabelle im Tablespace SYSAUX
– Unterstützt RMAN, Data Pump und Direct Path Loader
48. Bessere Gewaltentrennung
Auf bestimmte Aufgaben zugeschnittene administrative Privilegien
(≠ SYSDBA):
– Backup und Recovery [SYSBACKUP]
– Oracle Data Guard [SYSDG]
– Encryption Key Verwaltung für TDE [SYSKM]
Die Ausübung dieser Rechte wird automatisch und zwingend im
Audit festgehalten
49. PL/SQL, Sicherheit
Reduktion der Angriffsfläche
Granten von Rollen an PL/SQL Packages und Standalone
Subprograms
– Die Unit wird mit der Kombination aus den ihr zugewiesenen und
den aktuell aktiven Rollen des Users ausgeführt
– Keine Neukompilierung nötig, da lose gekoppelt
Möglichkeit, die eine PL/SQL-Unit aufrufende DB-Objekte
durch eine ‘White List’ einzugrenzen
50. Oracle12c: Ein Überblick
Oracle Multitenant
Hochverfügbarkeit
Coole Features für Entwickler
Sicherheit auf allen Ebenen
Information Lifecycle Management
Werkzeuge für Oracle12c
Lizenzinformationen
51. Information Lifecycle Management in Oracle12c
Direkte Integration in den Datenbank-Kern
– Heat Map: automatisches Monitoring und Klassifikation (Hot/Cold Data)
– Automatic Data Optimization/Placement
– Policies werden automatisiert in der Datenbank ausgeführt
Zusätzlich Erweiterungen in Bereichen wie ...
– Kompression
– Partitionierung
52. Heat Map Tracking
HOT
Active
Frequent
Access
Occasional
Access
Dormant
Einfaches Setup : ein Parameter
Actively
updated
Monitoring: Views, Packages, Enterprise Manager
Infrequently
updated,
Frequently
Queried
Infrequent
access for
query and
updates
Long term
analytics &
compliance
COLD
2 Ebenen: Segment und Block
– Welche Tabellen & Partitionen werden wie
verwendet?
– Welche Blöcke wurden zuletzt verändert?
Umfassend
– Erfasst Reads/Writes, Lookups, Scans
– Aktuell und in Historie
Performant
53. Heat Map für Tabellen und Partitionen
OR
RS
DE
Welche Tabellen und Partitionen werden wie
verwendet?
Ein Ausschnitt ...
OWNER
---------SH
SCOTT
SCOTT
SCOTT
SCOTT
SCOTT
SCOTT
OBJECT_NAME
----------------------CUSTOMERS_PK
DEPT
EMP
EMP
EMP
PK_EMP
PK_EMP
TRACK_TIME
---------------25.06.2013 22:48
25.06.2013 12:48
26.06.2013 12:30
25.06.2013 12:48
24.06.2013 11:47
26.06.2013 22:30
25.06.2013 22:48
WRI
--NO
NO
YES
NO
NO
NO
NO
FUL
--NO
YES
YES
YES
YES
NO
NO
LOO
-YES
NO
NO
NO
NO
YES
YES
57. Oracle12c: Ein Überblick
Oracle Multitenant
Hochverfügbarkeit
Coole Features für Entwickler
Sicherheit auf allen Ebenen
Information Lifecycle Management
Werkzeuge für Oracle12c
Lizenzinformationen
58. Cloud Control 12c und die Datenbank 12c
Cloud Control 12c unterstützt Oracle Database 12c
Voraussetzung
– Cloud Control 12c Release 2 (12.1.0.2) mit aktuellem Plugin
– Verfügbar seit Februar 2013
59. EM Database Express
Neues Verwaltungs-Werkzeug für Oracle Database 12c
Automatische Installation
Monitoring und Management einer einzelnen Oracle Datenbank 12c
Nicht für die komplette Administration (aktueller Stand)
– Einfache Konfigurationen
– Kein Backup/Recovery, Resource Management etc.
– Sehr gut geeignet für Performance Monitoring (Performance Hub)
61. Nicht zu vergessen: SQL Developer
Unterstützt Oracle Database 12c
Seit Release 3.0 DBA Unterstützung
– Oracle Multitenant
– Data Redaction
– Resource Manager
– Data Pump
– SQL Tuning Advisor
:
62. Oracle12c: Ein Überblick
Oracle Multitenant
Hochverfügbarkeit
Coole Features für Entwickler
Sicherheit auf allen Ebenen
Information Lifecycle Management
Werkzeuge für Oracle12c
Lizenzinformationen
63. Lizenzierung: Was tut sich bei den Optionen?
Neue Option: Oracle Multitenant
– Erforderlich bei mehr als einer PDB
Erweiterungen vorhandener Optionen
– Advanced Compression:
Heat Map, ADO, Network Compression, Online Move Partition Compressed
– Advanced Security:
Data Redaction
– Active Data Guard:
Far Sync, Global Data Services, Application Continuity, Rolling Upgrade
– Database Vault:
Privilege Analysis
64. Lizenzierung: Was tut sich bei den Optionen?
Verfügbar in allen Editionen
– Netzwerk-Verschlüsselung und Strong Authentication Services
– Flashback Data Archives (schon seit Juni 2012)
Total Recall Option nicht mehr verfügbar
– Oracle ASM Cluster File System (Oracle ACFS)
– Oracle ASM Dynamic Volume Manager (Oracle ADVM)
65. Wo gibt es mehr Informationen?
„Oracle12c
Multitenant Database“ Dojo auf Deutsch
Tutorials and Videos
New Features Guide
– http://www.oracle.com/pls/db121/to_toc?pathname=server.121/e17906/toc.htm