SPFILE in RAC environments

  • A+

Shared SPFILE is recommended strongly in RAC environment, and I want to tell you the reason in this post.

The test environment is Oracle 12c, and the installed PSU is 21948354.

To show the difference, I used a non-shared SPFILE in the node rac12-node1 intentionally:

The parameter open_cursors is used during this test, and let me check its value in the DB and SPFILE before the test:

Usually we change parameter using sid='*', and what will happen in such situation?

If we change one specific sid, then what we will get?

Do you find the difference?

Yes, seems the result is confusing, and let me summary the result as below:

  1. Try to use shared SPFILE in any conditions
  2. The value of the parameter will be changed always, whenever shared SPFILE is used or not.
  3. The change of the SPFILE will ONLY happen in the local SPFILE. So if the SPFILE is not shared, then other instances cannot find the changed value.
  4. In fact, every instance has its own SPFILE. If the SPFILE is shared, it will be read more then one time.

