Skip to Main Content

Breadcrumb

Question and Answer

Chris Saxon

Thanks for the question, mfz.

Asked: April 25, 2011 - 4:07 pm UTC

Last updated: January 25, 2021 - 2:47 pm UTC

Version: 11.2.0.1

Viewed 10K+ times! This question is

You Asked

Tom –
My understanding of RAC( or grid computing) , we use cluster of not so expensive servers for higher availability. But Oracle is marketing Exadata ( expensive severs – relatively speaking ) for performance / higher availability , so on. ( if I am not mistaken)
Is going for exadata defeats the conceptual purpose for RAC ?

and Tom said...

The servers aren't that expensive - the totality of the box is. The 14 storage cells (with their computers, cores, memory), the networking, the database servers itself.


RAC is about two things:

a) decreased unplanned downtime. More availability. Regardless of underlying machine size.

b) ability to scale horizontally.


(a) doesn't care about the size of the machine - big machines fail, small machines fail.

(b) is still useful - even in exadata. Have you priced a 96 core machine versus a bunch of much smaller ones? The more CPU's you have in a box - the slower those CPU's are (engineering, it is hard to get lots of CPU's to work together, access shared memory together - the fewer cpu's you have, the faster they likely are) - the more expensive the box to put them in - the higher the over all cost.


Exadata is a bunch of smallish machines (8 of them) in the most common configuration. It can be a pair of big machines optionally.

and the use of RAC is also optional. You don't have to use RAC to use exadata.

Rating

  (9 ratings)

Is this answer out of date? If it is, please let us know via a Comment

Comments

expensive ? "no data found"

Sokrates, April 27, 2011 - 1:26 pm UTC

why do I get a "no data found" when searching for "exadata" on shop.oracle.com ?
do I have to get an Oracle Salesman ( and would it be worthwile to make him drunk ) in order to purchase exadata ?
Tom Kyte
April 27, 2011 - 1:56 pm UTC

Yes, you need a face to face for exadata...


US prices

Loïc, April 27, 2011 - 2:49 pm UTC

I found this:

http://www.oracle.com/us/corporate/pricing/exadata-pricelist-070598.pdf

Actually you'll have to ask a salesman for some presentation and purchase proposition.

Don't hesitate to ask for other customers ROIs and for the Exadata product roadmap ;)

Cheers

Alexander, April 27, 2011 - 2:54 pm UTC

"and the use of RAC is also optional. You don't have to use RAC to use exadata."

Come again? I thought exadata's whole deal was that it uses RAC. I have trouble envisioning how exadata would work without it. 8 smallish single instance machines? I don't see the point of that.
Tom Kyte
April 27, 2011 - 4:54 pm UTC

No, that is not exadata's whole deal.

You have 8 pretty good but not huge boxes
With enough IO horsepower to get you to the moon and back
And the ability to use that IO horsepower due to the infiniband connections
And the offloading of predicates to the storage
And the flash cache
And the storage indexes
And the hybrid columnar compression...

All before you get to RAC, if you want it. It is not necessary, it is not mandatory, you can certainly use it - the machine takes full advantage of it - but you don't need to.

Exadata is also a consolidation platform - it is a big machine capable of running lots of applications. It takes a singularly huge application to mandate an entire exadata machine - most of them run many things.

A single node in there is larger than many (I might even say most) peoples needs for a given instance.

PL/SQL Tuning for Exadata

AL SWAMY, May 22, 2013 - 11:25 am UTC

Tom,

Please let us know how SQL or PL/SQL tuning in Exadata based application is different from applications running on other servers. One article says index is not at all required in Exadata but all we have been doing so far in other systems is to create index to improve performance. The features such as query result cache, function result cache, caching small look up tables, partition, and parallel query will be of any use in Exadata? Your reply would be of great help to understand performance tuning in Exadata environment.

Thanks,
AL SWAMY
Tom Kyte
May 22, 2013 - 1:52 pm UTC

see also:
http://www.oracle.com/technetwork/issue-archive/2012/12-mar/o22asktom-1518271.html




you use indexes to return a small number of rows

you use indexes on exadata to return a small number of rows


you use full scans (and hopefully partition pruning, compression, etc) to return more than a small number of rows from a row source.

you use full scans in all systems (and hopefully partitioning pruning, compression, etc) to return more than a small number of rows from a row source.


is the function result cache useful *in any system*? sure, if you have functions that take a measurable amount of time, can be cached, use data that changes slowly (so the cache is not invalidated rapidly) and are called frequently.

is the query result cache useful *in any system*? sure, if you have a query that takes a large set of data, turns it into a smallish set of data and is executed over and over and over again.

and so on - yes, every single feature of the database could be useful in exadata.



If you are doing OLTP - you *better* be using indexes.

If you are doing warehousing - you probably will use less indexes than you did before. IO is not going to be your bottleneck so much here, with query offloading, with tons of current generation cpus, with hundreds of gigabytes of SGA, terabytes of flash - your queries will run significantly differently than they did in the past.

the biggest things you'll have to change (after determining what indexes are actually necessary) will be:

o removal of slow by slow processing, if you have an ETL process that uses row by row (slow by slow) - erase it, start over, use bulk SQL, watch:

http://tinyurl.com/RWP-DW-PART1
http://tinyurl.com/RWP-DW-PART2
http://tinyurl.com/RWP-DW-PART3
http://tinyurl.com/RWP-DW-PART4

o get your resource management under control - you'll have things that used to wait on IO *not* wait on IO. If you try to run hundreds/thousands of things concurrently - you'll melt down (cpu will be your scarce resource) Watch:

http://tinyurl.com/RWP-OLTP-CONNECTIONS

for OLTP and part4 from above for warehousing example

o make sure your programmers know the basics:

http://tinyurl.com/RWP-OLTP-PARSING

Oracle Optimizer Vs Exadata

AL SWAMY, May 24, 2013 - 1:07 pm UTC

Thanks for the great reply.

Is the Oracle optimizer fully aware of all Exadata architecture?


Thanks,
AL SWAMY

Tom Kyte
May 29, 2013 - 4:49 pm UTC

No, it doesn't need to be. full scans that bypass the buffer cache are "smart scans", totally transparent to the database engine. the flash cache is 100% transparent to the database engine.

To: AL SWAMY from St Louis, MO

Rajeshwaran, Jeyabal, May 27, 2013 - 2:09 pm UTC

@AL SWAMY:

Look into this link.
http://www.oracle.com/us/products/database/exadata/features/index.html
<quote>
Oracle Database 11g, which has been significantly enhanced to take advantage of the Oracle Exadata Storage Servers
</quote>
So Exadata is fully aware of Oracle optimizer.
Also Exadata box is made up of Hardward by sun and software by Oracle. so it is completely aware of optimizer.

Datadictionary for Exadata

Rajeshwaran, Jeyabal, October 04, 2016 - 1:49 pm UTC

Team,

I got into a project recently, where i took an explain plan for a SQL and found that "TABLE ACCESS STORAGE FULL" - i suspect this to be an Exadata instance.

But how could i confirm that, any data dictionary available for that (like we use v$version or product_component_version to identify the database version) ?
October 05, 2016 - 12:56 am UTC

You could query v$cell

My understanding of exadata's support for RAC

Craig Borysowich, May 25, 2018 - 2:36 pm UTC

My thoughts around for the support of RAC in Exadata was mostly to assist with the migration of databases from existing Oracle RAC implementations. You could essentially join your exadata platform to an existing Oracle RAC cluster, replicate the databases into Exadata, repoint systems to the exadata-based instance(s) and then break RAC and decommission the old oracle platform.

Connor McDonald
May 28, 2018 - 1:39 am UTC

This is true, but I also think this approach is relatively rare.

What I've typically seen is people using things like transportable tablespace plus rman incremental backup apply to do near-online migration to exadata. The risk profile is lower this way because you have two copies of your data - the current and the new

Video is unavailable

Alex, January 23, 2021 - 5:12 pm UTC

FYI: The link about "the basics" is not available. Youtube says "This video is private".
http://tinyurl.com/RWP-OLTP-PARSING
Chris Saxon
January 25, 2021 - 2:47 pm UTC

Thanks; I'm not sure what the original video was; here's a playlist of RWP videos covering similar topics:

https://www.youtube.com/watch?v=4AywBO47nXw&list=PLKCk3OyNwIzvwEXdaubc6PQXwnQOAE9h2