Oracle Database Vs Oracle Database Instance:
In this article, I will discuss what is Oracle Database and Oracle Database Instance and what is the differences between them. Please read our previous article where we give a brief introduction to Oracle Database. This is the core concept for any database administrator. This is one of the most important topics. Oracle database consists of two main components:
- The Database Storage (Database)
- The Oracle Instance (Database Instance)
What is Database?
We already discussed that database is the organized collection of information. It contains a collection of database files stored in disk storage (physical). So, this is physical, so you can see in your eyes.
Types of Database Files in Oracle:
We have mainly 9 types of database files. They are as follows:
- Control files
- Redo log files
- Database backup files
- Archived redo log files
- Parameter files
- Password file
- Alert log files
- Trace files
For a better understanding, please have a look at the below diagram.
These are the main files on which the database runs. We will understand each and every file in detail in our upcoming articles.
What is Database Instance in Oracle?
A database instance is a set of Memory Structures and Processes that manages database files. A database instance exists only in memory and this is very important. So, we have two main components of the oracle database i.e. oracle database files and oracle instance. The oracle instance manages the oracle database files. And the oracle instance contains two main things i.e. Memory and Processes. For a better understanding, please have a look at the below diagram.
The Oracle Instance is the Oracle Program or Binary which is loaded into the server RAM and the Oracle instance is created every time we start the oracle database. Why do we do this? Because reading from memory is a lot faster compared to reading data from the disk.
So, in the oracle database, we don’t read the oracle files directly, we have the oracle instance which is the oracle program loaded into the server RAM.
In Memory, we have two types of memory i.e. SGA and PGA. And again, we have two types of processes i.e. Server Processes and Background Processes. We will understand these things in detail in our upcoming article.
- Every Running Oracle Database must be associated with at least one database instance.
- Now, one more important point is that an instance exists in memory and a database exists on disk, so an instance can exist without a database and a database can exist without an instance.
- Losing an instance is no issue, but losing data files for example losing the database. That means if you lose some data file, it means you are losing the database. If you lose the instance, no issue, you can create the instance again.
A simple way to Understand Oracle Database and Database Instances:
We can understand the database and instance using a very simple example. Actually, you can understand the difference between Database and Database Instance like Microsoft word and Microsoft document. For example, Microsoft Word imagines as the Database Instance and so it is the program. And imagine Microsoft Document is the Database. So, we use Microsoft Word to read the data inside the document. For better understanding, please have a look at the below diagram.
This is exactly the same differences between a database and a database instance. In this example, if I lose the document, then I cannot see the data. But if you lose the Microsoft word of the program, then no problem, you can restore the program again in order to open the document.
Oracle Database Server Configurations:
Now, we will understand the Oracle Database Server Configuration. Actually, we have many configuration options available for the Oracle Server. Let us understand them.
Single Instance Database:
In this configuration, we have the server machine and inside the server machine, we have a database instance and the database. The relation is one to one. I have one oracle database and one database instance. That means the Server machine consists of a single database and a single instance. For a better understanding, please have a look at the below diagram.
Note: In our course, we will focus only on this configuration.
Multi Single-Instance Database on Same Server:
The server machine consists of many single instance databases with single instances. For example, I have a server machine with two instances and two databases. Also, the relationship between them is one-to-one. But here I have two databases on the same server. For a better understanding, please have a look at the below diagram.
Oracle RAC (Real Application Cluster):
In this configuration, I have a single database and many instances accessing the database. This configuration provides high availability, high scalability, and high performance. In this case, the database is hosted on one server and the instances accessing the database are from a different, different server. For a better understanding, please have a look at the below diagram.
In the next article, I am going to discuss Oracle Database Instance in detail. Here, in this article, I try to explain Oracle Database vs Oracle Database Instance and I hope you enjoy this Oracle Database vs Oracle Database Instance article.
About the Author: Pranaya Rout
Pranaya Rout has published more than 3,000 articles in his 11-year career. Pranaya Rout has very good experience with Microsoft Technologies, Including C#, VB, ASP.NET MVC, ASP.NET Web API, EF, EF Core, ADO.NET, LINQ, SQL Server, MYSQL, Oracle, ASP.NET Core, Cloud Computing, Microservices, Design Patterns and still learning new technologies.