Oracle 18c 必须掌握的新特性:管理与实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

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中的数据:

img CDB视图;

img GV$视图;

img CONTAINERS子句;

img 容器映射。

这里需要注意以下两点:

img 在CDB Fleet中,各个CDB中的PDB名称不能相同;

img 可以在任意一个CDB中创建PDB,但是只能在创建时所在的CDB中打开该PDB。

CDB Fleet的适用场景如下:

img 如果要为一个应用创建更多的PDB(超过4096个),则需要创建多个CDB;

img 在同一个CDB Fleet中,可配置不同类型的服务器来运行不同的业务;

img 使用相同应用程序的不同PDB必须存储在不同的位置。

3.3.1 配置CDB Fleet环境

配置CDB Fleet环境十分简单,包括设置Lead CDB和分配其他CDB Fleet成员。

1.设置Lead CDB

在相应的CDB中将参数LEAD_CDB设置为TRUE即可启用Lead CDB,代码如下:

img

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

img

2.分配其他CDB Fleet成员

将其他CDB中的参数LEAD_CDB_URI设置为指向Lead CDB的DBlink即可。DBlink必须是固定的用户定义,即用户名和密码都必须出现在DBlink的语法中。在其他CDB中进行如下配置。

配置tnsnames.ora 文件,代码如下:

img

创建DBlink,代码如下:

img

设置LEAD_CDB_URI参数,代码如下:

img

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

img

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

img

3.3.2 查看CDB Fleet中的信息

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

img

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

img

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

img
img