一、容器数据库与可插拔数据库
1、ORACLE MULTITEMENT CONTAINER DATABASE(CDB),即多容器数据库
是ORACLE12c新引入的特性,这个特性允许CDB容器数据库中创建并且维护多个数据库,在CDB中创建的数据库被称为PDB,每个PDB在CDB中是独立的,在单独使用PDB时与普通数据库无差别。CDB根容器数据库的主要作用就是容纳所有相关的PDB元数据,以及在CDB中对虽有PDB进行管理。
2、多租户环境组成
(1)ROOT:ROOT容器数据库,是CDB环境中的根数据库,在跟数据库中含有主数据字典视图,其中包含了与ROOT容器有关的元数据和CDB中包含的所有PDB信息,在CDB环境中被标识为CDB$ROOT,每个CDB环境中只能有一个ROOT容器数据库。
(2)PDB SEED:PDB SEED为PDB的种子,其中提供了数据文件,在PDB环境中被标识为PDB$SEED,是创建PDB的模板,可以连接PDB$SEED但是不能执行任何事务,因为PDB$SEED是只读的,不可修改。
(3)PDBS:PDBS数据库,在CDB环境中每个PDB都是独立存在的,与传统ORACLE数据库无差别,每个PDB拥有自己的数据文件和OBJECTS,唯一的区别就是PDB可以插入到PDB中,以及从CDB中拔出。当用户连接到PDB时不会感觉到根容器和其他PDB的存在。
二、容器数据库基操
1、查看当前数据库下有哪些PDB
2、查看当前连接的是哪个数据库
3、查看数据文件,日志文件,控制文件以及表空间
4、切换数据库
三、创建一个PDB
1、因为PDB是由PDBSEED中文件创建而来,所以要确定PDBSEED文件位置。
2、创建PDB文件存放目录。
3、从PDBSEED创建PDB
create pluggable database pdb1
admin user admin1 identified by oracle roles=(connect)
file_name_convert=(‘/u03/app/oracle/oradata/cdborcl/pdbseed/’,’/u03/app/oracle/oradata/cdborcl/pdb1/’);
4、启用pdb_file_name_convert参数创建PDB(每次创建都要指定)
5、打开关闭指定的PDB
6、在PDB下创建表空间及业务用户。
(1)切换到PDB下并查看数据库状态
(2)创建表空间
(3)创建hr用户
(4)配置网络连接名,并以HR用户连接到数据库
vim $ORACLE_HOME/network/admin/tnsname.ora