Академический Документы
Профессиональный Документы
Культура Документы
(12.1.0.2) Internals:
The Cache Fusion Edition
Markus Michalewicz
Director of Product Management
Oracle Real Application Clusters (RAC)
October 1st, 2014
@OracleRACpm
http://www.linkedin.com/in/markusmichalewicz
http://www.slideshare.net/MarkusMichalewicz
Simplification 1 Simplification 2
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Oracle Confidential – Internal/Restricted/Highly Restricted 7
Program Agenda
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Oracle Confidential – Internal/Restricted/Highly Restricted 8
Oracle RAC Combines it All & Adds Services
• Requester
• Listener
• Service
Block, unless
otherwise stated.
• Holder
Instance
• Master
• Session PQ/PX:
Message Message
Block
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Oracle Confidential – Internal/Restricted/Highly Restricted 14
Mastering and Dynamic Re-Mastering
write write
• In Oracle RAC, every object is mastered (as • If a session requests write access • Based on user access patterns, a Dynamic
part of Global Cache Services / GCS) by an Re-Mastering (DRM) can be triggered,
instance. to a block that is not mastered by changing the master for an object from one
the instance hosting the session, instance to another.
• The Global Resource Directory (GRD) is
used to “keep track” of mastering. the master instance needs to be • Relocating the master to the instance
where data is requested most reduces the
• Illustration above is symbolic for this matter. contacted (via message). messaging.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Oracle Confidential – Internal/Restricted/Highly Restricted 19
How To Handle Contention – Basics
write write write write
write
write
write
write write write
write
write write write
• Contention can occur in any multi- • You can still guide users to only one • From a contention perspective, a 2-node
instance in an Oracle RAC environment. setup is basically the same as a 3 or more
user system (even in SI databases) nodes setup.
• User data as well as “metadata” (e.g. • As soon as you scale out, contention • The difference is in the required message-
an index) can be subject to contention can occur between instances (not only based communication to obtain a block
within an instance). considering the mastering.
Sequence
REDO
• Frequent transactional changes to the • Pending redo must be written to log • Contention can affect related data as
same data blocks in all instances may before the block can be transferred much as it can affect the actual “user data”.
result in “write hot spots”. • Right growing indexes and
• Latency for a deferred block transfer index contention are common.
• Block with pending changes may becomes dependent on delay for log IO
be “pinged” by other instances. • In 99% of OLTP performance issues,
write hot spots occur on indexes.
Sequence
REDO
• Avoid frequent transactional changes • Place redo logs on fast storage • Use either for better cache locality:
to the same data blocks in all instances if performance critical; e.g. SSDs
using partitioning and services. •Implemented in 11.2.2.4 of Exadata and Oracle • Global hash partitioned indexes
Database Appliance by default (Smart Logs and
• Logically partition data so that sub- SSDs, respectively) • Locally partitioned indexes
data is handled in one instance only. •Separate disks for logs from other IO busy disks
Guide users via services accordingly. • Drop unused indexes
Get the best out of Oracle Partitioning - A practical guide and reference
https://www.slideshare.net/secret/nHJV1CjWWOlGOl
• UCP supports “Connection Affinity”: • Connection Pools limit the number • Fast Application Notification (FAN)
of connections to the database – example:
• Transaction-Based Affinity – enabled connection pools receive
• Oracle Universal Connection Pool (UCP)
• Web Session Affinity Load Balancing information based on
• Use “Database Resident Connection the Workload Repository and on a
Pooling” when no. of active sessions per-service basis.
http://docs.oracle.com/database/121/JJUCP/rac.htm#JJUCP8197
much smaller then no. of open session.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Oracle Confidential – Internal/Restricted/Highly Restricted 24
Oracle Multitenant and Oracle RAC – a Symbiosis
cons_1 cons_2
REDO
•Pluggable Databases (PDBs) represent themselves as services in an • Oracle RAC Multitenant Databases help to consolidate.
Oracle RAC Multitenant Database, ensuring extremely fast failover.
• PDBs can be used to conveniently align users to instances with • Future improvements will ensure greater efficiency.
all the benefits, providing higher consolidation benefit and agility.
• Multithreaded Redo Log writer already implemented.
cons_1 cons_2
REDO
•Pluggable Databases (PDBs) represent themselves as services in an • Oracle RAC Multitenant Databases help to consolidate.
Oracle
MoreRAC Multitenant
information, Database,
see: ensuring extremely
Oracle Multitenant meetsfast failover.
Oracle RAC -
• PDBshttp://www.slideshare.net/MarkusMichalewicz/oracle-
can be used to conveniently align users to instances with • Future improvements will ensure greater efficiency.
multitenant-meets-oracle-rac-ioug-2014-version
all the benefits, providing higher consolidation benefit and agility.
• Multithreaded Redo Log writer already implemented.
• Per-PDB/service optimized GCS operations coming in future.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Oracle Confidential – Internal/Restricted/Highly Restricted 27
Oracle In-Memory and Oracle RAC
Breakthrough: Generate
Dual Format Reports
Database Instantly
In-Memory
Column Store
Column
Store Full HA &
Replaces Integration
Analytic with
Indexes Industry
Standards
Breakthrough: Addresses
Dual Format
Database
In-Memory
Column Store
Column
Store
Replaces Addresses
Analytic
Indexes
• Duplicate in-memory
columns on another node
• Enabled per table/partition
• Application transparent
• Downtime eliminated by
using duplicate after failure
Only Available on Engineered Systems
simplified
Normal Normal
Buffer Cache Buffer Cache ? ? ?
Oracle RAC Oracle RAC Oracle RAC
Oracle GI | HUB Oracle GI | HUB Oracle GI | HUB
germany argentina brazil
Coming soon…