Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Combining Data Guard with clustered redo logs for high performance standby

Re: Combining Data Guard with clustered redo logs for high performance standby

From: Dennis G Allard <allard_at_oceanpark.com>
Date: Tue, 16 Aug 2005 12:38:22 -0700
Message-ID: <430240AE.9050505@oceanpark.com>


Mark Bole wrote:
> Dennis G Allard wrote:
>

>> Mark Bole wrote:
>>
>>> Dennis G Allard wrote:
>>> [...]

> I think I understand what you are trying to do -- recover the physical
> standby with all available archived redo logs, then replace the standby
> control file with the primary control file, copy the primary online redo
> logs, and start up the database and let it perform automatic instance
> recovery as if it were the primary. I doubt it will work, but there's
> no harm in testing.

Actually, not 'copy' the redo logs. Instead, mount the physical partition containing the redo logs (etc.) on the Standby so that it now sees those files as its own. That is the essence of an active/passive cluster. What used to be files local to the Primary server become local files on the Standby after the Primary goes off line and the Standby mounts the partitions.

> Step back and consider your two main goals: you want guaranteed zero
> loss of committed transactions, and you don't want any performance
> penalty for copying those transactions to a second location in real
> time. I don't think it is possible in this case to get "something for
> nothing". Have you measured the actual impact of the performance
> penalty? Have you measured the actual impact of losing, say, ten
> minutes worth of transactions once every three years?

In our case, I do agree that we can 'afford' to lose some transactions if it is very rare. But I also believe that the new clustering technologies (such as Red Hat Linux Cluster Suite) will make it possible to have ones cake and eat it too!

I have scoured the web and USENET and Oracle docs. I am now convinced that this form of active/passive cluster database failover is not in common use. However, I see no reason that it cannot be implemented.

>
> If you trust your external storage array, why not put your whole
> database on the external array, since you are already putting the
> control files, online, and archived redo logs there? Do you know that

As a matter of fact, I have decided to do just that! Because then I could use the active/passive failover technique by simply installing Oracle on a backup server but keep it turned off. Fail over would cause the backup server to mount the external disks and bring Oracle up (and, for that matter, take over the IP of the failed primary server).

> having a physical standby requires another full Oracle license (false
> claims to the contrary not withstanding)? Do you know that Oracle

I just attended Linux Expo in San Francisco last week. Oracle reps stated that they have a 'ten day rule' -- as long as you don't use the standby server database more than ten days in the year, there is no license fee.

> recommends never backing up online redo log files, which is very similar
> to what you are trying to do? Why not just set your archive lag target

Again, I'm not copying redo logs. I'm merely remounting them to a different CPU box. I agree there is no point in backing up redo logs (as opposed to archived redo logs, which, of course, one should backup back to at least the last hot or cold backup of the database).

> to 10 minutes and maintain the physical standby in a geographically
> separate location, which will take care of many, many more scenarios
> than the few you are trying to address, and is supported too? If you

My only issue with Data Guard is the potential performance hit. It seems you agree that using LogXptMode = SYNC is expensive but ASYNC or ARCH modes are tolerable. Is that correct?

> look at it from a business point of view, rather than technical, you'll
> be better off in my opinion.

I agree. My current plan is to use a Standby (ten day rule) in ASYNC mode. If I can set the lag to ten minutes, fine (I have to dig into the Data Guard docs now to see how that is done). If it is possible to dynamically change from ASYNC to SYNC modes, I would run the system in SYNC mode for most daily operations but in certain circumstances when we have higher database use (the nature of our application is such that we get spikes in usage) I would turn down the volume and use a higher lag time.

Do you know if I can dynamically modify the lag time?

thanks for your help,
Dennis

>
> -Mark Bole
>
Received on Tue Aug 16 2005 - 14:38:22 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US