So, Oracle just released database 12c, and one of its new feature is Flex ASM. You can find more details about this new feature into this Bjoern Rost’s post or this oracle white paper.

Basically, as Bjoern said: “Flex ASM basically allows a database instance to utilize an ASM instance that is not local to that server node and even fail over to another remote instance if the ASM instance fails”.

This short blog post is just to show how you can build your own Flex ASM Lab.

First, I built a 3 nodes RAC. For this purpose you just have to follow one of those great blog posts:

with the following changes:

  • You need to adapt those posts to build a 3 nodes RAC.
  • During the install process of the Grid Infrastructure:

Step 3: Choose “Configure a Standard cluster”

12c_grid_infra_step3

Step 4: Choose “Advanced Installation”

12c_grid_infra_step4

Step 10: Choose “Use Oracle Flex ASM for Storage”

12c_grid_infra_step10

Once this is installed, you can verify that Flex ASM has been set up:

asmcmd showclustermode
ASM cluster : Flex mode enabled

You can also check how many ASM instances have been specified for use:

srvctl config asm | grep -i count
ASM instance count: 3

Then you can change the configuration to have 2 ASM instances active on this 3 nodes Lab:

srvctl modify asm -count 2

Once done you can check the status:

srvctl status asm -detail
ASM is running on racnode2,racnode1
ASM is enabled.

Remarks:

  • I did not test with a 2 nodes RAC and one active ASM instance: If you do please let me know.
  • If you are curious (as I am) to see how the Flex ASM behaves during physical IO operations, then I suggest to use Kevin Closson’s SLOB2 Kit and my asmiostat utility (I’ll use them for sure and share my findings/remarks if any ;-) )
  • Steve Karam is building a huge list of  Oracle 12c articles from the community into this post  (Do not hesitate to have a look at it)

Findings reported thanks to this Lab: