




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Oracle体系结构 郑州蓝讯网络科技有限公司 2010-10-20物理结构构逻辑结构构内存结构构数据库实实例与进进程数据字典典Oracle体系结构构Oracle体系结构构概述2020-02-113数据文件件日志文件件控制文件件参数文件件物理结构构Oracle物理存储储结构数据库文文件PasswordfileParameterfileArchivedlogfilesControlfilesData filesRedo logfilesDatabase2020-02-116数据文件件用来存存储数据据库中的的全部数数据,如如数据库库表中的的数据和和索引数数据。通通常为后后缀名为为.dbf格式式的文
2、件件。数据文件件日志文件件(又称重重做日志志文件),用于于记录数数据库所所做的全全部变更更(如增增加、删删除、修修改),以便在在系统发发生故障障时,用用它对数数据库进进行恢复复。名字通常常为Log*.dbf格式日志文件件 根据在事务信息将被覆盖时,是否应该将文件归档,数据库分为以下两种归档模式:ARCHIVELOG(归档日志)或NOARCHIVELOG(非归档日志)模式。 归档模式式每个Oracle数数据库都都有相应应的控制制文件,用于打打开、存存取数据据库。它它们是较较小的二二进制文文件,其其中记录录了数据据库的物物理结构构。名字通常常为Ctr*.ctl格式控制文件件控制文件件中的内内容只能
3、能够由Oracle本身来修修改。每每个数据据库必须须至少拥拥有一个个控制文文件。一一个数据据库也可可以同时时拥有多多个控制制文件,但是一一个控制制文件只只能属于于一个数数据库。控制文件件参数文件件参数文件件是一个个ASCII文本文件件,记录录Oracle数据库运运行时的的一些重重要参数数。名字字通常为为initsid*.ora格式,如如:initCIMS.ora,SID相当于它它所控制制的数据据库的标标识符。每个Oracle数据库和和实例都都有它自自己惟一一的init.ora文件。Oracle9i新引入一一个服务务器参数数文件(SPFILE),一个个服务器器参数文文件(SPFILE)可以被被认
4、为是是在Oracle数据库服服务器端端的初始始化参数数文件。存储在在一个服服务器参参数文件件的初始始化参数数是永久久的,它它提供了了由Oracle数据库服服务器自自我调节节的一个个基础。服务器器参数文文件是二二进制文文件,不不能使用用一个文文本编辑辑器浏览览或编辑辑。参数文件件表空间段区数据库块块逻辑结构构模式对象象Oracle逻辑结构构图表空间的的分类表空间的的使用表空间中中对象的的存储表空间数据库的的控制空空间分配配(例如如表和索索引)为数据库库用户设设置空间间配额备份或恢恢复数据据Oracle中除了用用户创建建的存放放数据对对象的数数据表空空间外,还有以以下类型型的表空空间:(1)Sys
5、tem表空间(2)回滚表表空间(RollBackTableSpace)(3)临时表表空间(TempTableSpace)1表空间间的分类类在数据库库中使用用多个表表空间具具有如下下优势:(1)能够将将数据字字典与用用户数据据分离开开来,避避免由于于字典对对象和用用户对象象保存在在同一个个数据文文件中而而产生的的10冲突。(2)能够将将回退数数据与用用户数据据分离开开来,避避免由于于硬盘损损坏而导导致永久久性的数数据丢失失。(3)能够将将表空间间的数据据文件分分散保存存到不同同硬盘上上,平均均分布物物理10操作。2表空间间的使用用(4)能够将将某个表表空间设设置为脱脱机状态态或联机机状态,以便对
6、对数据库库的一部部分进行行备份和和恢复。(5)能够将将某个表表空间设设置为只只读状态态,从而而将数据据库的一一部分设设置为只只读状态态。(6)能够为为某种特特殊用途途专门设设置一个个表空间间,比如如临时表表空间等等,以优优化表空空间的使使用效率率。(7)能够更更加灵活活地为用用户设置置表空间间限额。如果表空空间只对对应一个个数据文文件,该该表空间间中所有有的对象象都存储储在此数数据文件件中。如如果表空空间对应应于多个个数据文文件,可可将一个个对象的的数据存存储在该该表空间间的任意意一个数数据文件件中,也也可将同同一个对对象的数数据分布布在表空空间的多多个数据据文件中中。3表空间间中对象象的存储
7、储数据段段 索引段临时段回退段数据段中中保存的的是表中中的记录录。1数据段段在Oracle数据库中中每个未未分区索索引都有有一个索索引段保保存索引引中的索索引条目目。对于于一个分分区索引引,每个个分区都都有一个个索引段段保存它它的数据据。2索引段段当处理查查询时,Oracle可能会需需要使用用到一些些临时存存储空间间,用于于临时保保存解析析过的查查询语句句以及在在排序过过程中产产生的临临时数据据。Oracle会自动在在专门用用于存储储临时数数据的表表空间为为操作分分配临时时段。3临时段段回滚段用用于存放放数据修修改之前前的值(包括数数据修改改之前的的位置和和值)。回滚段的的作用主主要有以以下几
8、方方面:(1)事务回回滚(2)事务恢恢复(3)读一致致性4回滚段段回滚段数据库操操作老旧的数数据产生新的的数据回滚段表区是由很多多连续的的数据块块组成的的数据库库存储空空间。缺缺省情况况下,数数据库会会使用表表空间中中默认的的存储参参数来管管理他们们的区。区 数据库块块也称逻辑辑块或Oracle块块,它对对应磁盘盘上一个个或多个个物理块块,它的的大小由由初始化化参数db_block_size(在文文件init.ora中)决决定,典型的大大小是8k。数据库块块Oracle存储结构构Pckfree和Pctused两个参数数用来优优化数据据块空间间的使用用。PCTFREE:块中保保留用于于UPDAT
9、E操作的空空间百分分比,当当数据占占用的空空间达到到此上限限时,新新的数据据将不能能再插入入到此块块中;PCTUSED:指定块块中数据据使用空空间的最最低百分分比;Oracle数数据库的的模式对对象包括括表、视视图、序序列、同同义词、索引、触发器器、存储储过程等等。模式对象象内存结构构系统全局局区程序全局局区排序区系统全局局区(SGA,SystemGlobalArea.)是是内存结结构的主主要组成成部分,是Oracle为一一个实例例分配的的一组共共享内存存缓冲区区,保存存着Oracle系统统与所有有数据库库用户的的共享信信息,包包括数据据维护、SQL语句分分析,重重做日志志管理等等。是实实例的
10、主主要部分分。系统全局局区数据块缓缓冲区中中存放着着Oracle系统最近近从数据据文件中中读取的的数据块块。数据块缓缓冲区又又称用户户数据高高速缓冲冲区,为为所有与与该实例例相链接接的用户户进程所所共享。1数据块块缓冲区区数据缓冲冲区存储最近近使用的的块,包包括DB_CACHE_SIZE、DB_KEEP_CACHE_SIZE以及DB_BK_CACHE_SIZEData buffercache数据块缓缓冲区的的容量受受物理容容量限制制。在Oracle9i中,数据据库缓存存的大小小可以直直接由初初始化参参数DB_ACHESIZE指定,该该参数可可以直接接以K字节或M字节为单单位来设设置数据据库缓存
11、存的大小小。 字典缓冲冲区用于于保存数数据字典典中的行行。数据字典典缓冲区区也通过过最近最最少使用用(LRU)算法来来管理。大小由由数据库库内部管管理。字字典缓存存区是SQL共享池的的一部分分,共享享池的大大小(以以字节为为单位)由数据据库文件件init.ora中的SHARED_POOL_SIZE参数来设设置。2字典典缓冲区区对数据库库进行修修改的任任何事务务(Transaction)在记录录到重做做日志之之前都必必须首先先放到重重做日志志缓冲区区(Redo LogBuffer.)中。重重做日志志缓冲区区是专为为此开辟辟的一块块内存区区域,重重做日志志缓存中中的内容容将被LGWR后台进程程随时
12、写写入重做做日志文文件。3重做日日志缓冲冲区重做日志志缓冲区区大小由LOG_BUFFER确定记录实例例做出的的修改顺序使用用是循环缓缓冲区Redo logbuffer重做日志志缓存是是一个循循环缓存存区,在在使用时时从顶端端向底端端写入数数据,然然后再返返回到缓缓冲区的的起始点点循环写写入。重重做日志志缓冲区区的大小小(以字字节为单单位)由由init.ora文件中的的LOGBUFFER参数决定定。数据库数据库实实例 LGWRSGARedo logbufferData buffercacheShared poolCOMMIT处理1234用户进程程服务进程程ControlfilesData fil
13、esRedo logfiles共享SQL池(SharedSQL Pool)相当于于程序高高速缓冲冲区,所所有的用用户程序序都存放放在共享享SQL池中。SQL共享池包包括库高高速缓存存、数据据字典高高速缓存存和服务务器控制制结构。4共享SQL池共享池的的大小取取决于init.ora文件参数数SHARED_POOL_SIZE,它是以以字节为为单位的的。用户户必须将将这个值值设得足足够大,以确保保有足够够的可用用空间来来装载和和存储PL/SQL块和SQL语句。库缓存中中包含SQL语句文本本、分析析代码和和执行计计划数据字典典缓存中中包含表表、字段段和其他他对象的的定义与与权限共享池的的大小由由SHA
14、RED_POOL_SIZE确定SharedpoolDatadictionarycacheLibrarycache共享池SGARedo logbufferData buffercacheShared poolDatabase11DML语句的处处理234UPDATEemp.UserprocessServerprocessControlfilesData filesRedo logfilesJava池为Java命令提供供语法分分析。5Java池缓冲池把把大数据据集与其其他的应应用程序序分开,以减少少它们争争夺数据据块缓冲冲区内相相同的资资源。可可以在SGA中创建多多个缓冲冲池。6多缓冲冲池程序全局局
15、区PGA(Program GlobalArea,PGA),是单单个Oracle进程使用用的内存存区域,不属于于实例的的内存结结构。它它含有单单个进程程工作时时需要的的数据和和控制信信息,PGA是非共享享的,只只有服务务进程本本身才能能够访问问它自己己的PGA区。程序全局局区排序区存在于请请求排序序的用户户进程的的内存中中,由于于排序需需要内存存空间,Oracle利用该内内存排序序数据,这部分分空间称称为排序序区。该该空间的的大小为为适应排排序数据据量的大大小,可可增长,但受初初始化参参数SORT_AREA_SIZER所限制。排序区数据库实实例与进进程Oracle数据库实实例进程数据库是指物理理
16、上的数数据库文文件或逻逻辑上的的数据库库结构。基于之上上管理和和控制物物理数据据库的软软件系统统,称为为数据库管管理系统统(DBMS)。数据库实实例是指软件件系统中中用来访访问数据据库文件件集的存存储结构构以及后后台进程程的集合合,它是是存取和和控制数数据库的的软件机机制。Oracle数据库实实例数据库实实例Background processes一个Oracle实例:是访问Oracle数据库的的一种方方法总是打开开一个并并且仅仅仅一个数数据库MemorystructuresInstanceSGARedo logbufferData buffercacheShared poolPMONDBW0
17、SMONLGWRCKPTOthers进程又称任务务,是操操作系统统中一个个极为重重要的概概念。一一个进程程执行一一组操作作,完成成一个特特定的任任务。对对Oracle数据库管管理系统统来说,进程由由用户进进程、服服务器进进程和后后台进程程所组成成。进程与程程序的区区别在于前者者是一个个动态概概念,后后者是一一个静态态实体;程序仅仅仅是指指令的有有序集合合,而进进程则强强调执行行过程。进程可可以动态态地创建建,完成成任务后后即会消消亡。进程 当用户运运行一个个应用程程序时,系统就就为它建建立一个个用户进进程。用用户进程程执行的的是一个个应用程程序或Oracle工具程序序的代码码,以完完成用户户所
18、指定定的任务务。用户户进程不不是实例例。1用户户进程服服务器进进程服务器进进程处理理与应用用程序相相连的用用户进程程的请求求,它与与用户进进程相通通讯,为为相连的的用户进进程的Oracle请请求服务务。2服务器器进程Oracle的后台进进程主要要包括:(1)SMON系统监控控进程(systemmonitor)(2)PMON进程监控控进程(process monitor)(3)DBWR数据库写写进程(4)LGWR日志文件件写进程程(5)ARCH归档进程程(archiverprocess)(6)RECO恢复进程程(7)LCKN封锁进程程3后台进进程日志写(LGWR)LGWR在下列情情况下写写日志:
19、提交重做日志志缓冲区区三分之之一满重做超过过1 MB在DBW0写之前DatabaseInstanceLGWRSGARedo logbufferData buffercacheShared poolControlfilesData filesRedo logfiles其它实例例进程其它需要要的进程程:数据库写写(DBW0)进程监测测(PMON)系统监测测(SMON)检查点(CKPT)在产品数数据库中中通常需需要创建建归档进进程(ARC0)DatabaseControlfilesData filesRedo logfiles数据库写写(DBW0)DBW0写的时机机:脏缓冲区区多空闲缓冲冲区很少少超
20、时发生检查查点InstanceSGARedo logbufferData buffercacheShared poolDBW0SMON:系统监测测自动恢复复实例前滚重做做日志中中的修改改打开数据据库允许许用户访访问会滚未提提交的事事务合并空闲闲空间释放临时时段PMON:进程监测测在进程失失败后执执行清除除工作:回滚事务务释放锁释放其他他资源归档数据库归归档模式式对于磁盘盘失败后后不需要要恢复的的数据库库使用NOARCHIVELOG模式对于产品品数据库库使用ARCHIVELOGARC0进程自动归档档联机重重做日志志保留对数数据库做做出的所所有修改改数据字典典数据字典典的结构构数据字典典的用途途数
21、据字典典是Oracle数据库的的核心组组件,它它是对用用户来说说为只读读类型的的表和视视图组成成。在其其中保存存着关于于数据库库系统本本身以及及其中存存储的所所有对象象的基本本信息。数据库对对象所有有的框架架对象的的定义(表、视视图、索索引、群群集、同同义词、序列、过程、函数、包、触触发器等等)为框架对对象如何何分配和和使用空空间列的默认认值完整性约约束信息息数据库安安全信息息,包括括用户、权限、角色等等审计信息息一个数据据字典包包括基础础表,动动态性能能视图及及数据字字典视图图。数据据字典视视图又包包含ALL视图,USER视图和DBA视图。数据字典典的结构构1基础表表存储相关关数据库库信息的的表,这这些数据据库的信信息包括括表、索索引、约约束,以以及所有有其他数数据库对对象结构构的信息息。它们们属于SYS用户,通通过运行行SQL脚本来创创建(在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 私人二手房售房合同范本
- 司机保密合同范本
- 年度框架采购合同范本
- 低首付贷款合同范本
- 乐器租赁合同范本模板
- 原料肉购销合同范本
- 同行竞争合同范本
- 单间铺面出售合同范本
- 叉车机床购销合同范本
- 合同范例软件叫
- 户外广告制作安装合同模板
- 厂房改公寓出租合同范例
- 污水处理厂SBR工艺的设计说明
- 2025年国家自然科学基金委员会招聘流动编制人员59人历年高频重点模拟试卷提升(共500题附带答案详解)
- 历史地理学研究-深度研究
- 2025江苏太仓市城市建设投资集团限公司招聘易考易错模拟试题(共500题)试卷后附参考答案
- 2.2 学会管理情绪(同步课件)2024-2025学年七年级道德与法治下册(统编版2024)
- 14磁极与方向(教学设计)-二年级科学下册(教科版)
- 2025年山西经贸职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 2024年09月江苏2024年苏州金融租赁校园招考笔试历年参考题库附带答案详解
- 2025年八省联考数学试题(原卷版)
评论
0/150
提交评论