Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: High availability and upgrades
Hi!
Is this your own-written app?
If you want performance, control and
no-data-loss reliability:
1) Have 2 completely independent
databases
2) Have your application servers
multiplex
all DML requests to both
database servers
That means, if your
client inserts something,
then app layer does one insert
on first DB
and the same insert in
second DB too.
It can be more efficient
than standby
database in maximum
protection mode,
because DMLs are sent to
databases
parallelly, not through
primary to standby.
Depending on application you
could commit
done either when both servers
acnowledge
commit, or when only one
acknowledges it.
In that case you could check
whether second
instance managed to commit
when next request
is sent to it. That could
give some
performance practically
without losing any
reliability
features.
Also, since you now have
two identical
databases, you
can make your app servers
load balance
the selects.
3) Before you shut down one database for
maintenance, you first
configure your
app servers to use only one
database
AND set change logging on on
active DB.
There are several ways for
change logging,
starting from customer
triggers ending
with logminer.
4) When you bring second db up again
you
first synchronize all changes
manually,
several times if needed, and
when the
log of changes is sufficiently
low you
just halt both app servers for
very short
time, do the final
synchronization and
activate both databases
again.
If you upgrade your application, will you
change the schema as well?
Then you must move from physical to logical
level, where you have some kind of mapping, which columns of old tables match
columns in new tables.
That way you have two separate fully
functional databases, no Stanby or RAC restrictions or additional licence costs
etc. If you have a packaged 3rd party app, then my post is quite useless, but
the idea should be ok.
Tanel.
----- Original Message -----
From: "Paul Baumgartel" <<A
href="mailto:[EMAIL PROTECTED]"><FONT face=Arial
size=2>[EMAIL PROTECTED]>
To: "Multiple recipients of list ORACLE-L"
<<FONT face=Arial
size=2>[EMAIL PROTECTED]>
Sent: Thursday, July 10, 2003 8:59 PM
Subject: High availability and
upgrades
<FONT face=Arial
size=2>> We're considering high availability options. One of our
requirements> is to be able to take one database offline (i.e., direct
all> application connections to a second database server), perform
database> and application upgrades, and perform a few hours' worth of
tests> before bringing it back online. We would then take the
second database> offline and repeat the procedure.> > We've
tried Data Guard logical standby but it's incompatible with Label>
Security (which we plan to run), presents performance problems, and has>
a number of bugs. We'd like to use the secondary database for>
reporting as well, so a physical standby isn't practical.> > RAC
doesn't give us a second database copy.> > Multimaster replication
requires that changes to replicated objects be> made via
DBMS_REPCAT.ALTER_MASTER_OBJECT, which propagates the changes> to all
masters at once.> > We haven't tested Streams yet. >
> I'd be interested in hearing of any experiences from those who have
the> same or similar requirements.> > Paul
Baumgartel> > > __________________________________>Do you Yahoo!?> SBC Yahoo! DSL - Now only $29.95 per month!> <FONT face=Arial
---------------------------------------------------------------------> ToREMOVE yourself from this mailing list, send an E-Mail message> to: <FONT face=Arial
![]() |
![]() |