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:
- Yury Velikanov’s one : Oracle 12c RAC On your laptop, Step by Step Guide
- Tim Hall’s one: Oracle Database 12c Release 1 (18.104.22.168) RAC On Oracle Linux 6 Using VirtualBox
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”
Step 4: Choose “Advanced Installation”
Step 10: Choose “Use Oracle Flex ASM for Storage”
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.
- 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:
- Finding 1: Flex ASM 12c (12.1) and Extended Rac: be careful to “unpreferred” read !
- Finding 2: Flex ASM 12c (12.1): be careful to “invisible” I/O !