Discover the power of technology and learning with TechyBuddy

What’s new in Oracle 19c and how does its architecture work?

Spread the knowledge
Oracle

Oracle is one of the most used relational database system. One reason that Oracle has become the world dominant database is because it runs on just about every platform imaginable, from a mainframe to a Macintosh. 

These days, Oracle is used in most shops on Windows, Linux, and UNIX. With over 60 different platforms, including Intel (like your PC), Sun Solaris, vintage IBM mainframes, and many, many more, Oracle operates on nearly every machine ever created. Conceptually, Oracle is considered the world?s most powerful, flexible and robust database. Along with this power comes complexity.

Table of Content

Introduction

The most stable long-term release available now is Oracle Database 19c, which also offers the longest support and bug-fixing timeline.

The advancements of earlier editions, like Multitenant, In-Memory, JSON support, Sharding, and numerous other technologies that make possible Oracle’s Autonomous Database Cloud Services, are built upon in Oracle Database 19c. This latest release of the world’s most popular database also introduces new functionality, providing customers with a multi-model enterprise-class database for all their typical use cases, including:

• Operational Database: Use cases for operational databases, include real-time analytics, JSON document stores, conventional transactions, and Internet of Things (IoT) applications

• Analytical Databases: Use cases for analytical databases include big data lakes, graph analytics, traditional and real-time data warehouses and data marts.

Oracle 19c Architecture

Before understanding Oracle 19c Architecture, lets understand the following key things that consists an Oracle database.

Main Components

  • Multitenant Architecture : Numerous “pluggable” databases (PDBs) can be hosted by a single multitenant container database (CDB). Applications perceive every database that has been combined or “plugged in” to a multitenant container as identical to pre-multitenant Oracle databases.
  • Database Server : One database and at least one database instance make up the database server.
  • Database Instance : Manages processes and memory. includes a collection of memory structures and background processes for Oracle Databases. The System Global Area (SGA) and Program Global Areas (PGAs) are the two primary memory structures. The background processes employ the memory structures to carry out their operations on the data files that are stored in the database. A database instance is only ever present in memory.
  • Listener : A database server process known as a listener receives requests from clients, connects to a database instance, and then transfers the client connection to the server process. It can operate remotely or locally on the database server.
  • Database : Consists of physical files(a set of physical files that store user data and metadata) that are referred as Data Files. The metadata consists of structural, configuration, and control information about the database server. You can design your database to be a multitenant container database (CDB) or a non-container database (non-CDB)
  • Data File : Physical files that contain the contents of logical database structures such as tables and indexes. A single tablespace and database can be linked to a single data file.
  • CDB : Container Database, or CDB. One CDB root container, also known as the root, one and only seed pluggable database (seed PDB), one or more user-created pluggable databases (also known as PDBs), and one or more application containers comprise a CDB.
  • PDB : Pluggable Database. The seed PDB, named PDB$SEED, is a system-supplied PDB template containing multiple data files that you can use to create new PDBs. The regular PDB contains multiple data files that contain the data and code required to support an application; for example, a Human Resources application

Other Components

  • Oracle RAC : Real Application Clusters. RAC architecture is consists of multiple instances that run on separate server machine and all of them sharing the same database (data files and system files). It is used for high availability, scalability and high performance
  • Automatic Storage Management (ASM) : It is the underlying (clustered) volume manager technology recommended for used with Oracle Database 19c. ASM stripes and mirrors everything for faster performance and offers a choice 2-or 3-way mirroring to protect data from disk failures
  • Recovery Manager (RMAN) : It manages Oracle database backup, restore, and recovery processes. It maintains configurable backup and recovery policies, and keeps historical records of all database backup and recovery activities, thereby ensuring that all files required to successfully restore and recover a database are included in database backups
  • SGA : System Global Area is a memory area that contain data and control information for an instance. All server and background process shares the SGA
  • PGA : Program Global Area is an non shared memory region and contains data and control information exclusively for the use by server and background processes
  • UGA : User Global Area is a part of PGA and contains memory that utilises in sorting, holding variables, work area for SQLs etc.
  • Background processes : Processes that are performing maintenance tasks and maximising performance for various users. PMON (Process Monitor Process), SMON (System Monitor Process), MMON (Manageability Monitor Process), DBWn (DB Writer), CKPT (Check Point), LREG (Listener Registration Process), LGWR (Log Writer) etc.
  • Shared Pool : It is a part of SGA and responsible for various types of program data
  • Flashback enables reversing of human errors by efficiently undoing the effects of a mistake (e.g. an accidental table drop)

Now lets understand each part of the Oracle Architecture

Database Server

A minimum of one database instance and one database make up an Oracle database. The database instance manages processes and memory. The database is made up of actual files known as data files, and it can be either a multitenant container database or a non-container database. Several database system files are also used by an Oracle database when it is operating.

One database and one database instance make up a single-instance database design. The database and the database instance are related in a one-to-one manner. On a single server, several single-instance databases can be installed. Every database has its own instance of the database. Using this setup, you can run various Oracle Database versions on the same computer.

A database architecture using Oracle Real Application Clusters (Oracle RAC) consists of several instances that are operated on different server machines. They all have access to the same database. On one end of the cluster of server computers, end users and applications appear as a single server. High performance, scalability, and availability are the main goals of this setup.

Oracle Database Server
Database Server (Image source Oracle.com)

Database Instance

A collection of memory structures and background Oracle Database processes make up a database instance. The System Global Area (SGA) and Program Global Areas (PGAs) are the two primary memory structures. The background processes employ the memory structures to carry out their operations on the data files that are stored in the database. A database instance is exist in memory only.

Oracle Database Instance
Database Instance (Image source Oracle.com)

Database : Data Files

It consists of physical files(a set of physical files that store user data and metadata) that are referred as Data Files. The metadata consists of structural, configuration, and control information about the database server

Oracle Data Files
Data Files (Image source Oracle.com)

CDB

A CDB is made up of one CDB root container (also called the root), exactly one seed pluggable database (seed PDB), zero or more user-created pluggable databases (simply referred to as PDBs), and zero or more application containers

cdb-root
Application Container (Image source Oracle.com)

Database System Files

On top of files and directories contained in database tables, the Oracle Database File System (DBFS) generates a conventional file system interface. In that it offers a shared network file system that seems to be a local file system, DBFS and NFS are comparable. There is a server component and a client component, just like NFS.

database system files
Database System Files (Image source Oracle.com)

Database Background Processes

Oracle is a collection of many programs called background processes, with each program assigned to a specific job. The Oracle database can have a lot of processes running, depending on how you have configured your database. Oracle is linked with two distinct categories of background processes: required procedures and optional processes. For instance, PMON, DBWR, SMON, CKPT, and other background processes are necessary.

bg process
Background Processes (Image source Oracle.com)

Database DB Writer Process

Dirty Buffer or Database Writer: The dirty buffers from the database block cache are written to the database data files by the writer process. Usually, when a block is committed or when the cache is full and more room needs to be made, DBWR only writes blocks back to the data files. The locking and global cache processes in RAC must be used to coordinate any potential numerous DBWR processes in order to guarantee effective processing.

db-writer
DB Writer Process (Image source Oracle.com)

Database SGA – System Global Area

An Oracle database instance is contained within a collection of shared memory regions known as the System Global Area (SGA). Information is stored in the SGA by all Oracle processes. Incoming data (the data buffers as specified by the db_cache_size parameter) and internal control data that the database requires are stored in the SGA. You can adjust some of the Oracle initialization parameters to influence how much memory is allotted to the SGA.

db-sga
SGA and Log Write Process (Image source Oracle.com)

Database CKPT – Check Point Process

Oracle executes a checkpoint process to guarantee consistency of data files. Oracle makes sure that all updated buffers are written from the data buffer to disk files whenever a checkpoint happens.

db-ckpt
Checkpoint Process (Image source Oracle.com)

Database ADR – Automatic Diagnostic Repository

Automatic Diagnostic Repository (ADR) is a file-based repository that aids the DBA in identifying, diagnosing, and resolving problems

db-adr
Automatic Diagnostic Repository (Image source Oracle.com)

Summary

The most widely used database in the world, Oracle Database 19c, is the most recent version and expands upon significant architectural, performance, and distributed data advancements that were effectively introduced in Oracle Database 12c and 18c releases. Customers have been able to evolve their databases, both on-premises and in the Cloud, to meet their business and cost management objectives because to its unique multitenant architecture, dual-format in-memory column store, and native sharding features.

With Oracle Database 19c, users can now simply and affordably modernize their transactional and analytical workloads in the cloud, on-premises, or in a hybrid cloud configuration. This platform boasts great performance, dependability, and security.

Learn more about databases

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top