Oracle Database is a relational database management system (RDBMS) that Oracle Corporation created and marketed. It is one of the most popular RDBMSs on the market and is used to store and retrieve data for a wide range of applications. Oracle Database is well-known for its dependability, scalability, and performance, and it is compatible with a wide range of programming languages and development frameworks. It includes data warehousing, online transaction processing, and advanced analytics, as well as high availability, disaster recovery, and security.
Oracle Database employs a client-server architecture, with the database server and client connections running in separate processes. The server process manages data and resources, and client connections communicate with the server to access and manipulate data. SQL, PL/SQL (Oracle’s proprietary procedural language), and Java are among the programming interfaces supported by Oracle Database. It also includes tools for database management and administration, such as Oracle Enterprise Manager and SQL Plus.
The oracle database architecture consists of:
- Memory structure (Instances)
- Database system
- Processes
1. Instances
A database instance is a set of memory structures that manage database files. The instance is a collection of two things:
SGA: It stands for System Global Area. It is a shared memory area. Whenever a database instance starts, some memory gets allocated and that memory is termed SGA. Along with memory allocation, one or more background processes will. SGA is used to store data as well as control information about one database instance through its various subcomponents, Where each component is dedicated to a specific purpose. Various Components are:
- Database Buffer Cache: The Buffer Cache is a portion of the SGA that stores copies of data blocks read from datafiles. It is used to cache frequently accessed data blocks, reducing the number of disks I/Os required to access the data. This can improve performance by reducing disk I/O time and increasing the speed of data retrieval.
- Redo Log Buffer: The most crucial structure for recovery operations is the redo log, which consists of two or more preallocated files that store all changes made to the database as they occur. Every instance of an Oracle Database has an associated redo log to protect the database in case of an instance failure.
- Java Pool: The Java Pool is an optional portion of the SGA that is used by Java Virtual Machine (JVM) and related components. It is used to store Java-related data structures, such as Java classes and objects. This pool is used when the Oracle Database is configured to run Java applications or when using Oracle JVM.
- Large Pool: The Large Pool is an optional portion of the SGA that can be used for large memory allocation, such as backup and restore operations and I/O server processes. It is typically used to improve the performance of these operations by reducing the amount of disk I/O required.
- Shared Pool: The Shared Pool is a portion of the SGA that contains shared memory structures, such as shared SQL and PL/SQL areas. It is used to store the parsed representation of SQL statements, execution plans, and PL/SQL program units. This allows for the efficient reuse of frequently executed statements, reducing the need for reparsing and improving performance.
Background processes: Oracle has a collection of processes that are called background processes. These processes are responsible for managing memory, performing I/O operations, and other maintenance activities. Following are some important background processes that are required:
- System Monitor Process (SMON): These processes are responsible for performing system-level recovery and maintenance activities.
- Process Monitor Process (PMON): The task of these processes is to monitor other background processes.
- Database Writer Process (DBWR): This process performs the task of writing data blocks from the Database Buffer Cache (present in SGA) to physical data files (Present in the Database system).
- Log Writer Process (LGWR): This process writes the Redo blocks from Redo Log Buffer (present in SGA) to Redo Log Files (present in the Database system).
- CheckPoint (CKPT): This process maintains data files and control files with the most recent checkpoint information.
2. Database System
The database system is suited to the storage system of a computer. The Database system is simply the storage of files. There are three categories of files that are situated in the database system and those are:
- Data files: These files hold the actual data in the database.
- Redo log files: These files are used to hold the changes made in the database. Redo log files can be utilized during the database recovery process to retrieve the original information.
- Control files: It is a binary file that holds database status-related information like Database Name, Data File, and Redo Log file Names, File Locations, and Log Sequence Number.
There are other categories of files that contribute to database management.
- Parameter file: This file contains the parameters which define the way the database is expected to start up.
- Password file: This file holds the user passwords and thus maintains the security of databases.
3. Processes
There are two types of processes:
- User process: It is also known as the client process. The user actually connects to the instance with the help of user processes. The user process is stabilized when the user sends a connection request to the oracle server.
- Server process: The server process connects the user to the database and performs the activities on the client’s behalf as executing SQL statements or retrieving data from the database.
⚡️Java Software Engineer | Oracle Certified Professional
6moGood to know