关于表空间、Schema和用户
数据库这个柜子
解释数据库、表空间、数据文件、表、数据的最好办法就是想象一个装满东西的柜子。
从物理方面来讲:数据库是柜子,柜中的抽屉是表空间,抽屉中的文件夹是数据文件,文件夹中的纸是表,写在纸上的信息就是数据。
从对象方面来讲:数据库是柜子,柜中的抽屉是Schema,抽屉中直接就是各种纸,这些纸就是表,写在纸上的信息就是数据。
如果从作为数据库实例和表之间的一层这个概念上面讲,Schema和表空间是一个层次的概念,他们都有一个很重要的特性,就是对表的独占性。Schema是表的逻辑集合,是所有应用访问表必须指定的对象(虽然一般大家都省略了,但是实际上一定是db.schema.table这种访问模式),同一张表不可能既属于这个Schema,又属于另一个Schema。表空间是表的物理集合,是所有磁盘读写必须访问的文件(大家一般也不用太管,主要是Oracle管,个性化的需求DBA管),同一张表也不可能既放在这个表空间,又放在那个表空间。
关于用户
用户就是用户,用户就是打开抽屉,拿出纸来用的人。一般情况下,用户和Schema这种抽屉打交道会多一点,因为每个用户都有一个Oracle给他量身打造的Schema,而在实际的使用过程中,都是通过Schema来访问表,进行增删改查的操作。当然,在主人允许的情况下,客人也是可以打开自己的抽屉查文件的。而DBA,就是那个有万能钥匙的人。
表空间这个抽屉上面同样也贴了用户的名字,每个人可以设置自己的默认抽屉来放东西,如果不设置的话,Oracle也会给你一个公用的抽屉放东西。表空间这种抽屉是物理上的抽屉,是实际存在的,这个抽屉没有了,文件也就没有了。Schema这个抽屉呢,好像是跟着用户天生而来,天生而去的,是个神秘的抽屉。
表空间
ORACLE数据库被划分成称作为表空间的逻辑区域——形成ORACLE数据库的逻辑结构。一个ORACLE数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件。表空间是ORACLE数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。
Schema
方案(Schema)为数据库对象的集合,为了区分各个集合,我们需要给这个集合起个名字,这些名字就是我们在企业管理器的方案下看到的许多类似用户名的节点,这些类似用户名的节点其实就是一个schema,schema里面包含了各种对象如tables, views, sequences, stored procedures, synonyms, indexes, clusters, and database links。 一个用户一般对应一个schema,该用户的schema名等于用户名,并作为该用户缺省schema。这也就是我们在企业管理器的方案下看到schema名都为数据库用户名的原因。
关于表空间、Schema和用户相关推荐
- oracle表空间更改用户,ORACLE创建表空间、创建用户、更改用户默认表空间以及授权、查看权限...
----创建表空间---- CREATE TABLESPACE UCITDB_data LOGGING DATAFILE '/home/app/oracle/app/oracle/oradata/UC ...
- Oracle 数据库创建表空间、创建用户指定表空间
Oracle 数据库创建表空间.创建用户指定表空间 //创建临时表空间 create temporary tablespace user_temp tempfile 'D:\oracle\oradat ...
- oracle查看所有用户_Oracle实用命令查看共用一个表空间的所有用户
概述 有朋友问到如何查出表空间都被哪些用户使用的一些方法,因为有几种情况需要考虑,也顺便做个总结. 需求:如何查看共用一个表空间的所有用户 查看某表空间下表的所有者 使用dba用户查询: 1.如果先要 ...
- shell脚本执行oracle删除表,shell脚本操作oracle删除表空间、创建表空间、删除用户...
oracle下表空间的导出,用户的删除,表空间删除,用户新建,表空间新建,数据导入的shell 使用非oracle用户执行该脚本 参数说名 $1:base表空间的用户名 $2:同步表空间的用户名 使用 ...
- 在toad新增oracle用户,利用toad发现oracle自动为你干了什么(表空间建立和用户建立)...
利用toad发现oracle自动为你干了什么(表空间建立和用户建立) Oracle:10.2.0.1 Windows 2003 一.表空间 sql>Create tablespace dba d ...
- Oracle创建表空间、创建用户以及授权
原文地址:Oracle创建表空间.创建用户以及授权 作者:chinacoolsword Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库. 对于初学者来 ...
- Oracle创建表空间,新增用户分配表空间,赋予用户权限
Oracle不同mysql,是已表空间来约束用户的,链接oracle的用户都有自己对应的表空间,此处记录一下创建到使用的过程: 1.创建表空间 create tablespace 表空间的名称; da ...
- oracle怎么分配表空间,oracle数据库分配表空间、创造用户、分配用户权限操作
oracle数据库分配表空间.创建用户.分配用户权限操作 1.创建临时表空间 /* create temporary tablespace*/ create temporary tablespace ...
- Oracle11g创建表空间、创建用户、角色授权、导入导出表以及中文字符乱码问题
本文转自:https://www.cnblogs.com/bjh1117/p/6605037.html, 侵删. 前提:本机已经安装了Oracle11g数据库 需求:使用PL SQL数据库连接工具操作 ...
- oracle,通过plsql创建用户表空间和所属用户示例
1)创建表空间: 先以oracle数据库管理员的身份登录plsql,在plsql中新建sql命令框,在其中输入如下语句,执行完毕即可建立一个表空间. 创建用户表空间 建立表空间(一般建N个存数据的表空 ...
最新文章
- 打补丁要按顺序吗_通辽正地饲料丨喂猪吃料也要讲究先后顺序! 看看你做对了吗?...
- 历史 history
- Cocos2d-x Eclipse下程序运行产生错误Effect initCheck() returned -1
- IDC:2017年,40%的CIO将失去在企业中的领导地位
- android 文件下载 超简单
- 汇编 无条件转移和过程调用指令
- 十二、Linux系统编程中man命令的使用
- 解决vscode安装后无法启动的问题
- java数据同步处理_Java如何处理多线程的数据同步问题
- java 面试 概率论_编程培训-115个Java面试题和答案B.pdf
- 抓住尾部的StackOverFlowError
- 前端学习(2656):vue2中用v-model实现
- 许久了,都体会不到恋爱的气息
- [转载] Python程序将十进制转换为二进制,八进制和十六进制
- CentOS Linux解决Device eth0 does not seem to be pres
- html5实现留言功能,javascript实现留言板功能
- si4438使用stm32f103配置调试成功!
- 归并算法(详细见解)
- 从NCBI中查看已发现的基因可变剪接
- Unity3d场景快速烘焙【2020】
热门文章
- H3C MSTP实验
- C语言正函数nosign,Function declarations(函数声明)
- 随想录(改进的豆瓣爬行代码)
- 嵌入式操作系统内核原理和开发(优先级的修改)
- ssh客户端_Termius for Mac(SSH客户端) v6.3.0
- 删除高频分量matlab,关于FFT之后怎么提出该频率分量
- php 伸展菜单代码,上下伸展的JS菜单
- java printstream 覆盖了_Java PrintStream clearError()方法与示例
- ctfshow-WEB-web8
- js数组的sort排序(获取中位数)