Features
|
Real Application Clusters (RAC)
|
Dataguard
|
Streams
|
Advance Replication
|
Basic Replication
|
|
Topic of Comparison
|
Physical Standby
|
Logical Standby
|
Multi-Master Replication
|
Updatable Materialized
Views
|
Read-only Materialized
Views
|
|
Description
|
Allows the Oracle database to run
applications across a set of clustered servers.
|
Provides a physically identical
copy of the primary database, with on disk database structures that are
identical to the primary database on a block-for-block basis.
|
Contains the same logical
information as the production database, although the physical organization
and structure of the data can be different.
|
Enables information sharing in
form of stream of messages. Enables the propagation and management of data,
transactions, and events in a data stream.
|
(Also called peer-to-peer or n-way
replication) Enables multiple sites,
acting as equal peers, to manage groups of replicated database objects.
|
Provides complete or partial copy
(replica) of a target table from a single point in time. Enable users to work
on a subset of a database while disconnected from the central database
server.
|
Provides complete or partial
read-only copy (replica) of a target table from a single point in time.
Enable users to view a subset of a database while disconnected from the
central database server.
|
Purpose
|
- High availability
- Scalability
- Redundancy during failures
|
- Data protection
- Disaster recovery
|
- High availability
- Data protection
- Disaster recovery
- Efficient use of redundant
hardware
|
- Data distribution
- Data sharing
|
- Data sharing
|
- Data distribution
- Sharing subset of data with
update access.
|
- Data distribution
- Sharing subset of data in
read-only mode.
|
|
Hardware
|
All nodes must have hardware that
runs same OS.
|
All sites must have hardware that
runs same OS.
|
All sites must have hardware that
runs same OS.
|
Servers with different hardware
can be used.
|
Servers with different hardware
can be used.
|
Servers with different hardware
can be used.
|
Servers with different hardware
can be used.
|
|
OS
|
Same OS on all nodes including
Patchset release
|
Same OS. Patchset release can be
different in different sites.
|
Same OS. Patchset release can be
different in different sites.
|
Can be used with different OS
|
Can be used with different OS
|
Can be used with different OS
|
Can be used with different OS
|
|
Oracle Software
|
Same version on all nodes
including Oracle Patchset release
|
Same version on all nodes
including Oracle Patchset release
|
Same version on all nodes
including Oracle Patchset release
|
Can be used with different Oracle
versions
|
Can be used with different Oracle
versions
|
Can be used with different Oracle
versions
|
Can be used with different Oracle
versions
|
|
Feature Specific Terms
|
Servers involved in RAC
configuration are generally known as Nodes. High-speed link between nodes is
called Interconnect.
|
Primary and Standby database
servers are generally known as Primary Site and Standby Site respectively.
|
Primary and Standby database
servers are generally known as Primary Site and Standby Site respectively.
|
Database from where changes are
captured is called source or capture site. Database from where changes are
applied is called destination or apply site.
|
One database where Replication
Administrative activities can be performed is called Master Definition Site.
All other replicated databases are called Master sites.
|
Database with Master table is
called Master Site or Target Site. Database where Materialized view is
created is called Materialized view site.
|
Database with Master table is
called Master Site or Target Site. Database where Materialized view is
created is called Materialized view site.
|
|
Database
|
Multiple instances linked by
interconnect to share access to an Oracle database.
|
One production database and one or
more physical standby databases.
|
One production database and one or
more logical standby databases.
|
Data stream can propagate data
either within a database or from one database to another.
|
Complete copy of replicated table
is maintained in multiple databases.
|
Updatable Materialized view is
created in database other than the one containing master table.
|
Read-only materialized view can be
created either within a database or in another database.
|
|
Data Storage
|
Single database on shared storage.
|
Primary site and Standby sites
have their own database.
|
Primary site and Standby sites
have their own database.
|
Source and Destination can either
be same database or they can be different databases.
|
All replicated master sites are
having their own databases.
|
Master table and Materialized
views are part of different databases.
|
Master table and Materialized
views can either be in same database or they can be in different databases.
|
|
Logical Database Structure
|
As there is one database, there is
one logical structure of the database.
|
As physical structure of the
database is exactly (block-by-block) same, the logical structure also remains
same in primary and standby databases.
|
When created, logical standby
database has same structure as primary. Later, additional schema/objects can
be created in logical standby database. However, original objects must remain
same as primary.
|
Streams provide flexibility to
have different structure of schema/objects at source and destination
databases. This can be accomplished
by using transformation of messages.
|
Logical structure of replicated
objects must be same. Owner of those objects must be same in all master
sites.
|
Both row and column subsetting
enable you to create materialized views that contain a partial copy of the
data at a master table. However, they are always based on a single master
table.
|
Both row and column subsetting
enable you to create materialized views that contain a partial copy of the
data at a master table. Read-only materialized views can be created using
join between multiple master tables.
|
|
Architecture Overview
|
A cluster comprises multiple
interconnected computers or servers that appear as if they are one server to
end users and applications. RAC uses Oracle Clusterware for the
infrastructure to bind multiple servers so that they operate as a single
system. If one clustered server fails, the Oracle database will continue
running on the surviving servers.
|
Standby database is kept
synchronized with the primary database, though Redo Apply, which recovers the
redo data, received from the primary database and applies the redo to the
standby database. If the primary database becomes unavailable, standby database
can be switched to the primary role.
|
Standby database is kept
synchronized with the primary database though SQL Apply, which uses logminer,
transforms the data from redo logs into SQL statements and then executing the
SQL statements on the standby database. If the primary database becomes
unavailable, standby database can be switched to the primary role.
|
Each unit of shared information is
called a message. Streams can capture, stage, and manage messages in Queue.
Messages can be DML, DDL and user-defined messages. Streams can propagate the
messages from one queue to other queue. When messages reach a destination,
Streams can consume them based on your specifications.
|
Internal triggers capture changes
applied at one site. The trigger stores those captured transactions locally.
The source master site pushes (propagates and applies) those transactions to
destination site.
|
Updatable Materialized view is a
view that stores view data in it's own storage. A push process that is same
as multi-master replication pushes updated data from MV site. However,
changes from master site are pulled by refresh site using refresh process.
|
Read-only Materialized view is a
view that stores view data in it's own storage. Data in materialized view are
refreshed by refresh process. Refresh process is initiated at Materialized
view site. Refresh process pulls data from master table using SQL query that
was used to create Materialized view.
|
|
Overview of Installation/Setup
|
RAC installation is a two-phase
installation. In phase one, use Oracle Universal Installer (OUI) to install
Oracle Clusterware. In second phase, use OUI to install the RAC software
(I.e. Oracle RDBMS with RAC option). You must install Oracle Clusterware and Oracle
RDBMS in separate home directories.
|
Prepare Primary Database by making
required changes in parameters, logging, archiving etc. Create a Backup Copy
of the Primary Database Datafiles. Create a Control File for the Standby
Database. Prepare an Initialization Parameter File for the Standby Database.
Copy Files from the Primary System to the Standby System. Set Up the
Environment to Support the Standby Database. Start the Physical Standby
Database in continuous recovery mode.
|
Verify prerequisites Logical
Standby Database (e.g. Datatypes, Primary Key etc). Create a Physical Standby
Database. Stop Redo Apply on the Physical Standby Database. Prepare the
Primary Database to Support a Logical Standby Database. Convert to a Logical
Standby Database. Adjust Initialization Parameters for the Logical Standby
Database. Open the Logical Standby Database and then perform certain
Post-Creation Steps.
|
Create streams administrator user
in all databases. In source database, create Capture Process and Propagation
schedule for propagation to destination database. Create Apply Process in
destination database. Start
Supplemental Logging in source database. . Prepare source database/objects.
Create copy of those objects in destination database using export/import
(datapump or traditional) or using RMAN. Complete the instantiation of
objects. Start Apply, Propagation and Capture processes.
|
Create replication administrator
user at all the sites with required privileges. Create propagation from each
site to all other sites. At one site create Master replication group. The
group remains in quiesced state when created. This site becomes MDS. Add
objects (to be replicated) in the group from MDS. Add all master sites in
master group from MDS. Start replication by resuming replication group. It
alters replication group from quiesced to normal state.
|
At master site, create replication
administrator. At materialized view (MV) site, create MV administrator.
Create propagation from MV site to master site. Create master group at master
site and add master objects in master group. Create materialized views at MV
site. Create MV group at MV site and add materialized views in the MV group.
On the MV site, create refresh group and add materialized views in refresh
group. Start replication by resuming
replication group.
|
If MV is being created in database
other than the one containing master table, then create database link in MV
database to point to master database for accessing master table. Create
materialized view.
|
|
Database/Instance status
|
All or any node of RAC can have
instance with database open for DML/DDL access.
|
Redo apply requires database in
recovery mode. When Physical standby database is in recovery mode, it cannot
be opened. When not in recovery mode, it can only be opened in read-only
mode.
|
SQL Apply requires database open
for running SQL statements. Hence, Logical standby database must be open in
normal circumstances.
|
Apply process requires database
open for running SQL statements. Hence, destination database must be open in
normal circumstances.
|
Push job requires master sites to
be open when it pushes transaction to other master sites. Hence, in normal
circumstances, all the master databases must be open.
|
Push as well as refresh job
requires master and MV sites to be open. Hence, in normal circumstances, the
master and MV databases must be open.
|
Refresh job requires master and MV
sites to be open. Hence, in normal circumstances, the master and MV databases
must be open.
|
|
Restriction on Datatypes
|
As there is one database, it
supports all datatypes.
|
As physical structure of the
database is exactly (block-by-block) same, it supports all datatypes.
|
There is restriction on datatypes
allowed in logical standby setup.
|
There is restriction on datatypes
allowed in streams setup.
|
There is restriction on datatypes
allowed in replicated tables.
|
There is restriction on datatypes
allowed in materialized views.
|
There is restriction on datatypes
allowed in materialized views. |