A peek
at Oracle 10g Release 2
One of the major announcements at Open
World was for
Oracle Database 10g Release 2. This
next release of the Oracle RDBMS isn't
likely to be available for download
until the middle of 2005, but some
initial details have now been made
available and it's possible to get an
idea of what's in store for the product.
The first thing that's apparent about
10g Release 2 is that isn't not a major
upgrade on the first release of Oracle
10g, and from a business intelligence &
data warehousing point of view, the
changes aren't nearly as big as those we
saw when Release 2 was announced. If
you remember back, Release 2 brought
in the OLAP Option as we know it, with
the initial release just having the
Express Server engine running alongside
the Oracle kernel as a standalone
process. Oracle 10g Release 2 is
bringing some changes, as detailed in my
previous posting, but it may infact be
the case that we get these as a patch to
10g Release 1 rather than having to wait
until the full 10g Release 2 launch.
Anyway, leaving BI&W for the moment,
what are the major features planned for
10g Release 2?
From going along to the 10g Release 2
launch event at Open World, and from
speaking to a couple of people within
Oracle, 10g Release 2 is being billed as
"a better Oracle 10g Release 1";
therefore, the new features within
Release 2 are largely improvements over
existing functionality introduced with
10.1.0.2, with a couple of new features
such as transparent encryption, support
for the .NET CLR, and support for XQuery
added in for good measure. Improvements
on existing 10.1.0.2 functionality
include enhancements to Automatic
Storage Management (ASM), with
improvements in the way that multiple
disk actions are handled, how data is
provisioned over multiple disks and to
the Streams feature that can be used to
trickle-feed data from one application
to another. Backup and Recovery is being
enhanced, with a new Oracle Backup
feature (likely to be a freebie, like
ASM) that builds on RMAN and looks to
replace much of the tape archiving
functionality provided by vendors such
as Veritas.
One new feature that has got people like
Pete Finnigan interested is the new
transparent encryption feature, that
provides the ability to encrypt the
contents of tables and columns without
the need to use features such as
DBMS_OBFUSCATION, and therefore can be
taken advantage of by existing
applications without the need to change
any application code. The database will
take care of key management (this is in
fact the only option with Release 2,
with later releases there is likely to
be a bit more flexibility to handle the
keys outside of the database) and any
tables written to backup will also be
encrypted if this option is used.
Another interesting new feature is the
ability for the database to gather
performance statistics directly from the
SGA - a technique popularised by authors
such as Kyle Hailey and used by many
third-party performance monitoring
tools. The attraction in gathering stats
directly from the SGA is that you don't
need to go through the V$ views - if you
go through these views you introduce
additional load into the database which
in turn affects the statistics you
retrieve, and in some cases, when the
database is locked up, you can't access
the V$ views in the first place. By
directly accessing the memory structures
in the SGA, you can read off the
relevant performance values without
disturbing the database, and if you
sample these values fast enough, you can
get an excellent feel for the
performance of the database. Up until
now, you had to either put your own code
together, use an
open-source solution, or buy a
third-party tool, but this should all be
available (presumably after buying an
extra 10g option such as the tuning or
monitoring pack) out of the box with
DBControl.
I first heard about support within 10g
for the .NET
CLR at the
Oracle 10g UKOUG Special Event
earlier in the year, and this support
has subsequently been confirmed with the
announcement of 10g Release 2. Full
details aren't available at this point,
but it looks like what will be initially
possible is that you'll be able to call
.NET CLR routines written in C#, Visual Basic.NET
and any other language with a .NET
runtime by using the existing External
Procedure (EXTPROC) feature in the
Oracle database, which is a bit short of
the existing support within Oracle for
running PL/SQL or Java Stored Procedures
natively. My impression is that with
subsequent releases, this support for
the .NET CLR will be more integrated, such that you'll be able to run .NET
CLR stored procedures in the same way as
PL/SQL or Java ones, but I don't think
that's what's coming with 10g Release 2,
although I could be wrong.
Interestingly, if Oracle get 10g Release
2 out of the door before Microsoft SQL
Server 2005 (and infact IBM DB2
"Stinger", which has had a
similar feature announced for it),
it'll be the first vendor to offer .NET
CLR support within the database, beating
Microsoft (and
IBM).
The other interesting new feature is
support for XQuery. XQuery (which I
wrote about the other week) is a feature
that offers a similar set of
functionality to SQL, but that has XML
files (or streams) as a data source.
XQuery has been talked about for a while
now, and has been featured (through XDS)
within Oracle as a beta for a while now,
but Oracle will be the first vendor to
offer full XQuery support with this
latest release of the database. XQuery
isn't something that's going to be on
most people's radar at the moment, but
it's a glimpse into the future and
something that's an essential component
in the current interest in "data
federation", a way of integrating
disparate datasources in an "ETL-lite"
style that is currently flavour of the
month for EIS-style business
intelligence.
Wrapping things up is new PL/SQL APIs
for data mining, and the probable
integration of the recent improvements
in Oracle OLAP into a full database
release. Alongside the release of Oracle
Database 10g is the launch of
Application Server 10g Release 2, and a
number of new pricing options that
allows you to license just (for example)
the business intelligence functionality
(Discoverer, Reports, BI Beans, Excel
Add-in) without the rest of the
Application Server technology stack.
What you might not of noticed is that
Oracle slipped in a price increase for
Application Server with this latest
round of announcements - previously, you
could license the full Enterprise
Edition of Application Server for $20k
per processor, and that included the
Infrastructure (OID, a database runtime,
Portal, Integration and so on) and
Mid-Tier (Forms, Reports, Discoverer and
so on) all included. Now, you can
license Forms for $20k, Business
Intelligence for $20k, "Identity
Management" (presumably OID, SSO and
some new bits) for $10k, or you can
license them all (including I think the
BPEL functionality) as the new
Enterprise Edition, for $30k per
processor. Therefore, whilst it's nice
that you can just license and install
just the BI elements without needing an
infrastructure install, you'll still pay
$20k per processor and you'll need to
pay an extra $10k to get the rest of
what you previously got with the and
10g Release 1 Enterprise Editions.
I don't know about Application Server,
but the database 10g Release 2 should be
out by the second half of 2005, with the
initial release on 32-bit Linux
(Oracle's primary development platform)
and the other platforms following
shortly afterwards. I'll post more news
as it becomes available.