Professional Documents
Culture Documents
By Mike Ault
Since I began working with Oracle in 1990, version 6.0.22, many things have changed.
We have seen an explosion in the number and complexity of database features within
Oracle and in the size and complexity of the databases built with Oracle.
In the early 1990s a VLDB was considered to be around 10 gigabytes and 500 users. The
web, as it currently exists, wasn't heard of. The dialup services such as PCLink (for PC
users), AOL (for Apple users) and Compuserve were the major places you linked up.
Web crawling tools that searched the infant web, then the purview of mostly academics,
we also in their infancy. Most systems were dumb terminal (VT-100, 200, etc) to mid-
range UNIX (SUN, HPUX, Sequent, SGI), DEC-VAX/VMS and Main Frame systems.
All systems were either 16 bit or less so memories were limited as well. Disks were just
starting to get to nearly a gigabyte in size. I remember one 90 megabyte Winchester that
filled about 4U of space in a rack and weighed in at nearly 400 pounds.
Oracle 6
In 1990 I worked for NASA's Advanced Solid Rocket Motor Project in Iuka, Ms. I was
an INGRES DBA jumping from the nuclear industry into the Aerospace/Computer
industry. I was hired, probably because I was the only one willing to move to Iuka, as the
only Oracle DBA for Aerojet Corporation working with a DEC VAX system. We even
had a 100 megabyte solid state drive; I hate to think what that must have cost. We used it
for indexes. Thank goodness for a large number of Oracle training credits…
Oracle7
I left Aerojet just ahead of the closing of the project by Congress to save money. I went
to work for a drug company, Marion Merrill DOW and got to travel to Canada, England,
Italy and France as a part of my job. I also managed about 20 Oracle 6 instances in 5
countries, all from Kansas City, Ks.
It was about this time that I began my first book, "Oracle 7.0 Administration and
Management" mostly because I was tired of having to search through 10 books to get a
single answer. The book was completed in 1993 and published in 1994 and was one of
the first third-party books about Oracle administration. Kevin Loney and I disagree about
who was first, but such is life.
A new thing called PL/SQL was also coming into its own. While it had been available in
6 it was very limited. Also added was the optimal parameter for rollback segments.
From the proceedings of the 1992 IOUW (International Oracle Users World, a blend of
the current IOUG and OOW conferences) let's look at a couple of titles:
And I couldn't help but pull this quote describing a large system:
"One of our database servers is a Sequent Multi-Processor computer with roughly 240
megabytes of memory, 12-50 MHz 486 processors, 12 smc disk drives and 18 qcic disk
drives...with a mix of 0.5, .75, 1.5 and 1.6 gigabyte drives...100M SYSTEM, 200M
TEMP, 200M Rollback tablespaces..."
It was obviously the days of wooden computers (at least the first Apple had a wooden
case) and iron DBAs...to bad they rust.
The most excited I have been over a book was when I saw the Oracle 7.0 book on display
in a cabinet at the 1994 EOUG. I remember helping Buffy Emsley by getting her some
additional copies from the local Wiley jobber. Some titles from that conference:
“Database Triggers”
“Adopting Open Systems – And Succeeding!”
“Successful Deployment of Parallel Server”
“The Parallel Query Option in Oracle7, Release 7.1”
“The Oracle7 Query Optimizer: Experiences, Tips and Techniques”
“The Impact of the Trend of Outsourcing”
The EOUG conference was held in Maastricht, Netherlands. It was the first time I
remember seeing Larry Ellison, he was demonstrating the revolutionary Network
Computer that was going to replace all desktops…it’s descendents are the set top boxes
used for getting at the web and email.
The up and coming technology was client server. We had discussions on Compuserve
about exposing databases on this thing called the Web. I was against it…
I went to Rome Italy in 1995 for about 6 months on a Parallel Server 7.1 project to do one
of the first Play –on–demand services for movies and content. It consisted of an
Oracle7.1 front end on Sequents that managed the content and billing and a NCube2
processor with (I believe) 256 processors on the backend that served the digitized movies
to the DTA converters that fed the signal through the phone lines back to the client.
Parallel server was used primarily for failover and backup using a mirror split.
Oracle8
Then in 1995-96 they introduced 8, followed quickly by 8i. This release was called the
Object Oracle release because they provided fledging support of objects through the
creation of types and object tables. They also added VARRAYs, nested tables, index only
tables, reverse key indexes, and a plethora of stored packages. There was no
polymorphism or inheritance.
In 8 they also added support for LOBs. It was during this time frame that they also added
in many tablespace options targeting the many tasks around the fragmentation issues with
tablespaces. Also they gave us support for an up and coming language known as JAVA.
One of my presentations during that time frame was how to use JAVA to store and
retrieve images into Oracle8 using BLOBs, called "Going Out for the LOB". I still get
requests for copies of it sometimes. During this period I wrote "Oracle8 Administration
and Management", "The Oracle8 Black Book" and the Exam Cram series (1998 or so).
On page xxxiv of the Administration book I list the same 13 responsibilities for the
Oracle DBA.
Oracle8 also included partitioning and a bunch more hints. The Cost based optimizer was
also improved in 8.
Some titles from the 1997 IOUG-Alive conference, Dallas, Texas:
Oracle8i
When 8i came out it was so much of a change that Wiley (my publisher) and I felt that it
needed a revision to the 8 management book, so in 2000 I wrote “Oracle8i
Administration and Management”, one of the major innovations was the concept of table
and index partitions. Prior to 8 there were partitioned views which allowed you to treat a
collection of identically structured tables as a single logical table, it was kludgey and
didn’t work very well. In 8i they expanded the partition concept to include sub partitions
and added several column types to the partition capabilities such as LOBs. We were also
introduced to the concept of OUTLINES to control SQL execution. Another concept
added in 8/8i was the concept of resource groups as well as row level security. We were
also given temporary tables in 8i. In 8i we jumped to 194 initialization parameters.
Tuning was now more complex. We had to add in the affects of outlines, the CBO,
resource groups and all of the new index and table types when we thought about
optimizing a system. The CBO, while making some things easier also made getting stable
execution plans more difficult. The shear number of hints made choosing the correct one
difficult. So while the 8/8i release made some aspects of tablespace management and user
management easier, they made many parts of the DBA job more complex. And what is
this thing called cache fusion? What happened to OPS? What the heck is a materialized
view? DBAs were needed more than ever.
Oracle9i
In 2001-2002 Oracle9i was released. I was a part of the Beta and wrote the “Oracle
Administration and Management” book for Wiley, it was the last book I have written for
them. Oracle added many enhancements to the CBO, tablespaces, partitioning, added
external tables, new table management options, expanded object orientation of the DB,
added internalized Java. They also added contexts and operators to the list of objects you
could create. The concept of spfiles was introduced and the ability to dynamically alter
many initialization parameters was added. We were also given fine grained auditing to
play with. The addition of bitmap join indexes enhanced our ability to utilize data
warehouse technologies, not to mention such things as domain and functional indexes.
As far as database automation, Oracle provided the ability to automatically adjust sort
area size, hash area size and their associated IO parameters. Also through use of the
max_sga_size you could dynamically (i.e. the DBA resets them on the fly) alter various
memory constructs. The concept of automatic UNDO (replacing rollback segments) is
introduced.
Also greatly enhanced in 9i was real application clusters, the offspring of Oracle parallel
server. With its concept of cache fusion and use of the high speed interconnect it
revolutionized the concept of parallel databases almost single-handedly. XML and
HTML are essentially native data types. Java is firmly rooted in the kernel. Materialized
views are main stream.
I attended an ECO conference in 2000 where one of the keynote speakers, an Oracle VP
spent an hour telling a room full of DBAs how they were going to be eliminated by 9i.
Oracle10g
So now we have Oracle10g. With OEM you can (stress on you) determine badly
performing SQL and have Oracle, at your request, provide suggestions as to the tuning
and after your approval, apply changes. With OEM we now have almost single button
backups (assuming you have been assimilated into the RMAN Borg collective). With
ADDM, AMM, ASSM the monitoring of statistics has been automated and the Oracle
database will give suggestions as to what to tune, you still have to tell it to do the
operations. With AMM memory will be managed up to SGA_TARGET settings
automatically. ASSM removes the need to set freelists, freelist groups and PCTFREE.
PGA_AGGREGATE_TARGET removes the need to monitor various sort and hash
parameters. If you use ASM tablespace management virtually disappears. The new
outline feature for SQL provides nearly automatic tuning for bad SQL. In 10g Statistics
gathering is now internalized.
Are we doomed? Not quite. Let’s look at the list with the items we assume Oracle can
now do for us removed.
Monitor and maintain application servers, web servers, connection managers, LDAP and
other servers as well as the entire client to database environment in many shops the DBA
does it all.
Yes, Oracle has taken some of the more mundane tasks and automated them. Quite
frankly most DBAs set many of the “automated” parameters and forgot them unless a
problem came up. What actual percentage of time have the new features saved a fully
qualified and competent DBA? Not much I am afraid. As Don Burleson has said:
“The new automated features of 10g are aimed at the mom and pop shops that can’t
afford a full time DBA, or for shops that have hundreds of instances and can’t afford to
have DBAs monitoring and maintaining any but the most important ones, they can’t
replace a fully qualified Oracle DBA”
However, as the features are improved I have no doubt they will automate the complete
management of SQL, tables and indexes and tablespaces as well as some memory and
tuning parameters. So the DBA will give up on items 12, 13, 24 and 25. Gee, how will
the other 25 (26 if you include the final one added above) items fill our time? The death
of the DBA has been greatly overstated.
In order to prevent ourselves from, as our friends from across the pond say “becoming
redundant” we need to constantly study and upgrade our abilities. As long as Oracle adds
new features, as long as new ways of designing systems, implementing systems and
maintaining systems are required, DBAs will be required.
Are we doomed to become similar to SQLServer DBAs? I don’t think so. Oracle has a
richer feature set, runs on more platforms, supports larger, more complex databases and
will always be more of a challenge to manage than SQLServer. From Oracle’s
complexity comes its strength. If the complexity of management of Oracle is reduced
beyond a certain horizon it will lose its flexibility as well.
I plan on working as a DBA or in support of DBAs until I retire, which I assure you if my
Wife has anything to do with it, many years from now. I believe Oracle is a good choice
of study for database students and can provide jobs for both DBAs and developers for
years to come.