Oracle 12c创建表空间、用户

一、前言

    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;
2. 创建数据表空间
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 临时表空间;
-- PDB下创建用户按之前的方式就行
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;
2. 删除用户
-- 只是删除此用户
DROP USER 用户名;

-- 会删除此用户及此用户关联的所有表和视图
DROP USER 用户名 CASCADE;


posted on 2022-05-15 09:43  小破孩楼主  阅读(534)  评论(0编辑  收藏  举报