For an application we want to achieve zero database and application down time using Active Active configuration. Our dB is Oracle

Following are my questions:

  1. How can we achieve active active configuration in Oracle?
  2. Will introducing Cassandra/HBase(or any other No SQL dbs) cloud help in zero downtime or it is only for fast retrieval of data in a large db?
  3. Any other options?

Thanks and Regards, Hiral


There's no such thing as zero downtime. Set a realistic goal (say, five nines uptime), and plan around that. If you beat your target, great, but promising a system will never, ever go down can trap you in a state where it's impossible to make major architectural upgrades necessary to continue maintaining the system at reasonable expense.


The main consideration for zero (or close to) downtime is the amount of update activity. Updates (and deletes) conflict in ways that inserts don't.

Level 1. Database is pretty much totally read only (eg used for a Content Management System). This is the easiest to replicate.

Level 2. Only Inserts on a single node which get distributed to other 'read-only' nodes.

Level 3. Only inserts sharded (eg one node takes updates for America, another for Europe, a third for Asia...).

Level 4. Inserts/Updates/Deletes on a single node which get distributed to other 'read-only' nodes.

Level 5. Inserts/Updates/Deletes sharded (eg one node takes updates for America, another for Europe, a third for Asia...).

Level 6. Inserts on multiple nodes distributed to all other nodes.

Level 7. Inserts/Updates/Deletes on multiple nodes distributed to all other nodes.

At level 6/7 I'd be looking into NoSQL solutions. Maybe level 3 and 5 if I though the sharding mechanism might not be sustainable for longer timeframes.

Level 7 is practically impossible to achieve high nines availability. Ultimately you'll get person A trying to update stuff on node 1 at exactly the same time as person B is updating it on node 2....and then you'll lose node 1.