Oracle中数据库、数据文件、表、表空间、用户之间是什么关系(转)

如题所述

问题:我是数据库的初学者,望大家不吝赐教!! 在Oracle中数据库、数据文件、表、表空间、用户之间是什么关系啊?比如我知道表和数据文件隶属于表空间;表空间与用户是多对多的关系。 希望大家能写的通俗具体一点,呵呵呵 我在逻辑上有点混乱了!答案:呵呵,问的好,这涉及到数据库的物理结构和逻辑结构。 首先,你需要明白的一点是:数据库的物理结构是由数据库的操作系统文件所决定,每一个Oracle数据库是由三种类型的文件组成:数据文件、日志文件和控制文件。数据库的文件为数据库信息提供真正的物理存储。 每一个Oracle数据库有一个或多个物理的数据文件(data file)。一个数据库的数据文件包含全部数据库数据。逻辑数据库结构(如表、索引等)的数据物理地存储在数据库的数据文件中。数据文件通常为*.dbf格式,例如:userCIMS.dbf。数据文件有下列特征:①、一个数据文件仅与一个数据库联系;②、一旦建立,数据文件只增不减;③、一个表空间(数据库存储的逻辑单位)由一个或多个数据文件组成。 其次,我们再来叙述一下Oracle的逻辑结构:Oracle的逻辑结构包括表空间(tablespace),段(segment),数据块(data block)以及模式对象(schema object)。 Oracle数据库在逻辑上是由多个表空间组成的,表空间在物理上包含一个或多个数据文件。而数据文件大小是块大小的整数倍;表空间中存储的对象叫段,比如数据段,索引段和回退段。段由区组成,区是磁盘分配的最小单位。段的增大是通过增加区的个数来实现的。每个区的大小是数据块大小的整数倍,区的大小可以不相同;数据块是数据库中的最小的I/O单位,同时也是内存数据缓冲区的单位,及数据文件存储空间单位。块的大小由参数DB_BLOCK_SIZE设置,其值应设置为操作系统块大小的整数倍。 ⑴、表空间(tablespace) 表空间是数据库中最大的逻辑单位,每一个表空间由一个或多个数据文件组成,一个数据文件只能与一个表空间相联系。每一个数据库都有一个SYSTEM表空间,该表空间是在数据库创建或数据库安装时自动创建的,用于存储系统的数据字典表,程序系统单元,过程函数,包和触发器等,也可用于存储用户数据表,索引对象。表空间具有在线(online)和离线(offline)属性,可以将除SYSTME以外的其他任何表空间置为离线。 ⑵、段(segment) 数据库的段可以分为四类:数据段、索引段、回退段和临时段。 ⑶、区 区是磁盘空间分配的最小单位。磁盘按区划分,每次至少分配一个区。区存储与段中,它由连续的数据块组成。 ⑷、数据块 数据块是数据库中最小的数据组织单位与管理单位,是数据文件磁盘存储空间单位,也是数据库I/O的最小单位,数据块大小由DB_BLOCK_SIZE参数决定,不同的Oracle版本DB_BLOCK_SIZE的默认值是不同的。 ⑸、模式对象 模式对象是一种应用,包括:表、聚簇、视图、索引序列生成器、同义词、哈希、程序单元、数据库链等。 最后,在来说一下Oracle的用户、表空间和数据文件的关系: 一个用户可以使用一个或多个表空间,一个表空间也可以供多个用户使用。用户和表空间没有隶属关系,表空间是一个用来管理数据存储的逻辑概念,表空间只是和数据文件发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。总结一下:解释数据库、表空间、数据文件、表、数据的最好办法就是想象一个装满东西的柜子。数据库其实就是柜子,柜中的抽屉是表空间,抽屉中的文件夹是数据文件,文件夹中的纸是表,写在纸上的信息就是数据。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-12-12
数据库是一整个概念,里面包含多个表空间,表空间里面存放表,每个用户有不同的表空间和表

Oracle 数据库 数据文件 表 表空间 用户的关系
首先,你需要明白的一点是:数据库的物理结构是由数据库的操作系统文件所决定,每一个Oracle数据库是由三种类型的文件组成:数据文件、日志文件和控制文件。数据库的文件为数据库信息提供真正的物理存储。每一个Oracle数据库有一个或多个物理的数据文件(data file)。一个数据库的数据文件包含全部数据库数...

Oracle数据库中-表空间-用户存在什么关系.!
【表空间】是oracle的逻辑上的概念,【数据文件】是oracle的物理上的概念,是不一样的。3、oracle以表空间的概念管理数据,一个表空间可能存在在一个或者多个数据文件中。4、oracle中用户的所有数据都是存放在表空间中的,很多个用户可以共用一个表空间,也可以指定一个用户只用某一个表空间。--- 以上...

在Oracle中数据库、表空间、表之间的关系
在oracle中,表空间是存储概念上的,建立表空间需要有对应的数据文件,数据文件建立好之后直接会把一定的磁盘空间分配给它,这样可以对数据库的存储空间进行有效的管理。然后在建表的时候指定对应的表空间,该表的数据就会都存在表空间对应的数据文件上,和Mysql那种每个表一个文件的方式比起来,存储的可控...

数据库,表空间,用户,数据表。这四个是什麼关系
逻辑上数据库由若干个表空间组成。在上图中表是模式对象的一种,数据文件是Oracle的物理结构部分。

oracle用户,表空间,数据文件之间的关系问题
这个表放那个数据文件,由数据库自己管理的。原因也很简单。比如你现在表空间 100M 只有1个文件。数据库就只有一个很大的表 当运行一段时间后,表空间不足了。你对这个表空间,增加一个 100M的文件。使得这个表空间有 200M了。那么,实际上,这个表,最后会在2个数据文件上,都有数据。

oracle数据库,表空间和表之间是什么关系
Oracle的数据存储由块,区,段,表空间组成 最小单位是块,多个连续的块组成区,多个区组成段,多个段组成表空间 什么是段,可以这么理解,对象就是段,段分为表段(就是我们说的表),索引段(就是我们说的索引)等等。这些表段,索引段在一起组成了表空间。通俗的就这样理解,就可以了 ...

oracle 创建数据库和表空间有什么联系?
一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表, 所以称作表空间。这么说可能你还不太清楚,我举个例子,如果把一个圆看作为数据库,那么把一个圆分为N块,其中每一块都可以看做一个表空间,表空间是介于表和数据库之间的,数据库是所有表的几个,表...

oracle数据库中一个数据库和一个表空间是等同的吗?
oracle和sql有很大的不同 oracle数据库必须要有表空间 如果没有指定 就是默认的表空间 你可以理解为表空间就是给数据库存放东西的地方 一个表空间可以有多个数据库

oracle 数据库、表空间、实例、服务究竟有什么区别联系?
1、每个DATABASE--可包含多个INSTANCE--每个INSTANCE可包含多个TABLESPACE和USER等(授予USER读写TABLESPACE的权限)--每个TABLESPACE可包含多个DBF文件--常用的TABLE或VIEW等都存储在TABLESPACE里。2、要oracle使用 先安装DATABASE,再创建INSTANCE,用sysdba创建TABLESPACE,添加USER指定TABLESPACE,给USER授权,用...

谁告诉我oracle的基本概念啊?什么模式,数据库,表空间,实列、、、,希望...
数据库:一个能存储数据的工具[比如oracle是一种数据库,mysql,sqlserver,accese都是数据库,区别就是它们的存储性能和优势不同]表空间:数据库里可以存放以表为单位的整体数据(比如:顾客表,金额表,业务表),表空间就是在数据库里放这种表的地方(物理空间)实列:就是表中的列,可以让一张表...

相似回答