You need to understand the Oracle architecture, but is this a limit for you?

Tom Kyte on his book Expert One-on-One Oracle, Chapter 1, Developing Successful Oracle Applications, Summary part mentions that : “You need to understand the Oracle architecture. You don’t have to know it so well that you are able to rewrite the server if you wanted but you should know it well enough that you are aware of the implications of using a particular feature.”

His book is an excellent resource for a newbie who wants to learn, understand Oracle Architecture. For the last five years each summer during our internship program we study these resources for 12 weeks time;

* Oracle® Database Concepts 10g Release 2 (10.2)
* Practical Oracle 8i: Building Efficient Databases by Jonathan Lewis
* Expert One-On-One by Thomas Kyte
* Efficient Oracle by Design by Thomas Kyte
* Oracle PL/SQL Best Practices by Steven Feuerstein
* Oracle PL/SQL Programming by Steven Feuerstein
* Oracle Introduction for Newbies

Tahiti, Tom Kyte, Jonathan Lewis and Steven Feuerstein enable young software engineers to adapt easily, no time wasting during their career startup with this kind of a guidance.

But after some years Kyte’s advice may start to limit you. If you feel to be able to rewrite a server similar to Oracle, below are my advised resources which you may want to check parallel to your Oracle expertise.

– An Introduction to Database Systems, by C.J. Date, Addison, Wesley
– A Guide to the SQL Standard, by C.J. Date, et. al, Addison, Wesley
– Fundamentals of Database Systems, by Elmasri and Navathe
– Transaction Processing, by Jim Gray, Morgan, Kaufmann
– Transactional Information Systems by Gerhard Weikum, Kaufmann
– Database Management Systems by Raghu Ramakrishnan , Johannes Gehrke
– Design of the UNIX Operating System by Maurice J. Bach
– Portable C and Unix System Programming by J. E. Lapin
– Advanced UNIX Programming by Marc J. Rochkind
– Solaris Internals(TM): Solaris 10 and OpenSolaris Kernel Architecture by Richard McDougall , Jim Mauro
– Solaris(TM) Performance and Tools: DTrace and MDB Techniques for Solaris 10 and OpenSolaris by Richard McDougall , Jim Mauro , Brendan Gregg
– Advanced Programming in the UNIX(R) Environment by W. Richard Stevens , Stephen A. Rago
Developer’s Frequently Asked Questions (FAQ) for PostgreSQL
PostgreSQL TODO List



  1. Berkeley Audio Lectures – CS 162 Operating Systems and System Programming
    Instructor John Kubiatowicz

  2. Check this presentation for an introduction to Postgre Development, after seeing the similarities with Oracle this project is like a gold-mine really –

    Click to access IntroductiontoPostgreDevelopment.pdf

    Here are the advised next steps –

    1. Sign up to the development lists
    2. Setup your local development environment
    3. Participate in development discussions
    3.a. Read design proposals, ask questions/give feedback
    3.b. Try to reproduce(and Fix) reported bugs
    3.c. Look at proposed patches
    3.a. Help out with administrativia, contribute to the documentation
    4. Read the code
    5. Look for a small project that piques your interest, and get started

  3. Introducing pgstatspack, a statistics package for postgresql

Leave a Comment

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s