Ahmet,

"ParallelDB load balancers are designed to provide
load balancing and failover on top of parallel
databases such as Oracle Parallel Server or Middle-R.
It means that read and write request are just sent to
one alive backends, the parallel database being
responsible for maintaining the consistency between
the backends."

I could not find a configuration for only failover. As
stated above parallelDB load balancer should send
requests to one alive backend  but it does not work
like this. It changes the DB for every querry and it
writes to both backends. It also reads from both
backends. I would like to disable write on secondary
DB. Is this possible or is there a way to enable other
backend in case of failure?

Backends are replicated OracleDBs.
ParallelDB distributes the requests among the replicas of a replicated database so it distributes reads and writes according to a policy (currently Round-Robin or LPRF). We just make sure that writes are not broadcast but just sent to 1 backend (but this can be any of the active backends). It looks like what you are looking for is more a master/slave load balancer that would always send data to the master until it dies in which case you would switch to the slave. Another approach would be to send the writes only to the master and reads to the slave(s). The main issue with a master/slave load balancer is that you want the new master election to be the same on both Sequoia and the underlying replicated db (especially if there is more than 1 slave to choose from to promote it as the new master). I am not sure how that interaction would work.

Let me know which solution would suit best your setup. For the replication of Oracle are you using RAC or a master/slave solution?

I used the virtual DB conf below

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE SEQUOIA PUBLIC "-//Continuent//DTD SEQUOIA
2.10.10//EN"
"http://sequoia.continuent.org/dtds/sequoia-2.10.10.dtd";>

<SEQUOIA>
<VirtualDatabase name="AppMgrDB">

    <AuthenticationManager>
      <Admin>
        <User username="user" password="jdbc"/>
</Admin> <VirtualUsers>
        <VirtualLogin vLogin="user" vPassword="jdbc"/>
      </VirtualUsers>
    </AuthenticationManager>

    <DatabaseBackend name="db0"
driver="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@47.168.58.35:5121:mcpdb"
connectionTestStatement="select * from dual">
      <ConnectionManager vLogin="user" rLogin="sduser"
rPassword="passwd_04">
        <VariablePoolConnectionManager
initPoolSize="40"/>
      </ConnectionManager>
    </DatabaseBackend>
<DatabaseBackend name="db1"
driver="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@47.168.58.38:5121:mcpdb"
connectionTestStatement="select * from dual">
      <ConnectionManager vLogin="user" rLogin="sduser"
rPassword="passwd_04">
        <VariablePoolConnectionManager
initPoolSize="40"/>
      </ConnectionManager>
    </DatabaseBackend>

    <RequestManager>
<RequestScheduler>
         <SingleDBScheduler level="passThrough"/>
      </RequestScheduler>

      <RequestCache>
         <MetadataCache/>
         <ParsingCache/>
         <ResultCache granularity="table"/>
      </RequestCache>

      <LoadBalancer>
         <ParallelDB>
           <ParallelDB-RoundRobin/>
         <ParallelDB>
      </LoadBalancer>

</RequestManager> </VirtualDatabase>

</SEQUOIA>



Thanks for your interest in Sequoia,
Emmanuel

--
Emmanuel Cecchet
FTO @ Frog Thinker Open Source Development & Consulting
--
Web: http://www.frogthinker.org
email: [EMAIL PROTECTED]
Skype: emmanuel_cecchet

_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia

Reply via email to