论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
数据库
›
Nosql
›
OCP-042之:数据库逻辑机构
OCP-042之:数据库逻辑机构
花瓣小跑
金牌会员
|
2024-8-24 15:23:26
|
显示全部楼层
|
阅读模式
楼主
主题
858
|
帖子
858
|
积分
2574
数据库逻辑布局
1 存储关系
Oracle数据库逻辑上是由一个或多个表空间组成的。
表空间物理上是由一个或多个数据文件组成的;而在逻辑上表空间又是由一个或多个段组成的。
数据库空间分配的逻辑单元是数据块,扩展区,段和表空间。在物理级别,数据存储在磁盘上的数据文件中。数据文件中的数据存储在操纵系统块中。
在Oracle数据库中,通过为每种不同的数据对象分配不同的段,来保存数据。比方EMP表的全部数据会存放在EMP段中。在Oracle数据库中,段是由一个或多个区组成的,而区又是由一连存储的数据块所组成的。块则是数据库的I/O最小的单位。
1.1 存储布局
Oracle数据库将表空间数据存储在物理数据文件中。
每个非分区的模式对象和对象的每个分区都存储在它自己的段中,该段只属于一个表空间。比方,非分区表的数据存储在单个段中,而该段又存储在一个表空间中。表空间和数据文件密切相干,但有紧张区别:
每个表空间由一个或多个数据文件组成,这些文件符合运行Oracle数据库的操纵系统。数据库的数据共同存储在位于数据库的每个表空间中的数据文件中。段可以跨越一个或多个数据文件,但不能跨越多个表空间。数据库必须具有SYSTEM和SYSAUX表空间。SYSTEM在数据库创建期间,Oracle数据库会自动为表空间分配任何数据库的第一个数据文件。该SYSTEM表包含了数据字典,一组表包含数据库的元数据。通常,数据库还具有undo表空间和temp表空间(通常以其命名TEMP)。
数据库可分别为被称为表空间的逻辑存储单元。每一个表空间可以包含很多的Oracle逻辑数据块。
DB_BLOCK_SIZE参数指定了逻辑块的大小。逻辑块的大小范围为2KB至32KB,默认大小为8KB。特定命目标相邻逻辑块构成了一个区。为特定逻辑布局分配的一组区构成了一个段。Oracle数据块是逻辑I/O的最小单位。
SYS@orcl>show parameter db_block
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_block_buffers integer 0
db_block_checking string FALSE
db_block_checksum string TYPICAL
db_block_size integer 8192
复制代码
1.2 如何存储表数据
创建表时,就会创建段来保存表数据。表空间包含一组段。从逻辑上讲,表包含由列值组成的行。行最终将以行片断的情势存储在数据库块中。之以是称为行片断,是由于某些环境下,不可以在一个位置存储一整行。当插入行由于太长而不适合单个块时,或者由于更新而导致现有行大小超出了行的当前空间时,就会发生这种环境。
2 表空间和数据文件
Oracle 数据库(tablespace)是由多少个表空间构成的。任何数据库对象在存储时都必须存储在某个表空间中。表空间对应于多少个磁盘文件,即表空间是由一个或多个磁盘文件构成的。表空间相称于操纵系统中的文件夹,也是数据库逻辑布局与物理文件之间的一个映射。每个数据库至少有一个表空间,表空间的大小即是全部附属于它的数据文件大小的总和。
2.1 常用表空间
系统表空间
系统表空间(system tablespace)是每个Oracle数据库都必须具备的。其功能是在系统表空间中存放诸如表空间名称、表空间所含数据文件等数据库管理所需的信息。系统表空间的名称是不可更改的。系统表空间必须在任何时间都可以用,也是数据库运行的须要条件。因此,系统表空间是不能脱机的。
SYSAUX表空间
SYSAUX表空间是随着数据库的创建而创建的,它充当SYSTEM的辅助表空间,主要存储除数据字典以外的其他对象。SYSAUX也是很多Oracle数据库的默认表空间,它减少了由数据库和DBA管理的表空间数量,低落了SYSTEM表空间的负荷。
临时表空间
相对于其他表空间而言,临时表空间(temp tablespace)主要用于存储Oracle数据库运行期间所产生的临时数据。数据库可以建立多个临时表空间。当数据库关闭后,临时表空间中全部数据将全部被清除。除临时表空间外,其他表空间都属于永世性表空间。
一个临时表空间中仅包含会话时间短暂的数据。永世模式对象不能驻留在临时表空间中。一个临时文件存储临时表空间的数据。临时表空间可以改善不适合内存的多个排序操纵的并发性。这些表空间还进步了各种空间管理操纵的效率。
撤销表空间
Oracle数据库利用撤消数据实验以下操纵:回滚活动事务,恢复已终止的交易,提供读取同等性,实验一些逻辑闪回操纵。
2.2 表空间和数据文件的关系
数据库、表空间和数据文件是紧密相干的,但它们之间又有着紧张区别:
Oracle数据库由一个或多个称为表空间的逻辑存储单元组成,表空间作为一个整体存储数据库中的全部数据,而且一个表空间只能属于一个数据库。数据库的大小是该数据库中所表空间大小总和。
从物理讲,Oracle数据库内的每个表空间由一个或多数据文件组成,而且一个数据文件只能属于一个表空间。表空间大是全部数据文件大小的总和。这些数据文件与Oracle运行所在的操纵系统的文件有一样的物理布局。
数据库的全部数据都存储在数据文件中,数据库的每个表空间都由这些数据文件组成。比方,最简单的Oracle数据库只有一个表空间和一个数据文件。
从Oracle Database 12c开始,您可以利用该ALTER DATABASE MOVE DATAFILE语句在数据库打开并访问该文件时将在线数据文件从一个物理文件移动到另一个物理文件。您可以利用此技能来实现以下目标:
将表空间从一种存储移动到另一种存储
将不经常访问的数据文件移动到较低本钱的存储
将表空间设置为只读并将其数据文件移动到一次写入存储,比方一次写入多次读取(WORM)驱动器
将数据库移动到Oracle ASM
2.3 数据字典管理和本地管理方式
在表空间中区是最小的空间分配单位,对表空间的管理是以区为单位举行的。根据管理方式的不同,表空间分为本地管理表空间和字典管理表空间:
本地管理方式的表空间:在表空间内通过位图管理区。在本地管理的表空间中,每个数据文件内都维护一个位图,以相识该数据文件内块的空闲或利用状态。位图中的每个位对应于一个块或一组块。其特点是分配了的某个区或
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
花瓣小跑
金牌会员
这个人很懒什么都没写!
楼主热帖
【电脑配置】新电脑买回来怎么配置? ...
数理逻辑第4-5章
使用axios发送post请求上传文件(multip ...
应急响应(总)
最简单易懂的ios p12证书 和描述文件的 ...
计算机网络原理(谢希仁第八版)第六章课 ...
20天等待,申请终于通过,安装和体验In ...
【网络攻防】常见的网络攻防技术——黑 ...
.NET 分布式缓存中的发布和订阅模式 ...
Java代码中如何判断一个字符串中是否包 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表