表空间

表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表,所以称作表空间。

Oracle中很多优化都是基于表空间的设计理念而实现的,一个数据库可以包含多个表空间,一个表空间只能属于一个数据库。一个表空间包含多个数据文件,一个数据文件只能属于一个表空间。

Oracle 数据库中至于存放一个表空间,即SYSTEM的表空间。

表空间的典型应用

  1. 控制用户所占用的表空间配额

    • 建立不同的表空间,为其设置最大的存储容量,然后把用户归属于这个表空间。如此的话,这个用户的存储容量,就受到这个表空间大小的限制。
  2. 控制数据库所占用的磁盘空间

  3. 灵活放置表空间,提高数据库的输入输出性能

    • 可以将不同类型的数据放置不同的表空间中,比如与湖南省相关的数据文件就放置在湖南省的这个表空间中。北京的就放在北京这个表空间中。
  4. 大表的排序操纵

    • 针对这种容量比较大的表对象,往往把它放在一个独立的表空间,以提高数据库性能。

默认表空间

系统中默认创建的几个表空间

  1. SYSTEM

    • 所有的dictionary object都存在SYSTEM表空间里面,存在SYS用户的表,视图,存储过程对象。
  2. SYSAUX

    • 作为SYSTEM表空间的辅助表空间,减轻SYSTEM表空间负荷。
  3. USERS

    • 存储用户创建的数据库对象
  4. UNDOTBS

    • 存储撤销信息的undo表空间。
  5. EXAMPLE

    • 数据库示例的表空间
  6. TEMP

    • 临时表空间主要用途是在数据库进行排序运算,管理索引,访问视图等操纵时提供的临时的运算空间,当运算完成之后系统会自动清理。

表空间查询命令

  1. 查询所有的表空间

    select * from V$tablespace
  2. 查看表空间的数据文件

    select file_name,tablespace_name from dba_data_files
  3. 查看用户的默认表空间

    select default_tablespace,temporary_tablespace from dba_users where username='用户名';
  4. 查看指定表空间有哪些表

    select table_name,tablespace_name from dba_tables where tablespace_name='表空间名称'

创建表空间

create tablespace test_data datafile 'test_data.dbf' size 32M autoextend on next 32M maxsize 2048M extent management local

创建临时表空间

create temporary tablespcae test_temp tempfile 'test_temp.dbf' size 32M autoextend on next 32M maxsize 2048M extent management local

删除表空间

drop tablespace 表空间名 including contents and datafiles

给用户赋予表空间

create user 用户名 identified by 密码 default tablespace 默认表空间 temporary  tablespace 临时表空间

用户与表空间的关系

  • 一个用户可以使用一个或者多个表空间,一个表空间也可以供多个用户使用。

  • 用户和表空间没有隶属关系,表空间是一个用来管理存储数据的逻辑概念,表空间只是和数据文件发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。

  • 查看用户默认表空间

    select username,deafult_tablespace from dba_users where username='用户名'
  • 查看当前用户拥有的表

    select table_name from user_tables

权限分类

  1. 系统权限

    系统规定用户使用数据库的权限。(系统权限是对用户而言)。系统权限只能由DBA用户授出

    最开始就是这两个用户(sys,system)

  2. 对象权限

    某种权限用户对其他用户的表或者视图存取权限。(是针对表或视图而言)

系统权限

允许用户执行特定的数据库动作,如创建表、创建索引、连接实例等。

  1. dba角色: 拥有全部特权,是系统最高权限。

  2. resource角色:拥有resource权限的用户只可以访问数据库对象。

  3. connect角色:拥有connect权限的用户只可以登录Oracle,不可以访问数据库对象

    注意:以上都是角色,不算单个权限,算是一群权限的集合。

查看所有系统权限

SELECT * FROM SYSTEM_PRIVILEGE_MAP

系统权限

允许用户操纵一些特定的对象,如读取视图,可更新某些列、执行存储过程等

select, update, insert, alter, index, delete, all …… //all包括所有权限

execute //执行存储过程权限

给用户授权

  • 系统权限

    grant 系统权限 to 用户名 [WITH ADMIN OPTION]
    grant connect, resource to 用户名;
  • 对象权限

    grant 对象权限 on 对象 to 用户  [WITH GRANT OPTION]
    grant select, update, insert on product to 用户名;
    grant all on product to 用户名; // all 表示全部对象权限
    grant all on product to 用户名;  // public表示是所有的用户

撤销用户权限

  • 撤销系统权限

    revoke 系统权限 from 用户;
    revoke resource from 用户名;
  • 撤销对象权限

    revoke 对象权限 on 对象 from 用户
    revoke select, update on product from 用户

角色

角色就是一组权限(privilege),更加方便对权限进行管理,每种角色都用于执行一些特定的管理任务。

  • 创建角色/删除角色

    create role 角色名 / drop role 角色名
  • 给角色授权

    系统权限: grant 系统权限 to 角色
    对象权限: grant 对象权限 on 对象 to 角色
  • 撤消角色权限

    revoke 系统权限 from 角色
    revoke 对象权限 on 对象 from 角色

查看权限

  • 查看当前用户所有系统权限

    select * from user_sys_privs
  • 查看当前用户所属角色

    select * from user_role_privs
  • 角色有哪些系统权限

    select * from role_sys_privs
  • 角色有哪些对象权限(sys用户下)

    select * from role_tab_privs
  • 用户有哪些对象权限

    select * from user_tab_privs

Oracle 表空间和权限的更多相关文章

  1. Oracle 11g常用管理命令(用户、表空间、权限)

    PS:下面是Oracle 11g最常用的基本管理命令,包括创建用户.表空间,权限分配等.以下命令本人都验证操作过,并加上了本人的小结与说明. 1.启动oracle数据库: 从root切换到oracle ...

  2. Oracle表空间,用户,用户授权

    一:Oracle表空间 1,Oracle表空间与SQL Server文件组对比 SQL Server的文件组(文件组包括若干MDF,NDF数据文件)对我们来说并不陌生,前段时间我在博客“怎样玩转千万级 ...

  3. Oracle表空间管理

    oracle表空间相关常用命令小结: 1.ALTER DATABASE SET DEFAULT BIGFILE TABLESPACE;              //修改表空间数据文件类型 2.ALT ...

  4. 【转】Oracle 表空间与数据文件

    --============================== --Oracle 表空间与数据文件 --============================== /* 一.概念 表空间:是一个或 ...

  5. interview:about Oracle表空间

    Oracle表空间 SQL Server数据库与Oracle数据库之间最大的区别要属表空间设计.Oracle数据库开创性地提出了表空间的设计理念,这为Oracle数据库的高性能做出了不可磨灭的贡献.可 ...

  6. Oracle 表空间扩充

    Oracle 表空间扩充 一.现场环境: (1)操作系统:AIX (2)数据库:Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - ...

  7. Oracle 表空间与数据文件

    -============================== --Oracle 表空间与数据文件 --============================== /* 一.概念 表空间:是一个或多 ...

  8. oracle 表空间总结

                           表空间总结  一.认识表空间 1:表空间概念: 表空间是数据库中最大的逻辑单位,Oracle数据库采用表空间将相关的逻辑组件组合在一起,一个Oracle数 ...

  9. Oracle 表空间查询与操作方法

    一.查询篇 1.查询oracle表空间的使用情况 select b.file_id 文件ID,  b.tablespace_name 表空间,  b.file_name 物理文件名,  b.bytes ...

随机推荐

  1. FastAPI(56)- 使用 Websocket 打造一个迷你聊天室

    背景 在实际项目中,可能会通过前端框架使用 WebSocket 和后端进行通信 这里就来详细讲解下 FastAPI 是如何操作 WebSocket 的 模拟 WebSocket 客户端 #!usr/b ...

  2. 洛谷3203 弹飞绵羊(LCT)

    据说这个题当年的正解是分块qwq 根据题目所说,对于题目中的弹力系数,就相当于一条边,那么对于"跳出去"这个限制,我们可以选择建造一个新点\(n+1\)表示结束,那么每次,求一个点 ...

  3. docker中Jenkins启动无法安装插件,版本过低

    一.问题现象: 使用docker启动jenkins,在jenkins启动后却无法安装jenkins的插件,一直提示安装失败且从log看到提示信息显示为需要升级jenkins的版本 二.原因分析: 在使 ...

  4. 使用tinypng对需要上传Gitee图床的图片进行压缩

    目录 背景 Tinypng简介 Tinypng使用 手动上传图片 使用API 调用API自动上传超过1MB图片 安装tinyfy 自动上传脚本 其他 背景 在使用Gitee作为图床时(使用Typora ...

  5. AgileConfig 轻量级配置中心 1.5 发布 - 支持多环境配置

    AgileConfig 从发布到现在,收到不同学的 issue 说需要多环境的支持.也就是一个应用在不同的环境下可以配置不同的配置项.这是一个非常有用的功能,就跟我们开发的时候会设置多个 appset ...

  6. Golang通脉之类型定义

    自定义类型 在Go语言中有一些基本的数据类型,如string.整型.浮点型.布尔等数据类型, Go语言中可以使用type关键字来定义自定义类型. type是Go语法里的重要而且常用的关键字,type绝 ...

  7. [对对子队]会议记录4.10(Scrum Meeting 1)

    本次每日例会的开会时间是4月10日晚上20:00,使用腾讯会议作为开会工具. 今天已完成的工作 何瑞 ​ 工作内容:制作UI界面的指令编辑系统,已大致实现指令的衔接 ​ 相关issue:实现用户指令编 ...

  8. CSDN app分析

    项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) (北京航空航天大学 - 计算机学院) 这个作业的要求在哪里 个人博客作业-软件案例分析 我的教学班级 005 说说csd ...

  9. 热身训练2 The All-purpose Zero

    The All-purpose Zero 简要题意:  长度为n的数组,每个数字为S[i],$0$是一种很神奇的数字,你想要的,它都可以变! 问这个序列的最长上升子序列长度为多少? 分析: 我们将除了 ...

  10. reorder-list leetcode C++

    Given a singly linked list L: L 0→L 1→-→L n-1→L n, reorder it to: L 0→L n →L 1→L n-1→L 2→L n-2→- You ...