Oracle数据库的逻辑结构与物理结构11236

上传人:沈*** 文档编号:244012353 上传时间:2024-10-02 格式:PPTX 页数:43 大小:296.94KB
返回 下载 相关 举报
Oracle数据库的逻辑结构与物理结构11236_第1页
第1页 / 共43页
Oracle数据库的逻辑结构与物理结构11236_第2页
第2页 / 共43页
Oracle数据库的逻辑结构与物理结构11236_第3页
第3页 / 共43页
点击查看更多>>
资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,讲 义,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表空间及其作用,逻辑上来说,Oracle数据库划分为表空间,一个表空间通常将相关的逻辑结构组织在一起。,一个数据库通常由一个或多个表空间组成,表空间可分为系统(SYSTEM)表空间和非系统表空间。,数据库的数据逻辑上存储在表空间上,实际上存储在表空间所对应的物理数据文件上。,2表空间类型,数据字典管理表空间Oracle8以下版本采用。,本地化管理表空间Oracle8i以上版本采用。,Oracle8i-Oracle9i Release 1两种方法都可采用。,Oracle9i Release2完全采用本地化管理表空间。,两种管理方法的区别:,-数据字典管理表空间当空间需要扩充时必须通过,查询数据字典来查找空闲块,对磁盘碎片不能自动合并。,-本地化管理表空间使用位图的方法查找空闲空间,产生的磁盘碎片可以自动合并。,目前安装的数据库是Oracle9i Release2版,可通过查询DBA_TABLESPACES了解表空间的状态。,表空间,用户表空间,系统表空间,数据库,磁盘,驱动器1,磁盘,驱动器2,数据文件1,数据文件2,数据文件3,一个表空间中的数据文件的个数与操作系统有关,一般来说是1022个;一个数据库中的数据文件的最大个数是65533。,使用CREATE DATABASE或CREATE CONTROLFILE语句中的MAXDATAFILES参数会限制每一个数据库的数据文件个数。,数据库的表空间个数没有限制,但数据库只允许65533个数据文件,一个表空间至少有一个数据文件,因此数据库的表空间数不能超过65533个。,数据库管理员(DBA)可利用表空间完成下列工作:,控制数据库数据的磁盘分配。,将确定的空间份额分配给数据库用户。,通过使单个表空间联机或脱机,控制数据的可用性。,执行部分数据库后备或恢复操作。,为提高性能,跨越设备分配数据存储。,3建立表空间,下列命令建立一个表空间的格式:,CREATE TABLESPACE tablespace,DATAFILE datafile SIZE nnnM,【autoxtend on next nnnM,maxsize nnnnM|unlimited】,EXTENT MANAGEMENT LOCAL,UNIFORM SIZE nnnM|AUTOALLOCATE;,tablespace表空间,datafile-数据文件,autoxtend on next文件空间自动增加,EXTENT MANAGEMENT LOCAL代表本地化表空间,UNIFORM 区大小相同,AUTOALLOCATE 区大小系统动态自动分配,下列命令建立一个USER_DATA本地化管理表空间,尺寸为100M。,CREATE TABLESPACE USER_DATA DATAFILE,f:oracleoradatatestuserl_data.dbf,SIZE 100m,autoxtend on next 100m maxsize 1000m,EXTENT MANAGEMENT LOCAL UNIFORM size 500k;,其中:,f:oracleoradatatestuserl_data.dbf,SIZE 100m,autoxtend on next 100m maxsize 1000m,是对数据文件的描述,而下面的子句是对表空间的描述。,EXTENT MANAGEMENT LOCAL UNIFORM size 500k;,下列命令建立一个USER_DATA本地化管理表空间,尺寸为300M,DATAFILE从句指定多个数据文件,并用逗号隔开,以建立大容量的数据文件。,CREATE TABLESPACE USER_DATA DATAFILE,f:oracleoradatatestuserl_data.dbf,SIZE 100m,autoxtend on next 100m maxsize 1000m,f:oracleoradatatestuser2_data.dbf,SIZE 100m,autoxtend on next 100m maxsize unlimited,f:oracleoradatatestuser3_data.dbf,SIZE 100m,EXTENT MANAGEMENT LOCAL UNIFORM size 500k;,下列命令建立一个临时表空间,使用临时表空间可以使得排序操作更加有效,以改进性能。临时表空间内不能驻留永久数据。只能为临时段指定临时表空间。,Create temporary Tablespace TEMP2 Tempfile,D:oracleoradatatestTemp01.dbf Size 500M,EXTENT MANAGERMENT LOCAL Uniform Size 5M;,4修改表空间,1.修改表空间的数据文件,给表空间增加数据文件,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 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,TABLESPACE_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,这是动态性能视图,包含数据文件名字、尺寸、数据文件所在的表空间名、数据文件的状态(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:包含一个本地化管理的临时表空间的所有区的信息,6.UNDO表空间,UNDO表空间Oracle9i中引入的全新的概念,它自动对回,退段进行管理,当一个回退段不足时,一个事务可以使用多个,回退段,Oracle会自动使用其他回退段,不终止事务的运行。,4.1.2 段(SEGMENT),段是表空间中指定类型的逻辑存储结构,是为表、索引等逻辑结构分配的区(extent)的集合。,Oracle的段主要有5种类型。,数据段:用于存储表、分区的数据。每建立一张表,就分配一个段。,索引段:存储索引数据。每建立一个索引,就分配一个索引段。,临时段:数据库执行排序或子查询时需要临时工作区,系统自动建立临时段,操作执行结束自动释放临时段。,回退段:当用户对数据库执行修改操作时,系统将修改前的数据存入回退段,在执行回退命令rollback时,回退段中的数据用于撤消所作的修改。,4.1.3 区(EXTENT),区是分配空间的最小单位。一个区由一组连续的逻辑块组成。,一个段至少包含一个区。当一段中所有空间已使用完,Oracle为该段分配一个新的区。区的分配和回收是系统自动完成的。,4.1.4 块(BLOCK),块是Oracle内最小的逻辑单元,是I/O的最小单位。,一个数据块对应一个或多个操作系统物理块。,块的大小是在数据库建立时,使用参数DB_BLOCK_SIZE决定(系统缺省值为8K)。该参数在数据库建立后不能更改,除非重建数据库。,4.2 Oracle 数据库的物理结构,数据库的物理结构是数据库中操作系统文件的集合。,Oracle数据库文件,数据库,数据文件,控制文件,重做日志,重做日志,参数文件,口令文件,归档的,日志文件,4.2.1 数据文件,数据文件有如下特点:,每个数据库至少有一个数据文件。,每个数据文件只与一个表空间、一个数据库相关。,在数据库中建立的表、索引等对象只能存储在一个表空间中。但这些对象的物理存储可以在该表空间的不同数据文件上。一般的做法是将表数据与索引数据存放在不同的数据文件上,将回退信息与临时数据存放在不同的数据文件上。,对象1,对象2,对象3,表空间1,表空间2,数据文件1,数据文件2,数据文件3,对象4,对象5,创建数据文件,当建立一个表空间时,会建立相应的数据文件。如建立一300M的数据文件。,CREATE TABLESPACE APPL_DATA DATAFILE,f:oracleoradatatestappl_data.dbf SIZE 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,使得数据文件尺寸自动扩展,或使用ALTE
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!