Why Oracle?
This was the question that everyone asked when
Oracle was displacing the mainframe DB2 systems
back in the early 1990’s. Back then, Oracle had
carved-out a niche has being a versatile
database, not constrained as DB2 was to MVS and
Informix is to UNIX. At the time, I was charged
with making a “buy” decision for the new “mini
computer” databases, and I’ve been intimately
involved in this question for decades.
Is Oracle the
not the most elegant database, and it’s not
always the fastest platform. Oracle rose to the
pinnacle of the IT world on other virtues.
Rather than wait for the end-user community to
react to market changes, Oracle took a proactive
approach and often introduced features far-ahead
of the market demand. For example, Oracle8
introduced parallel query long before most shops
had SMP processors, and Oracle remains
well-ahead of the curve.
It’s not a
random event that Oracle dominates the world’s
database market:
-
Oracle has
evolved into the world’s most flexible and
robust database, and industrial-strength
engine that can manage almost any data
application.
-
Oracle runs
on over 60 platforms, everything from a
Mainframe to a Mac.
-
Oracle is
proactive, introducing features just-in-time
to be used in mission-critical applications.
Why not
Oracle?
Oracle has many
competitors in the marketplace, ready to pounce
on any perceived weakness. We see these
arguments from Oracle competitors:
-
Oracle is
expensive
– Hey, you get what you pay for. Plus,
Oracle now has the free Oracle XE to compete
with MySQL.
-
Oracle is
too complex
– Complexity is the natural byproduct of
being robust and flexible. Oracle has
addressed this issue with the simplified
Oracle, with automated memory and storage
management.
-
Oracle is
not secure
– Properly
installed and configured, Oracle can be used
for TOP SECRET database systems.
Oracle
Features lead the way
Oracle was the
first to introduce many revolutionary features,
and we can see them by release. Many of the
features were introduced before the community
realized their value:
RELEASE |
GENERAL |
SCALABILITY |
Oracle7 |
·
Full table
scans support prefetch (asynchronous
read ahead)
·
CBO
introduced histograms
·
CBO
introduces hash joins
·
dbms_job
package |
·
Partitioned views
·
Updatable
Join Views
·
Snapshot
refresh groups
·
Advanced
replication
·
extents
unlimited
syntax |
|
|
|
Oracle
8 |
·
Nested
tables
·
0NF
tables – VARRAY columns
·
RMAN
replaced EBU
·
TAF for
OPS |
·
Materialized Views
·
Bitmap
Indexes
·
Table &
index partitioning by range
|
|
|
|
Oracle8i |
·
STATSPACK
·
dbms_stats package
·
advanced queuing
·
Functional
based indexes
·
Oracle Log
Miner
·
SQL analytic
Functions (rank, moving average)
·
UNDO
tablespace
|
·
Table
hash partitioning
·
Composite partitioning (hash within
range)
·
Ability
to merge partitions |
|
|
|
Oracle9i |
·
Oracle
Streams
·
Oracle Data
Guard
·
Oracle Real
Application Clusters
·
Flashback
Utility
·
Online table
reorganization with dbms_redefinition
·
Multiple
blocksize support
·
SQL case
statement
|
·
Merge
statements - Upserts
·
Multi-table inserts
·
Multiple blocksizes
·
Parallel direct loads
·
Update
global indexes
·
List
partitioning
·
Composite partitioning |
|
|
|
Oracle
10g |
·
AWR –
STATSPACK in the kernel
·
Intelligent advisors
·
Automatic Memory Mgt
·
Automatic Storage Mgt
·
ADDM
·
Oracle
Grid computing
·
Data Pump
replaces imp utility with impdp
·
SQLTuning
Advisor
·
SQLAccess
Advisor
·
dbms_scheduler
package replaces dbms_job
·
Automated
Session History (ASH) materializes the
Oracle Wait Interface over time |
·
XML
support for analytic workspace
·
Partitioned indexes (hash partition and
list partition)
·
SQLAccess advisor recommends
materialized views
·
The
dbms_dimension package
·
Publish/subscribe paradigm
·
Parallel access to log files, leveraging
Oracle Streams
·
Parallel transformation of data |
|
|
|
Oracle11g |
·
RAC
instance load balancing
·
Server-side connection pooling
·
Capture/replay database workloads
·
Virtual
table columns
·
Automatic Diagnostic Repository (ADR)
·
RAC
rolling upgrades
·
Easy
RAC provisioning
·
/*+result_cache*/
SQL hint
·
Fully
Automatic SQL Tuning
|
·
Interval partitioning for tables
·
Scalable execution
·
Partitioning Advisor
·
Scalable PL/SQL
·
Faster
data sorting
·
Scalable Java
·
Hot
patching - Zero downtime
·
Partitioning by logical object
·
Automated partition creation |
Oracle has
always tried to be a universal database and at
one time briefly re-named itself as the Oracle
Universal Server, but today’s Oracle understand
that different storage applications require
different mechanisms. Oracle now has the
Times-ten engine, and with the rapidly-falling
RAM process, Oracle will remain a leader in the
future with solid state database.
When managers
make a “buy” decision for database software,
they often go with the market leader. Isn’t
that enough?
NOTE: Rampant author Laurent Schneider has some
additional insight into
creating an Oracle Automatic Diagnostic
Repository (ADR).
Don Burleson is
considered one of the world’s leading database
experts and author of five Oracle press books.
A former adjunct professor, Burleson has 25
years of full-time Remote DBA experience and
specializes in Oracle tuning. Burleson serves
as an advisor for many of the Fortune 500
Corporations and has a web site at
www.Remote DBA-oracle.com.