什么是CDB和PDB
CDB :容器数据库,名称为 CDB$ROOT。其作用就是系统数据库,sys等账号都保存在里面。同时它可以管理PDB数据库
PDB :可插拔的数据库。用户可以在PDB自建数据库
Oracle安装成功后有个默认的pdb数据库(在安装Oracle的时候自己设定)
PDB中自带有PDB$SEED,属于PDB的模板数据库,自己创建数据库的时候以此库为模板
命令:如何查看当前的位置是CDB还是PDB使用sys登录,输入命令:
show con_name; -- 查看当前所在容器位置show pdbs; -- 查看所有的PDB

PDB的常规操作
开启和关闭所有的PDB
alter pluggable database all open; -- 打开PDBalter pluggable database schooldb close immediate; -- 关闭schooldb数据库
切换到PDB和CDB
alter session set container=schooldb; -- 切换到schooldb数据库alter session set container=cdb$root; -- 切换到CDB
直连PDB
检查监听文件是否有下面的内容,没有则加上,其中的IP地址是虚拟机的ip :


创建新的PDB
create pluggable database 数据库名称 admin user 新用户名 identified by 新密码 roles=(dba) file_name_convert=('C:\写oracle的安装目录名\oradata\orcl\pdbseed','C:\写oracle的安装目录名\oradata\orcl\school');
说明:需要使用sys账号切换到CDB才能创建PDB
如果要删除PDB执行:
drop pluggable database 数据库名称 including datafiles;
注意:免费使用Oracle 19C 最多让你创建2个PDB
附:全局用户和本地用户
创建全局用户c##admin (全局用户名必须是c##为前缀)
create user c##admin identified by 123; -- 123是c##admin用户的密码
说明:创建成功后,在CDB和PDB里面都有c##admin用户2. 创建本地用户test
alter session set container=schooldb; -- 先切换到schooldb数据库create user test identified by 123; -- 再创建test用户,密码也是123
说明:只有在schooldb数据库才有test用户3.删除用户
drop user c##admin; -- 删除用户c##admindrop user test; -- 删除用户test
文章转载自全栈精英,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




