[Nov 6 Update: Our High Availability team has suggested some additional uses for Active Data Guard in E-Business Suite environments. Article updated with those additional use cases.]
Given the number of questions I've fielded about Active Data Guard through other channels, it was inevitable that my recent article about strategies for handling EBS reporting loads would prompt questions about its compatibility with the E-Business Suite.
The answer to this deceptively-simple question is only meaningful if you understand what's happening behind the scenes when users log into the E-Business Suite. This article compares the operational implications of using Oracle Active Data Guard versus Oracle Data Guard in E-Business Suite environments.
What Is Active Data Guard?
Active Data Guard is a new option for Oracle Database 11g Enterprise Edition. From its official product literature:
Oracle Active Data Guard enables read-only access to a physical standby database for queries, sorting, reporting, web-based access, etc., while continuously applying changes received from the production database.
I've emphasized the read-only nature of the replicated database because of this feature's implications for E-Business Suite environments. But first, a little background.
Behind the Scenes: Logging Into the E-Business Suite
In the E-Business Suite world, every user is assigned one or more responsibilities. These responsibilities govern the E-Business Suite applications (i.e. menu functions) and data that a given user can access. For example, as a manager, I might be assigned responsibilities that allow me to review my employees' compensation and approve their expense reports. I'm also an employee, which means that I can review my own payslips and file new expense reports.
Every time anyone logs into a running E-Business Suite instance, the following things happen:
-
Their authenticated credentials are checked against their assigned E-Business Suite responsibilities.
-
A user session is created in the E-Business Suite database.
- All activities are logged for audit and tracking purposes, even queries against existing data.
This level of security prevents E-Business Suite unauthorized users from, say, assigning stock options to themselves. It also provides an audit trail in case someone abuses their position by attempting to cook the books in the midst of a financial industry meltdown.
This also applies to the use of external reporting tools like Oracle Discoverer. Discoverer users must log into the E-Business Suite instance, which checks their assigned responsibilities to prevent users from running reports against data that they're unauthorized to view.
So What About Active Data Guard?
Putting this together:
- Active Data Guard makes a read-only replication of a given database.
- Even the simple act of logging into an E-Business Suite database requires write access.
Therefore, it may be possible to use Active Data Guard to replicate an E-Business Suite database, but there's not much benefit in doing so if your objective is to offload reporting functions from your production environment. After all, if you have an Apps read-only database that you can't access, it's not all that useful for creating standalone databases for reporting purposes.
Nov 6, 2008 Update: Note that this limitation precludes the use of Active Data Guard if you're interested in creating a reporting instance that requires read-write EBS access. However, nothing stops you from using Active Data Guard as part of your failover strategies for your E-Business environments. For example, you can use Active Data Guard to make a read-only copy of your production E-Business Suite environment; in the event of failover, that environment would fail over to the Active Data Guard database thus opening it to normal read-write EBS operations.
If course, this means that you might ask, "Besides that failover scenario, why do I care about Active Data Guard if I can't really use the physical standby in read-only mode? Two possible ways that the Active Data Guard standby could still provide incremental value compared to a regular physical standby are:
- If you use any read-only reporting scripts or packages, you can now direct those to the Active Data Guard physical standby.
- Another component of the Active Data Guard option is that it enables RMAN fast incremental backups on the Active Data Guard physical standby (i.e. basically supporting RMAN block change tracking file on the physical standby). This is another potential way of offloading some processing from the production database to the standby database.
What Works for Reporting Instances: Data Guard Redo Apply With Physical Standby Databases
As an alternative to Active Data Guard for creating reporting instances, we support the use of Oracle Data Guard. From its official product literature:
Oracle Data Guard is the management, monitoring, and automation software infrastructure that creates, maintains, and monitors one or more standby databases to protect enterprise data from failures, disasters, errors, and corruptions.
Data Guard maintains these standby databases as synchronized copies of the production database. These standby databases can be located at remote disaster recovery sites thousands of miles away from the production data center, or they may be located in the same city, same campus, or even in the same building. If the production database becomes unavailable because of a planned or an unplanned outage, Data Guard can switch any standby database to the production role, thus minimizing the downtime associated with the outage, and preventing any data loss.
Specifically, we support the use of Oracle Data Guard Redo Apply with physical standby databases for E-Business Suite environments. We do not support the use of this feature with logical standby databases due to the lack of Oracle LogMiner support for certain datatypes used in the E-Business Suite.
Our Maximum Availability Architecture team has put together some excellent papers describing various certified Data Guard configurations for Oracle E-Business Suite Release 11i and 12. For more details, see:
- Business Continuity for Oracle Applications Release 12 on Database Release 10gR2 (MetaLink Note:452056.1)
- Transitioning E-Business Suite to the Maximum Availability Architecture with Minimal Downtime: E-Business Suite 11 i .10.2 and Database 10 g R2 (PDF, 569K)
- Maximum Availability Architecture and Oracle E-Business Suite Release 11i (Metalink Note 403347.1)
Related Articles
Comments (24)
Steve,
This is a great article, thanks a lot. I asked you this question sometime back, so it was nice to see an article on this.
However, a lot of typical EBS environments have a lot of reporting needs (in our case, we have Discoverer, Oracle 10g reports, Brio etc). These application are pure read-only and do account for over 50% of our system load. The new active data guard feature of 11g might be of great benefit to an environment like ours. Do you think you should jst clarify this for everybody's sake?
Thanks.
Naveen Garg
Posted by Naveen | October 11, 2008 10:08 AM
Posted on October 11, 2008 10:08
Hi, Naveen,
As I noted above:
This also applies to the use of external reporting tools like Oracle Discoverer. Discoverer users must log into the E-Business Suite instance, which checks their assigned responsibilities to prevent users from running reports against data that they're unauthorized to view.
This also applies to Oracle Reports, too. Both Discoverer and Oracle Reports require an E-Business Suite environment that can create an ICX session before generating a report. You cannot run Discoverer or Oracle Reports against a read-only EBS database.
I'm afraid that I can't comment authoritatively on how Brio works. I would speculate that Brio has the same limitations as any other reporting tool. You may wish to check with Brio Support on whether their products are compatible with Active Data Guard databases.
Regards,
Steven
Posted by Steven Chan | October 13, 2008 12:20 PM
Posted on October 13, 2008 12:20
Steven,
Thanks for this post. Although it's been nice to surprise my clients with this solution, I'm glad to see it's got the blessing from Oracle Support and will hopefully gain wide wide acceptance :D
Posted by Jay Weinshenker | October 14, 2008 5:40 AM
Posted on October 14, 2008 05:40
Steven,
So if I understand this note correctly, neither 10g nor 11g data guard features will allow 'native' Oracle E-Business type reports (XML, Discoverer, 10gReports) to run against the "standby" environment. Correct?
I understand the scale up approaches but having a significant amount of hardware in a DR site for standby does not maximize the use of all available hardware. With 11g and Active Data Guard, however, couldn't we develop queries/reports using non-EBusiness tools like OBIEE or BI Publisher and treat the E-Business 11g standby database as the source?
thx,
John
Posted by John Stouffer | October 14, 2008 7:30 AM
Posted on October 14, 2008 07:30
Hi, Jay,
"Blessing from Oracle Support"? I suppose so, since we establish the base certifications here in Oracle Development.
If there are any conflicts between the response you're getting from Oracle Support and the guidance that we publish here in Oracle Development, please feel free to let me know.
Regards,
Steven
Posted by Steven Chan | October 14, 2008 9:31 AM
Posted on October 14, 2008 09:31
John,
I appreciate the concerns about unused capacity in the DR instance.
We need to be careful about the product references. "Oracle Data Guard" supports the use of "native" reporting tools against standby environments, since those environments allow read-write access.
"Oracle Active Data Guard" creates read-only environments, which prevent the use of "native" reporting tools with E-Business Suite databases created by this technology.
If you use "Oracle Data Guard" (and not "Oracle Active Data Guard") for your EBS disaster recovery instance, then the DR site can be used for reporting purposes.
Regards,
Steven
Posted by Steven Chan | October 14, 2008 9:37 AM
Posted on October 14, 2008 09:37
Hi Steven,
Could you please elaborate on your comment:
If you use "Oracle Data Guard" (and not "Oracle Active Data Guard") for your EBS disaster recovery instance, then the DR site can be used for reporting purposes.
As in EBS environment we can only use physical standby. The database is in a mount mode and it is not open, so how could it be used for reporting purposes.
Thanks, Sandra
Posted by Sandra Vucinic | October 27, 2008 12:22 PM
Posted on October 27, 2008 12:22
Hi, Sandra,
You're quite right, and I didn't mean to mislead readers with potentially-confusing statements. The disaster recovery database can only be used for reporting purposes if it's opened, i.e. you've got a fully functioning environment that allows end-users to access it via middle-tier reporting tools like Discoverer that have been configured to read from the DR database rather than the production database.
Regards,
Steven
Posted by Steven Chan | October 28, 2008 2:17 PM
Posted on October 28, 2008 14:17
Since RDBMS 6.0.33 and the pre-Oracle product customer built standby databases that rely only on the fully supported recovery model, it has been possible to cancel recovery (usually at a carefully chosen and consistent point in the business cycle such as the completion of the generation of receivables), shut down the standby, copy the standby database, and startup rename the copy of standby with reset logs. After the rename is complete the un-renamed standby may then be resumed. The frozen in time copy of standby may then be opened as the new database it is, and after appropriate surgery to the outstanding jobs tables (excising processing jobs, restoring saved pending report jobs from the previous cycle exported for the purpose, redefining the printers used, applications may be run just fine. Negotiating licensing for this particular topology has varied widely from circa 1994 when Oracle regarded it as an interesting alternative for a handful of its very large Apps customers who were pushing the boundaries of capability of the largest SMP configurations of the time to the present, when the appearance of cost savings by using Active dataguard without the need for one or more copies to create different vintages of the database to be used for varying durations has become vogue (within the limitations Steven has carefully noted). DISK IS CHEAP! The advantages to the accounting team of having a frozen reporting database are large as long as everyone understands what it is advantageous to run on the frozen copy.The ability to use standard concurrent manager reports of course requires an open writable copy. Of course the adopter of this topology needs to understand the difference between using entirely supported Oracle technology and the ability and (lack of) obligation of Oracle Support to help you make the ins and outs of the logistics of this sort of configuration work. Before Dataguard was developed into a product, I used to present a paper titled "Getting the most from your your standby recovery server." (Circa 1995). Since the commands and even syntax have drifted since then I hate to repost it, but the methodology and process stand the test of time.
In summary, Steven is exactly correct about the impracticality of running the Ebusiness Suite against "active dataguard," but the alternative of making a copy is entirely workable and allows effective use of the horsepower left idle by the efficiency of roll forward on equipment sized to handle switchover or failover with no degradation in service.
Regards,
mwf
Posted by Mark W. Farnham | November 5, 2008 1:29 AM
Posted on November 5, 2008 01:29
Our High Availability team has elaborated on my reply to Sandra about the use of Discoverer with Active Data Guard:
If the DR database is opened to be fully functional for Discoverer, it has to be opened read-write (to allow the log-in writes), and that in a Data Guard context typically means that the DR (i.e. the standby) database has been "activated" (or failed over to), at which point it ceases to be a DR database, and becomes a new primary database. In other words, a physical standby database can't be open read-write - whether in a regular Data Guard configuration, or Active Data Guard configuration, and hence Oracle Data Guard does NOT support the use of native EBS reporting tools (that require read/write access) against the standby environments.
I hope that clarifies things further; feel free to let us know if you have additional questions about this.
Regards,
Steven
Posted by Steven Chan | November 6, 2008 1:44 PM
Posted on November 6, 2008 13:44
Thanks Steven. All comments posted clarify reporting options available for EBS Data Guard enabled (physical standby) database.
Sandra
Posted by Sandra Vucinic | November 6, 2008 8:04 PM
Posted on November 6, 2008 20:04
Hi Steven,
Can Snapshot Standby mode serve the purpose of reporting instance (with some limitation)?
Snapshot standby database is an Oracle 11g new feature, which allows the use of a physical standby database in read write mode for a short period of time (Ref. Metalink Note 443720.1).
Instead of opening 11g Physical Standby database in Read Only mode we can open it in Snapshot Standby mode during peak hours and allow user to run report on it.
Major disadvantage:
1) All local updates (including any report generated during this period) will be discarded when snapshot database is converted back to physical standby database.
2) Once the snapshot standby is activated this database diverges from its primary database over a time because redo data from the primary database is not applied. But Data from the primary database is always protected, as the redo logs are being received and applied automatically once it is converted back into a physical standby database.
Regards
Chirag
Posted by Chirag | January 6, 2009 7:16 AM
Posted on January 6, 2009 07:16
Dear Steven,
Please refer the comment made by Chirag above. Kindly let us know your thoughts.
Regards
Daminda
Posted by Daminda Wanasundera | January 7, 2009 2:16 AM
Posted on January 7, 2009 02:16
Chirag, Daminda,
We haven't explicitly tested Snapshot Standby mode with the E-Business Suite, but it is assumed to work without any issues. Your observations about the feature's possible disadvantages are correct.
If you encounter any issues with the use of this feature with EBS, please log a formal Service Request and drop me an email with the details. I'll ensure that our database architects in EBS Development work with Support on any critical issues.
Regards,
Steven
Posted by Steven Chan | January 7, 2009 1:25 PM
Posted on January 7, 2009 13:25
Hi Steven,
Is R12 using 11g redo apply as physical standby database is certified configuration? In your certification page only 10.2.0.3 and 10.2.0.4 are certifed dataguard with EBS. However, I read quite a few articles about using EBS with 11g dataguard as standby. Can you please clarify?
Posted by Kam Chan | April 22, 2009 6:05 AM
Posted on April 22, 2009 06:05
Hi, Kam,
I'd presume that this would work, but our team hasn't had a chance to test this configuration yet. As a result, we haven't published any formal best practices recommendations on how to implement this in an EBS environment yet.
My recommendation would be to wait until we've published some documentation for this. You're welcome to monitor or subscribe to this blog for updates.
Regards,
Steven
Posted by Steven Chan | April 22, 2009 9:25 AM
Posted on April 22, 2009 09:25
Hello Steve
I have couple of suggestions for e-biz suite. Am sure this will take long time to implement.
To make DR sites available for reporting for e-biz suite easiliy we can think of the following:
1. Make the logical standby database as an option. I know this is not considered because of usage of ROWIDs etc in e-biz suite. But in the long term we should make sure that this restriction is removed. If we don't plan to remove this restriction then we should promote partner technology like GoldenGate to do that job for us. Ofcourse DataGuard will not be used in that case.
2. Have a separate DB instance for user login's, roles/entitlements and audit logs. This might add some performance overhead but in a DR configuration, we can have this 'control' instance being updated via the "Real Time Apply" method of DataGuard. Oracle Streams could also be used to keep the this 'control' instance in sync with the master node.
The other database which actually contains all the application specific tables etc can then be placed under "Active Data Guard" and thus be used for reporting.
Regards
Prakash
.
Posted by Prakash | May 6, 2009 7:31 AM
Posted on May 6, 2009 07:31
Hello, Prakash,
Thanks for your suggestions. You're right: these would entail some rather significant architectural changes and would not likely be considered for either the Release 11i or 12 codelines at this point.
Nonetheless, EBS customers wishing to use Active Data Guard still have other options for doing so, as described above.
Regards,
Steven
Posted by Steven Chan | May 20, 2009 9:12 AM
Posted on May 20, 2009 09:12
Would the following scenario work?
The aim is to move Discoverer users from the EBS database to a standby database environment. We propose to use active standby database in the following way.
1. Create active standby database
2. Discoverer EUL remains in the production EBS database
3. The Discoverer data source is configured as the active standby database.
Posted by Dave Bennett | May 21, 2009 7:01 AM
Posted on May 21, 2009 07:01
Hi, Dave,
Yes, this would work. Remember that the active standby database will be read-only while it's being mirrored with your production database. EBS Discoverer users need to open that database in read-write mode to get access to the Disco EUL.
You'll need to temporarily suspend the active standby process and open the standby database as a regular database to allow Discoverer users to perform their queries. Once the reporting window is done, you'll need to flip the database back into active standby mode and roll forward the transactions that took place while the mirror was suspended.
Regards,
Steven
Posted by Steven Chan | May 22, 2009 12:00 PM
Posted on May 22, 2009 12:00
Steve,
Curious if we can "implement" around this limitation. How about implement Read Only responsibilities in eBiz Suite that are tied to the Active Dataguard instance?
This way the authentication and hopefully all the (FND, etc..) writes happened in the regular primary database but the user switched to the Active Dataguard database by switching over to the Read Only responsibility.
Appreciate the insights.
Posted by Dhanraj Pondicherry | June 16, 2009 3:38 PM
Posted on June 16, 2009 15:38
Hi, Dhanraj,
There are no workarounds to avoid this Active Data Guard limitation right now. We're investigating options with the Active Data Guard team; I'll post more details when we get further into this research.
Regards,
Steven
Posted by Steven Chan | June 17, 2009 8:39 AM
Posted on June 17, 2009 08:39
We are on 11.5.10.2/10.2.0.2 and have a requirement for a DR database that can also be used as a Disco 10G reporting database. The DR database will only have logs applied everyday at midnight. People reporting against the DR database will see the data from the day before. If failover is required the company is fine that it is failing over to data that is only current up through midnight.
My plan was to open the database read/write after the logs have been applied at midnight. Just before the next midnight log apply I would flashback the database to the state it was in before opening it read/write and then let Data Guard update the logs files.
Would this scenario work out?
Thanks - Jeff
Posted by Jeff Slavitz | June 17, 2009 9:44 AM
Posted on June 17, 2009 09:44
Hello, Jeff,
Your proposed approach sounds like it would be very workable. This is the general approach that our architects have brainstormed internally (for which we'd like to be able to provide whitepapers or cookbook implementation guides). I've also heard anecdotal reports from a number of other customers have taken the same approach, too.
The only practical consideration I'd add is about your current 10.2.0.2 database level. You should note that that database version is no longer in Premier Support. In fact, the 10.2.0.3 database version left Premier Support in February, 2009. So, your best bet for staying on a supported database version would be to move up to 10.2.0.4 or 11.1.0.7.
I'd be very interested in hearing about your experiences in deploying this configuration.
Regards,
Steven
Posted by Steven Chan | June 18, 2009 1:36 PM
Posted on June 18, 2009 13:36