Oracle is written in which programming language ?

After years of working with Oracle database. There is an intriguing question which came in my mind today after doing some research on X$ Views. In my search of X$ views; I found that X$ views are basically C programs in memory. They format the C memory structures in a user readable way. And the V$ views are then build on top of those X$ views so that a user can query them as a table.

Thomas Kyte on his blog asktom mentions the following about it :

v$ views are dynamic performance views, mostly built on top of MEMORY structures, not disk.

Most all v$ views, based on x$ tables, are in memory data structures, not disk.

He continues

v$ views are taking data from memory structures typically. The data dictionary is considered to be the set of ‘real’ tables that live on disk.

v$ views are generally accessible even when the datafiles are not – because they do not come from the datafiles in general.

Oracle is written predominantly in C.

So, when you query v$ tables, you are typically looking at the formatted contents of arrays, linked lists, trees and so on.

So one thing is for sure the Oracle RDBMS is written in the C language. On a bit of more googling I discovered that the RDBMS and the TNS is written in C language and utilities like Enterprise Manager Emctl, Dbca, Netca etc are Java Programs. So it is safe to say Oracle is pre-dominantly a Big C program with the utilities written in Java.


Leave a Reply

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 )

Google+ photo

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

Connecting to %s