SlideShare una empresa de Scribd logo
1 de 75
Descargar para leer sin conexión
Zohar Elkayam
www.realdbamagic.com
Twitter: @realmgic
Oracle 12c New Features
for Better Performance
Who am I?
• Zohar Elkayam, CTO at Brillix
• Programmer, DBA, team leader, database trainer, public
speaker, and a senior consultant for over 19 years
• Oracle ACE Associate
• Member of ilOUG – Israel Oracle User Group
• Blogger – www.realdbamagic.com and www.ilDBA.co.il
2 http://brillix.co.il
About Brillix
• We offer complete, integrated end-to-end solutions based on best-of-
breed innovations in database, security and big data technologies
• We provide complete end-to-end 24x7 expert remote database
services
• We offer professional customized on-site trainings, delivered by our
top-notch world recognized instructors
3
Some of Our Customers
http://brillix.co.il4
Agenda
•Database In Memory (column store) – 12.1.0.2
•Oracle Database Sharding – 12.2.0.1
•Optimizer and Statistics changes – 12c
http://brillix.co.il5
Our Goal for Today
•Getting to know some of Oracle 12cR1 and 12cR2
new features around performance
•Not a lot of syntax today – mainly concepts
•Way too many slides, let’s try to catch ‘em all…
http://brillix.co.il6
Oracle Database In-Memory
(Column Store)
12.1.0.2
http://brillix.co.il7
What is an In Memory Database?
• In memory databases are management systems that keeps
the data in a non-persistent storage (RAM) for faster access
Examples:
• AeroSpike
• SQLite
• MemcacheDB
• Oracle TimesTen and Oracle Coherence
http://brillix.co.il8
What is a Column Store Database?
• Column Store databases are management systems that
use data managed in a columnar structure format for better
analysis of single column data (i.e. aggregation).
Data is saved and handled as columns instead of rows.
Examples:
• Apache Cassandra
• Apache HBase
• Apache Parquet
• Sybase IQ
• HP Vertica
http://brillix.co.il9
How Records are Organized?
• This is a logical table in RDBMS
• Its physical organization is just like the logical one: column
by column, row by row
http://brillix.co.il10
Row 1
Row 2
Row 3
Row 4
Col 1 Col 2 Col 3 Col 4
Query Data
• When we query data, records are read at the
order they are organized in the physical structure
• Even when we query a single
column, we still need to read the
entire table and extract the column
http://brillix.co.il11
Row 1
Row 2
Row 3
Row 4
Col 1 Col 2 Col 3 Col 4
Select Col2
From MyTable
Select *
From MyTable
How Does Column Stores Keep Data
Organization in row store Organization in column store
http://brillix.co.il12
Select Col2
From MyTable
Row Format vs. Column Format
http://brillix.co.il13
In Memory Option Breakthrough
• In memory option introduces a dual format database
• Tables can be accessed as row format and column format at the same
time – the Optimizer is aware to the new format so:
• OLTP continue using the old row format
• Analytic queries start using the column format
http://brillix.co.il14
Oracle In Memory Option
•Column data is pure in memory format: it’s non-
persistent and require no logging, archiving or backup
•Data changes are simultaneously changed in both
formats so data is consistent and current
•Application code requires no changes – just turn on
and start using
http://brillix.co.il15
In Memory Option – Good To Know
• It is Not “In Memory Database” – it’s an accelerator to the
regular database
• It is Not “Column Store Database” – column organized data
is non-persistent*
• In Memory Option requires more memory than the data you
plan to load to the memory: no LRU mechanism
• Not related to Oracle Times-Ten or Oracle Coherence
http://brillix.co.il16
Oracle Buffer Cache and Memory Management
•Oracle buffer cache can keep data blocks in memory
for optimization
•Blocks are removed from memory based on their
usability (LRU)
•If data is smaller than available memory, we can use
Oracle 12c new features: Full Database Caching
http://brillix.co.il17
Full Database Caching
• Full Database Caching: Implicit default and automatic mode
in which an internal calculation determines if the database
can be fully cached
• Force Full Database Caching: This mode requires the DBA
to execute the ALTER DATABASE FORCE FULL DATABASE
CACHING command
• Neither Full Database Caching nor Force Full Database
Caching forces prefetch of data into the memory
http://brillix.co.il18
What’s new In 12cR2?
•In memory support for Active Data Guard configuration
•In memory virtual columns and expressions
•In memory FastStart
•Automatic Data Optimization Support for In-Memory
Column Store
http://brillix.co.il19
Oracle Sharding
12.2.0.1
http://brillix.co.il20
Scaling Databases
•Why would we want to scale our database
• Performance
• Elasticity
• Global data distribution
•Possible solutions:
• Scaling up – adding more hardware
• Scaling out – the Oracle way, using RAC
• Scaling out using sharding
http://brillix.co.il21
What Is Sharding?
•Sharding is a way of horizontal scaling (horizontal
partitioning)
•Instead of scaling the database infrastructures, we
scale out the data itself
•Not a new concept: MongoDB, Cassandra, MySQL…
•Starting with Oracle 12.2 we can use Sharded
Database Architecture (SDA) as part of Oracle
Global Data Services (GDS) architecture
http://brillix.co.il22
Global Data Services (GDS)
http://brillix.co.il23
Sharded Database Architecture (SDA)
•Part of the Global Data Services (GDS) architecture
•Databases in the logical database doesn’t share any
physical resources or clusterware software
•Databases can reside in different geo-locations
•Application must be compatible with sharded behavior
http://brillix.co.il24
Benefits of Sharding
• Linear Scalability - eliminates performance bottlenecks and makes it
possible to linearly scale performance by adding shards
• Fault Containment - Sharding is a shared nothing hardware
infrastructure that eliminates single points of failure
• Geographical Distribution of Data - store data close to its users
• Rolling Upgrades – changes to one shard at a time does not affect
other shards
• Simplicity of Cloud Deployment - supports on-premises, cloud, and
hybrid deployment models
http://brillix.co.il25
Why RDBMS Sharding?
•Unlike NoSQL sharding, Oracle Shards still support
• Relational schemas
• ACID transactions properties and read consistency
• SQL and other programmatic interfaces
• Complex data types
• Database partitioning
• Advanced security
• High Availability features
• And more…
http://brillix.co.il26
The Big Picture
http://brillix.co.il27
Server A – Non-Sharded
Sharding Methods
•We can use two methods of sharding data:
• Sharded tables: data exist is one shared
• Duplicated tables: data exist in all shareds
http://brillix.co.il28
SDB – Sharded (Logical) Database
Server
B
Server
C
Server
D
Shard 1 Shard 2 Shard 3
Example – Sharded Table Creation
http://brillix.co.il29
CREATE SHARDED TABLE customers
( cust_id NUMBER NOT NULL
, name VARCHAR2(50)
, address VARCHAR2(250)
, region VARCHAR2(20)
, class VARCHAR2(3)
, signup DATE
CONSTRAINT cust_pk PRIMARY KEY(cust_id)
)
PARTITION BY CONSISTENT HASH (cust_id)
TABLESPACE SET ts1
PARTITIONS AUTO;
Example – Duplicated Table Creation
http://brillix.co.il30
CREATE DUPLICATED TABLE Products
( StockNo NUMBER PRIMARY KEY
, Description VARCHAR2(20)
, Price NUMBER(6,2))
);
Sharded Table Families
•We can shard multiple tables to the same database
shard using table families
•All tables in a table family must have the same equi-
partition sharding key:
• Using Reference partitions
• Using the PARENT clause
http://brillix.co.il31
Example – Sharded Table Family Creation (REF)
http://brillix.co.il32
CREATE SHARDED TABLE Customers
( CustNo NUMBER NOT NULL
, Name VARCHAR2(50)
, Address VARCHAR2(250)
, CONSTRAINT RootPK PRIMARY KEY(CustNo)
)
PARTITION BY CONSISTENT HASH (CustNo)
PARTITIONS AUTO
TABLESPACE SET ts1;
CREATE SHARDED TABLE Orders
( OrderNo NUMBER NOT NULL
, CustNo NUMBER NOT NULL
, OrderDate DATE
, CONSTRAINT OrderPK PRIMARY KEY
(CustNo, OrderNo)
, CONSTRAINT CustFK FOREIGN KEY
(CustNo) REFERENCES Customers(CustNo)
)
PARTITION BY REFERENCE (CustFK);
Example – Sharded Table Family Creation
(PARENT)
http://brillix.co.il33
CREATE SHARDED TABLE Customers
( CustNo NUMBER NOT NULL
, Name VARCHAR2(50)
, Address VARCHAR2(250)
, region VARCHAR2(20)
, class VARCHAR2(3)
, signup DATE
)
PARTITION BY CONSISTENT HASH (CustNo)
TABLESPACE SET ts1
PARTITIONS AUTO;
CREATE SHARDED TABLE Orders
( OrderNo NUMBER
, CustNo NUMBER
, OrderDate DATE
)
PARENT Customers
PARTITION BY CONSISTENT HASH (CustNo)
TABLESPACE SET ts1
PARTITIONS AUTO;
Non-Table Objects
•We can create non-table objects in the logical
databases
• Schema objects: users, roles, views, indexes, synonyms,
functions, procedures, and packages
• Non-schema objects: tablespaces, tablespace sets,
directories, and contexts
•Objects will be created on all shards
http://brillix.co.il34
DDL Execution
• The application schema name and all objects name must be
identical on all shards
• DDL on sharded table must be done from the Shared catalog
database or using GDS command line tool (GDSCTL)
• Changes are automatically propagated to all shards
http://brillix.co.il35
SQL> CONNECT SYS@SH_CATALOG
SQL> ALTER SESSION ENABLE SHARD DDL;
SQL> CREATE USER <app_name>...
SQL> GRANT CREATE TABLE TO <app_name>...
SQL> CREATE DUPLICATED TABLE <name>...
SQL> CREATE SHARDED TABLE <name>...
GDSCTL> sql "CREATE USER ..."
GDSCTL> sql "CREATE TABLESPACE
SET ..."
Sharding Physical Structure
•Physical data distribution based on chunks – each
chunk is one table partition
•Each chunk is located on a different tablespace
•Tablespaces are defined using tablespace sets
(tablespace templates)
http://brillix.co.il36
Resharding and Hotspots Handling
• Adding/Removing shards or hotspot elimination requires
chunk movement (automatically or manually)
• This will generate an RMAN backup, restore and recovery
of the chunk (tablespace) in the new node. Old chunk will
be automatically removed once done.
• We can also split hotsposts using GDSCTL split command
http://brillix.co.il37
GDSCTL> MOVE CHUNK -CHUNK 12 -SOURCE sh01 -TARGET sh12
GDSCTL> SPLIT CHUNK -CHUNK 12
Sharding High Availability
•Data replication with Data Guard is a crucial
component in SDB environment
• High availability, disaster recovery, read offloading
• Replication deployment performed fully automatically
• The logical unit of data replication is a shardgroup
http://brillix.co.il38
High Availability Setup Example
http://brillix.co.il39
GDSCTL> create shardcatalog -database shdard01:1521:repo
-chunks 12 -user mygdsadmin/<pwd> -sdb sharddb
-region london,Amsterdam –repl DG –sharding system
-protectmode maxavailability
...
GDSCTL> add shardgroup -shardgroup shardgrp1 -deploy_as primary
-region london
GDSCTL> add shardgroup -shardgroup shardgrp2 -deploy_as active_standby
-region london
GDSCTL> add shardgroup -shardgroup shardgrp3 -deploy_as active_standby
-region amsterdam
Session Routing (single shard)
• Application must be compatible with sharding architecture
• When connecting to the database, the application must
provide the sharding key (and super key) to the connection
• All SQL operations in this session are related to the specified
sharding key (shard)
• To work on another sharding key value, the application needs to
create a new session
http://brillix.co.il40
Statement Routing/Cross-Shard Query
•Client connection to the Coordinator (Catalog)
Database is required
• No sharding key necessary in the connect descriptor
•Cross-shard SQL are executed via DB Link to Shards
• Partition and Shard pruning
http://brillix.co.il41
Optimizer Changes and
Adaptive Query Optimization
12.1.0.2 + 12.2.0.1
http://brillix.co.il42
Adaptive Query Optimization
http://brillix.co.il43
Adaptive Query
Optimization
Adaptive Plans
Adaptive
Statistics
At compile
time
At run timeJoin
Methods
Parallel
distribution
Methods
Adaptive Execution Plans (12.1)
• Allows the Optimizer to make runtime adjustments to execution
plans and to discover additional information that can lead to
better statistics
• Good SQL execution without intervention
• Final plan decision is based on rows seen during execution
• Bad effects of skew eliminated
http://brillix.co.il44
Adaptive Execution Plans: Join Methods
• Join method decision deferred until runtime
• Default plan is computed using available statistics
• Alternate sub-plans are pre-computed and stored in the cursor
• Statistic collectors are inserted at key points in the plan
• Final decision is based on statistics collected during execution
• Possible sub-plans are nested loop joins or hash joins and vice
versa
http://brillix.co.il45
Displaying the Default Plan
•Explain plan command
always shows default plan
•Example shows a nested
loops join as default plan
•No statistics collector
shown in plan
http://brillix.co.il46
Displaying the Final Plan
• After the statement has
completed use
DBMS_XPLAN.DISPLAY_CURSOR
to see the final plan
selected
• Example shows that hash
join picked at execution time
• Again the statistics collector
is not visible in the plan
http://brillix.co.il47
Displaying Plan With +adaptive & +report Formats
• Additional information displayed on why operations are inactive can be
seen with format parameter ‘+report’
http://brillix.co.il48
Adaptive Execution Plans In V$SQL
http://brillix.co.il49
Dynamic Statistics (12.1  11.2.0.4)
•During compilation optimizer decides if statistics are
sufficient to generate a good plan or not
•Dynamic statistics are used to compensate for
missing, stale, or incomplete statistics
•They can be used for table scans, index access, joins
and group by
•One type of dynamic statistics is dynamic sampling
http://brillix.co.il50
Dynamic Statistics
• Dynamic sampling has a
new level 11(AUTO)
• Decision to use dynamic
sampling depends on the
complexity of predicate,
existing statistics and total
execution time
• Dynamic statistics shared
among queries
http://brillix.co.il51
Adaptive Statistics/Statistics Feedback
Re-optimization Pre 12c:
• During execution optimizer estimates are compared to execution statistics
• If statistics vary significantly then a new plan will be chosen for subsequent
executions based on execution statistics
• Re-optimization uses statistics gathered from previous executions
Re-optimization in 12c
• Join statistics are also monitored
• Works with adaptive cursor sharing for statement with binds
• New Column in V$SQL IS_REOPTIMIZABLE
• Information found at execution time is persisted as SQL Plan Directives
http://brillix.co.il52
Statistics Feedback
http://brillix.co.il53
Re-optimization – indicator in V$SQL
•New column in V$SQL: IS_REOPTIMIZABLE
•Indicates that the statement will be re-parsed on the
next execution
http://brillix.co.il54
More Optimizer Changes…
•Adaptive Statistics/Statistics Feedback (12.1)
•Concurrent Execution of UNION and UNION ALL
Branches (12.1)
•Cost-Based OR Expansion Transformation (12.2)
•Enhanced Join Elimination (12.2)
•Approximate Query Processing (12.1 + 12.2)
http://brillix.co.il55
Statistics
12.1.0.2 + 12.2.0.1
http://brillix.co.il56
Histograms
• Histograms tell the Optimizer about the data distribution in a
Column for better cardinality estimations
• Default create histogram on any column that has been used
in the WHERE clause or GROUP BY of a statement AND has a
data skew
• Oracle 12c changes histograms methods:
• Top-Frequency (new)
• Height balanced (obsolete)
• Hybrid (new)
http://brillix.co.il57
Histograms: Top Frequency
• Traditionally a frequency histogram is only created if NDV < 254
• But if a small number of values occupies most of the rows
(>99% rows), creating a frequency histograms on that small set
of values is very useful even though NDV is greater than 254
• Ignores the unpopular values to create a better quality histogram
for popular values
• Built using the same technique used for frequency histograms
• Only created with AUTO_SAMPLE_SIZE
http://brillix.co.il58
Top Frequency Histogram Example
• Table
PRODUCT_SALES
contains information on
Christmas ornament
sales
• It has 1.78 million rows
• There are 620 distinct
TIME_IDs
• But 99.9% of the rows
have less than 254
distinct TIME_IDs
TIME_ID column perfect
candidate for top-frequency
histogram
http://brillix.co.il59
Height Balanced Histograms (obsolete)
•A height balanced histogram is created if the number
of distinct values in a column (NDV) is greater than
254 values. This is now obsolete.
Height balanced histogram
http://brillix.co.il60
Hybrid Histograms
•Hybrid histogram is created if the number of distinct
values in a column (NDV) is greater than 254 values
but uses actual frequencies of bucket endpoints
Hybrid histogram
http://brillix.co.il61
Hybrid Histograms
• Similar to height balanced histogram as created if the NDV
>254
• Store the actual frequencies of bucket endpoints in
histograms
• No values are allowed to spill over multiple buckets
• More endpoint values can be squeezed in a histogram
• Achieves the same effect as increasing the # of buckets
• Only created with AUTO_SAMPLE_SIZE
http://brillix.co.il62
Height-balanced versus Hybrid Histogram
Oracle Database 11g Oracle Database 12c
http://brillix.co.il63
Session Private Statistics for GTT’s
• GTT’s had only one set of statistics that were shared among all
sessions even though the table could contain different data in different
sessions
• Starting Oracle 12c, GTT’s now have session private statistics, which
is a different set of statistics for each session
• Queries against GTT use statistics from their own session
• Improves the performance and manageability of GTT’s
• Reduces the possibility of errors in the cardinality estimates for GTT’s
and ensures that the optimizer has the data to generate optimal
execution plans
http://brillix.co.il64
Online Statistics Gathering for Bulk Loads
• Table statistics are gathered automatically during bulk
loads:
• CREATE TABLE AS SELECT
• INSERT INTO … SELECT
• Improved performance: avoids an additional table scan to
gather table statistics
• Improved manageability: no user intervention is required to
gather statistics after a bulk load
• To disable use hint: NO_GATHER_OPTIMIZER_STATISTICS
http://brillix.co.il65
Optimizer Statistics Advisor (12.2)
• Optimizer Statistics Advisor is built-in diagnostic software that
analyzes the quality of statistics and statistics-related tasks
http://brillix.co.il66
Optimizer Statistics Advisor (12.2)
•The advisor automatically diagnoses problems in the
existing practices for gathering statistics
•The advisor does not gather a new or alternative set of
optimizer statistics
•The output of the advisor is a report of findings and
recommendations
http://brillix.co.il67
What Can Go Wrong With Statistic Gathering?
•Legacy scripts may not keep pace with new best
practices, which can change from release to release
•Resources are wasted on unnecessary statistics
gathering
•Statistics can sometimes be missing, stale, or incorrect
•Automatic statistics gathering jobs do not guarantee
accurate and up-to-date statistics
http://brillix.co.il68
Optimizer Statistics Advisor: Output Example
http://brillix.co.il69
----------------------------------------------------------------------------------------------------
GENERAL INFORMATION
-------------------------------------------------------------------------------
Task Name : MY_TASK
Execution Name : EXEC_52
Created : 12-07-16 11:31:40
Last Modified : 12-07-16 11:32:37
-------------------------------------------------------------------------------
SUMMARY
-------------------------------------------------------------------------------
For execution EXEC_52 of task MY_TASK, the Statistics Advisor has 6
finding(s). The findings are related to the following rules: USECONCURRENT,
AVOIDSETPROCEDURES, USEDEFAULTPARAMS, USEGATHERSCHEMASTATS, AVOIDSTALESTATS,
UNLOCKNONVOLATILETABLE. Please refer to the finding section for detailed
information.
-------------------------------------------------------------------------------
FINDINGS
-------------------------------------------------------------------------------
...
Optimizer Statistics Advisor: Output Example (2)
http://brillix.co.il70
-------------------------------------------------------------------------------
FINDINGS
-------------------------------------------------------------------------------
Rule Name: UseConcurrent
Rule Description: Use Concurrent preference for Statistics Collection
Finding: The CONCURRENT preference is not used.
Recommendation: Set the CONCURRENT preference.
Example:
dbms_stats.set_global_prefs('CONCURRENT', 'ALL');
Rationale: The system's condition satisfies the use of concurrent statistics
gathering. Using CONCURRENT increases the efficiency of statistics
gathering.
----------------------------------------------------
...
More Statistics Features
•Concurrent statistics gathering (12.1)
•Automatic Column Group Detection for extended
statistics (12.2)
•Enhancements to Incremental Statistics
•Enhancements to System Statistics
•More…
http://brillix.co.il71
Q&A
http://brillix.co.il72
Summary
•We talked about DBIM and the column store solution
•We overviewed the new Sharding solution
•We looked into new Optimizer and Statistics changes
•12c has a lot to offer us, try it – use it!
•12cR2 release date for on-prem usage: March 15, 2017
(March 1st for Exadata)
http://brillix.co.il73
What Did We NOT Talk About
•SQL Plan Management framework
• Automatic Plan Evolution
• Enhanced Auto Capture
• Capture from AWR Repository
•Indexing, Partitioning, and many other performance
related new features…
http://brillix.co.il74
Thank You
Zohar Elkayam
twitter: @realmgic
Zohar@Brillix.co.il
www.realdbamagic.com
http://brillix.co.il75

Más contenido relacionado

La actualidad más candente

Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expr...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata  Expr...Oracle Database 12c Release 2 - New Features On Oracle Database Exadata  Expr...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expr...Alex Zaballa
 
An AMIS Overview of Oracle database 12c (12.1)
An AMIS Overview of Oracle database 12c (12.1)An AMIS Overview of Oracle database 12c (12.1)
An AMIS Overview of Oracle database 12c (12.1)Marco Gralike
 
OOW2016: Exploring Advanced SQL Techniques Using Analytic Functions
OOW2016: Exploring Advanced SQL Techniques Using Analytic FunctionsOOW2016: Exploring Advanced SQL Techniques Using Analytic Functions
OOW2016: Exploring Advanced SQL Techniques Using Analytic FunctionsZohar Elkayam
 
Oracle 12.2 sharded database management
Oracle 12.2 sharded database managementOracle 12.2 sharded database management
Oracle 12.2 sharded database managementLeyi (Kamus) Zhang
 
Oracle 12c New Features for Developers
Oracle 12c New Features for DevelopersOracle 12c New Features for Developers
Oracle 12c New Features for DevelopersCompleteITProfessional
 
Oracle database 12c intro
Oracle database 12c introOracle database 12c intro
Oracle database 12c intropasalapudi
 
Oracle 21c: New Features and Enhancements of Data Pump & TTS
Oracle 21c: New Features and Enhancements of Data Pump & TTSOracle 21c: New Features and Enhancements of Data Pump & TTS
Oracle 21c: New Features and Enhancements of Data Pump & TTSChristian Gohmann
 
Best New Features of Oracle Database 12c
Best New Features of Oracle Database 12cBest New Features of Oracle Database 12c
Best New Features of Oracle Database 12cPini Dibask
 
Exploring Advanced SQL Techniques Using Analytic Functions
Exploring Advanced SQL Techniques Using Analytic FunctionsExploring Advanced SQL Techniques Using Analytic Functions
Exploring Advanced SQL Techniques Using Analytic FunctionsZohar Elkayam
 
Dan Hotka's Top 10 Oracle 12c New Features
Dan Hotka's Top 10 Oracle 12c New FeaturesDan Hotka's Top 10 Oracle 12c New Features
Dan Hotka's Top 10 Oracle 12c New FeaturesEmbarcadero Technologies
 
Winning performance challenges in oracle standard editions
Winning performance challenges in oracle standard editionsWinning performance challenges in oracle standard editions
Winning performance challenges in oracle standard editionsPini Dibask
 
Redefining tables online without surprises
Redefining tables online without surprisesRedefining tables online without surprises
Redefining tables online without surprisesNelson Calero
 
Winning Performance Challenges in Oracle Multitenant
Winning Performance Challenges in Oracle MultitenantWinning Performance Challenges in Oracle Multitenant
Winning Performance Challenges in Oracle MultitenantPini Dibask
 
Oracle database 12c new features
Oracle database 12c new featuresOracle database 12c new features
Oracle database 12c new featuresRemote DBA Services
 
Oracle 12c Multi Tenant
Oracle 12c Multi TenantOracle 12c Multi Tenant
Oracle 12c Multi TenantRed Stack Tech
 
Connecting Hadoop and Oracle
Connecting Hadoop and OracleConnecting Hadoop and Oracle
Connecting Hadoop and OracleTanel Poder
 
The Top 12 Features new to Oracle 12c
The Top 12 Features new to Oracle 12cThe Top 12 Features new to Oracle 12c
The Top 12 Features new to Oracle 12cDavid Yahalom
 
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3Marco Gralike
 
Oracle Database 12c "New features"
Oracle Database 12c "New features" Oracle Database 12c "New features"
Oracle Database 12c "New features" Anar Godjaev
 
Overview of Postgres 9.5
Overview of Postgres 9.5 Overview of Postgres 9.5
Overview of Postgres 9.5 EDB
 

La actualidad más candente (20)

Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expr...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata  Expr...Oracle Database 12c Release 2 - New Features On Oracle Database Exadata  Expr...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expr...
 
An AMIS Overview of Oracle database 12c (12.1)
An AMIS Overview of Oracle database 12c (12.1)An AMIS Overview of Oracle database 12c (12.1)
An AMIS Overview of Oracle database 12c (12.1)
 
OOW2016: Exploring Advanced SQL Techniques Using Analytic Functions
OOW2016: Exploring Advanced SQL Techniques Using Analytic FunctionsOOW2016: Exploring Advanced SQL Techniques Using Analytic Functions
OOW2016: Exploring Advanced SQL Techniques Using Analytic Functions
 
Oracle 12.2 sharded database management
Oracle 12.2 sharded database managementOracle 12.2 sharded database management
Oracle 12.2 sharded database management
 
Oracle 12c New Features for Developers
Oracle 12c New Features for DevelopersOracle 12c New Features for Developers
Oracle 12c New Features for Developers
 
Oracle database 12c intro
Oracle database 12c introOracle database 12c intro
Oracle database 12c intro
 
Oracle 21c: New Features and Enhancements of Data Pump & TTS
Oracle 21c: New Features and Enhancements of Data Pump & TTSOracle 21c: New Features and Enhancements of Data Pump & TTS
Oracle 21c: New Features and Enhancements of Data Pump & TTS
 
Best New Features of Oracle Database 12c
Best New Features of Oracle Database 12cBest New Features of Oracle Database 12c
Best New Features of Oracle Database 12c
 
Exploring Advanced SQL Techniques Using Analytic Functions
Exploring Advanced SQL Techniques Using Analytic FunctionsExploring Advanced SQL Techniques Using Analytic Functions
Exploring Advanced SQL Techniques Using Analytic Functions
 
Dan Hotka's Top 10 Oracle 12c New Features
Dan Hotka's Top 10 Oracle 12c New FeaturesDan Hotka's Top 10 Oracle 12c New Features
Dan Hotka's Top 10 Oracle 12c New Features
 
Winning performance challenges in oracle standard editions
Winning performance challenges in oracle standard editionsWinning performance challenges in oracle standard editions
Winning performance challenges in oracle standard editions
 
Redefining tables online without surprises
Redefining tables online without surprisesRedefining tables online without surprises
Redefining tables online without surprises
 
Winning Performance Challenges in Oracle Multitenant
Winning Performance Challenges in Oracle MultitenantWinning Performance Challenges in Oracle Multitenant
Winning Performance Challenges in Oracle Multitenant
 
Oracle database 12c new features
Oracle database 12c new featuresOracle database 12c new features
Oracle database 12c new features
 
Oracle 12c Multi Tenant
Oracle 12c Multi TenantOracle 12c Multi Tenant
Oracle 12c Multi Tenant
 
Connecting Hadoop and Oracle
Connecting Hadoop and OracleConnecting Hadoop and Oracle
Connecting Hadoop and Oracle
 
The Top 12 Features new to Oracle 12c
The Top 12 Features new to Oracle 12cThe Top 12 Features new to Oracle 12c
The Top 12 Features new to Oracle 12c
 
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3
 
Oracle Database 12c "New features"
Oracle Database 12c "New features" Oracle Database 12c "New features"
Oracle Database 12c "New features"
 
Overview of Postgres 9.5
Overview of Postgres 9.5 Overview of Postgres 9.5
Overview of Postgres 9.5
 

Destacado

Advanced PL/SQL Optimizing for Better Performance 2016
Advanced PL/SQL Optimizing for Better Performance 2016Advanced PL/SQL Optimizing for Better Performance 2016
Advanced PL/SQL Optimizing for Better Performance 2016Zohar Elkayam
 
Exploring Advanced SQL Techniques Using Analytic Functions
Exploring Advanced SQL Techniques Using Analytic FunctionsExploring Advanced SQL Techniques Using Analytic Functions
Exploring Advanced SQL Techniques Using Analytic FunctionsZohar Elkayam
 
Introduction to Oracle Data Guard Broker
Introduction to Oracle Data Guard BrokerIntroduction to Oracle Data Guard Broker
Introduction to Oracle Data Guard BrokerZohar Elkayam
 
Understanding Oracle RAC 11g Release 2 Internals
Understanding Oracle RAC 11g Release 2 InternalsUnderstanding Oracle RAC 11g Release 2 Internals
Understanding Oracle RAC 11g Release 2 InternalsMarkus Michalewicz
 
SQL Monitoring in Oracle Database 12c
SQL Monitoring in Oracle Database 12cSQL Monitoring in Oracle Database 12c
SQL Monitoring in Oracle Database 12cTanel Poder
 
Oracle database 12c new features
Oracle database 12c new featuresOracle database 12c new features
Oracle database 12c new featuresJakkrapat S.
 
PostgreSQL + ZFS best practices
PostgreSQL + ZFS best practicesPostgreSQL + ZFS best practices
PostgreSQL + ZFS best practicesSean Chittenden
 
2015 Internet Trends Report
2015 Internet Trends Report2015 Internet Trends Report
2015 Internet Trends ReportIQbal KHan
 
Oracle 12c Parallel Execution New Features
Oracle 12c Parallel Execution New FeaturesOracle 12c Parallel Execution New Features
Oracle 12c Parallel Execution New FeaturesRandolf Geist
 
Oracle RAC 12c Release 2 - Overview
Oracle RAC 12c Release 2 - OverviewOracle RAC 12c Release 2 - Overview
Oracle RAC 12c Release 2 - OverviewMarkus Michalewicz
 
Scaling Oracle 12c database performance with EMC XtremIO storage in a Databas...
Scaling Oracle 12c database performance with EMC XtremIO storage in a Databas...Scaling Oracle 12c database performance with EMC XtremIO storage in a Databas...
Scaling Oracle 12c database performance with EMC XtremIO storage in a Databas...Principled Technologies
 
The best Oracle Database 12c Tuning Features for Developers
The best Oracle Database 12c Tuning Features for DevelopersThe best Oracle Database 12c Tuning Features for Developers
The best Oracle Database 12c Tuning Features for DevelopersGuatemala User Group
 
Sql server scalability fundamentals
Sql server scalability fundamentalsSql server scalability fundamentals
Sql server scalability fundamentalsChris Adkin
 
Things Every Oracle DBA Needs To Know About The Hadoop Ecosystem
Things Every Oracle DBA Needs To Know About The Hadoop EcosystemThings Every Oracle DBA Needs To Know About The Hadoop Ecosystem
Things Every Oracle DBA Needs To Know About The Hadoop EcosystemZohar Elkayam
 
Is SQLcl the Next Generation of SQL*Plus?
Is SQLcl the Next Generation of SQL*Plus?Is SQLcl the Next Generation of SQL*Plus?
Is SQLcl the Next Generation of SQL*Plus?Zohar Elkayam
 
RMAN in 12c: The Next Generation (PPT)
RMAN in 12c: The Next Generation (PPT)RMAN in 12c: The Next Generation (PPT)
RMAN in 12c: The Next Generation (PPT)Gustavo Rene Antunez
 
Oracle Data Guard A to Z
Oracle Data Guard A to ZOracle Data Guard A to Z
Oracle Data Guard A to ZZohar Elkayam
 

Destacado (18)

Oracle 12c New Features
Oracle 12c New FeaturesOracle 12c New Features
Oracle 12c New Features
 
Advanced PL/SQL Optimizing for Better Performance 2016
Advanced PL/SQL Optimizing for Better Performance 2016Advanced PL/SQL Optimizing for Better Performance 2016
Advanced PL/SQL Optimizing for Better Performance 2016
 
Exploring Advanced SQL Techniques Using Analytic Functions
Exploring Advanced SQL Techniques Using Analytic FunctionsExploring Advanced SQL Techniques Using Analytic Functions
Exploring Advanced SQL Techniques Using Analytic Functions
 
Introduction to Oracle Data Guard Broker
Introduction to Oracle Data Guard BrokerIntroduction to Oracle Data Guard Broker
Introduction to Oracle Data Guard Broker
 
Understanding Oracle RAC 11g Release 2 Internals
Understanding Oracle RAC 11g Release 2 InternalsUnderstanding Oracle RAC 11g Release 2 Internals
Understanding Oracle RAC 11g Release 2 Internals
 
SQL Monitoring in Oracle Database 12c
SQL Monitoring in Oracle Database 12cSQL Monitoring in Oracle Database 12c
SQL Monitoring in Oracle Database 12c
 
Oracle database 12c new features
Oracle database 12c new featuresOracle database 12c new features
Oracle database 12c new features
 
PostgreSQL + ZFS best practices
PostgreSQL + ZFS best practicesPostgreSQL + ZFS best practices
PostgreSQL + ZFS best practices
 
2015 Internet Trends Report
2015 Internet Trends Report2015 Internet Trends Report
2015 Internet Trends Report
 
Oracle 12c Parallel Execution New Features
Oracle 12c Parallel Execution New FeaturesOracle 12c Parallel Execution New Features
Oracle 12c Parallel Execution New Features
 
Oracle RAC 12c Release 2 - Overview
Oracle RAC 12c Release 2 - OverviewOracle RAC 12c Release 2 - Overview
Oracle RAC 12c Release 2 - Overview
 
Scaling Oracle 12c database performance with EMC XtremIO storage in a Databas...
Scaling Oracle 12c database performance with EMC XtremIO storage in a Databas...Scaling Oracle 12c database performance with EMC XtremIO storage in a Databas...
Scaling Oracle 12c database performance with EMC XtremIO storage in a Databas...
 
The best Oracle Database 12c Tuning Features for Developers
The best Oracle Database 12c Tuning Features for DevelopersThe best Oracle Database 12c Tuning Features for Developers
The best Oracle Database 12c Tuning Features for Developers
 
Sql server scalability fundamentals
Sql server scalability fundamentalsSql server scalability fundamentals
Sql server scalability fundamentals
 
Things Every Oracle DBA Needs To Know About The Hadoop Ecosystem
Things Every Oracle DBA Needs To Know About The Hadoop EcosystemThings Every Oracle DBA Needs To Know About The Hadoop Ecosystem
Things Every Oracle DBA Needs To Know About The Hadoop Ecosystem
 
Is SQLcl the Next Generation of SQL*Plus?
Is SQLcl the Next Generation of SQL*Plus?Is SQLcl the Next Generation of SQL*Plus?
Is SQLcl the Next Generation of SQL*Plus?
 
RMAN in 12c: The Next Generation (PPT)
RMAN in 12c: The Next Generation (PPT)RMAN in 12c: The Next Generation (PPT)
RMAN in 12c: The Next Generation (PPT)
 
Oracle Data Guard A to Z
Oracle Data Guard A to ZOracle Data Guard A to Z
Oracle Data Guard A to Z
 

Similar a Oracle 12c New Features For Better Performance

Adding real time reporting to your database oracle db in memory
Adding real time reporting to your database oracle db in memoryAdding real time reporting to your database oracle db in memory
Adding real time reporting to your database oracle db in memoryZohar Elkayam
 
Geek Sync I Need for Speed: In-Memory Databases in Oracle and SQL Server
Geek Sync I Need for Speed: In-Memory Databases in Oracle and SQL ServerGeek Sync I Need for Speed: In-Memory Databases in Oracle and SQL Server
Geek Sync I Need for Speed: In-Memory Databases in Oracle and SQL ServerIDERA Software
 
Exploring Oracle Multitenant in Oracle Database 12c
Exploring Oracle Multitenant in Oracle Database 12cExploring Oracle Multitenant in Oracle Database 12c
Exploring Oracle Multitenant in Oracle Database 12cZohar Elkayam
 
COUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesCOUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesAlfredo Abate
 
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & TableauBig Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & TableauSam Palani
 
SQLcl the next generation of SQLPlus?
SQLcl the next generation of SQLPlus?SQLcl the next generation of SQLPlus?
SQLcl the next generation of SQLPlus?Zohar Elkayam
 
Database Cloud Services Office Hours : Oracle sharding hyperscale globally d...
Database Cloud Services Office Hours : Oracle sharding  hyperscale globally d...Database Cloud Services Office Hours : Oracle sharding  hyperscale globally d...
Database Cloud Services Office Hours : Oracle sharding hyperscale globally d...Tammy Bednar
 
Oracle Database 12c - Features for Big Data
Oracle Database 12c - Features for Big DataOracle Database 12c - Features for Big Data
Oracle Database 12c - Features for Big DataAbishek V S
 
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...Marcus Vinicius Miguel Pedro
 
Node.js and the MySQL Document Store
Node.js and the MySQL Document StoreNode.js and the MySQL Document Store
Node.js and the MySQL Document StoreRui Quelhas
 
MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019
MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019
MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019Dave Stokes
 
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...Databricks
 
SQL To NoSQL - Top 6 Questions Before Making The Move
SQL To NoSQL - Top 6 Questions Before Making The MoveSQL To NoSQL - Top 6 Questions Before Making The Move
SQL To NoSQL - Top 6 Questions Before Making The MoveIBM Cloud Data Services
 
Comparative study of modern databases
Comparative study of modern databasesComparative study of modern databases
Comparative study of modern databasesAnirban Konar
 

Similar a Oracle 12c New Features For Better Performance (20)

Adding real time reporting to your database oracle db in memory
Adding real time reporting to your database oracle db in memoryAdding real time reporting to your database oracle db in memory
Adding real time reporting to your database oracle db in memory
 
Geek Sync I Need for Speed: In-Memory Databases in Oracle and SQL Server
Geek Sync I Need for Speed: In-Memory Databases in Oracle and SQL ServerGeek Sync I Need for Speed: In-Memory Databases in Oracle and SQL Server
Geek Sync I Need for Speed: In-Memory Databases in Oracle and SQL Server
 
Exploring Oracle Multitenant in Oracle Database 12c
Exploring Oracle Multitenant in Oracle Database 12cExploring Oracle Multitenant in Oracle Database 12c
Exploring Oracle Multitenant in Oracle Database 12c
 
Oracle OpenWo2014 review part 03 three_paa_s_database
Oracle OpenWo2014 review part 03 three_paa_s_databaseOracle OpenWo2014 review part 03 three_paa_s_database
Oracle OpenWo2014 review part 03 three_paa_s_database
 
COUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_FeaturesCOUG_AAbate_Oracle_Database_12c_New_Features
COUG_AAbate_Oracle_Database_12c_New_Features
 
Revision
RevisionRevision
Revision
 
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & TableauBig Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
Big Data Analytics on the Cloud Oracle Applications AWS Redshift & Tableau
 
Flashback in OCI
Flashback in OCIFlashback in OCI
Flashback in OCI
 
Nosql data models
Nosql data modelsNosql data models
Nosql data models
 
SQLcl the next generation of SQLPlus?
SQLcl the next generation of SQLPlus?SQLcl the next generation of SQLPlus?
SQLcl the next generation of SQLPlus?
 
Database Cloud Services Office Hours : Oracle sharding hyperscale globally d...
Database Cloud Services Office Hours : Oracle sharding  hyperscale globally d...Database Cloud Services Office Hours : Oracle sharding  hyperscale globally d...
Database Cloud Services Office Hours : Oracle sharding hyperscale globally d...
 
Oracle Database 12c - Features for Big Data
Oracle Database 12c - Features for Big DataOracle Database 12c - Features for Big Data
Oracle Database 12c - Features for Big Data
 
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
 
Oracle DBA
Oracle DBAOracle DBA
Oracle DBA
 
Node.js and the MySQL Document Store
Node.js and the MySQL Document StoreNode.js and the MySQL Document Store
Node.js and the MySQL Document Store
 
MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019
MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019
MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019
 
Rdbms
RdbmsRdbms
Rdbms
 
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
 
SQL To NoSQL - Top 6 Questions Before Making The Move
SQL To NoSQL - Top 6 Questions Before Making The MoveSQL To NoSQL - Top 6 Questions Before Making The Move
SQL To NoSQL - Top 6 Questions Before Making The Move
 
Comparative study of modern databases
Comparative study of modern databasesComparative study of modern databases
Comparative study of modern databases
 

Más de Zohar Elkayam

Docker Concepts for Oracle/MySQL DBAs and DevOps
Docker Concepts for Oracle/MySQL DBAs and DevOpsDocker Concepts for Oracle/MySQL DBAs and DevOps
Docker Concepts for Oracle/MySQL DBAs and DevOpsZohar Elkayam
 
Oracle Advanced SQL and Analytic Functions
Oracle Advanced SQL and Analytic FunctionsOracle Advanced SQL and Analytic Functions
Oracle Advanced SQL and Analytic FunctionsZohar Elkayam
 
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527Zohar Elkayam
 
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem (c17lv version)
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem (c17lv version)Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem (c17lv version)
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem (c17lv version)Zohar Elkayam
 
Rapid Cluster Computing with Apache Spark 2016
Rapid Cluster Computing with Apache Spark 2016Rapid Cluster Computing with Apache Spark 2016
Rapid Cluster Computing with Apache Spark 2016Zohar Elkayam
 
Things Every Oracle DBA Needs to Know about the Hadoop Ecosystem
Things Every Oracle DBA Needs to Know about the Hadoop EcosystemThings Every Oracle DBA Needs to Know about the Hadoop Ecosystem
Things Every Oracle DBA Needs to Know about the Hadoop EcosystemZohar Elkayam
 
Advanced PLSQL Optimizing for Better Performance
Advanced PLSQL Optimizing for Better PerformanceAdvanced PLSQL Optimizing for Better Performance
Advanced PLSQL Optimizing for Better PerformanceZohar Elkayam
 
The Hadoop Ecosystem for Developers
The Hadoop Ecosystem for DevelopersThe Hadoop Ecosystem for Developers
The Hadoop Ecosystem for DevelopersZohar Elkayam
 
Big data for cio 2015
Big data for cio 2015Big data for cio 2015
Big data for cio 2015Zohar Elkayam
 
Oracle Data Guard Broker Webinar
Oracle Data Guard Broker WebinarOracle Data Guard Broker Webinar
Oracle Data Guard Broker WebinarZohar Elkayam
 

Más de Zohar Elkayam (11)

Docker Concepts for Oracle/MySQL DBAs and DevOps
Docker Concepts for Oracle/MySQL DBAs and DevOpsDocker Concepts for Oracle/MySQL DBAs and DevOps
Docker Concepts for Oracle/MySQL DBAs and DevOps
 
Oracle Advanced SQL and Analytic Functions
Oracle Advanced SQL and Analytic FunctionsOracle Advanced SQL and Analytic Functions
Oracle Advanced SQL and Analytic Functions
 
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527
 
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem (c17lv version)
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem (c17lv version)Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem (c17lv version)
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem (c17lv version)
 
Rapid Cluster Computing with Apache Spark 2016
Rapid Cluster Computing with Apache Spark 2016Rapid Cluster Computing with Apache Spark 2016
Rapid Cluster Computing with Apache Spark 2016
 
Things Every Oracle DBA Needs to Know about the Hadoop Ecosystem
Things Every Oracle DBA Needs to Know about the Hadoop EcosystemThings Every Oracle DBA Needs to Know about the Hadoop Ecosystem
Things Every Oracle DBA Needs to Know about the Hadoop Ecosystem
 
Advanced PLSQL Optimizing for Better Performance
Advanced PLSQL Optimizing for Better PerformanceAdvanced PLSQL Optimizing for Better Performance
Advanced PLSQL Optimizing for Better Performance
 
The Hadoop Ecosystem for Developers
The Hadoop Ecosystem for DevelopersThe Hadoop Ecosystem for Developers
The Hadoop Ecosystem for Developers
 
Big data for cio 2015
Big data for cio 2015Big data for cio 2015
Big data for cio 2015
 
Intro to Big Data
Intro to Big DataIntro to Big Data
Intro to Big Data
 
Oracle Data Guard Broker Webinar
Oracle Data Guard Broker WebinarOracle Data Guard Broker Webinar
Oracle Data Guard Broker Webinar
 

Último

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Último (20)

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Oracle 12c New Features For Better Performance

  • 1. Zohar Elkayam www.realdbamagic.com Twitter: @realmgic Oracle 12c New Features for Better Performance
  • 2. Who am I? • Zohar Elkayam, CTO at Brillix • Programmer, DBA, team leader, database trainer, public speaker, and a senior consultant for over 19 years • Oracle ACE Associate • Member of ilOUG – Israel Oracle User Group • Blogger – www.realdbamagic.com and www.ilDBA.co.il 2 http://brillix.co.il
  • 3. About Brillix • We offer complete, integrated end-to-end solutions based on best-of- breed innovations in database, security and big data technologies • We provide complete end-to-end 24x7 expert remote database services • We offer professional customized on-site trainings, delivered by our top-notch world recognized instructors 3
  • 4. Some of Our Customers http://brillix.co.il4
  • 5. Agenda •Database In Memory (column store) – 12.1.0.2 •Oracle Database Sharding – 12.2.0.1 •Optimizer and Statistics changes – 12c http://brillix.co.il5
  • 6. Our Goal for Today •Getting to know some of Oracle 12cR1 and 12cR2 new features around performance •Not a lot of syntax today – mainly concepts •Way too many slides, let’s try to catch ‘em all… http://brillix.co.il6
  • 7. Oracle Database In-Memory (Column Store) 12.1.0.2 http://brillix.co.il7
  • 8. What is an In Memory Database? • In memory databases are management systems that keeps the data in a non-persistent storage (RAM) for faster access Examples: • AeroSpike • SQLite • MemcacheDB • Oracle TimesTen and Oracle Coherence http://brillix.co.il8
  • 9. What is a Column Store Database? • Column Store databases are management systems that use data managed in a columnar structure format for better analysis of single column data (i.e. aggregation). Data is saved and handled as columns instead of rows. Examples: • Apache Cassandra • Apache HBase • Apache Parquet • Sybase IQ • HP Vertica http://brillix.co.il9
  • 10. How Records are Organized? • This is a logical table in RDBMS • Its physical organization is just like the logical one: column by column, row by row http://brillix.co.il10 Row 1 Row 2 Row 3 Row 4 Col 1 Col 2 Col 3 Col 4
  • 11. Query Data • When we query data, records are read at the order they are organized in the physical structure • Even when we query a single column, we still need to read the entire table and extract the column http://brillix.co.il11 Row 1 Row 2 Row 3 Row 4 Col 1 Col 2 Col 3 Col 4 Select Col2 From MyTable Select * From MyTable
  • 12. How Does Column Stores Keep Data Organization in row store Organization in column store http://brillix.co.il12 Select Col2 From MyTable
  • 13. Row Format vs. Column Format http://brillix.co.il13
  • 14. In Memory Option Breakthrough • In memory option introduces a dual format database • Tables can be accessed as row format and column format at the same time – the Optimizer is aware to the new format so: • OLTP continue using the old row format • Analytic queries start using the column format http://brillix.co.il14
  • 15. Oracle In Memory Option •Column data is pure in memory format: it’s non- persistent and require no logging, archiving or backup •Data changes are simultaneously changed in both formats so data is consistent and current •Application code requires no changes – just turn on and start using http://brillix.co.il15
  • 16. In Memory Option – Good To Know • It is Not “In Memory Database” – it’s an accelerator to the regular database • It is Not “Column Store Database” – column organized data is non-persistent* • In Memory Option requires more memory than the data you plan to load to the memory: no LRU mechanism • Not related to Oracle Times-Ten or Oracle Coherence http://brillix.co.il16
  • 17. Oracle Buffer Cache and Memory Management •Oracle buffer cache can keep data blocks in memory for optimization •Blocks are removed from memory based on their usability (LRU) •If data is smaller than available memory, we can use Oracle 12c new features: Full Database Caching http://brillix.co.il17
  • 18. Full Database Caching • Full Database Caching: Implicit default and automatic mode in which an internal calculation determines if the database can be fully cached • Force Full Database Caching: This mode requires the DBA to execute the ALTER DATABASE FORCE FULL DATABASE CACHING command • Neither Full Database Caching nor Force Full Database Caching forces prefetch of data into the memory http://brillix.co.il18
  • 19. What’s new In 12cR2? •In memory support for Active Data Guard configuration •In memory virtual columns and expressions •In memory FastStart •Automatic Data Optimization Support for In-Memory Column Store http://brillix.co.il19
  • 21. Scaling Databases •Why would we want to scale our database • Performance • Elasticity • Global data distribution •Possible solutions: • Scaling up – adding more hardware • Scaling out – the Oracle way, using RAC • Scaling out using sharding http://brillix.co.il21
  • 22. What Is Sharding? •Sharding is a way of horizontal scaling (horizontal partitioning) •Instead of scaling the database infrastructures, we scale out the data itself •Not a new concept: MongoDB, Cassandra, MySQL… •Starting with Oracle 12.2 we can use Sharded Database Architecture (SDA) as part of Oracle Global Data Services (GDS) architecture http://brillix.co.il22
  • 23. Global Data Services (GDS) http://brillix.co.il23
  • 24. Sharded Database Architecture (SDA) •Part of the Global Data Services (GDS) architecture •Databases in the logical database doesn’t share any physical resources or clusterware software •Databases can reside in different geo-locations •Application must be compatible with sharded behavior http://brillix.co.il24
  • 25. Benefits of Sharding • Linear Scalability - eliminates performance bottlenecks and makes it possible to linearly scale performance by adding shards • Fault Containment - Sharding is a shared nothing hardware infrastructure that eliminates single points of failure • Geographical Distribution of Data - store data close to its users • Rolling Upgrades – changes to one shard at a time does not affect other shards • Simplicity of Cloud Deployment - supports on-premises, cloud, and hybrid deployment models http://brillix.co.il25
  • 26. Why RDBMS Sharding? •Unlike NoSQL sharding, Oracle Shards still support • Relational schemas • ACID transactions properties and read consistency • SQL and other programmatic interfaces • Complex data types • Database partitioning • Advanced security • High Availability features • And more… http://brillix.co.il26
  • 28. Server A – Non-Sharded Sharding Methods •We can use two methods of sharding data: • Sharded tables: data exist is one shared • Duplicated tables: data exist in all shareds http://brillix.co.il28 SDB – Sharded (Logical) Database Server B Server C Server D Shard 1 Shard 2 Shard 3
  • 29. Example – Sharded Table Creation http://brillix.co.il29 CREATE SHARDED TABLE customers ( cust_id NUMBER NOT NULL , name VARCHAR2(50) , address VARCHAR2(250) , region VARCHAR2(20) , class VARCHAR2(3) , signup DATE CONSTRAINT cust_pk PRIMARY KEY(cust_id) ) PARTITION BY CONSISTENT HASH (cust_id) TABLESPACE SET ts1 PARTITIONS AUTO;
  • 30. Example – Duplicated Table Creation http://brillix.co.il30 CREATE DUPLICATED TABLE Products ( StockNo NUMBER PRIMARY KEY , Description VARCHAR2(20) , Price NUMBER(6,2)) );
  • 31. Sharded Table Families •We can shard multiple tables to the same database shard using table families •All tables in a table family must have the same equi- partition sharding key: • Using Reference partitions • Using the PARENT clause http://brillix.co.il31
  • 32. Example – Sharded Table Family Creation (REF) http://brillix.co.il32 CREATE SHARDED TABLE Customers ( CustNo NUMBER NOT NULL , Name VARCHAR2(50) , Address VARCHAR2(250) , CONSTRAINT RootPK PRIMARY KEY(CustNo) ) PARTITION BY CONSISTENT HASH (CustNo) PARTITIONS AUTO TABLESPACE SET ts1; CREATE SHARDED TABLE Orders ( OrderNo NUMBER NOT NULL , CustNo NUMBER NOT NULL , OrderDate DATE , CONSTRAINT OrderPK PRIMARY KEY (CustNo, OrderNo) , CONSTRAINT CustFK FOREIGN KEY (CustNo) REFERENCES Customers(CustNo) ) PARTITION BY REFERENCE (CustFK);
  • 33. Example – Sharded Table Family Creation (PARENT) http://brillix.co.il33 CREATE SHARDED TABLE Customers ( CustNo NUMBER NOT NULL , Name VARCHAR2(50) , Address VARCHAR2(250) , region VARCHAR2(20) , class VARCHAR2(3) , signup DATE ) PARTITION BY CONSISTENT HASH (CustNo) TABLESPACE SET ts1 PARTITIONS AUTO; CREATE SHARDED TABLE Orders ( OrderNo NUMBER , CustNo NUMBER , OrderDate DATE ) PARENT Customers PARTITION BY CONSISTENT HASH (CustNo) TABLESPACE SET ts1 PARTITIONS AUTO;
  • 34. Non-Table Objects •We can create non-table objects in the logical databases • Schema objects: users, roles, views, indexes, synonyms, functions, procedures, and packages • Non-schema objects: tablespaces, tablespace sets, directories, and contexts •Objects will be created on all shards http://brillix.co.il34
  • 35. DDL Execution • The application schema name and all objects name must be identical on all shards • DDL on sharded table must be done from the Shared catalog database or using GDS command line tool (GDSCTL) • Changes are automatically propagated to all shards http://brillix.co.il35 SQL> CONNECT SYS@SH_CATALOG SQL> ALTER SESSION ENABLE SHARD DDL; SQL> CREATE USER <app_name>... SQL> GRANT CREATE TABLE TO <app_name>... SQL> CREATE DUPLICATED TABLE <name>... SQL> CREATE SHARDED TABLE <name>... GDSCTL> sql "CREATE USER ..." GDSCTL> sql "CREATE TABLESPACE SET ..."
  • 36. Sharding Physical Structure •Physical data distribution based on chunks – each chunk is one table partition •Each chunk is located on a different tablespace •Tablespaces are defined using tablespace sets (tablespace templates) http://brillix.co.il36
  • 37. Resharding and Hotspots Handling • Adding/Removing shards or hotspot elimination requires chunk movement (automatically or manually) • This will generate an RMAN backup, restore and recovery of the chunk (tablespace) in the new node. Old chunk will be automatically removed once done. • We can also split hotsposts using GDSCTL split command http://brillix.co.il37 GDSCTL> MOVE CHUNK -CHUNK 12 -SOURCE sh01 -TARGET sh12 GDSCTL> SPLIT CHUNK -CHUNK 12
  • 38. Sharding High Availability •Data replication with Data Guard is a crucial component in SDB environment • High availability, disaster recovery, read offloading • Replication deployment performed fully automatically • The logical unit of data replication is a shardgroup http://brillix.co.il38
  • 39. High Availability Setup Example http://brillix.co.il39 GDSCTL> create shardcatalog -database shdard01:1521:repo -chunks 12 -user mygdsadmin/<pwd> -sdb sharddb -region london,Amsterdam –repl DG –sharding system -protectmode maxavailability ... GDSCTL> add shardgroup -shardgroup shardgrp1 -deploy_as primary -region london GDSCTL> add shardgroup -shardgroup shardgrp2 -deploy_as active_standby -region london GDSCTL> add shardgroup -shardgroup shardgrp3 -deploy_as active_standby -region amsterdam
  • 40. Session Routing (single shard) • Application must be compatible with sharding architecture • When connecting to the database, the application must provide the sharding key (and super key) to the connection • All SQL operations in this session are related to the specified sharding key (shard) • To work on another sharding key value, the application needs to create a new session http://brillix.co.il40
  • 41. Statement Routing/Cross-Shard Query •Client connection to the Coordinator (Catalog) Database is required • No sharding key necessary in the connect descriptor •Cross-shard SQL are executed via DB Link to Shards • Partition and Shard pruning http://brillix.co.il41
  • 42. Optimizer Changes and Adaptive Query Optimization 12.1.0.2 + 12.2.0.1 http://brillix.co.il42
  • 43. Adaptive Query Optimization http://brillix.co.il43 Adaptive Query Optimization Adaptive Plans Adaptive Statistics At compile time At run timeJoin Methods Parallel distribution Methods
  • 44. Adaptive Execution Plans (12.1) • Allows the Optimizer to make runtime adjustments to execution plans and to discover additional information that can lead to better statistics • Good SQL execution without intervention • Final plan decision is based on rows seen during execution • Bad effects of skew eliminated http://brillix.co.il44
  • 45. Adaptive Execution Plans: Join Methods • Join method decision deferred until runtime • Default plan is computed using available statistics • Alternate sub-plans are pre-computed and stored in the cursor • Statistic collectors are inserted at key points in the plan • Final decision is based on statistics collected during execution • Possible sub-plans are nested loop joins or hash joins and vice versa http://brillix.co.il45
  • 46. Displaying the Default Plan •Explain plan command always shows default plan •Example shows a nested loops join as default plan •No statistics collector shown in plan http://brillix.co.il46
  • 47. Displaying the Final Plan • After the statement has completed use DBMS_XPLAN.DISPLAY_CURSOR to see the final plan selected • Example shows that hash join picked at execution time • Again the statistics collector is not visible in the plan http://brillix.co.il47
  • 48. Displaying Plan With +adaptive & +report Formats • Additional information displayed on why operations are inactive can be seen with format parameter ‘+report’ http://brillix.co.il48
  • 49. Adaptive Execution Plans In V$SQL http://brillix.co.il49
  • 50. Dynamic Statistics (12.1  11.2.0.4) •During compilation optimizer decides if statistics are sufficient to generate a good plan or not •Dynamic statistics are used to compensate for missing, stale, or incomplete statistics •They can be used for table scans, index access, joins and group by •One type of dynamic statistics is dynamic sampling http://brillix.co.il50
  • 51. Dynamic Statistics • Dynamic sampling has a new level 11(AUTO) • Decision to use dynamic sampling depends on the complexity of predicate, existing statistics and total execution time • Dynamic statistics shared among queries http://brillix.co.il51
  • 52. Adaptive Statistics/Statistics Feedback Re-optimization Pre 12c: • During execution optimizer estimates are compared to execution statistics • If statistics vary significantly then a new plan will be chosen for subsequent executions based on execution statistics • Re-optimization uses statistics gathered from previous executions Re-optimization in 12c • Join statistics are also monitored • Works with adaptive cursor sharing for statement with binds • New Column in V$SQL IS_REOPTIMIZABLE • Information found at execution time is persisted as SQL Plan Directives http://brillix.co.il52
  • 54. Re-optimization – indicator in V$SQL •New column in V$SQL: IS_REOPTIMIZABLE •Indicates that the statement will be re-parsed on the next execution http://brillix.co.il54
  • 55. More Optimizer Changes… •Adaptive Statistics/Statistics Feedback (12.1) •Concurrent Execution of UNION and UNION ALL Branches (12.1) •Cost-Based OR Expansion Transformation (12.2) •Enhanced Join Elimination (12.2) •Approximate Query Processing (12.1 + 12.2) http://brillix.co.il55
  • 57. Histograms • Histograms tell the Optimizer about the data distribution in a Column for better cardinality estimations • Default create histogram on any column that has been used in the WHERE clause or GROUP BY of a statement AND has a data skew • Oracle 12c changes histograms methods: • Top-Frequency (new) • Height balanced (obsolete) • Hybrid (new) http://brillix.co.il57
  • 58. Histograms: Top Frequency • Traditionally a frequency histogram is only created if NDV < 254 • But if a small number of values occupies most of the rows (>99% rows), creating a frequency histograms on that small set of values is very useful even though NDV is greater than 254 • Ignores the unpopular values to create a better quality histogram for popular values • Built using the same technique used for frequency histograms • Only created with AUTO_SAMPLE_SIZE http://brillix.co.il58
  • 59. Top Frequency Histogram Example • Table PRODUCT_SALES contains information on Christmas ornament sales • It has 1.78 million rows • There are 620 distinct TIME_IDs • But 99.9% of the rows have less than 254 distinct TIME_IDs TIME_ID column perfect candidate for top-frequency histogram http://brillix.co.il59
  • 60. Height Balanced Histograms (obsolete) •A height balanced histogram is created if the number of distinct values in a column (NDV) is greater than 254 values. This is now obsolete. Height balanced histogram http://brillix.co.il60
  • 61. Hybrid Histograms •Hybrid histogram is created if the number of distinct values in a column (NDV) is greater than 254 values but uses actual frequencies of bucket endpoints Hybrid histogram http://brillix.co.il61
  • 62. Hybrid Histograms • Similar to height balanced histogram as created if the NDV >254 • Store the actual frequencies of bucket endpoints in histograms • No values are allowed to spill over multiple buckets • More endpoint values can be squeezed in a histogram • Achieves the same effect as increasing the # of buckets • Only created with AUTO_SAMPLE_SIZE http://brillix.co.il62
  • 63. Height-balanced versus Hybrid Histogram Oracle Database 11g Oracle Database 12c http://brillix.co.il63
  • 64. Session Private Statistics for GTT’s • GTT’s had only one set of statistics that were shared among all sessions even though the table could contain different data in different sessions • Starting Oracle 12c, GTT’s now have session private statistics, which is a different set of statistics for each session • Queries against GTT use statistics from their own session • Improves the performance and manageability of GTT’s • Reduces the possibility of errors in the cardinality estimates for GTT’s and ensures that the optimizer has the data to generate optimal execution plans http://brillix.co.il64
  • 65. Online Statistics Gathering for Bulk Loads • Table statistics are gathered automatically during bulk loads: • CREATE TABLE AS SELECT • INSERT INTO … SELECT • Improved performance: avoids an additional table scan to gather table statistics • Improved manageability: no user intervention is required to gather statistics after a bulk load • To disable use hint: NO_GATHER_OPTIMIZER_STATISTICS http://brillix.co.il65
  • 66. Optimizer Statistics Advisor (12.2) • Optimizer Statistics Advisor is built-in diagnostic software that analyzes the quality of statistics and statistics-related tasks http://brillix.co.il66
  • 67. Optimizer Statistics Advisor (12.2) •The advisor automatically diagnoses problems in the existing practices for gathering statistics •The advisor does not gather a new or alternative set of optimizer statistics •The output of the advisor is a report of findings and recommendations http://brillix.co.il67
  • 68. What Can Go Wrong With Statistic Gathering? •Legacy scripts may not keep pace with new best practices, which can change from release to release •Resources are wasted on unnecessary statistics gathering •Statistics can sometimes be missing, stale, or incorrect •Automatic statistics gathering jobs do not guarantee accurate and up-to-date statistics http://brillix.co.il68
  • 69. Optimizer Statistics Advisor: Output Example http://brillix.co.il69 ---------------------------------------------------------------------------------------------------- GENERAL INFORMATION ------------------------------------------------------------------------------- Task Name : MY_TASK Execution Name : EXEC_52 Created : 12-07-16 11:31:40 Last Modified : 12-07-16 11:32:37 ------------------------------------------------------------------------------- SUMMARY ------------------------------------------------------------------------------- For execution EXEC_52 of task MY_TASK, the Statistics Advisor has 6 finding(s). The findings are related to the following rules: USECONCURRENT, AVOIDSETPROCEDURES, USEDEFAULTPARAMS, USEGATHERSCHEMASTATS, AVOIDSTALESTATS, UNLOCKNONVOLATILETABLE. Please refer to the finding section for detailed information. ------------------------------------------------------------------------------- FINDINGS ------------------------------------------------------------------------------- ...
  • 70. Optimizer Statistics Advisor: Output Example (2) http://brillix.co.il70 ------------------------------------------------------------------------------- FINDINGS ------------------------------------------------------------------------------- Rule Name: UseConcurrent Rule Description: Use Concurrent preference for Statistics Collection Finding: The CONCURRENT preference is not used. Recommendation: Set the CONCURRENT preference. Example: dbms_stats.set_global_prefs('CONCURRENT', 'ALL'); Rationale: The system's condition satisfies the use of concurrent statistics gathering. Using CONCURRENT increases the efficiency of statistics gathering. ---------------------------------------------------- ...
  • 71. More Statistics Features •Concurrent statistics gathering (12.1) •Automatic Column Group Detection for extended statistics (12.2) •Enhancements to Incremental Statistics •Enhancements to System Statistics •More… http://brillix.co.il71
  • 73. Summary •We talked about DBIM and the column store solution •We overviewed the new Sharding solution •We looked into new Optimizer and Statistics changes •12c has a lot to offer us, try it – use it! •12cR2 release date for on-prem usage: March 15, 2017 (March 1st for Exadata) http://brillix.co.il73
  • 74. What Did We NOT Talk About •SQL Plan Management framework • Automatic Plan Evolution • Enhanced Auto Capture • Capture from AWR Repository •Indexing, Partitioning, and many other performance related new features… http://brillix.co.il74
  • 75. Thank You Zohar Elkayam twitter: @realmgic Zohar@Brillix.co.il www.realdbamagic.com http://brillix.co.il75