| Oracle9i Database
Release 2 |
 |
| An
evaluation |
 |
The general trend for Oracle databases
is to include more within the database and to extend
the scope of the data management that is offered.
However, unlike its major competitors, the
emphasis is on implementing new facilities actually
within the database per se, rather than as adjuncts
to the database. Thus Oracle OLAP, for example,
is now implemented as a part of the
Oracle database, not as a separate database. While
Oracle has been gradually adopting this approach
for some time, the second major release of the Oracle9i
Database makes this
strategy absolutely clear: it is a major differentiating
factor compared to its competition. |
 |
| Key
findings |
 |
 |
The introduction of XML
DB is a welcome addition. This goes further than
any of Oracle’s mainstream competitors in
its support for XML and must raise serious doubts
about the viability of stand-alone XML database
solutions. |
 |
 |
The performance features in Oracle9i Database
Release 2 are impressive. Real Application Clusters
is particularly powerful and has been enhanced in
the latest release. The advanced partitioning features
is impressive. |
 |
 |
Oracle has gone further than any
other vendor in providing content management support
directly from the database (though you will need
Application Server as well for a complete
implementation). In the case of both Microsoft and
IBM content management is a totally separate product. |
 |
 |
With the original release of the
Oracle9i Database the company included comparable
facilities to both its major rivals in the business
intelligence arena. With release 2 of its
database Oracle has gone further by embedding OLAP
at the database level, together with data mining
algorithms, in addition to the ETL (extract, transform
and load) capabilities that were already included. |
 |
 |
One very attractive feature of the
Oracle9i Database is the Oracle CM SDK (content
management softw are developer’s kit - previously
known as the Internet File System. The true significance
of this was, arguably, overlooked when it was introduced
in the Oracle8i Database release. Now it is clear
that it enables a transparent consolidation capability
in a
particularly attractive manner. It has been significantly
enhanced in this release. |
 |
 |
The introduction of Oracle Streams
is another major innovation in this release. Unlike
competitive products, it embeds all forms of inter-database
and messaging capabilities into
a single aspect of the database, rather than requiring
multiple products, not all of which have a direct
relationship with the database. As a concept, Oracle
Streams represents a
much simpler approach than that of its rivals. |
 |
 |
Oracle Data Guard is another enhanced
feature of this release. Not only does this have
a significant impact on maintaining availability
in the event of failure, we also like the way that
the standby database can be used for reporting purposes
while the operational database remains on line,
as well as its ability to take over the running
of the database when the main system is down for
maintenance. |
 |
 |
There are large number of ease of
use features added in this release, ranging from
“advisories” that will help with database
tuning to a variety of new self-managing and automated
functions. |
 |
| The
bottom line |
 |
| Since the introduction of the Oracle9i
Database, the product has included pretty much all
of the major features that its major competitors
have offered. With release 2, Oracle has gone further.
It is now clear that Oracle includes a greater range
of features than its rivals at least as far as the
database itself is concerned. Other vendors may
offer comparable capabilities (though this is not
always the case) but often these will be separately
licensed options. Oracle looks to have a more cohesive
and closely integrated product solution. |
 |
The one feature that Oracle does not
espouse is support for federated databases. This
is a difference of philosophy. Oracle believes that
it makes sense to consolidate databases (not
necessarily centralise) w here it is sensible to
do so, and it is providing the mechanisms to do
so, while continuing to provide robust distributed
capability. |
 |
| Product
Overview |
 |
Oracle is pushing the idea that Oracle9i
Database is more than a database and is, in fact,
part of a complete infrastructure. This w as apparent
in the original release of the Oracle9i Database
with its tight integration with the Oracle9i Application
Server, however this does raise the question of
w here the database ends and the Application Server
begins, even though you can
use third party application server products in conjunction
with Oracle9i Database if you prefer. However, the
concept of a data management platform is much broader
than simply the
synthesis of the database and application server
and extends to a variety of other features such
as the built-in ETL (extract, transform and load)
facilities, support for content management
and so forth, which one would not normally expect
in a pure database environment. This concept has
been taken further in the case of Oracle9i Database
Release 2, because of the
integrated support for Business Intelligence, the
introduction of XML DB and Streams, and the extension
to the product’s Data Guard facilities, amongst
other new features. |
 |
| The comprehensive nature
of the Oracle9i Database means that we have to be
clear about what exactly we are reviewing here and
w hat w e are not. Some options, such as Oracle
Spatial, cannot sensibly be distinguished from the
database nvironment, and are discussed here. However,
complementary products like the Oracle9i Application
Server and Oracle Data Mining, which can sensibly
considered as stand-alone products, are not considered
in this report. |
 |
| Product
availability |
 |
| The Oracle9i Database runs on all
major platforms and is currently in version 9.2.0.2,
which was made generally available in October 2002.
It is delivered in three different versions: |
 |
 |
Oracle9i Database Release 2 Standard
Edition which is aimed at workgroup and departmental
level applications; |
 |
 |
Oracle9i Database Release 2 Enterprise Edition,
which is aimed at corporate level. |
 |
 |
Oracle9i Database Release 2 Personal
Edition, which supports single user development
and deployment. |
 |
 |
There is one further Oracle9i product,
which is Oracle9i Lite. However, this is distinct
from the other Oracle9i Database per se, in the
sense that it has a separate code base and release
cycle. It is a reduced footprint database intended
for use by mobile users that are disconnected for
most of the time. It is not discussed in detail
in this review . This review concentrates upon Oracle9i
Database Release 2 Enterprise Edition. For convenience,
it is simply referred to here as Oracle9i Database
Release 2. It should be noted that there are various
optional extensions available for the Enterprise
Edition. We have not generally distinguished between
these and the core product. As we have noted Oracle
Data Mining, which is based on the Darw in product
that Oracle acquired w hen it bought Thinking Machines,
is not discussed in any detail this report. Suffice
it to say that in this release Oracle has embedded
algorithms (such as clustering and decision trees)
into the database as opposed to requiring a separate
server. Similarly, data can be mined in situ (that
is, without extracting it from the database). This
has a number of significant advantages, most particularly
that you can work easily against a full dataset,
rather than having to extract the data. |
 |
| Database
Engine |
 |
| The truth is that all the leading
relational databases have a long history of supporting
transactional applications, as w ell as the query
processes that complement these environments. For
this reason there is little purpose in discussing
those features that are common across different
vendor’s products and w e shall therefore
focus on those elements of Oracle9i Database Release
2 that distinguish it from its competitors. |
 |
| Tuning |
 |
| The Oracle9i Database is based on
data blocks and the product supports multiple block
sizes and the ability to define sub-caches that
relate to each block size. In fact, the product’s
caching has been significantly enhanced in this
release. Oracle supports two types of cache: one
for data and one for SQL. In release 2, the company
has introduced dynamic re-sizing for both of these
cache types. In the case of the data cache this
has to be done by the DBA, although there is an
adversary (see below ) that w ill help him to do
that. In the case of the SQL cache, re-sizing is
automatic. |
 |
One particularly nice feature is the
extended reorganisation and redefinition capabilities
that are provided. Put briefly, this allow s you
to change any physical attribute of a table online,
such as
its location, partitions (see below ) or its organisation
(heaped or indexed). In addition, all types of logical
column changes can be done on line, provided that
the primary key is not altered. In Oracle9i Database
Release 2, Oracle has introduced a number of enhanced
utilities to help to make the database more self-managing.
In particular, the company has introduced a number
of what it calls “advisories”, which
are out-of-the-box additions that not only support
tuning and diagnostic tasks but also allow the database
administrator to model “w hat-if” scenarios.
Advisories may be accessed either via SQL or through
Enterprise Manager (see below ) although the latter
has ease-of-use benefits because of its graphical
display capabilities and
the ability to change parameter settings from within
Enterprise Manager. As far as tuning is concerned,
facilities are provided to help reduce parse times,
minimise CPU usage, improve
SQL execution times, monitor buffer cache sizes
(see illustration) and optimise I/O, amongst others. |
 |
Also in this release,
the database now provides actual operation-level
query execution statistics rather than estimated
statistics. For obvious reasons this w ill make
the identification
of expensive SQL statements more precise, as w ell
as the ability to highlight the most commonly accessed
tables, partitions, indexes and so forth. These
can be displayed w ithin
Enterprise Manager as “Top Ten” type
charts. |
 |
| Partitioning |
 |
| Of all the fundamental database performance
and tuning mechanisms it is on partitioning that
Oracle has concentrated most. In the Oracle8 Database
the company introduced the concept of the database
being "partition aw are". In effect, this
allow s individual partitions to be treated as if
they are tables or indexes in their own right. Thus
they can be managed individually, without affecting
the w hole table or index. This can have significant
performance advantages in a number of respects,
for instance w hen bulk loading data, doing back-ups
or undertaking recovery procedures. |
 |
Oracle9i Database Release 2 supports
hash, range and list partitioning as primary options.
Using hash partitioning results in partitions of
equal size. As might be imagined this is nice and
simple and is most useful in parallel processing
environments. However, management starts to be complex
if the number of partitions is subject to change,
w hen a range based approach,
which is particularly useful for supporting rolling
window operations, may be superior. However, this
suffers from the fact that partitions w ill be of
different sizes and, therefore, is
inferior in terms of data distribution. So list
partitioning w ill often turn out to be the best
form of partitioning from a maintenance point-of-view
, though this w ill obviously depend on the data
and how it is accessed. Indeed, one of the advantages
of Oracle’s approach is precisely that you
can tailor partitioning to your environment. One
enhancement to list partitioning is that there is
now a default partition. This means that application
code no longer needs to check that all values fall
into the “list”. |
 |
The very fact that you need to have
a choice of approaches to partitioning suggests
that none of these is ideal. In order to improve
whatever compromises have to be made, Oracle
introduced composite range-hash partitioning some
time ago, and has now added composite range-list
partitioning. In both of these cases data is partitioned
by range initially (say, by
month) and then sub-partitioned using either a hash
technique or by list (for example, based on a geographic
region). In the latest release, Oracle has added
support for composite range-list partitioning. |
 |
To support the management of such
partitions there are a variety of maintenance operations
that w ill let you add, drop, move, rename, split,
merge, coalesce, truncate and analyse
partitions. |
 |
| Real Application Clusters |
 |
When parallelism w as first introduced
into both database systems and hardware in the last
decade, there w as a great debate about the relative
merits of shared-nothing and shared-disk systems,
at both software and hardware levels. As far as
software is concerned the debate went underground
somewhat in the late 90s as the emphasis for vendors
w as in providing
any parallelism at all. However, now that this has
been achieved by all the leading vendors (to a greater
or lesser extent), the debate has flared up again.
Both IBM and Microsoft are
advocating federated databases, which suit their
shared-nothing approach, while Oracle promotes clustering
with a shared-disk architecture. This is not to
say that Microsoft and IBM cannot run on clustered
systems - they can (although you may have to w rite
an application specifically for that purpose, which
is not the case with Oracle’s implementation)
- or that
Oracle cannot support federation (since w hat you
share at the hardware level does not have to be
w hat you share at the database level, and vice
versa). It is simply that Oracle believes
that there are more advantages (performance and
scalability, removal of data synchronisation issues,
and so forth) offered by consolidation and Real
Application Clusters than there are
from adopting a federated approach. |
 |
| Offshore Oracle database development?
Call us. We
can do it ! |
 |
| |