远方的灯塔 - 专注于服务端技术分享 远方的灯塔 - 专注于服务端技术分享
首页
  • Java SE
  • Struts2
  • Hibernate
  • MyBatis
  • JAX-WS
  • 并发
  • 分布式
  • Git
  • 文章分类
  • 文章标签
  • 文章归档
  • 《C程序设计语言》
心情随笔
友情链接
给我留言 (opens new window)
关于我
GitHub (opens new window)

Terwer Green

一个后端老菜鸟
首页
  • Java SE
  • Struts2
  • Hibernate
  • MyBatis
  • JAX-WS
  • 并发
  • 分布式
  • Git
  • 文章分类
  • 文章标签
  • 文章归档
  • 《C程序设计语言》
心情随笔
友情链接
给我留言 (opens new window)
关于我
GitHub (opens new window)
  • Oracle

    • CentOS_7-6_安装Oracle_12c
    • Oracle查看数据库版本等信息
    • Oracle创建用户表空间
    • Oracle12c创建表空间、用户
      • 一、前言
      • 查看 pdb
      • 二、创建表空间
      • 三、创建用户
      • 四、删除表空间、用户
  • 数据库
  • Oracle
terwer
2022-10-17
目录

Oracle12c创建表空间、用户

# 一、前言

Oracle 12c 中新增加了可插入数据库的概念,即 PDB(Pluggable Database),允许一个容器数据库 ,即 CDB (Container Database)承载多个可插入数据库 PDB 。CDB 相当于操作系统,调用并管理各个 PDB ,PDB 相当于真正提供业务需求的数据库实例。在 PDB 中创建用户与之前相同,但在 CDB 中创建用户与之前有所不同,下面会详细说明。

默认会安装一个名字为 ORCL​ 的 pdb。

# 查看 pdb

~ sqlplus sys/123456 as sysdba
>SQL show pdbs
1
2

1)打开 SQL Plus, 以 system 用户登录,注意输入密码后面加入“as sysdba”;

这是如果创建普通用户则会提示“ORA-65096:公用用户名或角色名无效”。

输入

show con_name
1

可以看出当前容器为 CDB。

2)输入以下代码,启动 PDB 数据库:

 alter session set container=ORCL; 
 -- startup;
1
2

# 二、创建表空间

CDB 与 PDB 之间的表空间是不能相互使用的,需要单独创建

注意:这里需要切换 session, 参考第一步第2小步。

注意目录

cd /opt/oracle/oradata
mkdir ORCLPDB
1
2
 alter session set container=ORCL; 
1
  1. 创建临时表空间
--  alter session set container=ORCL; 
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
  1. 创建数据表空间
--  alter session set container=ORCL; 
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

# 三、创建用户

  1. 创建用户
-- CDB下创建用户需要加上c##或C##才能创建成功(c##xxx整体是用户名)
CREATE USER c##xxx IDENTIFIED BY 密码
DEFAULT tablespace 数据表空间
TEMPORARY tablespace 临时表空间;
1
2
3
4
-- PDB 下创建用户按之前的方式就行
CREATE USER xxx IDENTIFIED BY 密码
DEFAULT tablespace 数据表空间
TEMPORARY tablespace 临时表空间;
1
2
3
4
  1. 赋予权限
GRANT CONNECT,resource,dba TO terwer;
1

例子:

--  alter session set container=ORCL; 
create user kms15 identified by 123456 default tablespace my_data temporary tablespace my_temp; 
grant CONNECT,resource,dba to kms15;

--  alter session set container=ORCL; 
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

# 四、删除表空间、用户

  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;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  1. 删除用户
-- 只是删除此用户
DROP USER 用户名;

-- 会删除此用户及此用户关联的所有表和视图
DROP USER 用户名 CASCADE;
1
2
3
4
5
编辑 (opens new window)
#创建#用户#数据库#空间#注意#oracle#表空间#tablespace
上次更新: 2023/02/22, 13:47:25
Oracle创建用户表空间

← Oracle创建用户表空间

最近更新
01
解决css部分border被圆角切掉之后圆角的边框消失问题
03-18
02
使用TypeScript开发一个自定义的Node-js前端开发脚手架
03-08
03
Github-Actions使用release-please实现自动发版
03-06
更多文章>
Theme by Vdoing | Copyright © 2011-2023 Terwer Green | MIT License | 粤ICP备2022020721号-1 | 百度统计
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式