-
9-Oracle数据库逻辑结构.pptx
2020-06-11 01:22:11第九讲 数据库逻辑结构...逻辑结构与物理结构的对应关系;9.2 数据块;数据块概念小结;9.2.2 块空间的使用及存储参数;块空间的使用;PCTFREE;PCTFREE 的影响;PCTUSED;数据块(Block)的存储参数;9.2.3 行链接和行迁移;行迁移 -
oracle 数据库逻辑结构
2010-05-06 21:38:00逻辑存储结构包括数据块(data blocks),数据... 用户需要为每个表空间创建一个或多个数据文件来物理的存储属于此表空间的逻辑对象。 一个表空间所有数据文件的大小就是此表空间的可用数据存储量。 每个数据库都包含sy逻辑存储结构包括数据块(data blocks),数据扩展(extents),数据段(data segments).
1.表空间(table space)
一个数据库被分割为数个称为表空间的逻辑存储单位。
用户需要为每个表空间创建一个或多个数据文件来物理的存储属于此表空间的逻辑对象。
一个表空间所有数据文件的大小就是此表空间的可用数据存储量。
每个数据库都包含system和sysaux两个表空间。
smallfile tablespace(默认)
bigfile tablespace
2.数据块(data blocks)
oracle最精细的数据存储粒度就是数据块。
数据块分配的默认容量由初始化参数DB_BLOCK_SIZE决定。
3.数据扩展(extents)
数据块之上的的逻辑数据结构是数据扩展。
4.段(segment)
数据扩展之上的逻辑存储结构是segment。
数据段
索引段
临时段
回滚段
-
Oracle逻辑结构
2009-04-10 11:45:00逻辑结构oracle的逻辑结构包括表空间(tablespace),段(segment),数据块(data block)以及模式对象(schema)。一、表空间1.什么是表空间? 表空间是数据库中的基本逻辑结构,一系列数据文件的集合。一个表空间可以包含...逻辑结构
oracle的逻辑结构包括表空间(tablespace),段(segment),数据块(data block)以及模式对象(schema)。一、表空间
1.什么是表空间?表空间是数据库中的基本逻辑结构,一系列数据文件的集合。一个表空间可以包含多个数据文件,但是一个数据文件只能属于一个表空间。
表空间具有在线(online)和离线(offline)属性,可以将除SYSTEM和RBS以外的其他作何表空间置为离线。
查询表空间的文件信息:SELECT * FROM DBA_DATA_FILES。查询表空间的空闲空间信息:SELECT * FROM DBA_FREE_SPACE。若表空间的剩余空间不够,可以重新设置数据文件的大小:ALTER DATABASE DATAFILE 'filenamespec' RESIZE 500m。查询数据库中的表空间信息:SELECT * FROM DBA_TABLESPACE。2.表空间的特性
a.限制用户可以使用的磁盘空间大小
SQL>ALTER USER user1 QUOTA 100M ON tablespace1
b.设置为离线、在线、只读、读写
SQL>ALTER TABLESPACE tbs1 ONLINE;
SQL>ALTER TABLESPACE tbs1 OFFLIKE;
SQL>ALTER TABLESPACE tbs1 READ ONLY;
SQL>ALTER TABLESPACE tbs1 READ WRITE;
注意,在表空间被设置为READ ONLY或OFFLINE之后,该表空间数据文件的同步信息将不能改变,从而会造成不同步。在表空间置为READ WRITE或ONLINE之后,使用命令ALTER SYSTEM SWITCH LOGFILE强制执行多次日志切换后,系统自动保持所有数据文件的同步。
不能将SYSTEM表空间置为READ ONLY或OFFLINE。如果undo空间中已经创建了回退段,且该回退段的状态为ONLINE,则undo表空间不能设置为READ ONLY或OFFLINE。
c.备份与恢复表空间
数据库备份时,可以只备份一个独立的表空间。表空间备份可以在线执备份也可以离线冷备份。
d.优化I/O性能,应将表空间中的各数据文件放在不同的磁盘以平衡I/O。3.临时表空间
临时表空间用于为用户排序的ORDER BY语句使用。创建数据库时可以指定数据库的默认临时表空间。在创建用户的时候可以指定用户的默认临时表空间。
SQL>CREATE USER fey IDENTIFIED BY 12345 TEMPORARY TABLESPACE temp;
在oracle8i中,如果创建用户时未指出用户的临时表空间,系统使用SYSTEM表空间作为该用户的临时表空间。而在oracle10g中,如果创建用户时未指出用户的临时表空间,系统使用TEMP表空间作为该用户的临时表空间。4.基本表空间介绍
a. 系统表空间
主要存放数据字典和内部系统表基表
查看数据数据字典的SQL
select * from dict
查看内部系统表的SQL
select * from v$fixed_view_definition
DBA对系统的系统表中的数据字典必须有一个很深刻的了解,他们必须准备一些基础的SQL语句,通过这些SQL可以立即了解系统的状况和数据库的状态,这些基本的SQL包括
系统的剩余空间
系统的SGA
状态系统的等待
用户的权限
当前的用户锁
缓冲区的使用状况等
在成为DBA 的道路上我们不建议你过分的依赖于OEM/Quest 等优秀的数据库管理工具,因为他们不利于你对数据数据字典的理解,SQL语句可以完成几乎全部的数据库管理工作。
大量的读少量的写是该表空间的一个显著的特点。
b. 临时表空间.
临时表空间顾名思义是用来存放临时数据的,例如排序操作的临时空间,他的空间会在下次系统启动的时候全部被释放。
c. 回滚段表空间
i. 回滚段在系统中的作用
当数据库进行更新插入删除等操作的时候,新的数据被更新到原来的数据文件,而旧的数据(Before Image)就被放到回滚段中,如果数据需要回滚,那么可以从回滚段将数据再复制到数据文件中。来完成数据的回滚。在系统恢复的时候, 回滚段可以用来回滚没有被commit 的数据,解决系统的一至性。
回滚段在什么情况下都是大量的写,一般是少量读,因此建议把回滚段单独出来放在一个单独的设备(如单独的磁盘或RAID),以减少磁盘的IO争用。
ii. 回滚段的工作方式
·一个回滚表空间可以被划分成多个回滚段.
·一个回滚段可以保存多个会话的数据.
·回滚段是一个圆形的数据模型
假设回滚段由4 个区间组成,他们的使用顺序就是区间1à区间2à区间3à区间4à区间1。也就是说,区间是可以循环使用的,当区间4到区间1的时候,区间1里面的会话还没有结束, 区间4用完后就不能再用区间1,这时系统必须分配区间5,来继续为其他会话服务服务。
我们分析一个Update 语句的完成
①. 用户提交一个Update 语句
②. Server Process 检查内存缓冲.
如果没有该数据块的缓冲,则从磁盘读入
i. 如果没有内存的有效空间,DBWR被启动将未写入磁盘的脏缓冲写入磁盘
ii. 如果有有效空间,则读入
③. 在缓冲内更新数据
i. 申请一个回滚段入口,将旧数据写如回滚段
ii. 加锁并更新数据
iii. 并在同时将修改记录在Redo log buffer中
④. 用户提交一个Commit 语句
i. SCN增加
ii. 将Redo log buffer 写入Redo log file
iii. 返回用户Commit 完成二、段
段是对象在数据库中占用的空间,虽然段和数据库对象是一一对应的,但段是从数据库存储的角度来看的。一个段只能属于一个表空间,当然一个表空间可以有多个段。
表空间和数据文件是物理存储上的一对多的关系,表空间和段是逻辑存储上的一对多的关系,段不直接和数据文件发生关系。一个段可以属于多个数据文件,关于段可以指定扩展到哪个数据文件上面。
数据库的段可以分为四类:数据段、索引段、回退段、临时段。
1.数据段
数据段是用于存储数据的段,他存储在数据表空间中。每一个表都有一个数据段(聚簇除外),表的数据存储在数据段中,默认情况下段名与表名相同。以下语句查询段的信息:
SQL>SELECT SEGMENTNAME,TABLESPACE,NAME,BYTES,BLOCKS FROM USER_EXTENTS;2.索引段
索引段用于存储索引,以下语句查询索引信息:
SQL>SELECT * FROM ALL_INDEXS
SQL>SELECT * FROM USER_INDEXS3.回退段
回退段用于存储用户数据修改之前的值,因而可以在特定条件下回退数据。回退段与事务是一对多的关系,一个事务只能使用一个回退段,而一个回退段可存放一个或多个事务的回退数据。
在oracle8i及之前的版本中,管理回退段是项很复杂的工作,管理员需要根据每个事务的大小和事务数量来确定、计算回退段的数量及存储参数,在oracle9i之后,oracle增加了undo表空间,由系统自动管理它。从此不再需要考虑对回退段的管理。参数undo_management决定数据库使用的是回退段还是undo表空间,其值为auto表示使用undo表空间自动管理,manual表示手动管理回退段。4.临时段
临时段用于order by语句的排序以及一些汇总。三、区
表空间是数据库中最大的逻辑单位,每一个表空间由一个或多个数据文件组成,一个数据文件只能与一个表空间相联系。每一个数据库都有一个SYSTEM表空间,该表空间是在数据库创建或数据库安装时自动创建的,用于存储系统的数据字典表,程序系统单元,过程函数,包和触发器等,也可用于存储用户数据表,索引对象。关于Extent的翻译有多种解释,有的译作扩展,有的译作盘区,我这里通常译为区间。在一个段中可以存在多个区间,区间是为数据一次性预留的一个较大的存储空间,直到那个区间被用满,数据库会继续申请一个新的预留存储空间,即新的区间,一直到段的最大区间数(Max Extent)或没有可用的磁盘空间可以申请。
在ORACLE8i以上版本,理论上一个段可以无穷个区间,但是多个区间对ORACLE却是有性能影响的,ORACLE建议把数据分布在尽量少的区间上,以减少ORACLE的管理与磁头的移动。
一个段中,最小的区的个数是由参数MINEXTENTS来确定。参数MAXEXTENTS决定一个数据段中的区的最大个数。这些参数是可以在线动态修改的。
区的分配过程中,每次至少分配5个区,如果所剩的空闲空间不够5个区,就会出现错误:ORA-01653。
可以通过字典dba_tablespace查询表空间中区的信息。可以通过字典user_table查询段中区的信息。可以通过字典user_extents查询区的分配状况。四、数据块
数据块是数据中中最小的数据组织单位与管理单位,是数据文件磁盘存储空间单位,也是数据库I/O 的最小单位,数据块大小由DB_BLOCK_SIZE参数决定,不同的oracle版本DB_BLOCK_SIZE的默认值是不同的。
9i以前的版本只能设定一种块大小,在9i及10g中,可以设定多种块大小,不同表空间可以指定不同的块大小。五、模式对象
模式对象是一种应用,包括:表、视图、聚簇、索引序列生成器、同义词、哈希、程序单元、数据库链等。模式对象以后在oracle schema专栏中详细说明。 -
oracle 查看表结构_详解Oracle RDBMS存储结构--物理结构和逻辑结构
2020-12-06 05:31:46又能够将Database分为物理结构和逻辑结构来理解。物理结构Database物理结构:是Database在操作系统中的文件集合,即:磁盘上的物理文件,主要由数据文件、控制文件、重做日志文件、归档日志文件、参数文件、口令...概述
Oracle RDBMS存储结构主要由Database组成。
又能够将Database分为物理结构和逻辑结构来理解。
物理结构
Database物理结构:是Database在操作系统中的文件集合,即:磁盘上的物理文件,主要由数据文件、控制文件、重做日志文件、归档日志文件、参数文件、口令文件组成。
Data Files
数据文件是数据的存储仓库。
• 包括所有的数据库数据
• 只能属于一个数据库
• 来自于被称为”表空间”的数据库存储逻辑单元
• 可以直接被读进内存,在执行SQL语句的时候,会将相关的数据文件副本加载如数据缓冲区。
• 通过备份策略可以使数据文件得到保护
Redo Log Files
重做日志文件包含对数据库所做的更改操作记录,在Oracle发生故障时能够恢复数据。
能够恢复数据的原理:重做日志文件会按时间的顺序,将应用于数据库的一连串的变更向量(做了什么操作)存储起来(即将变更的地方标记起来)。其中包含了所有已经完成操作的信息和完成操作之前的数据库状态。如果数据文件受损,就可以将这些变更向量应用于数据文件备份来进行重做(重建)工作,将它恢复到发生故障的那一刻前的状态。重做日志文件又分为下面两种类型:
- 联机重做日志文件:记录连续的数据库操作
- 归档日志文件Archived Log Files:用于时间点恢复,当RedoLogFiles存满时,会对这些日志进行归档备份,以便以后还原数据时使用。
- 查看redo log info:
SQL> # v$logfile数据字典,记录了redolog文件的列表 MEMBER-------------------------------------------------------------------------------- /u01/oradata/demo/redo03.log /u01/oradata/demo/redo02.log /u01/oradata/demo/redo01.log123456
Control Files
控制文件包含维护和验证数据库完整性的必要的信息。
它记录了联机重做日志文件、数据文件的位置、更新的归档日志文件的位置。它还存储着维护数据库完整性所需的信息,如数据库名。控制文件是以二进制型式存储的,用户无法修改控制文件的内容。控制文件不过数MB,却起着至关重要的作用。
Parameter File
实例参数文件,当启动oracle实例时,SGA结构会根据此参数文件的设置内存,后台进程会据此启动。
Password File
用户通过提交username/password来建立会话,Oracle根据存储在数据字典的用户定义对用户名和口令进行验证。
逻辑结构
表空间就是典型的Oracle逻辑结构类型 —— 里面存放着若干的数据文件
表空间:用于存储数据库对象的逻辑空间,表空间是在数据库中开辟的一个空间,用于存放数据库的对象,它是信息存储的最大逻辑单位,是存放数据库文件的地方,其中数据又被存放在表空间中的数据文件中。一个数据库可以由多个表空间组成,Oracle的调优就是通过表空间来实现的。(Oracle数据库独特的高级应用)
表空间的作用:分类管理、批量处理; 将琐碎的磁盘文件整合、抽象处理成为逻辑结构。这样更加便于我们去管理数据库。
逻辑空间到物理空间的映射
段、区和块:
后面小编会分享更多运维和DBA方面的干货,感兴趣的朋友走一波关注哩~
-
ORACLE数据库的逻辑结构
2010-05-19 16:10:16ORACLE数据库的逻辑结构(磁盘空间结构)由表空间、段、区、块组成。如图: 1、数据块:最小的I/O单位;数据块的大小由DB_BLOCK_SIZE参数决定,其大小应该是操作系统块大小的倍数; 2、区:若干个连续的块; 3...转载于:https://blog.51cto.com/emily1018/317922
-
Oracle逻辑存储结构
2012-02-01 10:48:161)表空间是数据库的逻辑划分,每个数据库至少有一个表空间,USER表空间供一般用户使用,RBS表空间供回滚使用,一个表空间只能属于一个数据库。每一个表空间由同一磁盘上的一个或多个数据文件组成。表空间实质是组织数据... -
ORACLE逻辑结构
2010-01-19 17:06:59[img]... 1、 表空间(tablespace) 表空间是数据库中的基本逻辑结构,一系列数据文件的集合。一个表空间可以包含多个数据文件,但是一个数据文件只能属于一个表空间。 2、 段(Seg... -
oracle blob 长度_Oracle 逻辑结构篇 之逻辑结构(三)段和区
2020-11-28 20:26:20(一)、段类型当建立数据对象(表、索引、簇等)时,Oracle 会自动给这些数据对象分配相应的存储空间,以存放它们的数据信息,这些为数据对象所分配的存储空间被称为段。一个段只能存放在一个表空间上,但是可分布在... -
oracle体系结构-逻辑存储结构
2018-05-09 23:21:00oracle的逻辑存储结构是一种层次结构,主要由表空间、段、区间和数据块等概念组成; 逻辑结构是面向用户的,主要目的是为了便于管理,当用户使用Oracle设计数据库时,使用的就是逻辑存储结构; oracle数据库由多个... -
oracle同时查询多个分区_Oracle 逻辑结构篇 之逻辑结构(三)段和区
2021-01-18 22:35:35(一)、段类型当建立数据对象(表、索引、簇等)时,Oracle 会自动给这些数据对象分配相应的存储空间,以存放它们的数据信息,这些为数据对象所分配的存储空间被称为段。一个段只能存放在一个表空间上,但是可分布在... -
Oracle逻辑存储结构与物理存储结构
2012-03-07 16:14:111)表空间是数据库的逻辑划分,每个数据库至少有一个表空间,USER表空间供一般用户使用,RBS表空间供回滚使用,一个表空间只能属于一个数据库。每一个表空间由同一磁盘上的一个或多个数据文件组成。表空间实质是组织数据... -
ORACLE逻辑结构及表空间
2013-09-08 10:38:041.ORACLE逻辑结构 ORACLE将数据逻辑地存放在表空间,物理地存放在数据文件中。 一个表空间任何一个时刻只能属于一个数据库。 数据库——表空间——段——区——ORACLE块 每个数据库由一个或多个表空间组成,至少... -
oracle逻辑结构(1)
2013-03-12 09:26:16表空间是数据库中的基本逻辑结构,一系列数据文件的集合。一个表空间可以包含多个数据文件,但是一个数据文件只能属于一个表空间。 查询表空间: SQL>select * form dba_data_files; 查询表空间的空闲信息: ... -
5->ORACLE逻辑结构
2012-02-12 21:34:00表空间是数据库中的基本逻辑结构,一系列数据文件的集合。一个表空间可以包含多个数据文件,但是一个数据文件只能属于一个表空间。 2、 段(Segment) 段是对象在数据库中占用的空间,虽然段和数据库对象是... -
Oracle存储结构:物理存储结构和逻辑存储结构
2019-07-02 14:25:591、 物理存储结构 1.1 oracle数据文件 数据文件是保存Oracle数据的操作系统文件...每个oracle数据文件都只属于一个表空间,并且由若干操作系统块组成。 1.2 操作系统块 操作系统块是文件系统所使用的最小分配单位。 ... -
Oracle 数据库入门(七)逻辑存储结构
2019-12-10 15:33:54表空间是 Oracle 数据库逻辑结构最大的逻辑划分,一个数据库可以包含多个表空间,但一个表空间只能属于一个数据库。一个表空间可以包含多个数据文件,一个数据文件只能属于一个表空间。Oracle 数据库中的表空间主要... -
oracle 成长历程-3.4.1 Default pool的逻辑结构
2009-11-18 22:44:423.4.1 Default pool的逻辑结构 hash bucket是通过对buffer header里记录的数据块地址和数据块类型运用hash算法以后,得到的组号。 hash chain是属于同一个hash... -
Oracle学习笔记-数据库逻辑结构
2012-12-29 12:51:48database --> tablespaces --> segments --> extents --> blocks (--> os blocks) tablespace 表空间 ...表空间和数据文件之间的关系是 逻辑结构 和 物理结构 的关系 查看数据文件的视图 dba_data_files -
ORACLE学习笔记之物理结构和逻辑结构
2007-05-31 16:10:00◆ Oracle数据库的物理结构 主要由以下关键文件组成:● 数据文件(data files)ü 每个Oracle数据库包含一个或多个数据文件,但一个数据文件只属于一个数据库。ü 一个或多个数据文件组成一个称为表空间的... -
Oracle入门精读08_11g逻辑结构直观图
2019-02-01 19:21:20Oracle数据库的逻辑结构直观图 由表空间(tablespace)、段(segment)、区间(extent)、数据块(data block)组成. 一个表空间包含多个段,一个段包含多个区间,一个区间包含多个数据块 表空间 表空间是一个逻辑容器,... -
oracle层级关系按列存储_Oracle的存储结构关系
2020-12-19 03:05:06oracle数据库的整体结构数据库的结构关系其实,我前面一篇讲表空间的时候...Tablespaces(表空间):表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的... -
我的oracle 9i学习日志(4)--逻辑结构与习题解析
2017-11-15 16:56:00在oracle database中数据时存储在tablespaces(表空间)里的,一个表空间只能属于一个database,一个表空间可以对应一个或多个物理文件(data file)。 一个oracle server上只有一个database,一个database包含至少... -
Oracle的存储结构关系
2014-09-13 19:36:16数据库的结构关系 其实,我前面一篇讲表空间的时候就介绍了数据库的...Tablespaces(表空间) :表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主 -
Oracle存储物理结构
2019-09-24 07:58:36摘要: 本文描述了表空间(Oracle数据库首要的逻辑数据库结构)和与每个表空间对应的物理数据文件。这里为了介绍的方便,把属于存储逻辑概念的表空间放到了本章。 综述 Oracle逻辑上把数据存储在表空间中,在... -
Oracle数据文件结构
2014-09-16 13:37:24Oracle的数据结构分为 物理结构和逻辑结构 物理结构: 操作系统的数据块—>数据文件datafiles 逻辑结构: 最小数据库block——>extent——>segement——>tablespace——>databases 其中对于一个...
-
心中的测试用例结构—为新模型做准备
-
LVS + Keepalived 实现 MySQL 负载均衡与高可用
-
Apache Solr xml实体注入漏洞 CVE-2017-12629 漏洞复现未完成
-
使用vue搭建微信H5公众号项目
-
Unity 热更新技术-ILRuntime
-
Windows系统管理
-
【布道者】Linux极速入门
-
浅谈用户引导设计
-
使用 Linux 平台充当 Router 路由器
-
100分钟定时关机,10分钟提醒程序
-
昆仑万维业绩快报:2020年净利润47.75亿元 同比增269%
-
TypeError: Class advice impossible in Python3. Use the @Implementer class decorator instead.
-
Samba 服务配置与管理
-
CSRFTester:一款CSRF漏洞的安全测试工具
-
鸿蒙系统Harmonyos源码架构分析-第1期第2课
-
智能停车场云平台(附vue+SpringBoot前后端项目源码)
-
紫外区全角度光子晶体反射镜
-
了解SQLServer触发器及触发器中的事务
-
TeamFoundationServer2010Scrum1.0与持续集成的最佳实践
-
基于线性光放大器的全光逻辑异或门理论分析