Oracle 12c创建表空间、用户
一、前言
Oracle 12c 中新增加了可插入数据库的概念,即PDB(Pluggable Database),允许一个容器数据库 ,即CDB (Container Database)承载多个可插入数据库PDB 。CDB相当于操作系统,调用并管理各个PDB ,PDB 相当于真正提供业务需求的数据库实例。在PDB中创建用户与之前相同,但在CDB中创建用户与之前有所不同,下面会详细说明。
查看数据库当前使用的容器
CDB与PDB之间的表空间是不能相互使用的,需要单独创建
1. 创建临时表空间
2. 创建数据表空间
三、创建用户
1. 创建用户
-- PDB下创建用户按之前的方式就行
四、删除表空间、用户
1. 删除表空间
2. 删除用户
Oracle 12c 中新增加了可插入数据库的概念,即PDB(Pluggable Database),允许一个容器数据库 ,即CDB (Container Database)承载多个可插入数据库PDB 。CDB相当于操作系统,调用并管理各个PDB ,PDB 相当于真正提供业务需求的数据库实例。在PDB中创建用户与之前相同,但在CDB中创建用户与之前有所不同,下面会详细说明。
查看数据库当前使用的容器
SELECT SYS_CONTEXT('USERENV','CON_NAME') FROM dual;
二、创建表空间
CDB与PDB之间的表空间是不能相互使用的,需要单独创建
1. 创建临时表空间
CREATE TEMPORARY tablespace 表空间名称 tempfile 'D:\app\oracle\oradata\orcl\表空间名称.dbf' -- 设置存放位置,必须为.dbf文件 SIZE 50m -- 分配初始大小 autoextend ON -- 开启自动扩增 NEXT 50m maxsize 20480m -- 设置当空间不够时每次增加的大小和最大值 extent management LOCAL;
CREATE tablespace 表空间名称 logging -- 开启日志 datafile 'D:\app\oracle\oradata\orcl\表空间名称.dbf' -- 设置存放位置,必须为.dbf文件 SIZE 50m -- 分配初始大小 autoextend ON -- 开启自动扩增 NEXT 50m maxsize 20480m -- 设置当空间不够时每次增加的大小和最大值 extent management LOCAL;
1. 创建用户
-- CDB下创建用户需要加上c##或C##才能创建成功(c##xxx整体是用户名) CREATE USER c##xxx IDENTIFIED BY 密码 DEFAULT tablespace 数据表空间 TEMPORARY tablespace 临时表空间;
CREATE USER 用户名 IDENTIFIED BY 密码 DEFAULT tablespace 数据表空间 TEMPORARY tablespace 临时表空间;
2. 赋予权限
GRANT CONNECT,resource,dba TO 用户名;
1. 删除表空间
-- 删除空的表空间,但是不包含物理文件 DROP tablespace 表空间名称; -- 删除空表空间,包含物理文件 DROP tablespace 表空间名称 INCLUDING datafiles; -- 删除非空表空间,但是不包含物理文件 DROP tablespace 表空间名称 INCLUDING contents; --删除非空表空间,包含物理文件 DROP tablespace 表空间名称 INCLUDING contents AND datafiles; --如果其他表空间中的表有外键等约束关联到了本表空间中表的字段,需要加上CASCADE CONSTRAINTS DROP tablespace 表空间名称 INCLUDING contents AND datafiles CASCADE CONSTRAINTS;
-- 只是删除此用户 DROP USER 用户名; -- 会删除此用户及此用户关联的所有表和视图 DROP USER 用户名 CASCADE;