Storage Replication for Oracle Database and Licensing

May 9, 2012 / By Alex Gorbachev

Tags: ,

While doing my high availability deep dive at Collaborate 12 few weeks ago, I stated that storage replication qualifies for the cold failover licensing rules (see slide #128).

During the collaborate, I spoke to one person at Oracle who definitely knows the rules. Simon Haslam also reached out to me by email pointing out that things might not be that rosy. After my session, Arjen Visser from Dbvisit also noted that they’ve seen Oracle sales pushing for a different strategy.


Simon referred to Oracle’s Software Investment Guide:

Remote Mirroring – This method involves the mirroring of the storage unit or
shared disks arrays. Remotely mirrored storage units may be geographically
dispersed and not in the same location as the primary unit, but they share the
same disk array. To setup a remote mirroring environment, the Oracle data
files, executables, binaries and DLLs are replicated to the mirrored storage
unit. Solutions like Veritas Volume Replicator, EMC SRDF, Legato Replistor, and
EMS StoreEdge are used to mirror the data stored in on the disk arrays. In this
environment, both the primary and the remote mirrored databases must be
fully licensed. Additionally, the same metric must be used to license both
databases. If the Oracle Database is accessing the data from the primary disk
array and it is not accessing the mirrored disk array, but it is installed on the
mirrored network storage unit, then both database must be fully licensed and
the same metric must be used. If a failure occurs in the primary storage unit
and the Oracle Database can no longer access the data from the primary disk
array, however it is still installed on the primary unit, and data can only be
accessed from the remote mirrored disk array, then both databases must still
be fully licensed and the same metric must be used. In this environment,
Oracle must be fully licensed at the primary site, and if it is ever installed
and/or run at the secondary site, it must also be fully licensed there.

The key there is that “the Oracle data files, executables, binaries and DLLs are replicated”. If you only replicate data files, then you can likely avoid a licensing mirrored site. However, it will, of course, impact your speed when getting back in business on the mirrored site. On the flip side, the way to avoid remote site licensing is to make sure it qualifies as a backup. From the same document:

Backup – In this method, a copy of the physical database structures of the
database is made. When the original data is lost, the backup files can be used
to reconstruct the lost information that constitutes the Oracle Database. This
backup copy includes important parts of the physical structures such as
control files, redo logs and data files. These physical files can be stored on a
server, storage array, disk drive(s), or Compact Disc(s). Solutions like Recovery
Manager/RMAN (included with Oracle Database EE or SE) and Oracle Secure
Backup or operating system utilities are used to create copies of physical files.
Oracle permits customers to store a back up copy of the database physical
files on storage devices, such as tapes, without purchasing additional licenses.
In an event of failure, when the Oracle data is restored from tape or media,
and the Oracle Database is installed on the recovery server, licensing is
required. See illustration #3.

Note how it specifically distinguishes the situation with restore in the new hardware that requires installing the Oracle binaries. So, if you install or restore Oracle binaries in the new hardware, you have to license it separately unless you decommission your old hardware. This means that it could really only work if you lose your primary site completely and move to the DR site for good. It does fit some business continuity scenarios, but it’s definitely different from cold failover scenarios, and the 10 days rule is not applicable.

I also wanted to find the reference for RAC One Node and one stating that Cold Failover licensing rules can be applied. Oracle Database Licensing Guide doesn’t have this information (or at least I couldn’t locate it), but here is the statement from Oracle’s presentation. (Note that it doesn’t really have the legal status as does your licensing agreement):

All nodes on which RAC One Node is installed must be licensed for RAC One Node
* Exception: One spare node for cold failover/Online Database Relocation need not be licensed under the 10-day use rule
* Example: In a two-node cluster, customers can license RAC One Node on ONE node; 10-day rule applies for spare node

I used to be able to find standard OLSA (Oracle License and Service Agreement) at oracle.com in the past, but these days I only get here and can’t locate the OLSA. In any case, make sure to read your OLSA — it will have the definition of cold failover similar to what you see in the SIG I referred above.

Failover – In this type of recovery, nodes are arranged in a cluster and share
one disk array. A Failover cluster is a group of systems, bound together into a
common resource pool. In this type of recovery method, the Production node
acts as the primary node. When the primary node fails, one of the surviving
nodes in the cluster acts as the primary node. Solutions like Oracle Failsafe
(included with Oracle Database EE or SE, SE1), or third party vendor solutions
(e.g. Veritas, HP Service Guard, HACMP, Linux HA – Heartbeat) are used to
manage Failover environments. In this type of environment, Oracle permits
licensed Oracle customers to run some Technology Programs on an
unlicensed spare computer for up to a total of ten separate days in any given
calendar year. Once the primary node is repaired, you must switch back to the
primary node. Once the failover period has exceeded ten days, the failover
node must be licensed. In addition, only one failover node per clustered
environment is at no charge for up to ten separate days even if multiple nodes
are configured as failover. Downtime for maintenance purposes counts
towards the ten separate days limitation. Any other use requires the
environment to be fully licensed. . In a failover environment, the same license
metric must be used for the production and failover nodes when licensing a
given clustered configuration. Additionally, when licensing options on a
failover environment, the options must match the number of licenses of the
associated database.

I will update the slides accordingly. In any case, please do your own homework and don’t trust my conclusions here. Don’t take this as licensing advice by any means. It’s been on my TO-DO list for a couple weeks now, and while I wanted to put a bit more effort before I blog about it, the reality is that the more I delay, the less likely I post it at all. That would be devastating. Your comments are more than welcome, whether they’re pointing out any errors, adding some info, or sharing your experience.

13 Responses to “Storage Replication for Oracle Database and Licensing”

  • Noons says:

    Thank you! This is once again proof positive that my strategy to use SAN replication to clone the FRA is the correct and cheapest strategy for DR and partial HA.

    • Hey Noons — good to see you around non-hibernating. :)
      Mirroring FRA — useful strategy indeed.
      I’d say that backing up Oracle homes somewhere but not on the same remote host and then restoring them from backups when you need to restore is a good idea. The biggest problem with it – you can’t test this recoverability without either paying for licenses or violating them.

      • Hi Alex,

        Thanks for your research. FRA replication looks OK and you can test recovery. This is paragraph from Irish OLSA “Testing: For the purpose of testing physical copies of backups, your license for the Oracle Database (Enterprise Edition, Standard Edition or Standard Edition One) includes the right to run the database on an unlicensed computer for up to four times, not exceeding 2 days per testing, in any given calendar year.”

        regards,
        Marcin

    • Oh and once again, in case I didn’t make it quite clear — please don’t take it as a proof. :) Just as personal opinion and analysis of fact. Would hate somebody violate the licensing because Alex said so. :)

  • Paul Bullen says:

    Interesting subject–and hard to get to the bottom of it! As you say, ultimately the words in the OLSA form the contractual obligation. Sticking to Oracle policy for now, from our experience:

    * remote mirroring is absolutely chargeable – no doubt there are many shops applying the ’10 day rule’. Interestingly, expanding on your comment about data files etc being replicated: Oracle literally just mean datafiles–if you replicate redo logs and/or control files, you need a license (we’ve checked this with them).

    * RAC One Node blurb isn’t forthcoming-as you note, it’s not even in the non-contractual ‘educational’ documents out there. Arguably, the standard failover rule just about covers it so not too controversial.

    * Some OLSAs and definitions are here — but these are old http://www.oracle.com/us/corporate/contracts/license-service-agreement/license-service-agreement-070712.html

    • Thanks for comment Paul.

      “Oracle literally just mean datafiles–if you replicate redo logs and/or control files”

      Ha… I would be definitely questioning it. But hey, I’ve seen lots of subjective interpretation the licensing rules so it definitely depends who do you ask!

      Thanks for digging out the link to OLSA. Interesting that there no USA OLSA referenced there.

  • [...] of world’s leading Oracle Ustaad, Alex Gorbachev has produced an insightful post about Storage Replication for Oracle Database and [...]

  • Damien says:

    How it is possible to buy Oracle Database license for a storage array (assuming OS, binaries and data’s are stored on the array)? On your DR site, if you don’t present the replicated volume (replicated volume is passive, it need to be promoted to a server to be usable), how it is possible to buy something? On which criteria? When disaster recovery plan need to be started, simply move licences from the lost production server to the recovery server. For DR testing, use your 2 days, 4 times yearly testing rights. Isn’t it ?

    • Eric says:

      I have the same concern as Damien here.

      Also I didn’t find any definition of INSTALL…
      runInstaller has been run? Not clear at all.

      • Eric, I can’t get into legal speak here. My *personal* interpretation is that installed binaries are ready to use and code used at least once whether by running any script or a binary. One might argue that it’s enough to be installed with intention to use from that location but I don’t know how valid or invalid it is.

        I do believe that binaries copies to the backup destination are not considered “installed”.

    • Damien, I don’t think it’s possible or *needed* to license a storage array even though they are often just servers running OS and storage software. You are licensing database servers and not storage arrays. If you don’t have volumes presented to a server — you should be good.
      And affirmative to your DR testing plan.
      Having said all that — by any means don’t take it as a licensing advice. I’m not a qualified licensing lawyer to do that.

  • Thanks for you detailed post. But checking of official rules from Oracle rise a new question.

    In the past few months, Oracle Sig was updated and a new separate document establishes rules for Failover.

    Mostly, “One Disk Array” has been remplaced by “one Single Storage/SAN” which can be confusing as there is no definition for Storage/SAN. For example, I use a Netapp Metrocluster stretched over 2 sites. Can I use this Metrocluster in a failover cluster with 2 nodes, one by site?

    Regards.

    Daniel

Leave a Reply

  • (will not be published)

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>