Oracle 的 表空间(Tablespace)、用户(User)、模式(Schema)

前面有整理了一篇 Oracle 数据库(database) 与 实例(instance) 的概念及关系整理 。

那接下来就往下整理一个数据库里面的一些其他几个东西之间的奇奇怪怪的关系。

一、表空间(Tablespace)

讲表空间的话我就想到Oracle的逻辑存储结构了。所以还是简单讲讲吧,有机会再单独总结(抄袭)一篇。

在计算机技术中,逻辑就是虚拟的意思,实际的数据存储在硬盘中那是物理级别的,也就是我们说的物理存储结构。之间的关系我直接从官方文档中截个图放着,连接线的用的是乌鸦脚表示法来表示一对多的关系,看着还是很明确的!

图中明显可以看出:

1、在oracle的物理逻辑存储结构中,从小到大都是的关系如下,然后从大到小都是一对多的关系:

Oracle data block(数据块)-->Extent(扩展区)-->Segment(段)-->Tablespace(表空间)

2、物理存储结构上,OS block(操作系统的存储块),windows系统上的话,其实也就是我们格式化硬盘的时候选的分配单元大小,Oracle数据块跟操作系统块是一对多的关系。然后,比较重要的一个,一个Oracle的表空间,可以对应多个数据文件。

(一)表空间概述

1、上面刚其实也已经提到,表空间就是个逻辑存储容器,在对应的物理级别上,表空间的数据内容是存储在一个或者多个数据文件或者临时文件中。

2、表空间主要有Permanent Tablespaces(永久表空间)、Temporary Tablespaces(临时表空间)、Undo Tablespaces(撤销表空间)三种,Oracle Database 11g r2在用dbca数据库管理助手创建数据库的时候,默认会创建三个永久表空间(SYSTEM、SYSAUX、USERS),一个临时表空间(TEMP),一个撤销表空间(UNDOTBS1)。

3、 Oracle数据库有几个缺省表空间,其中SYSTEM和SYSAUX 表空间是一个Oracle数据库必须有的。

4、表空间的模式,也可以称为状态,可以设置表空间的online(联机)或者offline(脱机),Read/write(读/写) 或者 Read-only(只读) 。

(二)永久表空间

用于存储数据库中的持久性模式对象,如表、索引、视图等,其数据在物理上对应一个或者多个数据文件。永久表空间也是我们实际中用的最多的一个类型的表空间。

(三)临时表空间

见名知意,不能进行永久对象的存储。其主要用途在于存储临时表的数据、提供空间进行排序操作、创建索引等等。

临时表的话,例如会话级临时表,往里面插入数据进行操作的时候数据使用的就是临时表空间。

创建Oracle数据库的时候可以设置一个叫sort_area_size的参数,默认值为65536,排序的时候会首先使用这部分内存,如果不足就会使用临时表空间。

(四)撤销表空间

撤销表空间主要用于DML语句的数据管理,当执行insert,update,delete的时候,旧的数据就会存放到undo表空间。undo表空间的4个常见作用。

1、事务回滚,我们对数据进行dml操作的时候,如果撤销修改,就会通过undo表空间记录的修改数据把数据恢复到修改前。有些存储过程中通过exception捕捉异常的时候经常会有一句rollback,也是这个作用,对当前事务的数据操作进行回滚恢复。

2、数据库恢复,数据库异常关闭,重新启动的时候会通过undo表空间将回退未提交的事务。

3、读一致性,在一个会话操作数据未提交的时候,通过undo表空间保证其他人访问的数据的一致性(就是未修改的样子)。

4、闪回查询,这是个很有趣的功能。可以查看某个时间点的时候的数据,经常,,算了,也不经常,主要用于误操作、误删数据等的恢复。

综上所述,这些东西日常来说基本都不用管。

(五)表空间模式

1、联机(online)和脱机(offline)表空间

这个其实应该说是表空间的联机状态,Oracle数据库再开启状态的时候,我们可以让除了SYSTEM 表空间和临时表空间外其他所有的表空间联机或者脱机,offline状态的表空间无法被除了Oracle外任何其他的应用程序访问和读写。当然,如果刚好有个会话在操作这个表空间中的部分数据,也不会有太大的影响,Oracle会有相应的处理机制,不详细说。

不想打了,直接从官方文档摘抄一段:

表空间可以自动或手动脱机。例如,您可以将表空间脱机,以进行维护或备份与恢复。数据库在遇到某些错误时会自动将一个表空间脱机,比如数据库写进程 (DBWn)多次试图写入数据文件但遭遇失败时。当用户试图访问一个脱机表空间中的表时,将收到一个错误。

(六)表空间创建语法

放一个永久表空间的创建语法及几个常用的属性对应的注释吧

  1. CREATE TABLESPACE "WEIXIN" --表空间名WEIXIN
  2. LOGGING --启动重做日志
  3. DATAFILE 'D:\app\oradata\orcl\WEIXIN.DBF' --指定对应的数据文件,可以一个或者多个
  4. SIZE 512M --数据文件大小
  5. AUTOEXTEND ON --数据文件自动扩展
  6. NEXT 1024K --一次扩展的大小
  7. MAXSIZE UNLIMITED --数据文件最大容量:无限
  8. EXTENT MANAGEMENT LOCAL --表空间本地管理
  9. SEGMENT SPACE MANAGEMENT AUTO ; --存储管理方式,AUTO为自动方式

二、用户(User) & 模式(Schema)

(一)用户

数据库中的用户,其实就是一个认证登录的东西,用来连接和访问数据库的。

我们先看下创建用户的语法:

  1. CREATE USER "WEIXIN" --创建用户WEIXIN
  2. PROFILE "DEFAULT" --忽略对profile中的一些资源限制(什么鬼)
  3. IDENTIFIED BY "weixin" --密码为weixin
  4. DEFAULT TABLESPACE "WEIXIN" --默认表空间WEIXIN,即数据默认存此表空间
  5. ACCOUNT UNLOCK; --解锁用户
  6. --通常建完用户后会给用户授予一些基本的权限
  7. Grant connect, resource to weixin;
  8. --或者直接再授个管理员权限
  9. GRANT "DBA" TO "WEIXIN" WITH ADMIN OPTION;
  10. --with admin option 表示在获得权限的同时也获得了将这个权限授予其他用户的能力。

好,用户就讲到这。还有一个需要注意的是,oracle的安全策略方面默认一个用户的密码有效期为180天,我们可以直接把这个有效期调成永久。

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

(二)模式(scheam)

我们再偷偷搬运一下官方文档的说法:数据库模式是逻辑数据结构(并非我们上面说的逻辑存储结构哈)或模式对象的集合。 数据库模式由一个数据库用户拥有,并与用户名具有相同的名称。

其实就是,我们在创建用户的时候,Oracle会自动创建一个与用户名相同的数据库模式,然后,该用户下所有的对象(也称为模式对象,如表、序列、视图、同义词、存储过程等等等等),都是归属到这个数据库模式。

简单点可以说,模式是对象的集合,对象(表、存储过程、视图等等)是模式的元素?大概可以这么理解。欢迎纠正!

所以,数据库模式是用来管理对象的。对象就是表呀、视图呀这些,也被称为数据库的逻辑数据结构。

(有点乱。。。看好几个关键字:模式、对象、逻辑数据结构)

举个大家比较常用的例子,很多语言都会提供一个英文句号 "." 这么个东西,在很多IDE上,想调用一个对象的某个东西的时候,我们可以打个对象名,然后点一下,后面就会自动联想出对象所有的变量呀,方法呀什么的。在oracle中也一样,我们可以通过  模式.对象名的形式去访问或者调用对象。

如下面的sql,就是通过指定模式名,然后点,后面跟上表名,就能查询到lhy模式下的emps表。这个主要用于跨用户的查询。日常开发中用户和模式的概念并不会分得很清楚,口头上也就是说,查一下lhy用户下的emps表,其实就是lhy用户对应的lhy模式里面的emps表。

select * from lhy.emps;

还有一点,就是模式下面的对象所存储的表空间,通常是由创建用户的时候的default tablespace参数决定。当然,创建表的时候你也可以单独制定这个表存在哪个表空间下面。

转自:https://blog.csdn.net/Huay_Li/article/details/80575538

转载于:https://www.cnblogs.com/isme-zjh/p/11346178.html

Oracle的表空间、用户和模式相关推荐

  1. Oracle创建表空间/用户及导入导出

    文章目录 一.SQL Plus登录 二.创建表空间,用户 1.创建文件夹 2.创建表空间 2.创建用户 3.用户绑定表空间 4.用户授权 三.Oracle导入导出 2.导出 3.导入 四.Navica ...

  2. Oracle创建 表空间 用户 给用户授权命令

    //创建表空间 create tablespace ACHARTS datafile 'D:\oradata\orcl\ACHARTS01.DBF' size 800m autoextend on n ...

  3. oracle创建用户表空间6,Oracle创建表空间,添加用户及授权

    工具/原料 PLSQL 方法/步骤 1.在PLSQL里,用system/css(orcl系统用户)登陆,登陆的时候普通用户登陆选择normal就可以了 2.Oracle用户新增 执行语句 create ...

  4. Oracle 的 表空间(Tablespace)、用户(User)、模式(Schema)

    前面有整理了一篇 Oracle 数据库(database) 与 实例(instance) 的概念及关系整理 . 那接下来就往下整理一个数据库里面的一些其他几个东西之间的奇奇怪怪的关系. 一.表空间(T ...

  5. Oracle 的 表空间(Tablespace)、用户(User)、模式(Schema)详细解释

    前面有整理了一篇 Oracle 数据库(database) 与 实例(instance) 的概念及关系整理 . 那接下来就往下整理一个数据库里面的一些其他几个东西之间的奇奇怪怪的关系. 一.表空间(T ...

  6. linux数据库创建表空间语句,如何用LINUX用命令创建ORACLE数据库表空间和用户

    如何用LINUX用命令创建ORACLE数据库表空间和用户 文本模式下如何建 更新时间:2019-06-21 19:36 最满意答案 先su 到 oracle用户,SYS用户以DBA身份登陆 //创建临 ...

  7. oracle在非归档模式下,Oracle在非归档模式下不能更改表空间为备份模式

    Oracle表空间设置为备份模式后,便可以联机对表空间下数据文件进行文件系统级别的copy备份操作,因为期间对表空间的修改都记录到数据库的重做日志文件中. 由此想到数据库如果是非归档模式,那么这个表空 ...

  8. oracle创建表空间.创建用户.创建表

    oracle创建表空间.创建用户.创建表 转:http://blog.csdn.net/zhoubl668/archive/2009/02/02/3858576.aspx 在SQL*Plus中:(1) ...

  9. linux oracle 创建表空间2016,Linux下Oracle表空间及用户创建

    记录详细过程以备使用 Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 Connected as sys@i ...

最新文章

  1. 怎么实现页面友好跳转_如何实现软,友好和一致的UI设计
  2. python做硬件自动化测试仪器_基于Python PyVisa和GPIB的硬件测试仪器控制方法
  3. 科普 | 以链接为中心的系统:Link-based Systems
  4. 用jsp实现右导航窗格_手机导航如何投放到汽车中控屏?建议用这2种办法,轻松实现同屏...
  5. hibernate oracle 插入 clob,Oracle CLOB在Hibernate框架下的一次应用
  6. 50.分治算法练习:  二分算法:  2703 奶牛代理商 XII
  7. 什么是java 前端_java前端后端分别是指什么?
  8. Latex编辑线性规划、最优化模型
  9. delphi madExcept使用指南
  10. Python爬虫——全网获取音乐
  11. 这次要讲不清前后端分离,我都怎么地!
  12. 【定位问题】基于RSSI均值的等边三角形定位算法matlab系统
  13. 怎么设置android投屏 桌面程序,手机怎么投屏到电脑?
  14. 探索ELF可执行文件的“干货”:段头表和段的基本介绍
  15. 微星主板从u盘启动linux挖矿,三星905s3g BIOS 设置U盘启动
  16. 回车符号和换行符号原来是这样产生的
  17. 域服务器 文件服务器,域服务器文件服务器
  18. Eclipse+超快的模拟器Genymotion开发Android应用(第一步:安装及配置Genymotion)
  19. HTML5系列代码:为文字设置深灰色阴影
  20. 蓝的成长记——追逐DBA(10):飞刀防身,熟络而非专长:摆弄中间件Websphere

热门文章

  1. python 内存释放
  2. Unity3D技术开发之战争迷雾效果
  3. 低通滤波器转带通滤波器公式由来_射频/微波滤波器
  4. 我想给他拿给他拿台计算机的英文,NO-BOOK 傻瓜机英语口语中级版The machine can do the work of ten men.这机器...
  5. 【系统架构设计师】软考高级职称,一次通过,倾尽所有,看完这篇就够了,方法和技巧这里全都有。
  6. 搭载鸿蒙系统的摄像头,搭载鸿蒙系统的华为P50发布日期曝光
  7. 电磁场与电磁波(10)——电容与部分电容
  8. excel 显示html标签,POI Excel 上下标处理(sub,sup的HTML标签转化到excel格式)
  9. 论文理解【RL - Exp Replay】—— 【ReMERN ReMERT】Regret Minimization Exp Replay in Off-Policy RL
  10. 滴水逆向win32学习笔记1