数据库"/>
用PDB$SEED创建pdb数据库
Oracle 12C引入了新特性多租用户环境(Multitenant Environment),它允许一个数据库容器:CDB(Container Database)承载多个可插拔数据库:PDB(Pluggable Database)。在Oracle 12C之前,实例与数据库是一对一或多对一关系(RAC),而不能实现一对多的关系。在Oracle 12C中,基于多租用户环境这一新特性,实现了实例与数据库的一对多关系。 下图是官方文档给出的CDB与PDB的关系图。
从上图可以看到,CDB由三部分组成
1.Root,即CDB$ROOT,存储数据库系统元数据和公用数据,Oracle不建议在CDB$ROOT下修改和创建任何数据,一个CDB有且只有一个root.
2.seed,即PDB$SEED,它是一个PDB模板,PDB都是基于此模板创建,一个CDB只有一个PDB$SEED
3.PDBs,每个PDB都可看做一个单独的数据库,所有的PDB都属于CDB$ROOT,一个CDB可以有多个PDB。
根据PDB$SEED创建PDB
1.查看pdb$seed数据文件路径:
select name from v$datafile where con_id=(select con_id from v$pdbs where name='PDB$SEED');
SQL> select name from v$datafile where con_id=(select con_id from v$pdbs where name='PDB$SEED');NAME
----------------------------------------------------------------------
/u01/app/oracle/oradata/ORCL/pdbseed/system01.dbf
/u01/app/oracle/oradata/ORCL/pdbseed/sysaux01.dbf
/u01/app/oracle/oradata/ORCL/pdbseed/undotbs01.dbf
2.查看pdb$seed临时文件路径:
select name from v$tempfile where con_id=(select con_id from v$pdbs where name='PDB$SEED');
SQL> select name from v$tempfile where con_id=(select con_id from v$pdbs where name='PDB$SEED');NAME
----------------------------------------------------------------------
/u01/app/oracle/oradata/ORCL/pdbseed/temp012023-03-05_22-04-42-624-PM.
dbf
创建PDB
CREATE PLUGGABLE DATABASE pdb4 ADMIN USER pdb_adm4 IDENTIFIED BY 123456
FILE_NAME_CONVERT=
('/u01/app/oracle/oradata/ORCL/pdbseed/system01.dbf','/u01/app/oracle/oradata/ORCL/pdb4/system.dbf',
'/u01/app/oracle/oradata/ORCL/pdbseed/sysaux01.dbf','/u01/app/oracle/oradata/ORCL/pdb4/sysaux.dbf',
'/u01/app/oracle/oradata/ORCL/pdbseed/undotbs01.dbf','/u01/app/oracle/oradata/ORCL/pdb4/undotbs1.dbf',
'/u01/app/oracle/oradata/ORCL/pdbseed/temp012023-03-05_22-04-42-624-PM.dbf','/u01/app/oracle/oradata/ORCL/pdb4/temp.dbf');
SQL> CREATE PLUGGABLE DATABASE pdb4 ADMIN USER pdb_adm4 IDENTIFIED BY 123456 2 FILE_NAME_CONVERT=3 ('/u01/app/oracle/oradata/ORCL/pdbseed/system01.dbf','/u01/app/oracle/oradata/ORCL/pdb4/system.dbf', 4 '/u01/app/oracle/oradata/ORCL/pdbseed/sysaux01.dbf','/u01/app/oracle/oradata/ORCL/pdb4/sysaux.dbf', 5 '/u01/app/oracle/oradata/ORCL/pdbseed/undotbs01.dbf','/u01/app/oracle/oradata/ORCL/pdb4/undotbs1.dbf',6 '/u01/app/oracle/oradata/ORCL/pdbseed/temp012023-03-05_22-04-42-624-PM.dbf','/u01/app/oracle/oradata/ORCL/pdb4/temp.dbf');Pluggable database created.
查看新建的PDB
show pdbs
SQL> show pdbsCON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED READ ONLY NO3 PDB1 READ WRITE NO4 PDB2 READ WRITE NO5 PDB4 MOUNTED6 PDB3 READ WRITE NO
启动新建的PDB4
alter pluggable database PDB4 open;
SQL> alter pluggable database PDB4 open;Pluggable database altered.SQL> show pdbs;CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED READ ONLY NO3 PDB1 READ WRITE NO4 PDB2 READ WRITE NO5 PDB4 READ WRITE NO6 PDB3 READ WRITE NO
切换到PDB4
alter session set container=PDB4;
SQL> alter session set container=PDB4;Session altered.SQL> show con_name;CON_NAME
------------------------------
PDB4
更多推荐
用PDB$SEED创建pdb数据库
发布评论