Integration of IBM DB2 within
Oracle using Periscope
Real-time Integration of the IBM DB2 Universal
Database
Within an Oracle
Database
Using Periscope
Goal
Real-time seamless access of the IBM
DB2 Universal Database from an Oracle database
Benefits
·IBM
DB2 tables become another real-time database source within Oracle
·IBM
DB2 tables can now be accessed and updated by any application that
can connect to the Oracle database
·IBM
DB2 data can be “joined” with other business data, and made
available thru Oracle tables
·IBM
DB2 data does not have to be replicated to Oracle, but can be
accessed real-time out of the Oracle database.
·IBM
DB2 data is transformed into an Oracle view, so that Oracle
applications can work with consistent data types.
·Legacy
applications can continue to maintain their IBM DB2 data, while
enterprise applications have full access from an Oracle standard
·Reports
can be generated out of Oracle that contain a real-time snapshot of
all data across the enterprise
There are three
major components to the IBM DB2 Periscope connection:
1.IBM
DB2 JDBC driver
2.Periscope
Administration
3.Periscope
Universal Database Access
IBM DB2 JDBC driver
Periscope uses
the IBM DB2 JDBC driver for database access. The JDBC driver comes
as a standard part of the IBM DB2 database and is maintained by IBM.
Using this JDBC driver ensures the closest possible match-up between
IBM DB2 and Oracle.
The IBM DB2 JDBC
driver runs within the Oracle OC4J container as a web service. OC4J
must be running to enable real-time access to the DB2 database.
Periscope Administration
The Periscope
Administration package runs within the Oracle OC4J container as a
web service. Periscope Admin is responsible for the definition of
all database connection gateways, and for all Oracle code generation
necessary to implement virtual database access to a remote database.
Periscope Admin
is active only for system configuration. Once a remote database has
been “virtualized”, the Periscope Admin tool is not required to be
active and can be terminated.
Configuration of
virtual database access requires no programming and typically takes
less than a couple of minutes for a table.
Periscope Universal Database Access
Periscope
implements Universal Database Access to any disparate data source
that a driver has been configured for. Periscope is installed into
the Oracle database. Drivers for the disparate data source can be
ODBC, JDBC, or of a custom type. JDBC drivers can be loaded directly
into Oracle if the JDBC driver JAVA version matches the JVM version
within the Oracle database. JDBC drivers can also be loaded into
OC4J and accessed from Oracle as a web service. We use this method
if the JDBC driver JAVA version does not match the Oracle JVM
version.
Once Periscope
has been installed into Oracle, we use the Periscope Admin tool to
“virtualize” a disparate database into virtual Oracle tables. These
Periscope driven tables appear as local Oracle tables, but are
actually virtual connections into the disparate database source.
Once a disparate
database has been virtualized within Oracle, it can be accessed thru
normal Oracle functions with few restrictions.
When an
application selects data from the Periscope/Oracle table, Oracle
invokes Periscope. Periscope maps the IO request thru the
appropriate driver back to the disparate data source to be executed.
The result of the IO is returned to Periscope, which then transforms
the data back into a normal Oracle view. All Periscope driven data
accessed thru Oracle will appear as normal Oracle tables and will be
completely transparent to the application.
While Periscope
is complex, the actual overhead of Periscope against a virtualized
table ranges anywhere from 10ms to 150ms for the actual SQL request.
Since database access is typically performed against larger subsets
of the database, actual overhead per record retrieved is typically
insignificant.
Technical Limitations
There are no data
type limitations for IBM DB2 data represented within an Oracle
database.