ORACLE--12C--多租户体系架构概念
一,概念
1,何为多租户?
官网链接: 飞机直达>>
多租户这个概念并不是12C的新特性,而是体系架构,多租户架构使得oracle 数据库成为了一个多租户的容器数据库,也就是container database,也就是CDB。而一个CDB可以包含0个、一个或者多个用户创建的可插入的数据库,也就是pluggable database,也就是PDB,也就是所谓的“租户”。这就像合租房一样,每个租户可以获得其所需的各种资源。也可以说CDB就是各PDB的母体。

2,多租户架构
一个CDB包括零个,一个或多个用户创建的可插拔数据库(PDBs)。PDB是模式、模式对象和非模式对象的可移植集合,在Oracle NET客户机看来,Oracle数据库12c之前的所有Oracle数据库都是非CDB。
ORACLE 12C 是世界上第一款基于云计算设计的多租户数据库,底层为一个多租户的架构,支持云计算(共享软硬件资源,降低成本),等同于把多个数据块当成一个数据块来管理,即共享服务器,共享操作系统,共享数据块
3,CDB容器
容器是多租户体系结构中数据或元数据的逻辑集合。

每个CDB都有以下容器:
01,只有一个CDB根容器(也称为根容器)
cdb根是所有pdb所属的模式、模式对象和非模式对象的集合。根存储Oracle提供的元数据和普通用户。元数据的一个例子是Oracle提供的PL/SQL包的源代码。公共用户是每个容器中已知的数据库用户。根容器名为cdb$root。
02,只有一个系统容器
系统容器包括根CDB和CDB中的所有PDB。因此,系统容器是CDB本身的逻辑容器。
03,零个或多个应用程序容器
应用程序容器仅由一个应用程序根组成,PDB插入到该根。虽然系统容器包含cdb根目录和cdb中的所有pdb,但是应用程序容器只包含插入到应用程序根目录中的pdb。应用程序根属于cdb根,没有其他容器。
04,零个或多个用户创建的PDB
PDB包含特定功能集所需的数据和代码。例如,PDB可以支持特定的应用程序,例如人力资源或销售应用程序。创建CDB时不存在PDB。您可以根据业务需求添加PDB。
PDB正好属于零或一个应用程序容器。如果PDB属于应用程序容器,则它是应用程序PDB。例如,Cust1_PDB和Cust2_PDB应用程序PDB可能属于SaaS_Sales_AC应用程序容器,在这种情况下,它们不属于其他应用程序容器。应用程序种子是可选的应用程序PDB,充当用户创建的PDB模板,使您能够快速创建新的应用程序PDB。
05,只有一个SEED pdb
SEED PDB是由系统提供的模板,CDB可以使用它来创建新的PDB。SEED pdb被命名为pdb$seed。不能在pdb$seed中添加或修改对象。
二, 多租户的优势
1,使用多租户体系结构进行数据库整合优势:
01 降低成本
通过将硬件和数据库基础结构整合到一组后台进程,并高效地共享计算和内存资源,可以降低硬件和维护成本。例如,单个服务器上的100个PDB共享一个数据库实例。
02 更容易、更快速地移动数据和代码
通过设计,您可以快速地将PDB插入CDB,从CDB中拔下PDB,然后将此PDB插入不同的CDB。您还可以在PDB保持可用时克隆它们。您可以使用任何字符集插入PDB,并在不进行字符集转换的情况下访问它。如果cdb的字符集是cdb的字符集是al32utf8,那么同一cdb中可以存在具有不同数据库字符集的pdb。
03 更容易管理和监控物理数据库
CDB管理员可以通过为所有托管租户和CDB根执行单个操作(如修补或执行RMAN备份)将环境作为聚合进行管理。简化了备份策略和灾难恢复。
04 数据和代码分离
虽然PDB合并到一个物理数据库中,但它模拟了非CDB的行为。例如,如果用户错误丢失了关键数据,那么PDB管理员可以使用Oracle Flashback或时间点恢复来检索丢失的数据,而不会影响其他PDB。
05 确保行政职责分离
普通用户可以连接到其具有足够权限的任何容器,而本地用户仅限于特定的PDB。管理者可以按如下方式划分职责:
管理员使用公用帐户管理CDB或应用程序容器。因为权限包含在授予它的容器中,所以一个PDB上的本地用户对同一个CDB中的其他PDB没有权限。
管理员使用本地帐户管理单个PDB。
06 易于性能调整
收集单个数据库的性能指标比收集多个数据库的性能指标更容易。一个SGA的尺寸比100个SGA的尺寸更容易。
07 更少的数据库补丁和升级
对一个数据库应用补丁比对100个数据库应用补丁更容易,对一个数据库进行升级也比对100个数据库进行升级更容易。
2多租户架构对可管理性的好处
01 更容易升级数据和代码
例如,不需要将CDB从一个数据库版本升级到另一个数据库版本,您可以从现有CDB中快速拔出PDB,然后将其从更高版本插入到新创建的CDB中。
02 更容易在服务器之间迁移
要执行负载平衡或满足SLA,您可以将应用程序数据库从本地数据中心迁移到云,或者在同一环境中的两个服务器之间迁移。
03 防止PDB中的数据损坏
您可以将PDB闪存回特定于SCN或PDB的还原点,而不影响其他PDB。此功能类似于非CDB的闪回数据库功能。
能够在单个位置安装、管理和升级特定于应用程序的数据和元数据
您可以将一组特定于应用程序的PDB定义为单个组件,称为应用程序容器。然后可以在此容器中定义一个或多个应用程序。每个应用程序都是此应用程序容器中共享的一组命名的、版本控制的通用元数据和数据。
例如,SaaS供应商的每个客户都可以拥有自己的应用程序PDB。每个应用程序PDB可能都有相同定义的表,名为sales-mlt,每个PDB中有不同的数据。PDB可以共享一个名为“国家”的数据链接公共对象,每个PDB中都有相同的数据。作为应用程序管理员,您可以管理主应用程序定义,以便每个新客户都获得具有相同对象的PDB,并且对现有模式的每个更改(例如,添加新表或更改表的定义)都适用于共享应用程序定义的所有PDB。
04 与Oracle数据库资源管理器集成
在多租户环境中,一个问题是运行在同一服务器上的PDB之间的系统资源争用。另一个问题是限制资源使用以获得更一致、可预测的性能。要解决此类资源争用、使用和监视问题,请使用Oracle数据库资源管理器。
三,查看
1,查看管理用户是否是CDB
SQL> SELECT NAME, CDB, CON_ID FROM V$DATABASE;

select name ,open_mode from v$pdbs ; 查看状态

ORACLE--12C--多租户体系架构概念的更多相关文章
- Oracle 12c多租户架构浅析
Oracle数据库12c的一大创新即是其采用的多租户架构.对于多租户这项新功能,业内的评价褒贬不一.有的声音认为,这项功能的用处不是特别大,但在某些场景或特定的环境下,多租户依然有它的用处.其最大的用 ...
- Oracle 12c 多租户家族(12c 18c 19c)如何在 PDB 中添加 HR 模式
Oracle 12c 多租户家族(12c [12.2.0.1].18c [12.2.0.2].19c [12.2.0.3])如何在 PDB 中添加模式:19c (19.3) 手工添加示例 HR 用户 ...
- oracle 12c多租户下的日常操作变化
Oracle 12c创建用户时出现“ORA-65096: invalid common user or role name”的错误 在oracle中,引入了多租户概念,以前是一个instance对应一 ...
- oracle 12c 多租户 pdb 恢复(单个pdb数据文件、非系统pdb表空间、整个pdb数据库)
环境:数据库版本 Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 实验准备:1.-- 数据库归 ...
- GoldenGate 12.2抽取Oracle 12c多租户配置过程
linux下安装12c 重启linux之后,dbca PDB/CDB使用 SQL> select instance_name from v$instance; INSTANCE_NAME --- ...
- oracle 笔记---(三)__体系架构
查看控制文件位置 SQL> show parameter control_files; NAME TYPE VALUE ------------------------------------ ...
- Oracle 12c 多租户 CDB 与 PDB 级别 expdb 与 impdb(表、用户、全库)
Oracle 数据库 12 c 多租户下,如何在容器数据库 (CDB) 和可插拔数据库 (PDB) 中使用 expdb 与 impdp (数据泵) 呢? 我们一起探讨下PDB 下进行表级,用户级别,全 ...
- Oracle 12c 多租户在 CDB 中 Plug A PDB,Unplugging A PDB
Oracle 数据库 12 c 中介绍了多租户选项允许单个容器数据库 (CDB) 来承载多个单独的可插拔数据库 (PDB).本文简单的演示了如何在 CDB 中 Plug A PDB,Unpluggin ...
- Oracle 12c 多租户 手工创建 pdb 与 手工删除 pdb
实验环境: SQL> select * from v$version;BANNER ...
随机推荐
- excel中的绝对引用和相对应用
六.相对引用和绝对引用 1.相对引用 单元格或单元格区域的相对引用是指相对于包含公式的单元格的相对位置.例如,单元格 B2 包含公式 =A1 ;Excel 将在距单元格 B2 上面一个单元 ...
- (转)什么?你还不会写JQuery 插件
原文地址:http://www.cnblogs.com/joey0210/p/3408349.html 前言 如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jque ...
- GTA4下载和玩教程
侠盗猎车4中文版.rar: 但是下载安装之后总是在刚开始开车的时候跳转到人物界面卡在那里无法进行下去,解决办法: 1.新建一个commandline.txt文件复制以下内容进去 -novblank - ...
- 设计模式04: Factory Methord 工厂方法模式(创建型模式)
Factory Methord 工厂方法模式(创建型模式) 从耦合关系谈起耦合关系直接决定着软件面对变化时的行为 -模块与模块之间的紧耦合使得软件面对变化时,相关的模块都要随之变更 -模块与模块之间的 ...
- ASP.NET MVC4 学习记录
之前在学习Artech的<ASP.NET MVC4框架揭秘>一书,学习过程中画了ASP.NET MVC4框架的草图,方便记忆.
- web端访问文件没有权限的问题
背景 : ftp的PHP项目中的某些文件没有写入的权限..系统报注意错误!!! 原因 : 一般情况下,web端访问网站一般使用的是WWW权限(有限制的权限组)去访问, 但是我们编程开发的时候, 有可能 ...
- 「POJ 2182」 Lost Cows
题目链接 戳这 题目大意 \(N(2 <= N <= 8,000)\)头奶牛有\(1..N\)范围内的独特品牌.对于每头排队的牛,知道排在那头牛之前的并比那头牛的品牌小的奶牛数目.根据这些 ...
- k8s学习笔记(一)
你将学到什么 如何部署k8s集群 网络拓扑 主机名 网络地址 角色 study 92.0.0.50(内网) 192.168.203.250/19(外网) Master fnode 92.0.0.16( ...
- h2数据库 安装部署
1.下载linux下的包,即全平台,网址:http://www.h2database.com/html/download.html 选择Platform-Independent Zip 2.把这个包上 ...
- iOS APP打包上传到APPstore的最新步骤
一.前言: 作为一名iOS开发者,把辛辛苦苦开发出来的App上传到App Store是件必要的事.但是很多人还是不知道该怎么上传到App Store上 下面就来详细讲解一下具体流程步骤. 二.准备: ...