【PDB】Oracle 创建pdb说明(create pluggable database)

伴随着 19c登上舞台,越来越多的环境需要我们去熟悉,pdb的创建和管理也随之增加,有多少种方式创建pdb,使用哪种方式更好呢?

通过create pluggable database 我们可以做以下工作:

  • 通过模板创建一个pdb
  • 通过已存在的pdb或no-cdb克隆一个新的pdb
  • 通过插入一个卸载的pdb或者将一个no-cdb 插入到一个 cdb中
  • 可以创建一个应用pdb,应用种子或应用容器

最简单有效的方式,是通过dbca命令来创建一个新的pdb。 如果通过命令方式,参考如下:

--创建一个默认表空间USERS,roles默认为pdb_dba,与dbca方式类似,dbca方式会自动open 该pdb。
create pluggable database pdb3 admin user pdbadmin identified by pdbadmin roles=(dba)  default tablespace users datafile '+data' size 250M autoextend on;
--没有默认表空间 USERS,此时数据库分配SYSTEM表空间为pdb默认表空间
create pluggable database pdb1 admin user pdbadmin identified by pdbadmin;
--指定pdb文件位置
create pluggable database pdb4 admin user pdbadmin identified by pdbadmin roles=(dba)  default tablespace users datafile '/disk1/oracle/dbs/pdb4/users01.dbf' size 250M autoextend on 
FILE_NAME_CONVERT = ('/disk1/oracle/dbs/pdbseed/', '/disk1/oracle/dbs/pdb4/')
PATH_PREFIX = '/disk1/oracle/dbs/pdb4/';
--从已存在的pdb克隆
CREATE PLUGGABLE DATABASE newpdb FROM pdb4
  FILE_NAME_CONVERT = ('/disk1/oracle/dbs/pdb4/','/disk1/oracle/dbs/newpdb/')
  PATH_PREFIX = '/disk1/oracle/dbs/newpdb';
--远程克隆
create pluggable database pdb8 from
mypdb@clonePdb FILE_NAME_CONVERT=('/u01/app/oracle/oradata/mypdb','/u01/app/oracle/oradata/TESTCDB/pdb8');
--查看 pdb_dba权限,也就是pdbadmin具有创建pdb的权限
col granted_role for a20
select granted_role,ADMIN_OPTION from dba_role_privs where grantee='PDBADMIN';
select * from DBA_SYS_PRIVS where grantee='PDB_DBA';
--删除PDB
drop pluggable database pdb1 including datafiles;

命令参考

请使用浏览器的分享功能分享到微信等