Oracle 12C 创建用户以c##开头
Oracle 12C 创建用户以c##开头原因分析: Oracle 12C引入了CDB(Container Database数据库容器)与PDB(Pluggable Database插拔数据库)的新特性,在Oracle 12C引入的多组用户环境(Multitenanant Environment)中,允许一个数据库容器承载多个可插拔数据库。 在Or...
Oracle 12C 创建用户以c##开头
原因分析:
Oracle 12C引入了CDB(Container Database数据库容器)与PDB(Pluggable Database插拔数据库)的新特性,在Oracle 12C引入的多组用户环境(Multitenanant Environment)中,允许一个数据库容器承载多个可插拔数据库。
在Oracle 12C之前,实例与数据库是一对一或一对多的关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。
当进入Oracle 12C后,实例与数据库可以是一对多的关系。
CDB与PDB关系图
CDB组件(Components of a CDB)
一个CDB数据库包含下面一些组件
1)ROOT组件
ROOT又叫PDB$ROOT,存储着Oracle提供的元数据和Common User,元数据的一个例子是Oracle提供的PL/SQL包的源代码,Common User是指在每个容器中都存在的用户
2)SEED组件
Seed又叫PDB$SEED,这个是创建PDBS数据库的模板,不能在SEED中添加或修改一个对象。一个CDB中有且只能有一个SEED,
3)PDBs
CDB中可以有一个或多个PDBS,PDBS向后兼容,可以像以前在数据库中那样操作PDBS,这里指大多数常规操作。
这些组件中每一个都可以被称为一个容器。因此,ROOT(根)是一个容器,Seed(种子)是一个容器,每个PDB是一个容器。每个容器在CDB中都是独一无二的ID和名称。
create user y1 identified by oracle;
create user c##y1 identified by oracle;
alter session set container=PDBOCL;
--查看当前的容器是否为CDB
select CDB from v$database;
--暂时无结果 show name;
--查看CDB中的PDB信息
select * from v$pdbs;
--启动PDB数据库
alter pluggable database pdborcl open;
--关闭PDB数据库
alter pluggable database pdborcl close;
--在r容器间切换
alter session set container=pdborcl;
alter session set container=cdb$root;
更多推荐
所有评论(0)