Oracle 数据库是数据的物理存储. 这就包括(数据文件 ORA 或者 DBF, 控制文件, 联机日志, 参数文件).
其实 Oracle 数据库的概念和其它数据库不一样, 这里的数据库是一个操作系统只有一个库. 可以看作是 Oracle 就只有一个大数据库.
实例:
一个 Oracle 实例 (Oracle Instance) 有一系列的后台进程 (Backguound Processes) 和 内存结构(Memory Structures) 组成. 一个数据库可以有 n 个实例.
用户:
用户是在实例下建立的. 不同实例可以建相同名字的用户.
表空间:
表空间是一个用来管理数据存储逻辑概念, 表空间只是和数据文件 (ORA 或者 DBF 文件) 发生关系, 数据文件是物理的, 一个表空间可以包含多个数据文件, 而一个数据文件只能隶属一个表空间.
数据文件(dbf,ora):
数据文件是数据库的物理存储单位. 数据库的数据是存储在表空间中的, 真正是在某一个或者多个数据文件中. 而一个表空间可以由一个或多个数据文件组成, 一个数据文件只能属于一个表空间.
一旦数据文件被加入到某个表空间后, 就不能删除这个文件, 如果要删除某个数据文件, 只能删除其所属于的表空间才行.
注: 表的数据, 是有用户放入某一个表空间的, 而这个表空间会随机把这些表数据放到一个或者多个数据文件中.
由于 oracle 的数据库不是普通的概念, oracle 是有用户和表空间对数据进行管理和存放的. 但是表不是有表空间去查询的, 而是由用户去查的.
因为不同用户可以在同一个表空间建立同一个名字的表! 这里区分就是用户了!
先需要明白数据库的物理结构是由数据库的操作系统文件所决定, 每一个 Oracle 数据库是由三种类型的文件组成: 数据文件, 日志文件和控制文件. 数据库的文件为数据库信息提供真正的物理存储.
每一个 Oracle 数据库有一个或多个物理的数据文件 (data file). 一个数据库的数据文件包含全部数据库数据. 逻辑数据库结构(如表, 索引等) 的数据物理地存储在数据库的数据文件中. 数据文件通常为 *.dbf 格式, 例如: userCIMS.dbf.
数据文件有下列特征:1, 一个数据文件仅与一个数据库联系;2, 一旦建立, 数据文件只增不减;3, 一个表空间 (数据库存储的逻辑单位) 由一个或多个数据文件组成.
其次, 我们再来叙述一下 Oracle 的逻辑结构: Oracle 的逻辑结构包括表空间 (tablespace), 段(segment), 数据块(data block) 以及模式对象(schema object).
Oracle 数据库在逻辑上是由多个表空间组成的, 表空间在物理上包含一个或多个数据文件. 而数据文件大小是块大小的整数倍; 表空间中存储的对象叫段, 比如数据段, 索引段和回退段.
段由区组成, 区是磁盘分配的最小单位. 段的增大是通过增加区的个数来实现的. 每个区的大小是数据块大小的整数倍, 区的大小可以不相同; 数据块是数据库中的最小的 I/O 单位, 同时也是内存数据缓冲区的单位, 及数据文件存储空间单位.
块的大小由参数 DB_BLOCK_SIZE 设置, 其值应设置为操作系统块大小的整数倍.
1): 表空间(tablespace)
表空间是数据库中最大的逻辑单位, 每一个表空间由一个或多个数据文件组成, 一个数据文件只能与一个表空间相联系.
每一个数据库都有一个 SYSTEM 表空间, 该表空间是在数据库创建或数据库安装时自动创建的, 用于存储系统的数据字典表, 程序系统单元, 过程函数, 包和触发器等, 也可用于存储用户数据表, 索引对象.
表空间具有在线 (online) 和离线 (offline) 属性, 可以将除 SYSTME 以外的其他任何表空间置为离线.
2): 段(segment)
数据库的段可以分为四类: 数据段, 索引段, 回退段和临时段.
3): 区
区是磁盘空间分配的最小单位. 磁盘按区划分, 每次至少分配一个区. 区存储与段中, 它由连续的数据块组成.
4): 数据块
数据块是数据库中最小的数据组织单位与管理单位, 是数据文件磁盘存储空间单位, 也是数据库 I/O 的最小单位, 数据块大小由 DB_BLOCK_SIZE 参数决定, 不同的 Oracle 版本 DB_BLOCK_SIZE 的默认值是不同的.
5): 模式对象
模式对象是一种应用, 包括: 表, 聚簇, 视图, 索引序列生成器, 同义词, 哈希, 程序单元, 数据库链等.
最后, 在来说一下 Oracle 的用户, 表空间和数据文件的关系: 一个用户可以使用一个或多个表空间, 一个表空间也可以供多个用户使用.
用户和表空间没有隶属关系, 表空间是一个用来管理数据存储的逻辑概念, 表空间只是和数据文件发生关系, 数据文件是物理的, 一个表空间可以包含多个数据文件, 而一个数据文件只能隶属一个表空间.
总结: 解释数据库, 表空间, 数据文件, 表, 数据的最好办法就是想象一个装满东西的柜子. 数据库其实就是柜子, 柜中的抽屉是表空间, 抽屉中的文件夹是数据文件, 文件夹中的纸是表, 写在纸上的信息就是数据.
来源: https://www.cnblogs.com/mlq2017/p/9901524.html