Upload
hoanghuong
View
218
Download
1
Embed Size (px)
Citation preview
25th October , 2015
Anuj MohanDatabase enthusiast , Public speaker and founder of
Oracle12cSIG(IOUG)
Technical Account ManagerData Intensity LLCOracle certified Exadata ImplementerOracle Certified RAC ExpertOracle 11g Certified Professional (OCP)Oracle 12c Certified Professional (OCP)
10/25/2015 Anuj Mohan OOW-2015
Exadata, Oracle multitenant and in-Memory - How they fit together in a picture
# Application Management - Cloud
# Application Management - Remote
# Database Management - Cloud
# Database Management - Remote
# Consulting and Professional Services
A World Class Customer List
AGENDA• Oracle Exadata
What is Exadata
Types of Exadata
EHCC
DBRM
IORM
Instance Caging
Smart Flash Cache
Storage Indexes
• In-Memory Option
• Oracle Multitenant CDB/PDB Introduction and Concepts
Quick overview: migration options to 12c from previous versions
PDB - Explanation of Value (EOV)
• A Few Business Cases
410/25/2015 Anuj Mohan Data Intensity OOW-2015
What is Exadata ?
Definition…
Oracle Exadata Database Machine provides an optimal solution for all database workloads, ranging from scan-intensive data warehouse applications to highly concurrent online transaction processing (OLTP) applications.
Combination of smart Oracle Exadata Storage Server Software, complete and intelligent Oracle Database software, and the latest industry-standard hardware components, Oracle Exadata Database Machine delivers extreme performance in a highly-available, highly-secure environment.
510/25/2015 Anuj Mohan Data Intensity OOW-2015
AGENDA• Oracle Exadata
What is Exadata
Types of Exadata
EHCC
DBRM
IORM
Instance Caging
Smart Flash Cache
Storage Indexes
• In-Memory Option
• Oracle Multitenant CDB/PDB Introduction and Concepts
Quick overview: migration options to 12c from previous versions
PDB - Explanation of Value (EOV)
• A Few Business Cases
610/25/2015 Anuj Mohan Data Intensity OOW-2015
Types of Exadata Database Machines
X5-2 Exadata Database Machine Full Rack
X5-2 Exadata Database Machine Half Rack
X5-2 Exadata Database Machine Quarter Rack
X5-2 Exadata Database Machine Eighth Rack
X5-8 Exadata Database Machine Full Rack
710/25/2015 Anuj Mohan Data Intensity OOW-2015
X5-2 Full Rack
8 x64 dual processor database servers-Each database server has 2 cpu Eighteen-Core Xeon® E5-2699 v3 Processors (2.3 GHz)
-8 servers * 2 cpu * 18 cores/cpu =288 cores (36 per database server)-8 servers * 256G RAM = 2TB Memory
***Expandable to 768GB/Server =6TB
14 Exadata storage servers-12 disks of 4TB High capacity disks ~7200RPM/Server = 672TB- 4 PCI Flash cards each with 1.6 TB (raw) Exadata Smart Flash Cache/Server
= 89.6TB
***Extreme Flash option has 4 PCI Flash cards each with 1.6 TB (raw) Exadata Smart Flash Cache/Server
14 * 8 * 1.6 =179.2TB
x 36 port QDR (40 Gb/sec) InfiniBand Switches
Cisco Ethernet switch –Admin network2 redundant power distribution units (PDUs)
810/25/2015 Anuj Mohan Data Intensity OOW-2015
X5-2 Half Rack
4 x64 dual processor database servers-Each database server has 2 cpu Eighteen-Core Xeon® E5-2699 v3 Processors (2.3 GHz)
-4 servers * 2 cpu * 18 cores/cpu =144 cores (36 per database server)-4 servers * 256G RAM = 1TB Memory
***Expandable to 768GB/Server =3TB
7 Exadata storage servers-12 disks of 4TB High capacity disks ~7200RPM/Server = 336TB- 4 PCI Flash cards each with 1.6 TB (raw) Exadata Smart Flash Cache/Server
= 44.8TB
***Extreme Flash option has 4 PCI Flash cards each with 1.6 TB (raw) Exadata Smart Flash Cache/Server
7 * 8 * 1.6 =89.6TB
x 36 port QDR (40 Gb/sec) Infiniband Switches
Cisco Ethernet switch –Admin network2 redundant power distribution units (PDUs)
910/25/2015 Anuj Mohan Data Intensity OOW-2015
X5-2 Quarter Rack
2 x64 dual processor database servers-Each database server has 2 cpu Eighteen-Core Xeon® E5-2699 v3 Processors (2.3 GHz)
-2 servers * 2 cpu * 18 cores/cpu =72 cores (36 per database server)-2 servers * 256G RAM = 512GB Memory
***Expandable to 768GB/Server =1.5TB
3 Exadata storage servers-12 disks of 4TB High capacity disks ~7200RPM/Server = 144- 4 PCI Flash cards each with 1.6 TB (raw) Exadata Smart Flash Cache/Server
= 19.2TB
***Extreme Flash option has 4 PCI Flash cards each with 1.6 TB (raw) Exadata Smart Flash Cache/Server
3* 8 * 1.6 =38.4TB
x 36 port QDR (40 Gb/sec) Infiniband Switches
Cisco Ethernet switch –Admin network2 redundant power distribution units (PDUs)
1010/25/2015 Anuj Mohan Data Intensity OOW-2015
X5-2 Eighth Rack
2 x64 dual processor database servers-Each database server has 2 cpu Eighteen-Core Xeon® E5-2699 v3 Processors (2.3 GHz)
-2 servers * 2 cpu * 18 cores/cpu =36 cores (36 per database server) (18/server enabled)-2 servers * 256G RAM = 512GB Memory
***Expandable to 768GB/Server =1.5TB
3 Exadata storage servers-12 disks of 4TB High capacity disks ~7200RPM/Server = 144- 4 PCI Flash cards each with 1.6 TB (raw) Exadata Smart Flash Cache/Server
= 9.6TB
***Extreme Flash option has 4 PCI Flash cards each with 1.6 TB (raw) Exadata Smart Flash Cache/Server
3* 8 * 1.6 =19.2TB (19.2TB disabled)
x 36 port QDR (40 Gb/sec) Infiniband Switches
Cisco Ethernet switch –Admin network2 redundant power distribution units (PDUs)
1110/25/2015 Anuj Mohan Data Intensity OOW-2015
AGENDA• Oracle Exadata
What is Exadata
Types of Exadata
EHCC
DBRM
IORM
Instance Caging
Smart Flash Cache
Storage Indexes
• In-Memory Option
• Oracle Multitenant CDB/PDB Introduction and Concepts
Quick overview: migration options to 12c from previous versions
PDB - Explanation of Value (EOV)
• A Few Business Cases
1210/25/2015 Anuj Mohan Data Intensity OOW-2015
Exadata Hybrid Columnar Compression (EHCC)
Exadata Hybrid Columnar Compression (EHCC) is a new compression technology
exclusive to Exadata. Oracle explains that you can achieve 10x to 50x compression
based on what type of compression you choose and your data.
Exadata Hybrid Columnar Compression technology (EHCC) is a new method for
storing data within a db block. Data within the data block is neither stored row wise
sequentially nor column wise. As the name implies, EHCC utilizes a combination of
both row and Columnar methods for storing data. Because of the hybrid approach to
achieve this compression we get the benefits of columnar storage while avoiding the
performance drawbacks of a pure columnar format.
1310/25/2015 Anuj Mohan Data Intensity OOW-2015
Exadata Hybrid Columnar Compression (EHCC)
1410/25/2015 Anuj Mohan Data Intensity OOW-2015
Co
mp
ressio
n
Basic Compression
Advanced Compression
EHCC
•OLTP or Advanced Compression
• SecureFile Compression• SecureFile Deduplication• RMAN/DP Compression• Data Guard Redo
Transport compression
•EHCC Query/Warehouse Compression•EHCC Archive Compression
Exadata Hybrid Columnar Compression (EHCC)
DBMS_Compression package can calculate compression benefits
in Advanced compression or EHCC
DBMS_COMPRESSION.GET_COMPRESSION_RATIO (
scratchtbsname => An_scratchtbsname,
ownname => An_ownname,
tabname => An_tabname,
partname => An_partname,
comptype => An_comptype,
blkcnt_cmp => An_blkcnt_cmp,
blkcnt_uncmp => An_blkcnt_uncmp,
row_cmp => An_row_cmp,
row_uncmp => An_row_uncmp,
cmp_ratio => An_cmp_ratio,
comptype_str => An_comptype_str );
1510/25/2015 Anuj Mohan Data Intensity OOW-2015
Exadata Hybrid Columnar Compression (EHCC)
Exadata Hybrid Columnar Compression (EHCC) is new compression technology exclusive to Exadata. Oracle explains that you can achieve 10x to 50x compression based on what kind of compression you choose and your data.
How it works
Table blocks are organized into compression units ( CU )
Within a compression unit, data is stored by columns instead of rows
Column wise storage allows similar data to stay together which saves space.
How many rows that will fit into a compression unit is determined at load timeBased on the size of the row and the estimated compression.
Each column will compress separately
1610/25/2015 Anuj Mohan Data Intensity OOW-2015
Exadata Hybrid Columnar Compression (EHCC)
To compress in EHCC you need to load data using direct load Parallel DML , Insert /*+APPEND*/ and direct path SQL*LDR Individual row lookup need more CPU at it has to reconstruct rowNegative points
Updates migrate row to different location with lower compression All rows in CU will be
locked for update Regular insert will give lower compression
1710/25/2015 Anuj Mohan Data Intensity OOW-2015
Exadata Hybrid Columnar Compression (EHCC)
EHCC Supports
B-Tree/Bitmap indexes
MV
Partitioning
Parallel Query /DML/DDL
Data Guard and physical standby support
1810/25/2015 Anuj Mohan Data Intensity OOW-2015
Exadata Hybrid Columnar Compression (EHCC)
Two types of compression
Warehouse Compression 10X Average compression
Good for warehouse
Similar space gain in storage
IO performance increase on same scale
50K IO/s will reduce to 5K IO/s
Archive compression 15-70X Compression
Good for storing historical information
Data which was supposed to go to tape will be online
Runs your queries without recovering from tape
1910/25/2015 Anuj Mohan Data Intensity OOW-2015
Exadata Hybrid Columnar Compression (EHCC)
Warehouse Compression syntax
Create table DP_Details (
- - - - - - - - -
) Compress for QUERY [LOW/HIGH];
Archive Compression syntax
Create table DP_Details (
- - - - - - - - -
) Compress for ARCHIVE [LOW/HIGH];
2010/25/2015 Anuj Mohan Data Intensity OOW-2015
Exadata Hybrid Columnar Compression (EHCC)
Data Archiving Strategy
OLTP Partitioning
Archive compression
Warehouse Partitioning
Warehouse compression
Archive compression
2110/25/2015 Anuj Mohan Data Intensity OOW-2015
Exadata Hybrid Columnar Compression (EHCC)
Quick Tips
Compression Advisor may have issues with Uniform TS
If you want to use EHCC in OLTP, partition it and use EHCC on old partitions
Alter table move can fix EHCC
Dbms_compression.get_compression_type package can be used to know compression
To increase load speed –use query low or load uncompressed and compress later
Make sure you use direct path load
Staging data on DBFS can give better performance on load
You will see best benefit on IO bound queries
2210/25/2015 Anuj Mohan Data Intensity OOW-2015
AGENDA• Oracle Exadata
What is Exadata
Types of Exadata
EHCC
DBRM
IORM
Instance Caging
Smart Flash Cache
Storage Indexes
• In-Memory Option
• Oracle Multitenant CDB/PDB Introduction and Concepts
Quick overview: migration options to 12c from previous versions
PDB - Explanation of Value (EOV)
• A Few Business Cases
2310/25/2015 Anuj Mohan Data Intensity OOW-2015
Database Resource Manager ( DBRM )
With DBRM you can set priority of resources to database users or group of database users.
You not only prioritize resources to users or user groups rather you can guarantee certain
resources to certain users/groups.
Useful for consolidating workloads on the Exadata db machine . It is foundation for IORM
which is Exadata only feature
2410/25/2015 Anuj Mohan Data Intensity OOW-2015
Database Resource Manager ( DBRM )
DBRM’s Quick Scheduling
100ms Quantum
Low priority session / High priority session switch in 1 quantum
BG Processes are not managed by DBRM and they do not
consume a lot of CPU
If a high priority consumer group is not using CPU then it will be given to low priority
consumer group based on resource plan
Assign DOP for queries of particular consumer group
Control percentage of parallel servers a consumer group can use
2510/25/2015 Anuj Mohan Data Intensity OOW-2015
Database Resource Manager ( DBRM )
Group database sessions/users/service with common performance goals into one consumer group
Allocating resources to newly created consumer groups Method 1: Ratio
Method 2: Priority
Method 3: Hybrid
Enable Resource Plan
Two ways to Enable Manual – set parameter resource_manager_plan
Automatic – Associate them with scheduler windows
2610/25/2015 Anuj Mohan Data Intensity OOW-2015
AGENDA• Oracle Exadata
What is Exadata
Types of Exadata
EHCC
DBRM
IORM
Instance Caging
Smart Flash Cache
Storage Indexes
• In-Memory Option
• Oracle Multitenant CDB/PDB Introduction and Concepts
Quick overview: migration options to 12c from previous versions
PDB - Explanation of Value (EOV)
• A Few Business Cases
2710/25/2015 Anuj Mohan Data Intensity OOW-2015
I/O Resource Manager (IORM ) – Basics
You can manage resources using DBRM within database by creating consumer groups and
resource plans.
With Consolidations “a business need”, when you run multiple databases on single server you
need to manage resources across databases (inter database). There are two Exadata specific
features which can help on this goal. First is Instance Caging and second IORM. Let’s start with
IORM
2810/25/2015 Anuj Mohan Data Intensity OOW-2015
(IORM ) – Limiting I\O Bandwidth
IORM Resolves Oversubscription in same manner as DBRM
2910/25/2015 Anuj Mohan Data Intensity OOW-2015
Ad-Hoc Reports
Reporting
OLTP
Av
aila
ble I/O
18
00
MB
/S
Needed I/O With IORM
100MB/S100MB/S
200MB/S500MB/S
1800MB/S 1500MB/S
IORM –Broad Picture
3010/25/2015 Anuj Mohan Data Intensity OOW-2015
IORM
Within
Database
Within Multiple
Databases
Intra database Resource
Management
Intra database Resource
Management
Category Resource
Management
IORM –Intra or Within database
IORM : Can manage multiple consumer groups in single database
Works at database level implemented by DBRM and Resource Plan
Consumer groups –made up of sessions of similar performance Objective
Resource plan with I\O prioritization for consumer groups
3110/25/2015 Anuj Mohan Data Intensity OOW-2015
IORM – Consumer Groups
Group database sessions/users/service with common performance goals into one consumer group
Consumer groups –Batch Process /Reporting / OLTP
You need to create rules to map sessions to consumer groups based on session attributes
3210/25/2015 Anuj Mohan Data Intensity OOW-2015
Reporting01
Reporting02
Billing01
Rat01
Bill02
CustActivation01
CustEntry
Invoice
Batch Process Reporting OLTPConsumer Groups
Mapping Rules
IORM – Resource Plan
Allocating resources to newly created consumer groups
3 Key methods
3310/25/2015 Anuj Mohan Data Intensity OOW-2015
Batch Process
Reporting
OLTP
Method 1: Ration
25%
15%
60%
Method 2: Priority
Priority 2
Priority 3
Priority 1
IORM – Hybrid Plan
Allocating resources to newly created consumer groups
3 Key methods
3410/25/2015 Anuj Mohan Data Intensity OOW-2015
Batch Process
Reporting
OLTP
Method 3: Hybrid
P1 P2
0%80%
40%05%
15% 50%
IORM –Inter database
IORM can manage multiple database on common Exadata storage
Can partition I\O resources among multiple production instances
Non production instances will be restricted not to take production resources
3510/25/2015 Anuj Mohan Data Intensity OOW-2015
Exadata storage HR
Ship Orders
FIN
IORM Controlled I\O
IORM –Inter database
Configure Inter database plans using CellCLI on each Exadata cell
Enable plans using CellCLI on each Exadata cell
Have multi-level plans where lower level plans only get resources which are not
consumed by the higher priority plans
If the inter DB plan is all that is configured , I\O resources will be distributed among
databases as per the inter DB plan specifies.
If Inter and Intra plans are both configured.
I\O resources will be distributed among databases as defined by the specified plans.
Resources are distributed in databases among consumer groups as per resource plan defined
in the intra database plan.
3610/25/2015 Anuj Mohan Data Intensity OOW-2015
IORM –Inter database
3710/25/2015 Anuj Mohan Data Intensity OOW-2015
OH -> OH -> OH
FH -> FH -> FH -> FH
FL -> FL -> FL -> FL
OL -> OL -> OL
Ex
ad
ata
CE
LL
IOR
M M
an
ag
es I O Result Queue
FH -> FH ->OH
FIN
Orders
IORM –Category
Consumer groups can be grouped into categories based on the nature of their workload.
The Ideal way to implement this is to define the priority of the workload based on its type and
not on the basis of where it is running.
3810/25/2015 Anuj Mohan Data Intensity OOW-2015
IORM –Category
Category plans are created and activated using CellCLI
Category is an attribute of each consumer group
Category plan defines resources for every category
3910/25/2015 Anuj Mohan Data Intensity OOW-2015
Batch Process
Reporting
OLTP
Priority based category plan
Priority 2 ( Critical )
Priority 3 (Important )
Priority 1 (V. Critical)
IORM – Category /Inter database /Intra database
How do they all work together?
First level -If category is present, it will do an I/O request from the cell
Second level –If inter database plan is present, it will govern I/O Distribution between databases.
Third level –The remaining I/O which can be allocated after both the category allocation and inter
database plan will be allocated as per the intra database plan within the cell
4010/25/2015 Anuj Mohan Data Intensity OOW-2015
AGENDA• Oracle Exadata
What is Exadata
Types of Exadata
EHCC
DBRM
IORM
Instance Caging
Smart Flash Cache
Storage Indexes
• In-Memory Option
• Oracle Multitenant CDB/PDB Introduction and Concepts
Quick overview: migration options to 12c from previous versions
PDB - Explanation of Value (EOV)
• A Few Business Cases
4110/25/2015 Anuj Mohan Data Intensity OOW-2015
Instance Caging
Combination of Instance caging with IORM and DBRM
If you run into a situation where you cannot simply distribute CPUs between instances then you
can use Resource Manager with instance caging. Resource manager allocates CPU among
the various database sessions according to the resource plan that you set for the instance.
Instance caging and the Resource Manager together are an effective way to manage multiple
instances on a single server.
4210/25/2015 Anuj Mohan Data Intensity OOW-2015
Instance Caging
There are two ways you can implement instance caging.
Partitioning: You can distribute the number of CPUs the database server has to multiple
instances. For example, you have an 8 CPU server and give 5 CPU to the production instance, 2
CPU to preprod and 1 CPU to development. With this configuration, any amount of load on
preprod and development will never consume more than 3 CPU. The production database
instance will still have 5 CPUs reserved for it’s use.
4310/25/2015 Anuj Mohan Data Intensity OOW-2015
Instance Caging
Over-provisioning: This method is used for non critical systems or low load production systems. In this method you allocate more CPUs to the instances than you actually have available on the server. For example: You can allocate 3 to prod, 3 to dev, 3 to test and 2 to UAT for a total of 11 CPU’s. In reality the server only physically has a total of 8 CPUs available. Using this method, instances can impact each others performance including your production instance. Utilizing instance caging can minimize the
performance impact to production but not eliminate it under the
over provisioning scenario.
Enabling Caging
Cpu_count initialization parameter in init.ora
ALTER SYSTEM SET CPU_COUNT = 2;
4410/25/2015 Anuj Mohan Data Intensity OOW-2015
AGENDA• Oracle Exadata
What is Exadata
Types of Exadata
EHCC
DBRM
IORM
Instance Caging
Smart Flash Cache
Storage Indexes
• In-Memory Option
• Oracle Multitenant CDB/PDB Introduction and Concepts
Quick overview: migration options to 12c from previous versions
PDB - Explanation of Value (EOV)
• A Few Business Cases
4510/25/2015 Anuj Mohan Data Intensity OOW-2015
Exadata Smart Flash Cache
Exadata Smart Flash Cache provides a caching mechanism for frequently-accessed data on each Exadata Cell.
The Exadata Smart Flash Cache area on flash disks is automatically created on Exadata Cells during start up.
Oracle Exadata Storage Servers are equipped with high performance flash disks in addition to traditional rotational hard disks.
Most frequently-accessed data on the spinning disks are automatically cached in the Exadata Smart Flash Cache area on high-performance flash disks.
Regular disk gives a few hundred IO/Sec but Flash can offer tens of thousands of I/Os per second.
Exadata software transparently moves hot data to flash cache.
4610/25/2015 Anuj Mohan Data Intensity OOW-2015
Exadata Smart Flash Cache
Cell disks are made up of flash cache and can be used for:
A) Smart flash cache which uses all space by default and
is managed automatically
B) Grid disks made up of flash is an expensive option because
you lose space for RAID and it requires planning & maintenance
Exadata storage server software helps to make sure: Only frequently accessed data is cached.
Skips data which is not frequently accessed
Does not cache very large files
DBA can fine tune caching
DB awareness algorithm promotes caching of data which is likely to be used again.
If using hardware flash instead of Exadata you will not get the performance gains provided by Exadata and therefore not get the full benefit of the investment.
4710/25/2015 Anuj Mohan Data Intensity OOW-2015
Exadata Smart Flash Cache
Flash cache is administered by a command line interface called
CellCLI
The “Create Cell” command creates flash cache by default
CellCLI > CREATE CELL CELL_NAME
CellCLI >Drop flashcache
CellCLI > Create flashcache all
CellCLI >LIST CELLDISK DETAIL
CellCLI >CREATE GRIDDISK ALL FLASHDISK –
PREFIX =’FD’, SIZE =15G
4810/25/2015 Anuj Mohan Data Intensity OOW-2015
Exadata Smart Flash Cache
You can set the following priorities
Default/Keep/none for Table/Index/Lobs
You can modify all of the above with an alter statement
Create table Tran_record
- - - - - - - - - - - - - -
- - - - - - - - - - - - -
Storage (CELL_FLASH_CACHE KEEP)
Alter table Tran_record Storage (CELL_FLASH_CACHE KEEP)
Alter table Tran_record Storage (CELL_FLASH_CACHE Default)
Alter table Tran_record Storage (CELL_FLASH_CACHE None)
4910/25/2015 Anuj Mohan Data Intensity OOW-2015
Exadata Smart Flash Cache
How it works
A SQL Statement is parsed and then sent to the storage server with all of the referenced
objects flash prioritization
If the storage server performs a smart scan then that implies that the query is doing a full
table scan.
If the query is a smart scan candidate, then blocks will not go to the flash cache
If it is not a smart scan candidate then data will be checked in the flash cache.
Some queries get data from the flash cache, as well as, from disk.
5010/25/2015 Anuj Mohan Data Intensity OOW-2015
Exadata Smart Flash Cache
Exadata software continuously checks if an object needs to be in cache or not
If an object is not in flash cache and has the attribute “keep” it will be stored in flash cache
If the attribute is “none” it will not be stored in flash. If attribute is “default” and output is
small I/O, then it will be stored in flash cache
For small I/O it increases the response time
For large I/O it will not increase response time but it may increase bandwidth. If some part of
I/O is eligible for Flash then CellSRV will increase the bandwidth of the overall operation.
Log writes or control file writes will never be cached in flash cache.
5110/25/2015 Anuj Mohan Data Intensity OOW-2015
Exadata Smart Flash Cache
Monitoring commands
LIST FLASHCACHE DETAILS
LIST METRICCURRENT WHERE OBJECTTYPE=’FLASHCACHE’
LIST METRICDEFINITION Metric_Name
LIST FLASHCACHECONTENT WHERE OBJECTNUMBER = 32323 DETAIL
Retrieving Flash cache information from DB or DBM
AWR
Grid Control
V$SYSSTAT
V$SQL
5210/25/2015 Anuj Mohan Data Intensity OOW-2015
Exadata Smart Flash Cache
V$SYSSTAT
5310/25/2015 Anuj Mohan Data Intensity OOW-2015
cell flash cache read hits The number of read requests that were a cache hit on Exadata flash cache.
cell IO uncompressed bytesThe total size of uncompressed data that is processed on the cell. For scan on hybrid-columnar-compressed tables, this statistic is the size of data after decompression.
cell physical IO interconnect bytes The number of bytes that are returned by the cell for Smart Scan only, and does not include bytes for other database I/O.returned by smart scan
cell physical IO bytes saved by storage index The number of bytes saved by storage index.
Exadata Smart Flash Cache
Flash Cache Validation
The Exadata software stores “check bytes” for every 4KB of data stored on the flash
cache. Upon read, these “check bytes” are validated and if validation fails then the
software directs the query to read from disk.
You can also run LIST METRICCURRENT FC_IO_ERRS from CellCLI to find out if
there are any current errors in the flash cache
5410/25/2015 Anuj Mohan Data Intensity OOW-2015
AGENDA• Oracle Exadata
What is Exadata
Types of Exadata
EHCC
DBRM
IORM
Instance Caging
Smart Flash Cache
Storage Indexes
• In-Memory Option
• Oracle Multitenant CDB/PDB Introduction and Concepts
Quick overview: migration options to 12c from previous versions
PDB - Explanation of Value (EOV)
• A Few Business Cases
5510/25/2015 Anuj Mohan Data Intensity OOW-2015
Storage Indexes
Storage indexes are a very powerful feature of Oracle Exadata Storage Server Software. Storage
indexes help to avoid I/O operations. Oracle Exadata Storage Server Software creates and maintains a
storage index in Exadata memory. The storage index Keeps track of minimum and maximum values of
columns for tables stored on that Cell. This functionality is done transparently, and does not require
any administration by the user.
Data in Exadata storage is logically partitioned and each partition is 1MB. This 1 MB area is called a
“Storage region”. Exadata Storage Software stores minimum and maximum values of column or
columns in memory for every storage region.
5610/25/2015 Anuj Mohan Data Intensity OOW-2015
Storage Indexes
Regular database Indexes give you a block address to a disk location. Where storage indexes do not have the block address, rather it locates the data by the process of eliminating storage regions.
If the value in the where clause does not fall between Min-Max of storage region, that storage region will be eliminated
5710/25/2015 Anuj Mohan Data Intensity OOW-2015
Table Storage Index
Sr.# Order# Dt.
3011
Min=3011 Max=41193013
4110
4119
4145
Min=4145 Max=50504156
5050
Storage Indexes
There will be separate Indexes for most of the columns. What column it will use
to create the index is decided based on heuristics.
As it eliminates storage regions this functionality is equivalent to partition
pruning. Some queries get a very dramatic improvement while others may not
be affected. Remember, they only work where there are full table scans
occurring.
5810/25/2015 Anuj Mohan Data Intensity OOW-2015
Storage Indexes
We can evaluate I/O savings from v$sysstat view and
“ Cell physical IO bytes saved by storage index” column.
5910/25/2015 Anuj Mohan Data Intensity OOW-2015
AGENDA• Oracle Exadata
What is Exadata
Types of Exadata
EHCC
DBRM
IORM
Instance Caging
Smart Flash Cache
Storage Indexes
• In-Memory Option
• Oracle Multitenant CDB/PDB Introduction and Concepts
Quick overview: migration options to 12c from previous versions
PDB - Explanation of Value (EOV)
• A Few Business Cases
6010/25/2015 Anuj Mohan Data Intensity OOW-2015
Oracle database 12c In-Memory option
Traditionally, Oracle stores data in tables in form of rows. This new
feature will allow to store data in memory in columnar format.
Storing data in columnar format give multiple times performance gain
for DSS systems where you tend to retrieve fewer columns with multiple
rows and this performance enhancement is further multiplied when you
retrieve that data from memory instead of slower disks.
6110/25/2015 Anuj Mohan Data Intensity OOW-2015
Steps for implementing in-memory
Define parameter INMEMORY_SIZE in MB/GB in init.ora
Change tables attribute to in-memory and validate
SQL> alter table anuj.people2 inmemory;
Table altered.
SQL> select TABLE_NAME, cache,INMEMORY_PRIORITY,INMEMORY from
user_tables where table_name like 'PEO%';
TABLE_NAME CACHE INMEMORY_PRIORITY INMEMORY
---------------------------------------- ----- ------------------------- -------------------------
PEOPLE2 N NONE ENABLED
6210/25/2015 Anuj Mohan Data Intensity OOW-2015
Steps for implementing in-memory Cont…
Run a sample query to populate table in In-memory column store
SQL> select /*+ full(ppl) noparallel (ppl) */ count(*) from anuj.people2 ppl;
COUNT(*)
----------
100000
Run sample query to see In-Memory operation
SQL> set autotrace on
SQL> select distinct count(last_name) from anuj.people2 where sal between 100000
and 100100;
COUNT(LAST_NAME)
----------------
2
6310/25/2015 Anuj Mohan Data Intensity OOW-2015
Steps for implementing in-memory Cont…
Execution Plan
----------------------------------------------------------
Plan hash value: 3468796632
---------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 30 | 409 (0)| 00:00:01 |
| 1 | SORT AGGREGATE | | 1 | 30 | | |
|* 2 | TABLE ACCESS INMEMORY FULL| PEOPLE2 | 2 | 60 | 409 (0)| 00:00:01 |
---------------------------------------------------------------------------------------
6410/25/2015 Anuj Mohan Data Intensity OOW-2015
In-Memory Use Case…
6510/25/2015 Anuj Mohan Data Intensity OOW-2015
In-Memory Use Case…
http://www.oracle.com/technetwork/database/in-memory/overview/twp-dbim-usage-2441076.html
6610/25/2015 Anuj Mohan Data Intensity OOW-2015
AGENDA• Oracle Exadata
What is Exadata
Types of Exadata
EHCC
DBRM
IORM
Instance Caging
Smart Flash Cache
Storage Indexes
• In-Memory Option
• Oracle Multitenant CDB/PDB Introduction and Concepts
Quick overview: migration options to 12c from previous versions
PDB - Explanation of Value (EOV)
• A Few Business Cases
6710/25/2015 Anuj Mohan Data Intensity OOW-2015
6810/25/2015 Anuj Mohan Data Intensity OOW-2015
Understanding in simple words
CDB is a normal database with additional capability of storing one or more CDB
These non CDB's within CDB are called PDB
PDB's can be plugged and unplugged easily from one container to another container.
In previous example we have two PDBs hrpdb and salespdb
***CDB Container database
***PDB pluggable database
6910/25/2015 Anuj Mohan Data Intensity OOW-2015
70
SG
A a
nd
PG
A
an
d
BG
Pro
cess
es
InstanceContainer Database
PDB2
PDB3
PDB1
Pluggable Databases
10/25/2015 Anuj Mohan Data Intensity OOW-2015
Option for creating Container Database
7110/25/2015 Anuj Mohan Data Intensity OOW-2015
PDB using DBCA
7210/25/2015 Anuj Mohan Data Intensity OOW-2015
PDB using DBCA
7310/25/2015 Anuj Mohan Data Intensity OOW-2015
Ways to Create/Clone/Migrate PDBs
From an existing remote PDB
From PDB$SEED
From an existing local PDB
Unplug from a CDB and plug into another CDB
7410/25/2015 Anuj Mohan Data Intensity OOW-2015
From an existing remote PDB Connect to CDB1 and place source PDBin read only mode
Connect to CDB2 as sys and run clone command
***Endian format, character set, etc. must be compatible between CDBs
From PDB$SEED Set db_file_name_convert
Create Pluggable Database Command
Manually open database
7510/25/2015 Anuj Mohan Data Intensity OOW-2015
From an existing local PDB Connect to CDB root as sys
Open source_pdb in read-only mode
Create pluggable database newpdb from source_pdb command
Open the pdb manually
Unplug from a CDB and plug into another CDB Connect to source CDB as sys
Shut down/close pdb
unplug pdb into an xml file
Connect to Destination CDB2 as sys
Check compatibility using dbms_pdb.check_plug_compatibility
Check for errors in pdb_plug_in_violations table
move PDB files and use nocopy
create pluggable database new_pdb_name using 'xml file name' nocopy;
7610/25/2015 Anuj Mohan Data Intensity OOW-2015
Common Component in Container Databases (CDB’s)
Background processes –
Memory areas – buffer cache, log buffer, etc.
Datafiles (Undo / Redo /system
Undo tablespace
Single ADR location
PDB’s may have their own datafiles
7710/25/2015 Anuj Mohan Data Intensity OOW-2015
Tools to manage CDBs and PDBs
Your favorite SQL *Plus
12c EM gives dropdown option to select PDB
Sql developer
Any third party software you prefer
Toad
Dbartisan
7810/25/2015 Anuj Mohan Data Intensity OOW-2015
Connecting CDB and PDB
[oracle@test121 ~]$ export ORACLE_SID=AnujC[oracle@test121 ~]$ sqlplus / as sysdba
SQL> select name,open_mode from v$database;
NAME OPEN_MODE--------- --------------------ANUJC READ WRITE
SQL> show con_id
CON_ID------------------------------1
SQL> show userUSER is "SYS"
7910/25/2015 Anuj Mohan Data Intensity OOW-2015
Connecting CDB and PDB continued…
select pdb_id,pdb_name from cdb_pdbs;
PDB_ID PDB_NAME---------- ---------------------------------------------
2 PDB$SEED3 ANUJPDB4 ANUJP02
There are ways you can access PDBs
Using tns
sqlplus C##_MAIN/qweasdzxc@ANUJPDB /* Tnsnames.ora */
SQL> select NAME, OPEN_MODE, CON_ID from V$PDBS; NAME OPEN_MODE CON_ID------------------------------ ---------- ----------ANUJP DB READ WRITE 3
8010/25/2015 Anuj Mohan Data Intensity OOW-2015
Connecting CDB and PDB continued…
Connect using service name Sqlplus C##_MAIN/qweasdzxc@anuj-w530:1521/ANUJPDB /* Service Name */
Connect using Local/TWO_TASK set LOCAL=ANUJPDB /* on windows */
set TWO_TASK=ANUJPDB /* on unix */
sqlplus C##_MAIN/qweasdzxc
How to check which PDB you are connected Show CON_ID
Show CON_NAME
Using SYS_CONTEXT
select sys_context('userenv','CON_ID') from dual;
8110/25/2015 Anuj Mohan Data Intensity OOW-2015
Init Parameters
Parameter file is defined at CDB level i.e one parameter file per CDB
There are some parameter which can be defined for PDB but it will be defined in init.ora of CDB hosting that pdb
v$parameter (ISPDB_MODIFIABLE='TRUE')
select ispdb_modifiable,count(*) from v$parameter group by ispdb_modifiable
;
ISPDB COUNT(*)
----- ----------
TRUE 151
FALSE 213
SQL> select name from v$parameter where ispdb_modifiable=‘TRUE’ and rownum<4;
NAME
--------------------------------------------------------------------------------
timed_statistics
timed_os_statistics
resource_limit
Change in PDB parameter value becomes effective after CDB restart or close and open of PDB
8210/25/2015 Anuj Mohan Data Intensity OOW-2015
AGENDA• Oracle Exadata
What is Exadata
Types of Exadata
EHCC
DBRM
IORM
Instance Caging
Smart Flash Cache
Storage Indexes
• In-Memory Option
• Oracle Multitenant CDB/PDB Introduction and Concepts
Quick overview: migration options to 12c from previous versions
PDB - Explanation of Value (EOV)
• A Few Business Cases
8310/25/2015 Anuj Mohan Data Intensity OOW-2015
Migration to 12c : Method 1
Create a Container database
Create a pluggable database inside the container
Take export of source db (10g/11g expdp)
Import in pluggable or container database (12c impdp)
8410/25/2015 Anuj Mohan Data Intensity OOW-2015
Migration to 12c : Method 2
Use of some sort of replication tool
Source : 10g/11g
Destination : 12c
E.g. GoldenGate , transient logical standby
8510/25/2015 Anuj Mohan Data Intensity OOW-2015
Migration to 12c : Method 3
Upgrade a pre-12c database to 12c (non cdb)
Plug-in the non-CDB into a CDB
Helpful features :
parallel processing to regular upgrades
Manual / dbua generates automatic fixups before upgrade
dbua can use existing rman backups for fall back strategy
you can create restore points and do a flashback database
datapump full transportable (combination of datapump and transportable tablespace)
8610/25/2015 Anuj Mohan Data Intensity OOW-2015
Direct upgrade path
8710/25/2015 Anuj Mohan Data Intensity OOW-2015
Indirect upgrade path
8810/25/2015 Anuj Mohan Data Intensity OOW-2015
AGENDA• Oracle Exadata
What is Exadata
Types of Exadata
EHCC
DBRM
IORM
Instance Caging
Smart Flash Cache
Storage Indexes
• In-Memory Option
• Oracle Multitenant CDB/PDB Introduction and Concepts
Quick overview: migration options to 12c from previous versions
PDB - Explanation of Value (EOV)
• A Few Business Cases
8910/25/2015 Anuj Mohan Data Intensity OOW-2015
9010/25/2015 Anuj Mohan Data Intensity OOW-2015
Source: Oracle Corporation
9110/25/2015 Anuj Mohan Data Intensity OOW-2015
Source: Oracle Corporation
AGENDA• Oracle Exadata
What is Exadata
Types of Exadata
EHCC
DBRM
IORM
Instance Caging
Smart Flash Cache
Storage Indexes
• In-Memory Option
• Oracle Multitenant CDB/PDB Introduction and Concepts
Quick overview: migration options to 12c from previous versions
PDB - Explanation of Value (EOV)
• A Few Business Cases
9210/25/2015 Anuj Mohan Data Intensity OOW-2015
Business Needs
I want to consolidate multiple databases into one database as schema consolidation. I have
same name public synonyms in those databases
Oracle multitenant
9310/25/2015 Anuj Mohan Data Intensity OOW-2015
Business Needs
I have a large table around 1.5T. Some of my queries need to do a full table scan. It is not
possible in my database so we blocked those queries
Exadata storage indexes
9410/25/2015 Anuj Mohan Data Intensity OOW-2015
Business Needs
I have three tables sale_master regional_items and sales_agent.
They are 50G,20G and 150M respectively. We load data nightly and delete data every
month from these tables. My users write ad-hoc queries using certain columns. Its difficult
to keep up with needed indexes also adding indexes slows down data load too.
Oracle In-Memory option
9510/25/2015 Anuj Mohan Data Intensity OOW-2015
Business Needs
I want to consolidate multiple databases into one Server. How I can make sure that one
runaway query will not takeover all my CPUs or Database resources or I/O resources
Instance caging
DBRM
IORM
9610/25/2015 Anuj Mohan Data Intensity OOW-2015
Business Needs
We have Federal /State directions to keep 10 years worth of data online where in we only use current year
data frequently. Occasionally we use data up to 3 year old. Data usage older than 3 year is rare.
You need to use
Partitioning
Compress data using EHCC.
Data older than 3 years use EHCC archive High
Data older than 1 years use EHCC Query High
You can try other compression options and compare compression ration/query speed
9710/25/2015 Anuj Mohan Data Intensity OOW-2015
Business Needs
We clone multiple environments every month. With Growing database size work window is
increasing
You can use oracle multitenant to clone This is thin provisioning of PDBs using “Snapshot
Copy” feature. If using ZFS this could be Instantaneous
http://www.oracle.com/technetwork/database/exadata/learnmore/exadata-database-copy-twp-2543083.pdf
9810/25/2015 Anuj Mohan Data Intensity OOW-2015
Business Needs
I am running multiple PDBs in single CDB. How I can manage resources among these PDBs
PDBs are managed just like Consumer Groups. You can create CDB Resource Plan
If you are running Oracle Exadata then you have IORM, Exadata specific feature too
Using Oracle Resource Manager for PDBs with SQL*Plus
https://docs.oracle.com/database/121/ADMIN/cdb_dbrm.htm#ADMIN13774
9910/25/2015 Anuj Mohan Data Intensity OOW-2015
Business Needs -Tips
I am planning a large implementation of Oracle multitenant. My source databases which
will be eventually PDBs have different initialization parameters.How I can control it in
CDB/PDB architecture
select con_id, name, value from v$parameter ;
ISPDB_MODIFIABLE shows parameters which can be modified on PDB level
10010/25/2015 Anuj Mohan Data Intensity OOW-2015
Explore Oracle Database 12c Learning Resources
Oracle Database 12c Learning Library:
http://www.oracle.com/oll/database
10110/25/2015 Anuj Mohan Data Intensity OOW-2015
SIG Meetings at Oracle OpenWorld
All meetings will be held in User Group Pavilion, Meeting Room, Moscone South
Monday, October 26• IOUG Cloud Computing SIG Meet-Up: 10:00 a.m.—11:00 a.m.• IOUG Oracle Enterprise Manager SIG: 5:00 p.m.—6:00 p.m. *Location: OTN
Lounge, Moscone South*
Tuesday, October 27• IOUG IoT SIG: 10:30 a.m.—11:30 a.m.• IOUG BIWA SIG: 11:30 a.m.—12:30 p.m.
Wednesday, October 28• IOUG Exadata SIG: 10:30 a.m.—11:30 a.m. • IOUG RAC SIG: 1:00 p.m.—2:00 p.m. • IOUG Oracle 12c SIG: 2:00 p.m.—3:00 p.m.
Thank you … LinkedIn Page for SIG
www.linkedin.com/groups?gid=4847720
If you have further questions or need database assistance,
I will be at Data Intensity Booth #301 in South Hall
Send me email [email protected]
10310/25/2015 Anuj Mohan Data Intensity OOW-2015