ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Oracle 18c新特性:多租户舰队 CDB Fleet

2021-04-14 21:02:47  阅读:278  来源: 互联网

标签:18c CDB Lead LEAD Oracle Fleet PDB



Oracle 18c新特性:多租户舰队 CDB Fleet


在 Oracle 18c 中,多租户的一个新特性 CDB Fleet 被引入进来,我们可以把这个特性称为:多租户舰队。(关注本公众号: Oranews 回复 2018OOW 可以在 “CDB Fleet” 目录找到这个 118 页的 PPT)我们知道,在 Oracle 12.2 中,每个多租户可以最多支持 4096 个 PDB,这是从12

在 Oracle 18c 中,多租户的一个新特性        CDB Fleet        被引入进来,我们可以把这个特性称为:   多租户舰队   。


我们知道,在 Oracle 12.2 中,每个多租户可以最多支持 4096 个 PDB,这是从12.1 的 252个 PDB 支持升级而来的,主要特性如下图所示:


Oracle Database 18c 引入了CDB Fleet功能,可以帮助我们   将多个 CDB 的 PDB 聚合管理,仿佛是一个逻辑的 CDB 一样   。 


CDB Fleet旨在提供更高的可扩展性和为多CDB的集中管理提供底层基础架构, 主要的特性如下:

  • 单个 CDB 中的最大PDB数是4096个,CDB舰队则可以逻辑上容纳超过4096个PDB。

  • 单个配置中的不同PDB需要不同的服务类型才能以最佳方式运行,例如,一些PDB可能用于处理大的事务负载,而其他PDB主要用于监控。 通常需要区别配置适用于这些PDB的服务器资源,例如CPU,内存,I / O速率和存储系统。

  • 每个CDB都可以使用所有常用的数据库功能来实现 CDB 中 PDB 的高可用性,可伸缩性和恢复,例如Real Application Clusters(RAC),Data Guard,RMAN,PITR和Flashback。

  • PDB名称在舰队中的所有CDB中必须是唯一的。 PDB可以在舰队中的任何CDB中创建,但只能在物理存在的CDB中打开。



CDB舰队包含两个角色:   CDB领队(CDB Lead) 和 CDB成员(CDB Member)   。来自各个CDB的PDB信息与CDB Lead同步。

配置 CDB Lead 需要从CDB root 开始,CDB Lead 能够:

  • 监控舰队中所有CDB的所有PDB;

  • 通过跨容器查询报告信息,并从舰队中所有CDB的所有PDB收集诊断信息

  • 从 Fleet 中所有CDB的所有PDB查询Oracle对象

要配置CDB舰队,需要首先定义 Lead 然后定义 Member:

  • 要将CDB定义为CDB Fleet 中的CDB Lead,需要从CDB root将LEAD_CDB数据库属性设置为TRUE。

  • 在CDB Lead的CDB root 中,使用一个 common 用户并授予适当的权限。

  • 假定网络已配置正常,当前CDB可以使用DB Link中定义的连接描述符连接到CDB Lead,以下步骤将其他CDB定义为CDB Fleet的成员:

    • 连接到另一个 CDB 的 CDB Root;

    • 使用与 CDB Lead 中使用的常规用户相同的常规用户,因为我们必须使用固定用户创建公共数据库链接;

    • 将LEAD_CDB_URI数据库属性设置为指向CDB Lead 的数据库链接的名称;

  • CDB舰队中的CDB Lead可以监控CDB Fleet中CDB的PDB。你可以在一个容器中安装监视应用程序,并使用CDB视图和GV $视图来监视和处理整个CDB Fleet 的诊断数据。在 CDB Lead 中发出的跨容器查询可以通过Oracle提供的对象在CDB Fleet 中的所有PDB中自动执行。

  • 在CDB Fleet中的不同PDB(或应用程序PDB)中使用Oracle提供的甚至是通用应用程序模式对象,您可以使用CONTAINERS子句或CONTAINER_MAP在Fleet中的多个CDB的所有PDB上运行查询。这使得来自Fleet中不同CDB中的PDB的数据聚合成为可能。应用程序可以安装在    Application root    中,并且 Fleet 中的每个CDB都可以具有    Application root    克隆,以启用跨CDB的通用应用程序架构。

  • CDB Lead 可以作为一个中心位置,您可以在其中查看有关多个CDB的所有PDB的信息和状态。





给用户介绍Oracle多租户新特性时,多次忍不住将CDB比喻为航母,PDB则是停靠之上的舰载机。没想到18c竟然出了航母战斗群,^_^


18c中引入了CDB fleet新特性,能够实现以下的功能:


扩容PDB支持数量,单个CDB最大能够支持4096个PDB,CDB fleet大大扩展了这一数量;

多CDB数据库的集中管理,降低管理成本;

CDB fleet支持所有的数据库功能,如Oracle RAC,RMAN,基于时间点的恢复,Flashback等。

 


CDB fleet中有两个概念:CDBLead和CDB members。


在CDB Lead中能够进行所有CDB的管理,设置完成后,fleet中所有的PDB都对CDBLead可见,在Lead中可以使用以下方式获取全局信息,实现全局管理:


CDB和GV$视图

CONTAINERS字句以及CONTAINER_MAP

CDB Members则通过DBLink和CDB Lead进行通讯。


 


 简单记录配置过程:


CDB Lead


 1. 设置LEAD_CDB


ALTER SESSION SET CONTAINER = CDB$ROOT;

 

ALTER DATABASE SET LEAD_CDB = TRUE;

 

 

 

SELECT PROPERTY_VALUE FROM  DATABASE_PROPERTIES WHERE PROPERTY_NAME='LEAD_CDB';

 

 PROPERTY_VALUE

----------------------

TRUE


2. 创建用于CDB Member连接的用户


create user c##cf1 identified by oracle;

 

grant dba to c##cf1;

 


CDB member


 1. 配置连接串


lead_pod =

 

 (DESCRIPTION =

 

   (ADDRESS_LIST =

 

     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.19)(PORT = 1521))

 

    )

 

   (CONNECT_DATA =

 

     (SERVICE_NAME = ora18c)

 

    )

 

  )


 2. 创建连接CDB Lead的DB LINK


CREATE PUBLIC DATABASE LINK lead_link

 

  CONNECT TO C##CF1 IDENTIFIED BY oracle

 

  USING 'lead_pod';


 3. 设置LEAD_CDB_URI属性


ALTER DATABASE SET LEAD_CDB_URI ='dblink:LEAD_LINK';

 

SELECT PROPERTY_VALUE FROMDATABASE_PROPERTIES WHERE PROPERTY_NAME='LEAD_CDB_URI';

 

 PROPERTY_VALUE

--------------------------------------------------------------------------------

dblink:LEAD_LINK



CDB Lead


1. CDB Lead中确认CDB Member信息


SQL> select pdb_name, status from cdb_pdbs;

 

 

 

PDB_NAME                                                            STATUS

 

------------------------------------------------------------------------------------------------------------------------------------------

 

PDB$SEED                                                            NORMAL

 

orclcdb                                                              STUB

 

PDB1                                                                NEW

 

PDB2                                                                STUB


 PS: 状态为STUB的PDB信息来自于CDB Member.


标签:18c,CDB,Lead,LEAD,Oracle,Fleet,PDB
来源: https://blog.51cto.com/lhrbest/2706688

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有