RE: question on data guard

  • From: "Mark W. Farnham" <mwf@xxxxxxxx>
  • To: <oracle.developer35@xxxxxxxxx>, "'Mikhail Velikikh'" <mvelikikh@xxxxxxxxx>
  • Date: Thu, 4 Feb 2021 16:35:44 -0500

The keyword being “temporary.”

 

Now, prior to 12.?not_sure?, you could stand up a different database, enable 
“active” dataguard on the actual standby so that you can read from it, and use 
the extra database on the standby machine as the query engine, including using 
gtt and any other temporary aggregates you want to make understanding they will 
never flow back to the production database. The “between databases” network 
overhead on the same physical machine can be dramatically less than the between 
databases overhead between databases on different machines.

 

The strategy for doing this from ancient history was to pause recovery on the 
standby, clone the whole thing, start up the clone with the new name, and then 
resume recovery (still being the same thread, ie. same database, and still a 
recovery database of the original). The clone is then frozen in that point in 
time until the next time you clone it, rather than being dynamically updated. A 
number of my clients found that useful and the most common method was to do the 
clone once per night (after the generate receivables process was complete and 
flushed to the standby), and sometimes an additional copy at month end. The 
accounting folks tended to like it that things were NOT dynamically changing 
under them and the flash sales folks enjoyed their jobs NOT competing with the 
yesterday, last week, and last month reports on the DSS machine.

 

Other folks prefer the data up to the minute for all their queries, but I have 
never successfully gotten an answer to what their goal was considering the data 
should not be changing for most of the reports they were running and that there 
was plenty of horsepower on the primary machine for any flash reports and all 
the transactions.

 

Since you’re only talking about temp DML servicing read queries, a lot of 
things open up for you prior to 12.x, and I think the thread already has the 
gtt temp as a by-product of queries and destination “reflection” to the primary 
stuff in later revisions. I believe the intent of that is so that you can run 
things like the concurrent manager on the standby marking little things like 
report complete on the job schedule and results tracking tables back on the 
primary.

 

Finally, if you’re building this in to use idle capacity on the standby, 
remember that if you need to do a production switchover for even preventive 
maintenance and planned on the primary, you may need to have a job triage plan, 
because your actual horsepower no longer includes some things being done on the 
standby machine. This can be a big friggin’ deal, so be careful.

 

From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On ;
Behalf Of Pap
Sent: Thursday, February 04, 2021 3:32 PM
To: Mikhail Velikikh
Cc: andrew.kerber@xxxxxxxxx; Oracle L
Subject: Re: question on data guard

 

I saw a few blogs stating the DML on standby possible on the global temporary 
table on a physical standby if temp_undo_enabled set to TRUE and it's on 12.1. 
Not seeing any such in doc though for 11.2., but is it also possible on 
11.2.0.4 to perform DML/INSERT into a global temporary table on DR or its 
strictly in 12.1+ versions?

 

On Thu, Feb 4, 2021 at 7:28 PM Mikhail Velikikh <mvelikikh@xxxxxxxxx> wrote:

Oracle introduced Active Data Guard DML Redirection in 19c: 
https://docs.oracle.com/en/database/oracle/oracle-database/19/newft/new-features.html#GUID-E2F2E0EE-D58B-4F9C-A7F8-301D9AEA34D8

Take a look if it fits the bill.

I could even work in 18c per Active Data Guard DML Redirection 19c (Doc ID 
2465016.1)

 

 

 

On Thu, 4 Feb 2021 at 13:41, Andrew Kerber <andrew.kerber@xxxxxxxxx> wrote:

If you want to run updates on the standby, it is not longer a standby. The only 
way to do this is with Golden Gate or similar technology (shareplex).

 

On Thu, Feb 4, 2021 at 12:20 AM Pap <oracle.developer35@xxxxxxxxx> wrote:

We are using data guard configuration and it's a physical standby for disaster 
recovery. The version is 11.2.0.4 of Oracle. My questions, we do use DR for 
querying many times, but is there any way we can use/open physical standby for 
DML also and so that both primary and DR will be in sync bi-directionally and 
we can utilize the DR/Standby database resources for our application queries? 

 

Thanks and Regards

Pap



-- 

Andrew W. Kerber

'If at first you dont succeed, dont take up skydiving.'

Other related posts: