【跟我学oracle18c】第九天:Application Containers

版权声明:所有文章禁止转载但是均可在生产中使用提高效率 https://blog.csdn.net/viviliving/article/details/83856202

Oracle带来新的Application Containers特性,该特性对原有的多租户功能进行了增强,在CDB root容器中可以创建一个叫做Application root的容器,类似于CDB root,可在其内创建多个依赖于Application root的Application PDBs

在Application Container特性下还有另一个概念,被命名为“Application”,我们可以把“Application”理解为一个区域,“Application”只能创建在Application root中,其内可以创建表、视图、函数等公共对象,然后可在Application PDBs中使用sync同步命令,来实现“Application”内的公共对象共享到Application PDBs中。

Application root与普通的PDB创建语句相似,在创建语句中需要指定“as application container”子句。

注意,当在使用Application Containers特性时需要使用数据文件的OMF的管理方式,虽然在不使用OMF管理时依然可以成功创建Application root以及Application PDBs,但当“Application”内包含表空间后,在Application PDBs中进行同步“Application”时会报ORA-01537错误,无法将“Application”内的表空间同步到Application PDBs中

Application root的基本管理与普通的PDB基本上没有区别,包括Application root的cloning/unplug/plugin等。

当然,如果你想将Application root拔出后,以普通PDB的方式插入CDB中,那么去掉as application container子句即可。

Application PDB在创建时必须连接到相应Application root中,而不是CDB root,当连接到Application root中时,只需按照创建普通PDB的方式创建即可,无需额外子句指定,创建完成的PDB既是相应Application root中的Application PDB。

当Applicatoin PDB创建成功,可以使用sync命令将它与Application root中定义的Application进行同步。

关于应用程序容器:

        应用程序容器是一个可选的、用户创建的CDB组件,用于为一个或多个应用程序后端存储数据和元数据。一个CDB包含零个或多个应用程序容器。

        例如,您可以在一个应用程序容器中创建多个与销售相关的PDBs,这些PDBs共享由一组公共表和表定义组成的应用程序后端。您可以在一个单独的应用程序容器中存储多个与hr相关的PDBs,并使用它们自己的公共表和表定义。

目的:          

           应用程序容器在CDB中充当特定于应用程序的CDB。一个应用程序容器,像CDB本身一样,可以包含多个PDBs,并允许这些PDBs共享元数据和数据。

           应用程序根允许应用程序PDBs共享应用程序,在此上下文中,这意味着一组命名的、版本化的公共元数据和数据。典型的应用程序安装应用程序公共用户、元数据链接公共对象和数据链接公共对象。

猜你喜欢

转载自blog.csdn.net/viviliving/article/details/83856202