![Oracle数据库的逻辑结构与物理结构_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/ae9a5afb-8c75-47f2-9b4e-8b74b84afff8/ae9a5afb-8c75-47f2-9b4e-8b74b84afff81.gif)
![Oracle数据库的逻辑结构与物理结构_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/ae9a5afb-8c75-47f2-9b4e-8b74b84afff8/ae9a5afb-8c75-47f2-9b4e-8b74b84afff82.gif)
![Oracle数据库的逻辑结构与物理结构_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/ae9a5afb-8c75-47f2-9b4e-8b74b84afff8/ae9a5afb-8c75-47f2-9b4e-8b74b84afff83.gif)
![Oracle数据库的逻辑结构与物理结构_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/ae9a5afb-8c75-47f2-9b4e-8b74b84afff8/ae9a5afb-8c75-47f2-9b4e-8b74b84afff84.gif)
![Oracle数据库的逻辑结构与物理结构_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/ae9a5afb-8c75-47f2-9b4e-8b74b84afff8/ae9a5afb-8c75-47f2-9b4e-8b74b84afff85.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 讲 义Oracle数据库2009.3李明俊第四章第四章 Oracle数据库体系结构本章内容4.1 Oracle 数据库的逻辑结构4.2 Oracle 数据库的物理结构4.3 数据字典4.4 Oracle的内存结构的内存结构 4.1 Oracle 数据库的逻辑结构 从逻辑上看,Oracle数据库可以划分为表空间、段、区和块,以有效管理、存储、检索数据。Oracle数据库结构数据库结构数据库表空间用户表空间索引表空间临时表空间回退表空间 段数据段索引段临时段回退段 区空闲区使用区数据文件用户文件索引文件临时文件回退文件数据块4.1.1 表空间(表空间(TABLESPACE)1表空间及其作用 逻辑
2、上来说,Oracle数据库划分为表空间,一个表空间通常将相关的逻辑结构组织在一起。 一个数据库通常由一个或多个表空间组成,表空间可分为系统(SYSTEM)表空间和非系统表空间。 数据库的数据逻辑上存储在表空间上,实际上存储在表空间所对应的物理数据文件上。 2表空间类型数据字典管理表空间Oracle8以下版本采用。本地化管理表空间Oracle8i以上版本采用。Oracle8i-Oracle9i Release 1两种方法都可采用。Oracle9i Release2完全采用本地化管理表空间。 两种管理方法的区别: -数据字典管理表空间当空间需要扩充时必须通过 查询数据字典来查找空闲块,对磁盘碎片不
3、能自动合并。 -本地化管理表空间使用位图的方法查找空闲空间,产生的磁盘碎片可以自动合并。目前安装的数据库是Oracle9i Release2版,可通过查询DBA_TABLESPACES了解表空间的状态。表空间表空间用户表空间系统表空间数据库数据库数据文件数据文件1数据文件数据文件2数据文件数据文件3 一个表空间中的数据文件的个数与操作系统有关,一般来说是1022个;一个数据库中的数据文件的最大个数是65533。 使用CREATE DATABASE或CREATE CONTROLFILE语句中的MAXDATAFILES参数会限制每一个数据库的数据文件个数。 数据库的表空间个数没有限制,但数据库只允
4、许65533个数据文件,一个表空间至少有一个数据文件,因此数据库的表空间数不能超过65533个。 数据库管理员(DBA)可利用表空间完成下列工作: 控制数据库数据的磁盘分配。 将确定的空间份额分配给数据库用户。 通过使单个表空间联机或脱机,控制数据的可用性。 执行部分数据库后备或恢复操作。 为提高性能,跨越设备分配数据存储。3建立表空间下列命令建立一个表空间的格式:下列命令建立一个表空间的格式: CREATE TABLESPACE tablespace CREATE TABLESPACE tablespace DATAFILE datafile SIZE nnnM DATAFILE dataf
5、ile SIZE nnnM 【autoxtend on next nnnMautoxtend on next nnnM maxsize nnnnM | unlimited maxsize nnnnM | unlimited】 EXTENT MANAGEMENT LOCAL EXTENT MANAGEMENT LOCAL UNIFORM SIZE nnnM | AUTOALLOCATE; UNIFORM SIZE nnnM | AUTOALLOCATE; tablespace tablespace表空间表空间 datafile - datafile -数据文件数据文件 autoxtend on
6、next autoxtend on next文件空间自动增加文件空间自动增加 EXTENT MANAGEMENT LOCAL EXTENT MANAGEMENT LOCAL代表本地化表空间代表本地化表空间 UNIFORM UNIFORM 区大小相同区大小相同 AUTOALLOCATE AUTOALLOCATE 区大小系统动态自动分配区大小系统动态自动分配下列命令建立一个下列命令建立一个USER_DATAUSER_DATA本地化管理表空间,尺寸为本地化管理表空间,尺寸为100M100M。CREATE TABLESPACE USER_DATA DATAFILE CREATE TABLESPACE
7、USER_DATA DATAFILE f:oracleoradatatestuserl_data.dbff:oracleoradatatestuserl_data.dbf SIZE 100m SIZE 100m autoxtend on next 100m maxsize 1000m autoxtend on next 100m maxsize 1000m EXTENT MANAGEMENT LOCAL UNIFORM size 500k; EXTENT MANAGEMENT LOCAL UNIFORM size 500k; 其中:其中: f:oracleoradatatestuserl_da
8、ta.dbff:oracleoradatatestuserl_data.dbf SIZE 100m SIZE 100m autoxtend on next 100m maxsize 1000m autoxtend on next 100m maxsize 1000m 是对数据文件的描述,而下面的子句是对表空间的描述。是对数据文件的描述,而下面的子句是对表空间的描述。 EXTENT MANAGEMENT LOCAL UNIFORM size 500k; EXTENT MANAGEMENT LOCAL UNIFORM size 500k; 下列命令建立一个下列命令建立一个USER_DATAUSER
9、_DATA本地化管理表空间,尺寸为本地化管理表空间,尺寸为300M300M, DATAFILE DATAFILE从句指定多个数据文件,并用逗号隔开,从句指定多个数据文件,并用逗号隔开,以建立大容量的数据文件。以建立大容量的数据文件。CREATE TABLESPACE USER_DATA DATAFILE CREATE TABLESPACE USER_DATA DATAFILE f:oracleoradatatestuserl_data.dbff:oracleoradatatestuserl_data.dbf SIZE 100mSIZE 100m autoxtend on next 100m m
10、axsize 1000m, autoxtend on next 100m maxsize 1000m, f:oracleoradatatestuser2_data.dbff:oracleoradatatestuser2_data.dbf SIZE 100mSIZE 100m autoxtend on next 100m maxsize unlimited, autoxtend on next 100m maxsize unlimited, f:oracleoradatatestuser3_data.dbff:oracleoradatatestuser3_data.dbf SIZE 100mSI
11、ZE 100m EXTENT MANAGEMENT LOCAL UNIFORM size 500k; EXTENT MANAGEMENT LOCAL UNIFORM size 500k; 下列命令建立一个临时表空间,使用临时表空间可以使得排序操作更加有效,以改进性能。临时表空间内不能驻留永久数据。只能为临时段指定临时表空间。 Create temporary Tablespace TEMP2 Tempfile D:oracleoradatatestTemp01.dbf Size 500M EXTENT MANAGERMENT LOCAL Uniform Size 5M;4修改表空间 1.修改表
12、空间的数据文件,给表空间增加数据文件 ALTER TABLESPACE USER_DATA ADD DATAFILE f:oracleoradatauser01.dbf SIZE 30M; 2.修改表空间的可用性,将表空间联机 ALTER TABLESPACE USER_DATA ONLINE;3.修改表空间的非可用性,将表空间脱机 ALTER TABLESPACE APPL_DATA OFFLINE;4.修改表空间管理只读模式 ALTER TABLESPACE USER_DATA READ ONLY;5.修改表空间管理只读写模式 ALTER TABLESPACE USER_DATA READ
13、 WRITE;5查询表空间信息 有关表空间的信息,可以查询DBA_TABLESPACES、DBA_DATA_FILES、DBA_FREE_SPACE、 V$TABLESPACE、 V$SORT_USAGE、V$DATAFILE等数据字典和视图。 DBA_TABLESPACES包含了数据库中所有表空间的信息(表空间名字、默认的存储参数、类型、状态、是否永久/临时等),而USER_TABLESPACES包含了用户拥有的表空间的信息。 查询DBA_DATA_FILES返回表空间数据文件信息(表空间名、表空间的 数据文件、数据文件尺寸),是否自动扩展设置信息。 SELECT FILE_NAME,TAB
14、LESPACE_NAME,BYTES, AUTOEXTENTSIBLE,MAXBYTES FROM DBA_DATA_FILES;查询DBA_FREE_SPACE返回所有表空间中可用的自由区,查询一个表空间总的自由空间; USER_FREE_SPACE显示当前用户拥有的表空间中的自由区。 SELECT TABLESPACE_NAME, SUM(BYTES) FREE_SPACE FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME;查询该视图从控制文件获得表空间名。 SELECT * FROM V$TABLESPACE; V$DATAFILE ,这是动态性能
15、视图,包含数据文件名字、尺寸、数据文件所在的表空间名、数据文件的状态(OFFLINE、 ONLINE 、READ WRITE 、READ ONLY)。其他视图 DBA_SEGMENTS、ALL_SEGMENTS、USER_SEGMENTS:包含段的类型、段的尺寸、表空间相关的存储参数。 DBA_EXTENTS、ALL_EXTENTS、 USER_EXTENTS:包含区的尺寸、与区相关的段和表空间信息。 DBA_TEMP_FILES:包含本地化管理的临时表空间的临时文件。 DBA_USERS:包含为用户指定的默认表空间和临时表空间。 V$TEMP_EXTENT_MAP:包含一个本地化管理的临时表
16、空间的所有区的信息6.UNDO6.UNDO表空间表空间 UNDOUNDO表空间表空间Oracle9iOracle9i中引入的全新的概念,它自动对回中引入的全新的概念,它自动对回退段进行管理,当一个回退段不足时,一个事务可以使用多个退段进行管理,当一个回退段不足时,一个事务可以使用多个回退段,回退段,OracleOracle会自动使用其他回退段,不终止事务的运行。会自动使用其他回退段,不终止事务的运行。4.1.2 段(SEGMENT) 段是表空间中指定类型的逻辑存储结构,是为表、索引等逻辑结构分配的区(extent)的集合。 Oracle的段主要有5种类型。 数据段:用于存储表、分区的数据。每建
17、立一张表,就分配一个段。 索引段:存储索引数据。每建立一个索引,就分配一个索引段。 临时段:数据库执行排序或子查询时需要临时工作区,系统自动建立临时段,操作执行结束自动释放临时段。 回退段:当用户对数据库执行修改操作时,系统将修改前的数据存入回退段,在执行回退命令rollback时,回退段中的数据用于撤消所作的修改。4.1.3 区(EXTENT) 区是分配空间的最小单位。一个区由一组连续的逻辑块组成。 一个段至少包含一个区。当一段中所有空间已使用完,Oracle为该段分配一个新的区。区的分配和回收是系统自动完成的。4.1.4 块(BLOCK) 块是Oracle内最小的逻辑单元,是I/O的最小单
18、位。 一个数据块对应一个或多个操作系统物理块。 块的大小是在数据库建立时,使用参数DB_BLOCK_SIZE决定(系统缺省值为8K)。该参数在数据库建立后不能更改,除非重建数据库。4.2 Oracle 4.2 Oracle 数据库的物理结构数据库的物理结构 数据库的物理结构是数据库中操作系统文件的集合。 Oracle数据库文件数据库文件数据库数据库数据文件数据文件控制文件控制文件重做日志重做日志重做日志重做日志参数文件参数文件口令文件口令文件归档的归档的日志文件日志文件4.2.1 数据文件 数据文件有如下特点: 每个数据库至少有一个数据文件。 每个数据文件只与一个表空间、一个数据库相关。 在数
19、据库中建立的表、索引等对象只能存储在一个表空间中。但这些对象的物理存储可以在该表空间的不同数据文件上。一般的做法是将表数据与索引数据存放在不同的数据文件上,将回退信息与临时数据存放在不同的数据文件上。对象对象1 1对象对象2 2对象对象3 3表空间表空间1 1表空间表空间2 2数据文件数据文件1 1数据文件数据文件2 2数据文件数据文件3 3对象对象4 4对象对象5 5 创建数据文件,当建立一个表空间时,会建立相应的数据文件。如建立一300M的数据文件。CREATE TABLESPACE APPL_DATA DATAFILE f:oracleoradatatestappl_data.dbf S
20、IZE 300M; 也可以给已经存在的表空间增加数据文件。ALTER TABLESPACE USERS ADD DATAFILE f:oracleoradatatestappl_data.dbf SIZE 25M; 查询数据文件 通过V$DATAFILE,V$TEMPFILE, DBA_DATA_FILES,DAB_EXTENTS等数据字典和视图可以查询数据文件的相应信息。例如查询数据文件中的状态,名字。其中system01.dbf文件的状态为system,表明该文件是系统表空间的一部分。 调整数据文件的尺寸 建立文件时设置AUTOEXTEND,使得数据文件尺寸自动扩展,或使用ALTER DA
21、TABASE设置自动扩展;CREATE TABLESPACE APPL_DATA DATAFILE f:oracleoradatatestappl_data.dbf SIZE 500M AUTOEXTEND ON NEXT 100M MAXSIZE 2000M;ALTER DATABASE DATAFILE f:oracleoradatatestappl_data.dbfAUTOEXTEND ON NEXT 100M MAXSIZE 2000M;另一方法是手工操作,执行命令ALTER DATABASE DATAFILE的RESIZE从句来调整数据文件尺寸。ALTER DATABASE DATA
22、FILE f:oracleoradatatestappl_data.dbf RESIZE 1500M;4.2.2 重做日志 Oracle数据库的重做日志(redo log),也称为事务日志(transaction log),是数据库的重要组成部分,用于保护所有已提交事务的工作。 日志文件分为联机重做日志文件和归档日志文件。日志文件的工作模式分为归档模式(Archivelog)和非归档模式(NoArchivelog)两种。 数据库的重做日志是存储在硬盘上的一组系统数据文件。 日日志志文文件件组组日日志志文文件件组组归档的事归档的事务日志务日志日志切换日志切换日志切换日志切换归档日志模式(Arch
23、ivelog) 当联机重做日志文件写满一个后开始写另一个联机重做日志文件之前,把要开始写的日志转存到归档日志文件中,然后再写该日志,这种方式为归档模式。非归档日志模式(NoArchivelog) 当联机重做日志文件写满一个后直接覆盖写另一个联机重做日志文件,进行循环覆盖写联机重做日值,会丢失最早的日志,这种方式为非归档模式。查看联机重做日志文件信息在V$Logfile、V$Log、V$Log_History等数据字典中,可以查看日志文件的组、状态、名称等信息。 4.2.3 控制文件 控制文件用于记录和维护数据库的全局物理结构,是成功启动和操作数据库必须的二进制文件,以“.CTL”为文件后缀。
24、一个数据库至少需要一个控制文件,每个控制文件只与一个数据库相关联。 控制文件包含如下信息:数据库名数据库建立时间数据库中所有数据文件和日志文件的文件名和路径表空间名称当前重做日志文件序号检查点信息备份信息日志历史记录记录控制文件名和路径的参数在init.ora的control_files中。control_files=(F:oracleoradatatestCONTROL01.CTL, F:oracleoradatatestCONTROL02.CTL, F:oracleoradatatestCONTROL03.CTL)查看V$CONTROLFILE,得到控制文件的名称和状态。查看V$PARAM
25、ETER,得到所有初始化参数文件中的所有值、状态等信息。查看V$CONTROLFILE_RECORD_SECTION,获得控制文件的记录段的信息。通过OEM导航树来查看。3控制文件的信息查看4.2.4 参数文件 参数文件确定存储结构的大小,设置数据库的默认值,设置数据库的各种物理属性,优化数据库性能。 参数文件定义了Oracle实例(Instance)的特性,在建立数据库或启动实例时必须访问参数文件。 参数文件是一文本文件,可直接使用任何文本编辑器进行编辑。在修改该文件前必须关闭数据库。修改的参数在重启数据库时才生效。 参数文件包含有实例配置参数,这些参数置成特殊值,用于初始Oracle实例的
26、许多内存和进程设置,该参数文件包含:一组实例参数的值;一个实例所启动的数据库名字;在SGA中存储结构使用多少内存;如何处理联机日志文件;数据库控制文件的名称和位置;回退段的信息。4.2.5 其他Oracle文件 其他Oracle文件主要有: 口令文件,用于存放用户口令的加密文件 归档文件,包含恢复所需的库结构和数据文件的副本 警告文件,存放Oracle数据库运行当中出现的各种消息、警告和错误信息。 跟踪文件,用于存储后台进程和服务器进程的跟踪信息,包括后台进程的警告和错误信息,每个后台进程都有相应的跟踪文件,以“.TRC”为文件后缀 服务器进程跟踪文件,主要跟踪SQL语句,通过它了解SQL语句
27、的性能,并进行相应的调整。 4.3 4.3 数据字典数据字典 数据字典是由一组拥有数据库元数据的表和视图组成,用于存储Oracle数据库的结构信息。 数据字典一般在创建数据库时建立,没有数据字典,PL/SQL就没法执行。 数据字典分为静态字典和动态字典。 4.3.1 静态数据字典 静态数据字典主要是表和视图。一般来说,数据字典中的表是不能被访问的。可以访问的是数据字典中的视图。静态数据字典中的视图分为3类,分别有3个前缀构成。user_*、all_*、dba_*4.3.2 动态数据字典动态视图提供有关内存和磁盘的运行情况,用户只能读动态视图,不能写。动态视图以V$为前缀,例如V$logfile
28、、V$session、V$active_instances、V$context等。 4.4 Oracle.4 Oracle的内存结构的内存结构4.4.1 系统全局区:System Global AreaSGA 数据块缓冲区 与数据文件进行数据交换 重做日志缓冲区与日志文件进行数据交换 SQL共享池处理SQL语句的内存空间,由库缓冲、 数据字典缓冲以及用户全局区;4.4.2 程序全局区:Program Global AreaPGA 是非共享区,存储用户SQL语句中的变量、数组等;4.4.3 排序区 : 存放用户排序数据,当数据量超出排序区大小时,将占 用磁盘临时段。内存结构图在下页。Oracle
29、Oracle内存结构内存结构用户进程程序区PGAProgramGlobalArea排序区 共享区SQL 数据缓存区 日志缓存过程.包库缓冲字典缓冲用户全局区全局区( System Global AreaSGA )LGWRARCHDBWR服务器进程数据文件日志文件归档日志文件4.4.4 后台进程 后台进程用于处理并行用户请求所需的通用功能,它们不会损害系统的完整性和性能。它们把为每个用户运行的多个Oracle程序所处理的功能统一起来。 后台进程执行I/O并监控其他Oracle进程以增加并行性,从而使性能和可靠性更加优越。 每个例程至少包括5个基本的后台进程: DBWRDatabase Write
30、r 数据写入进程; LGWRLOG Writer 日志写入进程; SMONSystem Monitor 系统监控进程 PMONProcess Monitor 进程监控进程; CKPTCheckPoint 检查点进程。 数据库写进程(DBWR)负责将更新的数据从数据库缓冲区高速缓存写入数据文件。 日志写进程(LGWR)将重做日志缓冲区中注册的更改写入重做日志文件。 系统监控进程(SMON)系统监控程序在数据库启动时,负责检查数据库的一致性,对数据库进行恢复操作 过程监视进程(PMON)是一个被定时唤醒的后台进程,负责在一个Oracle进程失败时清理资源 检查点进程(CKPT) -当日志文件切换时产生,检查内存数据是否完整写入当前文件。 归档进程(ARCH) -在归档模式下,把重做日志文件写入归档日志文件。4.5 小结 Oracle数据库的体系结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度智能仓储卷帘门系统采购及集成合同
- 2025年度区块链技术应用项目开发与许可合同
- 2025年休假村租赁协议模板
- 2025年建筑工程模板工程承包合同书
- 2025年信用卡债务履行协议
- 2025年金刚石膜工具项目立项申请报告模范
- 2025年血液系统用药项目规划申请报告模范
- 2025年街头篮球项目规划申请报告
- 2025年放射性药品项目提案报告模式
- 2025年生活用橡胶制品:塑胶盒项目规划申请报告范文
- 2022人脸识别安全白皮书
- 【建模教程】-地质统计学矿体建模简明教材
- 无人机应用案例-石油领域油气管线巡查
- DB23T 2656-2020桦树液采集技术规程
- 重源煤矿 矿业权价款计算书
- PSM工艺安全管理
- GB/T 21872-2008铸造自硬呋喃树脂用磺酸固化剂
- 上海市中小学生语文学业质量绿色指标测试
- GA/T 501-2020银行保管箱
- 《育儿百科》松田道雄(最新版)
- 轴对称图形导学案
评论
0/150
提交评论