1.
通过名称和
ID
来识别容器 一个集成的
CDB
中,可以包含多个容器,它们可以通过名称
和数字,也 就是
CON_ID
来进行识别。在
12c
版本中,所有用来显示一个实例中包含哪些
对象的
V$
视图,都额外添加了一列,用来显示
CON_ID
,以便标记对象属于哪 一个容器。
CDB
本身就是一个容器,其容器
ID
为
CON_ID=0
。被标记为
CON_ID=0
的对象,都是
CDB
级别的对象,并且不会关联到其他容器。 例如,如下是我们在根容器中查询
V$DATABASE
后得到 的 信 息:
SQL> select dbid,name,cdb,con_id,con_dbid from v$database; DBID
NAME CDB CON_ID CON_DBID ----------- -------- --- ----------- --------- 2013933390 CDB
YES 0 2013933390
下 面 则 是 在
PDB
中 执 行 查 询 :
SQL> select
dbid,name,cdb,con_id,con_dbid from v$database; DBID NAME CDB CON_ID CON_DBID
--------- ---- --- --------- ------------- 2013933390 CDB YES 0 2621919399
如果在不同的容
器中执行上述查询,结果可能也会有所不同。但是无论哪 种情况,所获取到的数据库信息
都只是
CBD
级别的。该视图中包含的信息 来自于控制文件,你将看到这些其实就是公共信
息,因此
CON_ID
被设置为
0
。 如果是非
CDB
,那么对于所有的对象而言,
CON_ID
都为
0
。但是如果是在一 个多租户架构中,那么大部分对象都属于特定容器。 任一
CDB
环境中,
第一个容器都是根容器,名为
CDB$ROOT
,并且
CON_ID=1
。其他所有的容器都是
PDB
。
任一
CDB
中的第一个
PDB
,都是种子容器,名为
PDB$SEED
。因为它是
CDB
中的第二个容
器,所以
CON_ID=2
。
CON_ID>2
的容器,就是用户
PDB
。在版本
12.1
中,可以创建额外的
252
第Ⅰ部分 多租户意味着什么
22
个
PDB
。在版本
12.2
中,则为
4096
个
PDB
评论