If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Difference between RAC and OPS

Can someone please explain the significant differences between Real Application Clusters and Oracle Parallel Server Architectute. I read a few materials, I am really not satisfied by the explainations. Can someone share?

The main difference between RAC and OPS is that in RAC the concept called CACHE FUSION is introduced.

In OPS the buffer cache of each and every instance is stand alone, i.e. its exclusively allocated to one instance only.

In OPS say a user A is accessing instance1 and has made some changes to a table A. Now user B accessing instace2 wants to access that table A for making chanes, then the instance1 is forced to write the dirty buffers to disk and release the lock on the table A so that user B could access the table. This option of writing the dirty buffers to disk due to an access request from instance2 is very costly IO operation.

That was the main reason why the application had to be modified according to your OPS setup.

But in RAC the CACHE FUSION technology allows the buffer cache to be shared among the instances. So when user B accessing instance2 requests for the table A, the table is accessible to user B without doing the IO as the buffer cache is shared. So in RAC the application need not be customised as it was done in OPS.

And in 9iR2 RAC CACHE FUSION II is available which not only allows read-read only buffer cache sharing but also allows the write-write sharing of buffer cache.

HTH

Amar"There is a difference between knowing the path and walking the path."

Originally posted by adewri The main difference between RAC and OPS is that in RAC the concept called CACHE FUSION is introduced.

In OPS the buffer cache of each and every instance is stand alone, i.e. its exclusively allocated to one instance only.

In OPS say a user A is accessing instance1 and has made some changes to a table A. Now user B accessing instace2 wants to access that table A for making chanes, then the instance1 is forced to write the dirty buffers to disk and release the lock on the table A so that user B could access the table. This option of writing the dirty buffers to disk due to an access request from instance2 is very costly IO operation.

That was the main reason why the application had to be modified according to your OPS setup.

But in RAC the CACHE FUSION technology allows the buffer cache to be shared among the instances. So when user B accessing instance2 requests for the table A, the table is accessible to user B without doing the IO as the buffer cache is shared. So in RAC the application need not be customised as it was done in OPS.

And in 9iR2 RAC CACHE FUSION II is available which not only allows read-read only buffer cache sharing but also allows the write-write sharing of buffer cache.

One little modification here, the CACHE FUSION was introduced in oracle8i OPS (im still in the past, was talking about oracle8 OPS ), which had read-read cache sharing. This concept addressed read/write contention but when an instance had to change the block that was held on the remote instance it has to go through the same ping mechanism and write the block to disk.

In 9i RAC the CACHE FUSION II was introduced which is READ-READ, READ-WRITE, WRITE-WRITE cache sharing. RAC instance can ship copies of dirty buffers to remote instances for write access. Hashed locks still use the ping mechanism and fixed locks have been eliminated in 9i RAC.

buffer cache sharing...

Originally posted by adewri
But in RAC the CACHE FUSION technology allows the buffer cache to be shared among the instances. So when user B accessing instance2 requests for the table A, the table is accessible to user B without doing the IO as the buffer cache is shared. So in RAC the application need not be customised as it was done in OPS.

HTH

I doubt the buffer cache is shared between the instances in RAC, rather the consistent image block is shipped to the requesting instance instead of a disk pinging. Here the block is transferred from Instance A's buffer to Instance B's buffer. Hence avoid the disk I/O. Am I right adewri ?