1.7 Data Movement Features
Moving
data from one Oracle database
to another is often a requirement when using distributed databases,
or when a user wants to implement multiple copies of the same
database in multiple locations to reduce network traffic or increase
data availability. You can export data and data dictionaries
(metadata) from one database and import them into another. Oracle
Database 10g introduces a new high speed data pump for the import and
export of data. Oracle also offers many other advanced features in
this category, including replication, transportable tablespaces, and
Advanced Queuing.This section describes the technology used to move data from one
Oracle database to another automatically.
1.7.1 Basic Replication
You can use basic
replication to
move recently added and updated data from an Oracle
"master" database to databases on
which duplicate sets of data reside. In basic replication, only the
single master is updated. You can manage replication through the
Oracle Enterprise Manager (OEM or EM).
While replication has been a part of all recent Oracle releases,
replication based on logs is a more recent addition, first appearing
in Oracle9i Release 2.
1.7.2 Advanced Replication
You can use advanced replication
in multimaster systems in which any of the databases involved can be
updated and conflict-resolution features are needed to resolve
inconsistencies in the data. Because there is more than one master
database, the same data may be updated on multiple systems at the
same time. Conflict resolution is necessary to determine the
"true" version of the data.
Oracle's advanced replication includes a number of
conflict-resolution scenarios and also allows programmers to write
their own. We cover replication in more detail in Chapter 12.
1.7.3 Transportable Tablespaces
Transportable tablespaces were
introduced in
Oracle8i.
Instead of using the export/import process, which dumps data and the
structures that contain it into an intermediate file for loading, you
simply put the tablespaces in read-only mode, move or copy them from
one database to another, and mount them. You must export the data
dictionary (metadata) for the tablespace from the source and import
it at the target. This feature can save a lot of time during
maintenance, because it simplifies the process. Oracle Database 10g
allows you to move data with transportable tablespaces between
different platforms or operating systems.
1.7.4 Advanced Queuing and Streams
Advanced Queuing (AQ), first introduced
in Oracle8, provides the means to asynchronously send
messages from one
Oracle database to another. Because messages are stored in a queue in
the database and sent asynchronously when a connection is made, the
amount of overhead and network traffic is much lower than it would be
using traditional guaranteed delivery through the two-phase commit
protocol between source and target. By storing the messages in the
database, AQ provides a solution with greater recoverability than
other queuing solutions that store messages in filesystems.Oracle
messaging adds the capability to develop and deploy a
content-based
publish and subscribe solution using a rules engine to
determine relevant subscribing applications. As new content is
published to a subscriber list, the rules on the list determine which
subscribers should receive the content. This approach means that a
single list can efficiently serve the needs of different subscriber
communities.In the first release of
Oracle9i, AQ
added XML support and Oracle Internet
Directory (OID) integration. This technology is leveraged in Oracle
Application Interconnect (OAI), which includes adapters to non-Oracle
applications, messaging products, and databases.The second release of Oracle9i introduced
Streams.
Streams have three major components: log-based replication for data
capture, queuing for data staging, and user-defined rules for data
consumption. Oracle Database 10g includes support for change data
capture and file transfer solutions via Streams.
1.7.5 Extraction, Transformation, Loading
Oracle Warehouse Builder is a tool for
the design of target data stores including data warehouses and a
metadata repository, but it also provides a frontend to building
source-to-target maps and for generating
extraction, transformation, and loading
(ETL) scripts. OWB leverages key embedded ETL features first made
available in the Oracle9i database.
1.7.6 Availability
Although basic replication has been included with both Oracle
Standard Edition and Enterprise Edition, advanced features such as
advanced replication, transportable tablespaces, and Advanced Queuing
have typically required Enterprise Edition.