一、前言
Oracle 12c 中新增加了可插入数据库的概念,即 PDB(Pluggable Database),允许一个容器数据库 ,即 CDB (Container Database)承载多个可插入数据库 PDB 。CDB 相当于操作系统,调用并管理各个 PDB ,PDB 相当于真正提供业务需求的数据库实例。在 PDB 中创建用户与之前相同,但在 CDB 中创建用户与之前有所不同,下面会详细说明。
默认会安装一个名字为 ORCL
的 pdb。
查看 pdb
1 2
| ~ sqlplus sys/123456 as sysdba >SQL show pdbs
|
1)打开 SQL Plus, 以 system 用户登录,注意输入密码后面加入“as sysdba”;
这是如果创建普通用户则会提示“ORA-65096:公用用户名或角色名无效”。
输入
可以看出当前容器为 CDB。
2)输入以下代码,启动 PDB 数据库:
1 2
| alter session set container=ORCL;
|
二、创建表空间
CDB 与 PDB 之间的表空间是不能相互使用的,需要单独创建
注意:这里需要切换 session, 参考第一步第2小步。
注意目录
1 2
| cd /opt/oracle/oradata mkdir ORCLPDB
|
1
| alter session set container=ORCL;
|
- 创建临时表空间
1 2
| CREATE TEMPORARY tablespace my_temp tempfile '/opt/oracle/oradata/orclpdb/my_temp.dbf' SIZE 50m autoextend ON NEXT 50m maxsize 20480m extent management LOCAL;
|
- 创建数据表空间
1 2
| CREATE tablespace my_data logging datafile '/opt/oracle/oradata/orclpdb/my_data.dbf' SIZE 50m autoextend ON NEXT 50m maxsize 20480m extent management LOCAL;
|
三、创建用户
- 创建用户
1 2 3 4
| CREATE USER c##xxx IDENTIFIED BY 密码 DEFAULT tablespace 数据表空间 TEMPORARY tablespace 临时表空间;
|
1 2 3 4
| CREATE USER xxx IDENTIFIED BY 密码 DEFAULT tablespace 数据表空间 TEMPORARY tablespace 临时表空间;
|
- 赋予权限
1
| GRANT CONNECT,resource,dba TO terwer;
|
例子:
1 2 3 4 5 6 7
| create user kms15 identified by 123456 default tablespace my_data temporary tablespace my_temp; grant CONNECT,resource,dba to kms15;
create user kms16 identified by 123456 default tablespace my_data temporary tablespace my_temp; grant CONNECT,resource,dba to kms16;
|
四、删除表空间、用户
- 删除表空间
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| DROP tablespace 表空间名称;
DROP tablespace 表空间名称 INCLUDING datafiles;
DROP tablespace 表空间名称 INCLUDING contents;
DROP tablespace 表空间名称 INCLUDING contents AND datafiles;
DROP tablespace 表空间名称 INCLUDING contents AND datafiles CASCADE CONSTRAINTS;
|
- 删除用户
1 2 3 4 5
| DROP USER 用户名;
DROP USER 用户名 CASCADE;
|