Flex Everything in Oracle RAC 12c

While Oracle may – even with the newest release – not be web scale, it sure has flex everything in RAC. These are actually really great features but with the names being so similar (just like flash and flashback in current releases), it is easy to get them confused and I had a very hard time explaining these technologies to Martin Berger and Allan Robertson via twitter. The two features I want to write about today are flex ASM and flex cluster and I was lucky enough to sit in two excellent presentations by Markus Michalewicz and Nitin Vengurlekar at Collobarate 2013.

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. Why is this important? In 11g, the more instances you run on a single server, the more you become dependant on that one ASM instance. And if it fails or has to be brought down for maintenance, the database instances have to shut down aswell. When setting up 12c clusters, DBAs have the option to choose between “normal mode” (required if you want to run 11g databases on your 12c grid) or the new flex mode for ASM. In flex mode, clusters with more than 3 nodes would only run 3 ASM instances, much like SCAN works. In difference to SCAN, a two node cluster would have 2 ASM instances, not 3. The overall architecture has not actually changed dramatically. ASM has never been in the IO path of an instance, the job of the ASM instance was merely to manage diskgroups (add, drop, rebalance disks) and transfer extent maps, basically mapping database extents to physical block locations. These extent maps have always been transferred over the network, but in 10g and 11g that was simply done over the loopback interface. Now this traffic can also traverse the interconnect network between cluster nodes. Administrators have the additional choice of creating yet another network link in the cluster solely for ASM traffic but that feature will not make much sense until a later release of 12c which may extend this functionality even further.

Flex Cluster on the other hand may sound similar, but it is a totally different animal. 12c distinguishes between two different types of cluster nodes. The traditional type (as we know it) is now called a “hub node” and it comes with the full clusterware stack: shared storage with a voting disk, interconnect network, sophisticated fencing and so on. These have been and will be used to run database instances. The new node type is called “leaf nodes” and they run a lightweight version of the clusterware without shared storage, cluster communication is only done over the interconnect network. Those nodes would typically be used to run generic services or applications so those can be managed within the cluster framework aswell. They would also benefit from startup/restart capabilities and a basic failover to a different node if one of the leaf nodes fails. It is definitely worth mentioning that leaf nodes won’t need to be licensed seperately (as long as the hub nodes are under license/support) and that they don’t need to run the same machines as the hub nodes. That makes it possible to run the hub nodes on physical hardware to get the most performance out of running your database while leaf nodes with app servers are run in a virtual environment.

10 thoughts on “Flex Everything in Oracle RAC 12c

  1. Hi,
    Great article!
    In the case of 2-3 nodes, and if you loose ASM on one of the nodes (say node1), can the db on that node (node1) fail over its ‘ASM-communication’ to one of the other nodes (node2 or node3)?


  2. Hi Peter,

    exactly. That failover is the whole point of flex asm. So it increases availability in cases of crashes (or planned outages) of ASM instances.


  3. Pingback: favourite Oracle 12c database features of OpenWorld Bloggers | portrix systems

  4. Pingback: Install Oracle RAC 12c on OEL6 Update 3 | dborasol

  5. Pingback: Build your own Flex ASM 12c lab using Virtual Box | bdt's oracle blog

  6. Today, my app nodes are already running on VMs ( VMware VMs ), while the RAC nodes are running on the physicals. So what is the benefit to move the app from today’s virtual machines to the leaf nodes ?

  7. There is no big benefit in that case. This is not a revolutionary new technology that would make the way we run and operate app servers obsolete. The benefit is that that flex cluster allows you to manage all your “stuff” with one set of tools (the clusterware) which is nice because it can know about dependancies between apps and database services (and bring them up or down in the correct order even across nodes). It will also check for crashed processes and restart them if possible where by default vmware would only check for the health of a whole VM and may not notice a crashed app server within the VM.
    And you could even use this in addition to vmware virtualization. You could setup leaf nodes as VMs and manage your applications through the clusterware.

  8. Hi Sumanth, shame we did not have 12c when implementing MSD’s SWATT project, it would of been very handy! :-) Nice write up!

  9. Bjoern,

    I tried running a db instance from spoke server in a flex-cluster and was thrown an error. Upon some research i discovered that the option of running the database instance from a spoke server was taken off in the initial release of Oracle 12c. I have heard that the option was initially there in the beta version that was release internally for testing and POC.


  10. I’ve always thghout about playing with vmware…Lets say you are going to teach a class. You have a room with 20 pc’s in it. You have a server in the backroom. You have 20 people coming into the class. The server is smallish (2/4 cpu, 2/4 gig of ram). They each need their own environment. We are going to practice backup and recovery today.You could either run 20 instances of Oracle…. on that server, or…You could ignore the existence of the server and have the 20 pc’s run your Linux VM. Each student has their own cpu, their own memory, their own everything. If they destroy something totally — they are not logged in as Oracle on a machine with 19 other instances they could damage. One of them “runs away” — great, kill it — didn’t affect the other 19.At the end of the day, have everyone hit the reset button and you are done.I build demos sometimes. For this demo you need Linux version x with patch Y and a network setup Z. What — you don’t have linux? or you do but it is patch A? and networking is M. And you need to have A and M for your other setup? Vmware, OS in a file.Great for education — “here is a vm, log in and fire up the browser and walk through the OBE’s (oracle by examples), do it yourself, I don’t need to worry about you not being able to install, configure and startup RAC, it is already done — just play with it and see what you see”.I don’t know what they do exactly in the education centers, I do training on the side outside of education (as part of an extended sales process sometimes). Just for demonstrating something it is awesome.

Leave a Reply

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