
3.3 CDB Fleet特性
Oracle从18c版本开始支持CDB Fleet,简单地说,Fleet就是一个逻辑的CDB集合。其中,Lead CDB是CDB Fleet中用于监控和管理其他CDB的。
将一个CDB中的LEAD_CDB参数设置为TRUE表示该CDB是Lead CDB,CDB Fleet中的其他CDB将配置LEAD_CDB_URI参数并指向Lead CDB。所有CDB中的PDB信息都会和Lead CDB保持同步,所有PDB都会在Lead CDB中“可见”,也就是Lead CDB可以访问任何PDB中的信息。CDB Fleet支持所有Oracle特性,例如RAC、RMAN、基于时间点恢复、闪回等。
在CDB Fleet中,可以通过以下方式来访问CDB和PDB中的数据:
CDB视图;
GV$视图;
CONTAINERS子句;
容器映射。
这里需要注意以下两点:
在CDB Fleet中,各个CDB中的PDB名称不能相同;
可以在任意一个CDB中创建PDB,但是只能在创建时所在的CDB中打开该PDB。
CDB Fleet的适用场景如下:
如果要为一个应用创建更多的PDB(超过4096个),则需要创建多个CDB;
在同一个CDB Fleet中,可配置不同类型的服务器来运行不同的业务;
使用相同应用程序的不同PDB必须存储在不同的位置。
3.3.1 配置CDB Fleet环境
配置CDB Fleet环境十分简单,包括设置Lead CDB和分配其他CDB Fleet成员。
1.设置Lead CDB
在相应的CDB中将参数LEAD_CDB设置为TRUE即可启用Lead CDB,代码如下:

这里没有启用Lead CDB,通过以下命令可以启动该特性:

2.分配其他CDB Fleet成员
将其他CDB中的参数LEAD_CDB_URI设置为指向Lead CDB的DBlink即可。DBlink必须是固定的用户定义,即用户名和密码都必须出现在DBlink的语法中。在其他CDB中进行如下配置。
配置tnsnames.ora 文件,代码如下:

创建DBlink,代码如下:

设置LEAD_CDB_URI参数,代码如下:

告警文件里也会有记录,代码如下:

在Lead CDB的告警文件中,在启用CDB Fleet时也会有相应的记录,代码如下:

3.3.2 查看CDB Fleet中的信息
在Lead CDB中可以查看CDB Fleet中所有CDB的信息,比如数据文件信息。

这里必须把PDB打开,否则在Lead CDB中无法查看该PDB。

在Lead CDB中不能对其他CDB中的PDB进行修改操作,只能进行查询操作,代码如下:

