71
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Datenbank 12c Bodo von Neuhaus Leitender Systemberater Oracle Deutschland B.V. & Co KG

Oracle Datenbank 12 - Home: DOAG e.V. · Java in DB, Native XML, Table Functions, .Net, ... •JDBC Treiber erkennt den Fehler und ... /tbs1.dbf' SIZE 1G

Embed Size (px)

Citation preview

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Datenbank 12c

Bodo von Neuhaus Leitender Systemberater Oracle Deutschland B.V. & Co KG

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Safe Harbor Statement

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.

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Database 12c

Überblick zur den Neuerungen im Vergleich zur 11gR2

Neuerungen der Datenbank 12cR2

Multitenant mit 12cR2

1

2

3

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Customer Initiatives

4

Big Data

Database as a Service

Cloud

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Database

Big Data

Appliance

Database Backup,

Logging, Recovery Appliance

Exalytics

Security & Compliance

Big Data & Analytics

Consolidation

Data Optimization

Application Development

High Availability

In-Memory

Performance & Scalability

Data Warehousing

Exadata

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Database 12c Continuous Innovation

Cloud Internet Client-Server 1990s 2000s 2010s

Oracle 5, 6, 7, 8 Oracle 8i, 9i, 10g Oracle 11g, 12c

Scalability Row Level Locking, B-tree Indexes, Read Consistency, Parallel Server, Shared Cursors, Shared Server

Real Application Clusters, Automatic Storage Management, IOTs

Advanced Compression, Bitmap Indexes

Exadata, Smart Flash, In-Memory DB, Software-in-Silicon,

Native Database Sharding

Availability Transactions, Ref Integrity, Online Backup, Point-in-Time Recovery

Data Guard (Active), Recovery Manager, Flashback, Clusterware, Online DDL, TAF

Zero Data Loss Recovery Appliance, Edition Based Redefinition, App. Cont.

Analytics Partitions, Parallel SQL, Optimizer Analytic Function, Data Mining, OLAP, MVs SQL Pattern Match, R, Big Data Appl

Security Privileges, Roles, Auditing, Network Encryption, Views

Data Encrypt, Masking, Virtual Private DB, Label Security, DB Vault, Audit Vault, PKI

Real Application Security, DB Firewall, Privilege Analysis, Redaction, Key Vault

Developers SQL, Views, PL/SQL, Triggers, LOBs, Object Types, Spatial, Text

Java in DB, Native XML, Table Functions, .Net, PHP, App Express, SQL Developer

Native JSON, REST Services, Node.js, RDF Social Graph, Network Graph

Management Enterprise Manager, v$, wait event Diagnostics, Tuning, Testing, Lifecycle Packs MultiTenant, DB & Exa Cloud, DB Appl

Integration DB Links, 2PC, Replication, AQ GoldenGate, XA Transaction,External Table Big Data SQL, Big Data Analytics

Public

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Database 12c in Zahlen

• 5 Jahre Entwicklung

• 500 neue Features

• 2.500 Personen-Jahre

• 3.000 Systeme für die Tests

• 1 Million Feature-Tests täglich

• 1,2 Millionen Stunden Stresstests

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Database 12c (12.1.0.1)

Oracle Multitenant

• Databank Konsolidierung

• Fast Provisioning

• Manage many as one

Automatic Data Optimization

• Smart Compression

• Automatisches (Storage) Tiering

Data Guard Far Sync

• Zero Data Loss über große Distanzen

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Database 12c (12.1.0.1)

Application Continuity

• Replay von fehlerhaften Transaktionen

Data Redaction

• Dynamisches Maskieren der Anwendungsdaten

• Größtenteils transparent für die Anwendung

Pattern Matching

• Detailierte Mustererkennung innerhalb einer Spalte

Und über 500 zusätzliche Verbesserungen …

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Serverausfall: Auswirkung für Anwendungen Situation unter RAC (und Data Guard) bis Oracle 11g

• Datenbank läuft dank RAC oder Data Guard weiter

• Aber: Instanz-/Netzwerk-Ausfall bedeutet für die Applikation

– Verlust Datenbank Session

– Unbekannter Transaktionsstatus

• Ergebnis:

– Ärgerlich für den Benutzer

– Doppelte Ausführung

– Ggf. Durchstarten der Mid Tier

– Erhöhter Entwicklungsaufwand

• TAF, FAN, FCF (OCI, OCCI, .Net..)

Application

Servers

Database

Servers

End User

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Serverausfall: Auswirkung für Anwendungen Mögliche Lösungen unter Database 12c

Transaction Guard

Verlässliches Protokoll und API den Status der letzten

Transaktionen zu überprüfen

Application Continuity

Automatische Wiederholung (Replay) der Benutzer-transaktion nach einem Ausfall oder während

einer Wartung

Protokoll und Programmier-API

für Entwickler

Selbstständiges Wiederholen nicht

gelaufener Kommandos im Failoverfall

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Serverausfall: Auswirkung für Anwendungen 12c: Situation mit Transaktion Guard und Application Continuity

• JDBC Treiber erkennt den Fehler und prüft bei verbleibendem Knoten, ob die Transaktion erfolgreich war, oder erneut gesendet werden muss (mit Hilfe von Transaction Guard)

• Falls die Transaktion wiederholt werden muss, wird “Application Continuity” alle offenen Transaktionen erneut an einen überlebenden Knoten im Cluster oder die DR Site senden.

Application

Servers

Database

Servers

End User

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Database 12c (12.1.0.2)

Oracle Database In-Memory

• Real Time Analytics

• Unterstützug der aktuellen Hardware Generation

• Transparent zu den Anwendungen

JSON Document Store

• Agile Entwicklung

• SQL Abfragen direkt auf JSON-Dokumente

• Zugriff über REST oder Native APIs

Big Data SQL

• High performance SQL auf Hadoop

• Einfache Datenintegration von Oracle mit Hadoop

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Hocheffizientes

OLTP

Hochperformante Real Time Analysen

Keine Änderung von

Applikationen

Nutzung der aktuellen

Mikroprozessor Architektur

CPU

Oracle Database In-Memory Ziele

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Row Format vs. Column Format in der Datenbank

Row

Transaktionen sind schneller im Row Format

– viele Spalten einer einzigen Zeile werden benötigt – geeignet für OLTP Abfragen

Column

Real Time Analysen sind schneller im Column Format

– ein Aggregat über viele Zeilen und nur wenige Spalten – geeignet für schnelles Scannen einer gesamten Tabelle

SALES

SALES

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Buffer Cache versus In-Memory Column Store?

SELECT column4 FROM mytable;

Mit Buffer Cache

Mit Column Store

X X X X X

Row Format

Buffer Cache IM Column Store

Column Format

RESULT RESULT

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Database In-Memory schafft einen Ausweg aus dem Dilemma

Row Format vs. Column Format in der Datenbank

Row

Transaktionen sind schneller im Row Format

– viele Spalten einer einzigen Zeile werden benötigt – geeignet für OLTP Abfragen

Column

Real Time Analysen sind schneller im Column Format

– ein Aggregat über viele Zeilen und nur wenige Spalten – geeignet für schnelles Scannen einer gesamten Tabelle

SALES

SALES

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Das duale Format der In-Memory Database

• Beides - Row und Column In-Memory Formate für die gleiche Tabelle

• Real Time Analysen nutzen das neue Column Format

• OLTP Applikationen nutzen das traditionelle Row Format

• Erhalt der Transaktionskonsistenz

Memory Memory

SALES SALES

Row Format

Column Format

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Standard System Global Area (SGA) Komponenten

Buffer Cache Shared Pool Large Pool

Redo Log Flashback Java Pool

Fixed SGA

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

In-Memory Area

Neue SGA Komponente: In-Memory Area

Buffer Cache Shared Pool Large Pool

Redo Log Flashback Java Pool

Fixed SGA

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

1. Memory Allokation in der SGA über neuen Initialisierungsparameter und danach Start der Datenbank

2. Auswahl der Objekte (Spalten, Tabellen, Materialized Views, Tablespace oder Partitionen) und Belegung mit den entsprechenden Eigenschaften

– Über CREATE oder ALTER Kommando

– u.U. überflüssige analytische Indizes löschen!

=> Nicht alle Objekte müssen im Column Store vorliegen!

Konfiguration in 2 Schritten

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

• Setzen von INMEMORY_SIZE Parameter (mindestens 100 MB) – Default ist 0

• Gesamt SGA muss groß genug sein – SGA_TARGET

• Statischer Pool – Aufteilung in 64K und 1MB Pool

– Monitoring über V$INMEMORY_AREA • Aufteilung der Pools und Befüllungsgrad

Beispiel für In-Memory Column Store Konfiguration

SQL> sho sga

Total System Global Area 2415919104 bytes

Fixed Size 2927240 bytes

Variable Size 436209016 bytes

Database Buffers 889192448 bytes

Redo Buffers 13848576 bytes

In-Memory Area 1073741824 bytes

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

• Ein- und Ausschalten einer gesamten Tabelle

• Auf Spaltenebene

• Auf Partitionsebene

• Auf Tablespaceebene

Festlegung der Objekte: Neue Schlüsselworte

ALTER TABLE sales INMEMORY;

ALTER TABLE sales INMEMORY NO INMEMORY(prod_id, cust_id));

CREATE TABLE customers …

PARTITION BY LIST

(PARTITION p1 … INMEMORY,

(PARTITION p2 … NO INMEMORY);

CREATE TABLESPACE tbs1 DATAFILE ‘/home/oracle/…/tbs1.dbf' SIZE 1G

ONLINE DEFAULT INMEMORY;

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

• Beeinflussung der Reihenfolge, wie Objekte in den Store geladen werden

–PRIORITY

• CRITICAL, HIGH, MEDIUM, LOW und NONE

• NONE bedeutet beim ersten Zugriff

Festlegung der Objekte mit Prioritätseinstellung

ALTER TABLE lineorder INMEMORY MEMCOMPRESS FOR QUERY

LOW

PRIORITY CRITICAL;

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Wie funktioniert der Column Store?

• Wann wird im Column Store gespeichert? – Nach dem ersten Zugriff oder gleich nach dem Hochfahren der Datenbank gemäß

der Priority Einstellung

• Welche Daten werden gespeichert? – Ausgewählte Daten werden im optimierten und komprimierten Spaltenformat

(siehe MEMCOMPRESS) gespeichert.

• Wer erledigt diese Aufgaben? – Ein oder mehrere Hintergrundprozesse (gemäß Parameter INMEMORY_MAX_POPULATE_SERVERS) wie z.B. ORA_W001_orcl

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

• Komprimierungseinstellungen mit

–MEMCOMPRESS FOR

• DML

• QUERY [LOW|HIGH]

• CAPACITY [LOW|HIGH]

Festlegung der Objekte mit Komprimierungsstufe

CREATE TABLE ORDERS ……

PARTITION BY RANGE ……

(PARTITION p1 ……

INMEMORY NO MEMCOMPRESS

PARTITION p2 ……

INMEMORY MEMCOMPRESS FOR DML,

PARTITION p3 ……

INMEMORY MEMCOMPRESS FOR QUERY,

:

PARTITION p200 ……

INMEMORY MEMCOMPRESS FOR CAPACITY);

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Komprimierungsstufen aus dem Handbuch

Public

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

1. Objekte identifizieren

2. Compression Advisor dbms_compression verwenden

3. Wendet angegebenen Komprimierungsstufe auf ein Daten Sample an

4. Gibt Compression Ratio aus

Berechnung der Speicheranforderung SQL> DECLARE 2 l_blkcnt_cmp PLS_INTEGER;

3 l_blkcnt_uncmp PLS_INTEGER;

4 l_row_cmp PLS_INTEGER;

5 l_row_uncmp PLS_INTEGER;

6 l_cmp_ratio PLS_INTEGER;

7 l_comptype_str VARCHAR2(100);

8 BEGIN

9 dbms_compression.get_compression_ratio (

10 scratchtbsname => 'TS_DATE',

11 ownname => 'SSB',

12 objname => 'LINEORDER',

13 subobjname => NULL,

14 comptype => dbms_compression.comp_inmemory_query_low,

15 blkcnt_cmp => l_blkcnt_cmp,

16 blkcnt_uncmp => l_blkcnt_uncmp,

17 row_cmp => l_row_cmp,

18 row_uncmp => l_row_uncmp,

19 cmp_ratio => l_cmp_ratio,

20 comptype_str => l_comptype_str);

21 dbms_output.put_line('compression ratio ist '|| l_cmp_ratio);

22 END;

23 /

compression ratio ist 2

SQL>@size.sql

NAME ORIG_SIZE_M IN_MEM_SIZE_M COMP_RATIO COMP BYTES_NOT_POPULATED

--------------- ----------- ------------- ---------- ----------------- -------------------

LINEORDER 1216 551.5 2.20489574 FOR QUERY LOW 0

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Monitoring des Column Stores SQL> SELECT v.segment_name name,

v.bytes/1024/1024 orig_size_in_M,

v.inmemory_size/1024/1024 in_mem_size_in_M,

v.bytes/v.inmemory_size comp_ratio ,

v.inmemory_compression comp,

v.bytes_not_populated not_populated,

v.inmemory_priority prio

FROM v$im_segments v ORDER by 4;

NAME ORIG_SIZE_M IN_MEM_SIZE_M COMP_RATIO COMP NOT_POPULATED PRIO

-------------------- ----------- ------------- ---------- ----------------- -------------- --------

LINEORDER 1216 553.5 2.19692864 FOR QUERY LOW 0

CRITICAL

PART 64 8.125 7.87692308 FOR QUERY LOW 0

NONE

CUSTOMER 64 5.125 12.4878049 FOR QUERY LOW 0

NONE

DATE_DIM 64 1.125 56.8888889 FOR CAPACITY HIGH 0

NONE

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Monitoring im Cloud Control

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

In-Memory Column Store – Kurzbeschreibung • Reines In-Memory Format

• Komprimierte Bereiche mit unterschiedlichen Raten (2x bis 20x)

• Einschaltbar auf Objektebene - Tabelle - MView - Partition - Tablespace - Spalte

• Voraussetzungen – Datenbank Release 12.1.0.2

– Manuelle Aktivierung

– Gebunden an In-Memory Option

SALES

Pure In-Memory Columnar

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Zusätzliche Performance durch Nutzung von SIMD

• Jede CPU Core durchsucht lokal die In-Memory Spalten

• Scans nutzen dabei “Single Instruction multiple Data Values” (SIMD) Vektor Operationen

• Hohe Scan Raten pro CPU Core => Milliarden von Zeilen pro Sekunde

Vecto

r R

egis

ter

Mehrere Werte aus Spalte REGION

Vektor vergleich aller Werte In 1 Zyklus

CPU

Memory

RE

GIO

N

CA

CA

CA

CA

Beispiel: Finde alle Verkäufe (SALES) aus der Region “CA”

> 100x Faster

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Monitoring von In-Memory Scans: Ausführungsplan

• Schlüsselwort INMEMORY FULL

Public

SQL> select * from table(dbms_xplan.display_cursor(format=>'BASIC'));

PLAN_TABLE_OUTPUT

--------------------------------------------------------------------------

EXPLAINED SQL STATEMENT:

------------------------

select count(*) from customers_mem where cust_gender='F'

Plan hash value: 1973973873

-----------------------------------------------------

| Id | Operation | Name |

-----------------------------------------------------

| 0 | SELECT STATEMENT | |

| 1 | SORT AGGREGATE | |

| 2 | TABLE ACCESS INMEMORY FULL| CUSTOMERS_MEM |

-----------------------------------------------------

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Memory Operationen: In-Memory Joins

LINEORDER DATE_DIM

Da

teK

ey

Am

ou

nt

Datekey is

24122013

d.d_date='December 24, 2013'

Date

Sum

Date

Key

SELECT

SUM(lo_extendedprice * lo_discount)

FROM lineorder l,

date_dim d

WHERE l.lo_orderdate = d.d_datekey

AND l.lo_discount BETWEEN 2 AND 3

AND d.d_date='December 24, 2013';

• In-Memory Joins mit schnellen Scans und speziellen Filtern

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Monitoring In-Memory Joins

• Spezieller Filter: Bloom Filter

• Während eines Hash Joins:

– Erzeugung eines Bitvektors (Bloomfilter) basierend auf Join Bedingung

– Bitvektor dient als zusätzliches Prädikat für den Scan der zweiten Tabelle

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

• Erzeugt dynamisch ein In-Memory Berichts Outline

• Ein schnelles Scannen füllt die Lücken im Report

• Reports sind dabei schneller ohne vordefinierte Cubes

Sales

Stores

Products

In-Memory Report Outline

Footwear

Ou

tle

ts $

$$ $

$$$

Footwear

Sales Outlets

Schnelle Analytics: In-Memory Aggregat Operationen

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

In-Memory Aggregat Operationen

• Optimiert Aggregat und Join Operationen in einem typischen Star Schema

• Nutzt KEY VECTOR und VECTOR GROUP BY Operationen

• Beispiel

Public

SELECT p.category, p.subcategory, g.country, g.state,

SUM(s.amount)

FROM sales s, products p, geography g

WHERE s.geog_id = g.geog_id AND s.prod_id = p.prod_id

AND g.state ='CA' AND p.pname = 'Nike'

GROUP BY category, subcategory, country, state

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

JOURNAL

DML und In-Memory Column Store

• Änderung im Buffer Cache löst automatisch Änderung im Column Store aus => Konsistenz

• Eintrag in IMCU wird als “stale” markiert und eine Kopie des neuen Werts wird im In-Memory Transaktions Journal gespeichert

• Aktualisierung der IMCU über einen Hintergrundprozess

Column Format

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

• Handhabung im RAC Umfeld

– Column Store kann auf jedem RAC Knoten existieren

– Die gleiche Tabelle kann in jedem Column Store existieren (Option DUPLICATE)

– Größere Tabellen, die nicht in den Column Store passen, können über die Knoten verteilt werden (Option DISTRIBUTE)

• Generelle Einschränkungen

–Objekte, die kleiner als 64 KB sind, werden nicht berücksichtigt.

–Kein SYSTEM und SYS Objekte

–Objekte wie IOTs, Cluster Tables, Global Temporary Tables und out-of-line LOBs

–Option DUPLICATE ist nur auf Engineered System verfügbar

Weitere Hinweise

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Skalierung der Oracle In-Memory Datenbank

• „Scale-Out“ über Servergrenzen für mehr Memory und CPU.

• „Scale-Up“ für SMP Systeme.

• In-Memory Abfragen werden innerhalb und über Servergrenzen parallelisiert.

• Direct-to-wire InfiniBand Protokoll

40

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle In-Memory Advisor

• Spezieller Advisor für In- Memory Abfragen

• Analysiert Datenbank Workload über AWR & ASH

• Liefert Objekte die von In- Memory Column Store profitieren würden

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Database Buffer

Default Cache

Keep Cache

Recycle Cache

LRU-Algorithmus

TimesTen IMDB

TimesTen Application-Tier

Database Cache

TimesTen for

Exalytics

Result

Cache Shared Pool oder Client

Transparent für Anwendungen

Flash

Cache Data Buffer

Erweiterung

2nd level Cache

Auch für Datafiles

Coherence

Data Grid

Object Cache / Data

Grid für verteilte

Anwendungen

In-Memory

Techniken der

Datenbank

In-Memory

Techniken der

Middle-Tier

Exadata X6 Hybrid Columnar Compression

Smart Scan

Storage Index

Smart Flash Cache

(Read/Write)

Smart Flash Logging

(Redo-Write)

In-Memory Option 12c Row und Column In-Memory

Formate auf der selben Tabelle

Simultan und transaktions-

konsistent

Column: Analytics & Reporting

Row : OLTP

Memory optimierende

Techniken

Compression

Partitioning

Parallelisierung

OLAP

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Beispiele für Caching Technologien in 11g

• Pre-Load von Tabellen und Indizes – Full Table/Index Scans und Initialisierungsparameter (_small_table_threshold)

• SGA Bereiche: KEEP und RECYCLE Pool für Tabellen und Segmente – DB_[KEEP|RECYCLE]_CACHE_SIZE und Storage Parameter (KEEP, RECYCLE)

• Pinnen von PL/SQL Objekten wie Packages, Procedures etc. im Shared Pool – Einsatz von dbms_shared_pool.keep

• Cachen von Resultaten – Spezielle Hints, Initialisierungsparameter oder Objektdefinition

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Die Datenbank für alle wichtigen Plattformen

Oracle Database 12c für Entwickler

JSON Ruby

Oracle ADF Oracle APEX Oracle RDS

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

JSON and SQL Duality

JSON

Datenzugriff per

REST oder

Native API

JSON wird in der

Datenbank gespeichert

Analysen / Queries per SQL

Oracle Database 12c

SQL

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Database 12c (12.1.0.2)

Performance Verbesserungen

• Index Compression

• Attribute Clustering und Zone Maps

• Full Database Caching

• Approximate Count Distinct

Rapid Home Provisioning

• Ein zentraler Ort für schnelles und effizientes Patching

Security

• FIPS 140 Support

• Oracle Key Vault

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Performance

• Advanced Index Compression – Indizes benötigen weniger Platz auf der Platte

– Effizientere Nutzung der SGA

– Keine nennenswerte Systembelastung

• Full Database Caching – Vorteilhaft, wenn die SGA ohnehin gross genug ist für die komplette Datenbank

• ALTER DATABASE FORCE FULL DATABASE CACHING

• Automatic Big Table Caching – Hält ganze Objekte vor, statt einer Reihe von Blöcken

• db_big_table_cache_percent_target = <Percentage of Buffer Cache>

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Performance

• Attribute Clustering – Sortiert Daten so dass sie nahe bei den selektierten Spaltenwerten liegen “attributes”

– Attribute können von einer Tabelle oder aus mehreren Tabellen kommen • Zum Beispiel aus Fact und Dimensions Tabellen

– Weniger Block IO für Tabellen bei index range scans

– Abfragen, die sortieren und aggregieren, profitieren von vorsortierten Daten

– Verbessert die Kompressionsraten

– Wird auf Tabellenebene festgelegt • ALTER TABLE ... ADD CLUSTERING ...

– Gilt für neue Daten und für das Verlagern von Daten

– Gilt nur für direct path Operationen

• Kann ein- und ausgeschaltet werden

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Performance

• Approximate Count Distinct – Nicht jede Abfrage benötigt absolut exakte Ergebnisse

• “Wie viele unterschiedliche Menschen haben in der letzten Woche auf unsere Webseite geklickt?”

– Neue SQL Funktion für ungefähre Ergebnisse bei einem COUNT DISTINCT • APPROX_COUNT_DISTINCT()

– Ungefähre Ergebnisse sind deutlich schneller und weniger aufwändig zu berechnen als exakte Ergbnisse • 5x to 50x ++ mal schneller (abhängig von der Anzahl distinkter Werte und Komplexität des SQL)

• Genauigkeit liegt bei > 97%

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Security

• Unterstützung von FIPS 140-2 – Verbesserung kann von TDE, SSL, DBMS_CRYPTO und anderen Komponenten genutzt

werden

– Neuer Parameter DBFIPS_140 schaltet den neuen FIPS Modus ein

• Verbesserte Sicherheit für Passwörter und DBMS_CRYPTO durch SHA-512 Hashing

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Database 12c Release 1 (12.1.0.2)

Feature Beschreibung

Oracle In-Memory Option

JSON Unterstützung Feature der Datenbank

Oracle REST Data Services Feature der Datenbank

Oracle Multitenant Option, wenn mehr als eine PDB genutzt wird

Advanced Index Compression Teil der Option Oracle Advanced Compression

Attribute Clustering Feature der Datenbank

Full Database Caching Feature der Datenbank

Automatic Big Table Caching Feature der Datenbank

Approximate Count Distinct Feature der Datenbank

Feature Factoring for New Features (Full Details Here)

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Database 12c

Überblick zur den Neuerungen im Vergleich zur 11gR2

Neuerungen der Datenbank 12cR2

Multitenant mit 12cR2

1

2

3

52

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Database 12c Release 2 (in der Oracle Cloud)

• Jetzt verfügbar – Exadata Express Cloud Service

– Database Cloud Services

– Exadata Cloud Machine

– On-Premise zum Download seit März

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Exadata Express Cloud Service

• 12.2 Datenbank mit fast allen Optionen auf Exadata

• Komplett gewartet bei Oracle

• Sehr günstig, ab 175$

• Video: https://t.co/IgRr2FTGtr

Günstiger, einfach zu benutzender 12.2 Datenbank Service

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Datenbank Entwicklung

Höchste Anforderung an Verfügbarkeit & Performance

Kleinere & mittlere Applikationen

Unternehmensweite Applikationen

Spektrum der Oracle Database Cloud Services

Exadata Enterprise Exadata Express

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Database 12c Release 2: Key Features

Flexibler: Multitenant

Plus vieles mehr: Performance, Verfügbarkeit, Security, Analytics und Applikationsentwicklung

Verteilte Daten: Sharding

Noch schneller: Database In-Memory

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Database 12c Release 2: In-Memory

Real-Time Analysen Implementierung:

Trivial

Riesige Kapazität

Column

12.1 Schnelles Reporting und Analyse

OLTP & Analysen auf derselben Datenbank

Scale-up / Scale-out Keine Applikationsänderung

12.2 Schneller: 3x bei Joins, 10x bei Expressions, 60x bei JSON SQL in Silicon

Offload Analysen auf Active Data Guard Standby

In-Memory auf Exadata Flash

Dynamische Datenbewegung zwischen Storage und In-Memory

OLTP / DW

Row Column

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Database 12c Release 2: Sharding

• RAC und Data Guard erfüllen 99% der Applikationsanforderungen

• Für einige globale OLTP Applikationen bietet eine Unterteilung (Sharding) der Daten immense Vorteile: – Skalierungs- und

Verfügbarkeitsanforderungen einer einzigen großen Datenbank können sehr hoch sein

– Datenmodell und Applikationen müssen aber angepasst werden für das “Routing” zu den richtigen Daten

Customers Americas

Customers

Customers Europe

Customers Asia

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Database 12c Release 2: Sharding

Linear Scalability Fault Tolerant

Natives SQL um Tabellen auf 1000 Shards zu verteilen

Online Reorganisation von Shards:

Keine gemeinsame Hardware = Isolierte Fehler

Benutzerdefinierte Datenpositierung: Performance/DR/Gesetze

Hinzufügen, Online Split, Rebalance

Datenverfügbarkeit wichtiger als Datenkonsistenz

Geographic Distribution

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Database 12c Release 2 : Analytic Views

• Geschäftslogik zurück in die Datenbank (Aggregationen, Hierarchien, Berechnungen)

• Einfaches SQL für komplexe Analytische Abfragen – Keine JOINs oder GROUP-BY notwendig

– Navigieren durch Hierarchien, ohne neu Definition der Berechnungen

• Basierend auf existierenden Tabellen

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Big Data SQL

Schneller SQL Zugriff für Relational, Hadoop & NoSQL

• Intuitive SQL Syntax für JSON SELECT c.json_column.address.city FROM customers c;

• JSON Daten in jeder SQL Abfrage

– Join JSON mit jeder anderen Datenquelle

– Jegliche SQL Analyse für JSON

• Neu: Big Data SQL in der Oracle Cloud

– Data Guide: Automatismus JSON Strukturen zu erkennen und zu verarbeiten

Oracle Big Data SQL on JSON data

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Database 12c

Überblick zur den Neuerungen im Vergleich zur 11gR2

Neuerungen der Datenbank 12cR2

Multitenant mit 12cR2

1

2

3

62

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Database 12.1: Multitenant

Cloud Scale Operations Agility Software as a Service

12.1 Einfache Verwaltung Provisionierung & Cloning SaaS Architektur

CPU & I/O Management Datenbanken: Plug/Unplug Keine Applikationsänderung

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Oracle Database 12c Release 2: Multitenant

Cloud Scale Operations Agility Software as a Service

12.1 Einfache Verwaltung Provisionierung & Cloning SaaS Architektur

CPU & I/O Management Datenbanken: Plug/Unplug Keine Applikationsänderung

12.2 4,096 PDBs pro CDB Hot cloning & PDB Clone Refresh Geteilte Applikationsobjekte

Memory Management Online Tenant Relocation Lockdown Profile

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

PDB Hot Clone

• PDB Hot Clone – Online Erstellung einer Test Master

Umgebung

CRM

Oracle Cloud

Pricing Retail

On-Premises

65

Hot Clone

Snap Clone

Snap Clone

CRM CRM Dev1 CRM Dev2

Entwickler

Public

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

PDB Refresh

• PDB Hot Clone – Online Erstellung einer Test Master

Umgebung

• PDB Refresh – Incremental Refresh des Clones mit

den aktuellen Daten CRM

Oracle Cloud

Pricing Retail

On-Premises

66

CRM

Snap Clone

Snap Clone

CRM Dev1 CRM Dev2

Entwickler

Zeit

Änderungen in der Datenbank

Geklonte Version ist nicht mehr in Sync

Nur Änderungen werden kopiert und “applied”

Public

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

• PDB Hot Clone – Online Erstellung einer Test Master

Umgebung

• PDB Refresh – Incremental Refresh des Clones mit

den aktuellen Daten

• PDB Relocate – Relocate mit minimal Downtime

67

PDB Relocate

67

CRM

HR

Oracle Cloud

Pricing Retail

On-Premises

CRM

Public

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

• PDB Hot Clone – Online Erstellung einer Test Master

Umgebung

• PDB Refresh – Incremental Refresh des Clones mit

den aktuellen Daten

• PDB Relocate – Relocate mit minimal Downtime

68

PDB Relocate

68

CRM

HR

Oracle Cloud

Pricing Retail

On-Premises

CRM

Public

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

• PDBs teilen sich Application Objects – Code, Metadaten und Daten

• Vereinfacht das Management – Änderungen/Updates nur auf dem

Application Container

• Passend für Anwendungen mit SaaS-Character

Application Container

69 Public

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

Proxy PDB enthält den lokalen Context für eine Remote PDB

Remote PDB Proxy PDB

Location Transparency mit Proxy PDBs

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |