龙空技术网

ORACLE12/19C RAC创建可插拔数据库

大山VLOG 323

前言:

眼前看官们对“oracle12c创建为容器数据库”大概比较注重,我们都需要了解一些“oracle12c创建为容器数据库”的相关资讯。那么小编也在网上搜集了一些对于“oracle12c创建为容器数据库””的相关知识,希望大家能喜欢,朋友们快快来了解一下吧!

1、在11gR2及以前版本的数据库中,如果我们想实现数据库的多租户架构,整合不同的业务应用程序的数据到一个数据库中,通常可以把它们放到一个数据库中,使用不同的数据库模式(Schenma)。

2、另外一个替代方案是使用同一台数据库服务器,运行多个数据库实例,这种情况下,你将会运行多套数据库的后台进程和SGA等,这必然会增加对性能的要求和容量的开销,另外还会增加数据库管理的工作。

解决多租户的问题

Oracle 12c中推出了一个更好的方案,这个新的架构称为可插拔数据库(PDB)。该功能从本质上允许有多个PDB在一个大的容器数据库(CDB)中运行,CDB运行在Oracle数据库实例中。这种架构可以在CDB内部,整合多个数据集到单独的PDB。而这些PDB是一个自包含的数据库,可以很容易地从CDB中插入或拔出。

可插拔数据库的体系结构概述

其中重要的组成部分是CDB, 它可以不包括PDB, 或者包括一个或多个PDB数据库。一个CDB有以下几种数据库对象的容器。

根容器(root):名字又叫作CDB$ROOT, 包括了这个CDB中所有PDB公共用户 和对象的集合, 还存储了CDB的数据字典和每个PDB的元数据。

种子容器(seed):名字又叫作PDB$SEED, 用于创建新的PDB的模板数据库。 不能对种子容器做任何修改, 种子被命名为PDB$SEED。

PDB:由一组应用的用户和数据库对象组成,这种容器和传统的数据库类似。

下图显示了COB的结构, 它由5个容器组成:根、种子以及三个PDB数据库, 即pdb l、pdb2和pdb3。在该图中, 每个PDB都可以是一个OracleEBS应用程序的数据库, 其存储了应用的模式, 如APPs、GL、AP、HR等。之前的多个数据集、相同的模式名称的问题现在得以解决。

通过SQL查询列出了CDB中包括的那些容器。

SQL> SELECT NAME, CON_ID, DBID, CON_UID FROM V$CONTAINERS ORDER BY CON_ID;

创建CDB和PDB数据库

使用数据库配置助手(DBCA)创建CDB, 这种方式与非CDB数据库的创建方式相同。

[oracle@DBRAC1 ~]$ dbca

标签: #oracle12c创建为容器数据库