H200892E - Advanced Database MNGNT Assignment 1
H200892E - Advanced Database MNGNT Assignment 1
PART: 4.1
LECTURER: MR NYAMUGUDZA
ASSIGNMENT No: 1
Examine high availability methods that are found in Oracle or SQL server Database.
High availability is crucial for ensuring that your database stays up and running, even in the
event of failures or issues. SQL Server is a Microsoft Relational Database Management
System that allows individuals and companies to store data in rows and columns. Since it
supports transaction processing and Business Analytics applications, it is widely utilized by
organizations. Oracle is uniquely positioned in the industry by offering customers a
comprehensive set of database high availability capabilities that seamlessly work together to
help reduce both planned and unplanned downtime.
When it comes to Oracle and SQL Server, there are a different high availability methods to
choose from. For Oracle, there is Oracle Data Guard which involves replicating your
database to a standby server. From this one, you have a backup ready to take over if the
primary server fails. Data Guard maintains these standby databases as transactionally
consistent copies of the production database. Then, if the production database becomes
unavailable because of a planned or an unplanned outage, Data Guard can switch any standby
database to the production role, thus minimizing the downtime associated with the outage.
In SQL Server, there is SQL Server Always On Availability Groups. This uses multiple
servers to ensure that your database is always available, even if one server goes down. Unlike
Failover Clustering, Availability Groups don’t need shared storage, which is especially
important if a customer is looking to host in the cloud and the cost savings should please their
finance director. Also, they don’t operate at the SQL instance level. Rather, they get right
down to the individual databases.
Oracle Real Application Clusters (RAC) is another high availability method found in
Oracle. This uses multiple servers to balance the load on your database and it can
automatically switch to a different server if one fails. Oracle RAC enables multiple instances
that are linked by an interconnect to share access to an Oracle database. In an Oracle RAC
environment, Oracle Database runs on two or more systems in a cluster while concurrently
accessing a single shared database.
SQL Server Log Shipping is one of the high availability method found in SQL Server. This
involves replicating your database logs to a standby server so that if your primary server fails,
the standby server can take over. Rather than just copying actual database objects like tables
and stored procedures, it uses the transaction logs (these record everything that happens in the
database) as a source of information, ships everything over, and writes to the one or more
Secondary SQL Servers. Below is an example of a Log Shipping configuration with the
primary server instance, and two secondary server instances.
Oracle Streams is another high availability method found in Oracle Server. Oracle Streams
allows you to propagate and manage data, transactions, and events in a data stream, either
within a database or between databases. Streams is a collection of elements that allow users
to manage what information is put into a data stream, how the stream is routed from node to
node, what happens to events in the stream as they come into each node, and how the stream
terminates.
SQL Server Failover Clustering is another high availability method found in SQL Server.
This uses multiple servers that are configured to work together so that if one server fails,
another can automatically take over. Below is an example of a Microsoft SQL Failover
Cluster configuration, where Node 1 is currently active
However, these methods have pros and cons. For instance, Oracle Data Guard is easy to
setup, good for disaster recovery but it can be costly and complex to manage. Also on SQL
Server Always On Availability, it has an advantage of highly availability and scalability and
its disadvantage is that it is complex to set up and require additional licences. Failover
Clustering in SQL Server has also its pros which are easy to set up and good for mission-
critical applications. The cons are that it has limited scalability and can be expensive.
REFERENCES