Get the App
SLTechnology News&Howtos  ›  Database  › 

Introduction to Oracle 20C Multi-tenant _ Architecture

Shulou Source: shulou.com Published: 2022-06-01 05:33:15 10月04日 Update

1.3 About the Multitenant Architecture

Multitenant architecture allows Oracle databases to act as multitenant container databases (CDB).

Starting with Oracle Database 20c, multitenant container databases are the only supported architecture. In previous versions, Oracle supported non-container databases (non-CDBs).

CDB consists of zero, one or more customer-created pluggable databases (PDBs) and application containers. PDBs are movable collections of schemas, schema objects, and nonschema objects that appear as separate databases in Oracle Net clients.

1.3.1 About Containers in a CDB

Containers are logical collections of data or metadata in a multitenant architecture.

The following figure shows the container structure in CDB.

·Figure 1-6 Container in CDB

Each CDB has the following containers:

l There is only one CDB root container (also known as root)

CDB root is a collection of schemas, schema objects, and nonschema objects common to all pdb (see Overview of containers in CDB). root stores metadata and public users provided by oracle. An example of metadata is the source code for PL/SQL packages provided by oracle (see "Data dictionary architecture in CDB"). Public users are database users shared by each container (see Public users in CDB). The root container name is CDB$ root.

There is only one system container.

The system container includes root CDB and all pdb in CDB. Therefore, the system container is a logical container for CDB itself.

Zero or more application containers

An application container contains only an application root and PDBs inserted into that root. The system container contains CDB root and all pdb in CDB, while the application container contains only pdb inserted into the application root. Application root belongs to CDB root and does not belong to other containers.

l Zero or more user-created pdb

PDBs contain the data and code required for a particular feature set (see PDBs). For example, PDBs can support specific applications, such as human resources or sales applications. pdb does not exist when CDB is created. You can add pdb according to your business needs.

A PDB belongs to only zero or one application container. If a PDB belongs to an application container, it is an application PDB. For example, cust1_pdb and cust2_pdb application PDBs may belong to the saas_sales_ac application container, in which case they do not belong to other application containers. The application seed is an optional application PDB that acts as a user-created PDB template, enabling you to quickly create new application PDBs.

l Only one seed PDB

Seed PDB is a system-provided template that CDB can use to create new PDBs. The seed PDB is named PDB$ seed. You cannot add or modify objects in PDB$SEED.

Example 1-1 CDB without application container

This example shows a CDB:root container with 5 containers (whole CDB), CDB root, PDB seed(PDB$ seed), and two PDBs. Each PDB has its own dedicated application. A different PDB administrator manages each PDB. A common user is shared throughout CDB. In this example, the public user SYS can administer root and each PDB. At the physical level, this CDB is managed by one or more database instances and contains a set of data files for each PDB and CDB itself.

Figure 1-7 CDB without application containers

Example 1-2 CDB with an application container

CDB contains an application container named saas_sales_ac. In the application container, application PDB1_custpdb supports one application for one customer, and application PDB2_custpdb supports one application for another customer. CDB also contains a PDB named hrpdb that supports HR applications but is not part of the application container.

Figure 1-8 CDB with application containers

In this example, multiple dbas manage the CDB environment:

CDB administrators manage CDB itself.

Application container administrators manage saas_sales_ac containers, including application installations and upgrades.

l The application PDB administrator manages two PDBs in the saas_sales_ac container: cust1_pdb and cust2_pdb.

l PDB administrators manage hrpdb.

1.3.2 User Interface for Multitenant Architecture

You can use the same administrative toolset for CDBs, PDBs, and application containers.

Table 1.1 Tools in a Multitenant Environment

Interface

Description

See Also

SQL*Plus and SQL Developer for command-line access

SQL*Plus is an interactive batch query tool installed with Oracle Database

SQL*Plus User's Guide and Reference

Oracle Enterprise Manager Cloud Control (Cloud Control)

Cloud Control is an Oracle database management tool that provides a graphical user interface (GUI). Cloud Control supports PDBs, CDBs, etc.

The Cloud Control online help

Oracle Enterprise Manager Database Express (EM Express)

EM Express is a web-based management product built into Oracle Database. EM Express enables you to provision and manage PDBs, including the following operations:

Oracle Database Performance Tuning Guide to learn more about using EM Express for managing CDBs and PDBs

Create and delete PDBs

Inserting and unplugging PDBs

Cloned PDBs

Set resource limits for PDBs

Oracle Database Configuration Assistant (DBCA)

DBCA is a program with a graphical user interface to create and copy CDBs. PDBs can also be created, relocated, cloned, inserted, and extracted.

Oracle Database Performance Tuning Guide and Oracle Database Administrator's Guide for more information about DBCA

Tags: Container program application application data management database user support tenant architecture architecture multiple object administrator customer tool only two Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Docker macOS Apple vpn MySQL