I know there are other places where you can find why you don’t want that Oracle cluster automatically relocate RAC One Node from one node to the other (only one node can be active in RAC One Node configuration).

First I’d like to explain what reasons can be behind that.

Those are the most common reasons:

1) You don’t have identical HW configuration on active and passive node

This case is where you need to be able to easily move database server to another physical machine, but the second node, in normal case, doesn’t have the same power (same number of CPU, memory…) as the active node.

You can ask why you in that case need RAC One Node at all? But the answer is simple.
In case of emergency you want to be able to move your database along with all services/resources to the other node.

In addition, you can easily convert RAC One Node database into the full RAC configuration.

2) You have single instance databases running on the passive node under the same clusterware.

This is typical configuration also. Besides full RAC and RAC One Node configuration, you can have one or more single instance databases under the same Grid and Cluster.
As those databases consume resources, you don’t want to have RAC One Node database started on the node with insufficient resources.

It’s easy to change behavior.


--check the server pool name 
crsctl status resource ora.testdb.db -p | grep -i pool
SERVER_POOLS=ora.testdb

--check server names inside the pool 
crsctl status serverpool ora.testdb -p | grep -i server
SERVER_NAMES=xxx-test-1p xxx-test-2p

--remove second server (xxx-test-2p) from the pool
crsctl modify serverpool ora.testdb -attr SERVER_NAMES="xxx-test-1p"

--check if changes are accepted 
crsctl status serverpool ora.testdb -p | grep -i server
SERVER_NAMES=xxx-test-1p 


Now, if you stop the database on the first (active) node:
srvctl stop database -d testdb -o immediate

--and start it on the second node without specifying the node (default behavior is to start the database on the current node, which is node 2 in this case) 
srvctl start database -d tst1p

you can see the database running again on the first, and not the second node, what would be default behavior.

From now on, you are safe to have database running on unwanted nodes.


Comments

There are no comments yet. Why not start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.