![Oracle体系结构培训课件_第1页](http://file4.renrendoc.com/view/cee0efd96cdb84ee842b67e97edcc446/cee0efd96cdb84ee842b67e97edcc4461.gif)
![Oracle体系结构培训课件_第2页](http://file4.renrendoc.com/view/cee0efd96cdb84ee842b67e97edcc446/cee0efd96cdb84ee842b67e97edcc4462.gif)
![Oracle体系结构培训课件_第3页](http://file4.renrendoc.com/view/cee0efd96cdb84ee842b67e97edcc446/cee0efd96cdb84ee842b67e97edcc4463.gif)
![Oracle体系结构培训课件_第4页](http://file4.renrendoc.com/view/cee0efd96cdb84ee842b67e97edcc446/cee0efd96cdb84ee842b67e97edcc4464.gif)
![Oracle体系结构培训课件_第5页](http://file4.renrendoc.com/view/cee0efd96cdb84ee842b67e97edcc446/cee0efd96cdb84ee842b67e97edcc4465.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章Oracle体系结构1数据库和和实例Oracle数数据库服服务器由由数据库库和实例例组成。。在Oracle中,数数据库是是静态的的,是以以文件的的形式存存在的,,是文件件的集合合。实例是有有关数据据库管理理和控制制的一系系列进程程,以及及他们共共享的系系统全局局区SGA2Oracle结结构图Oracle数数据库服务器实例数据库Oracle进进程SGA区区后台进程程物理存储储逻辑存储储数据文件件控制文件件日志文件件初始化文文件密码文件件归档文件件表空间段区块服务进程程3访问Oracle数据据库当客户应应用或工工程程序序要访问问Oracle数据库库时,必必须首先先连接到到OracleServer,然然后才能能访问数数据库数数据。当在Sql*Plus中键入入用户名名、口令令和网络络连接串串之后,,就可以以连接到到OracleServer了,,此时会会在客户户端启动动对应于于Sql*Plus应应用进程程,该进进程称为为“用户进程程”,同时在在服务器器端OracleServer会会自动为为该用户户进程派派生一个个新的进进程,该该进程为为服务器器进程。。4当客户端端运行SQL语语句时,,用户进进程会通通过网络络将该SQL语语句发送送到对应应的服务务器进程程,并且且由服务务器进程程执行该该SQL语句,,服务器器进程在在执行了了SQL语句之之后,会会将SQL语句句的结果果通过网网络发送送到用户户进程。。客户端的的所有SQL操操作都是是由服务务器进程程来执行行的。后台进程5数据库操操作模式式专用服务务器为每个连连接到实实例的用用户进程程启动一一个专门门的服务务进程。。共享服务务器当用户程程序向系系统发出出请求时时,监听听器分配配一个负负荷最轻轻的调度度进程来来处理用用户请求求。6Oracle结结构图Oracle数数据库服务器实例数据库Oracle进进程SGA区区后台进程程服务进程程物理存储储逻辑存储储数据文件件控制文件件日志文件件初始化文文件密码文件件归档文件件表空间段区块7请大家看看一下书书上§2.2Oracle内存结结构8Oracle内内存结构构内存是Oracle重重要的信信息缓存存和共享享区域,,主要存存储执行行的程序序代码、、连接的的会话信信息以及及程序执执行期间间所需数数据和共共享的信信息等。。Oracle使使用的主主要内存存结构包包括系统统全局区区SGA和程序序全局区区PGA。9SGA区区10数据高速速缓存保存最近近从数据据文件中中读取的的数据块块。分为为脏缓存存块、空空闲缓存存块和命命中缓存存块三类类。脏缓冲块块:当执执行INSERT、UPDATE以以及DELETE操作作时,服服务器进进程修改改数据高高速缓存存的相应应数据,,此时缓缓冲区的的内容与与数据文文件中的的内容不不一致。。11当用户第第一次提提出数据据查询请请求时,,Oracle会首先先在数据据高速缓缓存中寻寻找该数数据。如如找到,,系统就就直接对对它们进进行处理理。如找不到到,系统统首先在在数据高高速缓存存中查找找空闲数数据块,,然后将将数据库库文件中中的数据据读入空空闲块处处理,如如搜索了了一定的的数据块块后仍找找不到空空闲块,,由后台台进程DBWR将内存存中部分分修改过过的数据据写入文文件,以以腾出空空间。数据高速速缓存12重做日志志缓冲区区重做日志志缓冲区区用于缓缓存数据据库重做做日志记记录,以以便数据据库损毁毁时可以以进行必必要的恢恢复。重做日志志缓存是是一个循循环缓存存区,在在使用时时从顶端端向低端端写入数数据,然然后再返返回到缓缓冲区的的起点循循环写入入。13共享池共享池相相当于程程序高速速缓冲区区,所有有的用户户程序都都放在共共享池中中。当用户将将SQL指令发发送至Oracle,,系统首首先解析析语法是是否正确确。解析析时所需需的系统统信息,,以及解解析后的的结果将将存放在在共享池池内。所所以当不不同用户户执行相相同SQL指令令时,可可以共享享已解析析好的结结果。14共享池共享池==库缓存存+数据据字典缓缓存库缓存==共享SQL区区+PL/SQL域++锁+闩闩数据字典典缓冲区区存放数数据字典典信息。。15程序全局局区PGA::ProgramGlobalAreaPGA是是单个Oracle进进程(包包括服务务器进程程和后台台进程))使用的的内存区区域,不属于实实例的内内存结构构。PGA含含有单个个进程工工作时需需要的数数据和控控制信息息,PGA是非非共享的的,只有有服务进进程本身身才能够够访问它它自己的的PGA区。16PGAPGA为为指定进进程专用用.当用户连连接服务务器并建建立会话话时,Oracle为为其分配配一个PGA。。17PGAPGA包包括私有SQL区会话内存存区排序区18Oracle结结构图Oracle数数据库服务器实例数据库Oracle进进程SGA区区后台进程程服务进程程物理存储储逻辑存储储数据文件件控制文件件日志文件件初始化文文件密码文件件归档文件件表空间段区块19后台进程程数据库写写进程DBWR(DatebaseWriter)日志写进进程LGWR((LogWriter)检查点进进程CKPT((CheckpointProcess)系统监控控进程SMON(SystemMonitor)进程监控控进程PMON(ProcessMonitor)20请大家看看一下书书上§2.3Oracle进程21数据库写写进程((DBWn/DBWR)DBWn进程负负责将数数据库缓缓存中的的脏缓存存块写入入数据文文件中。。在出现以以下情况况时,DBWn开始工工作系统发出出检查点点(checkpoint))。脏缓冲区区个数达达到指定定阈值。。服务器进进程不能能找到自自由缓冲冲区。22DBWnDBWR23日志写进进程(LGWR)当运行DML((INSERT、UPDATE、DELETE))或DDL(CREATE、、ALTER、、DROP)语语句时,,服务器器进程首首先将事事务变化化记载到到重做日日志缓冲冲区,然然后才会会将数据据写入到到数据高高速缓存存的相应应缓冲区区,并且且重做日日志缓冲冲区的内内容将会会被写入入到重做做日志文文件中,,以避免免系统出出现意外外所带来来的数据据损失。。24LGWR重做日志志缓存循循环使用用。LGWR在以下下几种情情况下发发生:在DBWR将脏脏数据写写入数据据文件之之前。重做日志志缓冲区区已有三三分之一一填满。。每隔3秒秒钟。提交事务务。重做日志志记录大大小到1M.25思考Oracle总总是尽量量将用户户“最常使用用的数据据”保留在缓缓冲区内内,以提提高数据据存取的的效率。。那么,,如果仅仅将最不不常用的的数据写写至数据据文件,,那么这这些“经常使用用”的数据反反而没机机会存回回硬盘??Oracle系系统使用用检查点点进程((CKPT)定定时触发发一次更更新数据据文件的的操作。。26检查点进进程(CKPT)CKPT进程负负责向数数据库发发出检查查点,检检查点用用于同步步数据库库的所有有数据文文件、控控制文件件和重做做日志。。27SCN((SystemChangeNumber))当运行Insert、、Update、Delete以及及其他涉涉及到数数据库变变化的语语句时,,Oracle会针对对任何修修改生成成顺序递递增的SCN值值,并将将该SCN值连连同事务务变化一一起记载载到重做做日志缓缓冲区。。SCN是用于于记载数数据库变变化的唯唯一标识识号,永永远不会会用尽。。假定Update之前前的SCN为100000,,当执行行了Update之后后有三个个数据块块发生变变化,则则SCN会增加加为100003。28CKPT工作原原理当Oracle发出检检查点时时,系统统会将检检查点时时刻的SCN值值写入到到控制文文件和数数据文件件头部,,同时还还会促使使DBWR进程程将所有有脏缓冲冲区写入入到数据据文件中中。29检查点工工作机制制在DBWR进程程工作之之前,LGWR进程首首先将重重做日志志缓冲区区内容写写入到重重做日志志文件,,即该时时刻的SCN值值会被写写入重做做日志。。当CKPT进程程工作的的时候,,会将当当前时刻刻的SCN值写写入数据据文件和和控制文文件。在发出检检查点时时刻,数数据文件件、控制制文件和和重做日日志的SCN值值完全一一致。30系统恢复复当运行OracleServer时,在在访问数数据文件件、控制制文件和和重做日日志时,,Oracle会定期期检查并并比较每每种文件件的SCN值,,确定文文件是否否损坏、、系统是是否出现现异常,,最终确确定系统统是否需需要进行行恢复。。31思考假定某用用户执行行了“insertintoDEPTvalues(50,’SALES’,’BeiJing’)”和”COMMIT”操作后,,突然意意外断电电,那么么事务变化化记载到到了哪种种文件中中?控制文件件和数据据文件的的SCN值是否否一致??控制文件件和重做做日志的的SCN值是否否一致??32分析在执行COMMIT操操作时,,后台进进程LGWR要要开始工工作,所所以事务务变化被被记载到到重做日日志中。。因为只只有在发发出检查查点时,,才会将将SCN值写入入控制文文件和数数据文件件头部,,所以控控制文件件和数据据文件的的SCN值保持持一致,,并且存存放的是是先前检检查点的的SCN值。控制文件件和数据据文件的的SCN值一致致,与重重做日志志不一致致!33SMON如果数据据库未正正常关闭闭,文件件中数据据不同步步。因为最近近检查点点SCN到COMMIT时间间点SCN之间间的事务务变化都都被记载载到了重重做日志志中,所所以在重重新打开开数据库库之前,,Oracle会自动动执行这这两个时时间点之之间的事事务操作作,并同同步所有有数据文文件、控控制文件件和重做做日志文文件,然然后才会会打开数数据库。。该过程被被称为应应急恢复复,正是是由SMON完完成的,,SMON还负负责在启启动实例例时清理理临时段段和合并并区碎片片。34一致性处处理如果数据据文件、、控制文文件、重重做日志志的当前前SCN值完全全一致,,则系统统会直接接打开所所有数据据文件和和重做日日志。如果控制制文件和和数据文文件的当当前SCN值完完全一致致,并小小于重做做日志的的当前SCN值值,则需需要进行行实例恢恢复。如果控制制文件和和数据文文件的当当前SCN值不不匹配,,则表示示数据文文件或控控制文件件存在损损坏,此此时需要要进行介介质恢复复,以恢恢复损坏坏文件。。35思考假定你在在客户端端运行SQL**PLUS访问问OracleServer,那那么Oracle将在在服务器器端分配配相应的的服务器器进程。。假如你你正常退退出了SQL**PLUS或该该进程出出现了意意外情况况,那么么Oracle会如何何处理服服务器进进程呢??系统当然然要释放放服务器器进程所所占用的的资源。。36PMONOracle如如何确定定用户进进程是处处于连接接状态、、断开连连接还是是异常状状态?这个任务务由PMON来来完成。。资源回收收(锁、、SGA、PGA)状态恢复复(将用用户的操操作回退退到最近近一次事事务提交交时的状状态)37一个典型型的独立立型Oracle实例例38一个并行行的Oracle服务务器实例例(OracleParallelServer))39Oracle结结构图Oracle数数据库服务器实例数据库Oracle进进程SGA区区后台进程程服务进程程物理存储储逻辑存储储数据文件件控制文件件日志文件件初始化文文件密码文件件归档文件件表空间段区块40请大家看看一下书书上§3.1Oracle数据库库的物理理结构41Oracle数数据库物物理存储储结构Oracle数数据库在在物理上上是存储储于硬盘盘的各种种文件。。它是活活动的,,可扩充充的,随随着数据据的添加加和应用用程序的的增大而而变化。。42数据文件件Oracle数数据库模模式对象象中的所所有数据据均存储储在数据据文件中中,也就就是说,,数据文文件是Oracle数数据库的的唯一物物理存储储对象,,所以每个Oracle数据据库至少少由一个个数据文文件组成成。数据文件件用来存存储数据据库中的的全部数数据,如如数据库库表中的的数据和和索引数数据。数数据文件件通常是是后缀名名为.dbf格格式的文文件。43数据文件件数据文件件实际上上是一个个操作系系统文件件,这些些文件中中的数据据格式是是只有Oracle数数据库系系统才能能够正确确识别的的二进制制格式。。44数据文件件Oracle数数据库至至少要包包含一个个数据文文件,并并且数据据文件是是表空间间的物理理组成元元素,一一个表空空间可以以包含多多个数据据文件,,并且每每个数据据文件只只能唯一一地属于于某个表表空间。数据库SYSTEM表空间表空间一一表空间二二数据文件件逻辑组成成物理组成成45重做日志志文件重做日志志是用于于记录数数据库变变化的物物理文件件,其目目的是为为了在出出现意外外时恢复复Oracle数据库库,数据库至至少要包包含2个个重做日日志组,,并且这这些重做做日志组组是循环环使用的的。日志组一日志组二日志组三46归档当数据库库处于ARCHIVELOG(自动动归档))模式时时,在进进行日志志切换时时,Oracle会自自动将重重做日志志内容复复制到归归档日志志中。47多元化重重做日志志用户可以以为相同同的日志志文件建建立一个个文件组组,将同同一个文文件组中中的文件件放在不不同的磁磁盘上建建立一些些副本。。LOG1ALOG2ALOG1BLOG2B磁盘A磁盘BLGWR日志组1日志组248控制文件件每个Oracle数据据库都有有一个控控制文件件(名字通通常为Ctr**.ctl格式式),用用以记录录与描述述数据库库的物理理结构,,包括以以下信息息:Oracle数数据库库名称与与建立时时间。数据文件件与重做做日志文文件名称称及所在在位置。。日志记录录序列号号(logsequencenumber))。数据库检检查点信信息。49数据库的的数据文文件和重重做日志志文件均均是一些些操作系系统文件件,Oracle在操操作数据据库时,,怎样将将指定数数据库中中的这些些文件同同普通的的操作系系统文件件和其他他数据库库文件区区分开来来,这正正是数据据库控制制文件的的功能。。如果把数数据文件件比作一一个仓库库,那么么重做日日志文件件就相当当于该仓仓库的货货物进出出记录账账本,控控制文件件就是该该仓库的的管理中中心。控制文件件50Oracle结结构图Oracle数数据库服务器实例数据库Oracle进进程SGA区区后台进程程服务进程程物理存储储逻辑存储储数据文件件控制文件件日志文件件初始化文文件密码文件件归档文件件表空间段区块51Oracle数数据库的的逻辑结结构逻辑上,,数据库库是由一一个或多多个表空空间组成成的,并并且一个个表空间间只能属属于一个个数据库库。物理上,,表空间间又是由由一个或或多个数数据文件件组成的的。表空间1表空间2表空间1Oracle逻辑结构构Oracle物理结构构52Oracle逻逻辑结构构数据库表空间段区Oracle块数据文件O/S块逻辑辑物理理53表空间((Tablespace)如果将图图书馆比比喻为数数据库的的话,那那么可以以将图书书馆的每每个书架架看作为为表空间间类似于于书架,,不同表表空间将将用于存存放不同同类型的的数据。。54表空间的的类型
系统表空空间回滚表空空间临时表空空间用户表空空间索引表空空间用户创建建的表空空间55表空间的的作用1能够将数数据字典典与用户户数据分分离。能够将回回退数据据与用户户数据分分离,避避免由于于硬盘损损坏而带带来的永永久性数数据丢失失。能够将表表空间的的数据文文件分散散保存到到不同的的硬盘上上,平均均分布物物理I//O操作作。56能够将某某个表空空间设置置为脱机机状态或或联机状状态,以以便对数数据库的的一部分分进行备备份和恢恢复。能够为某某种特殊殊用途专专门设置置一个表表空间,,如临时时表空间间,以优优化表空空间的使使用效率率。能够更加加灵活地地为用户户设置表表空间限限额。表空间的的作用257Oracle逻逻辑结构构数据库表空间段区Oracle块数据文件O/S块逻辑辑物理理58段(segment))段用于存存储特定定逻辑结结构的所所有数据据。当建建立数据据对象((表、索索引、簇簇等)时时,Oracle会自自动给这这些数据据对象分分配相应应的存储储控件,,以存放放它们的的数据信信息。在一个表表空间上上可以包包含一个个或多个个段,一一个段只只能存放放在一个个表空间间上,并并且段是是由一个个或多个个区组成成的。59段的类型型根据段中中存储的的模式对对象不同同,段分分为以下下几类::数据段::保存数数据表中中的记录录。索引段::当执行行CREATEINDEX语句时时,Oracle自动动创建索索引段。。临时段::在执行行查询、、排序、、创建索索引等操操作时,,Oracle使用临临时段保保存临时时数据。。回滚段::用于存存放数据据修改之之前的值值。60Oracle逻逻辑结构构数据库表空间段区Oracle块数据文件O/S块逻辑辑物理理61区(Extent)区由连续续的数据据块组成成,它是是Oracle空间分分配的逻逻辑单元元。Oracle为段段分配空空间是以以区为单单位进行行分配的的。例如:当当建立表表EMP时,Oracle会会为该表表建立相相应的表表段EMP,假假定初始始时该表表段只包包含一个个区(1M),,那么当当数据占占满1M空间之之后,再再插入数数据时,,Oracle会自动动扩展该该段,并并为其分分配第二二个区。。62Oracle逻逻辑结构构数据库表空间段区Oracle块数据文件O/S块逻辑辑物理理63数据块((DataBlock)数据块也也称为Oracle块块,它是是Oracle在数据据文件上上执行I/O操操作的最最小单位位。例子:假假定某用用户执行行”SELECT**FROMempWHEREempno=7788””只会返返回100B的的数据,,而数据据块尺寸寸为2KB,那那么Oracle读取取多少数数据到数数据高速速缓存呢呢?2KB64Oracle结结构图Oracle数数据库服务器实例数据库Oracle进进程SGA区区后台进程程服务进程程物理存储储逻辑存储储数据文件件控制文件件日志文件件初始化文文件密码文件件归档文件件表空间段区块65企业管理理器(OracleEnterpriseManager)企业管理理器(OEM))是Oracle为管管理用户户提供的的可视化化管理工工具,该该工具几几乎包含含了对数数据库对对象的所所有管理理.66OEM体体系结构构OracleManagementOracleManagementRepositoryOracleAgentOracleAgentOracleAgentWebBrowserConsoleConsole67OEM三三层结构构-1第一层客客户端工工具,如如OEMConsole,SQL**PLUS.这这些工工具是从从机器本本地启
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国六位机械计数器市场调查研究报告
- 2025年转向中间臂支架项目可行性研究报告
- 常州2025年江苏常州市卫生健康委员会直属事业单位招聘高层次紧缺专业人才269人(定期)笔试历年参考题库附带答案详解
- 2025年生化仪器项目可行性研究报告
- 成都2024年四川成都经开区(龙泉驿区)招聘教育人才11人笔试历年参考题库附带答案详解
- 2025年智能程序温控箱项目可行性研究报告
- 2025至2031年中国喷灌机管道行业投资前景及策略咨询研究报告
- 2025年双色底项目可行性研究报告
- 2025至2030年中国袋装水简易连接器数据监测研究报告
- 2025年X射线探测器项目可行性研究报告
- 2024-2030年中国免疫细胞存储行业发展模式及投资战略分析报告
- 家庭清洁课件教学课件
- 湖南财政经济学院《常微分方程》2023-2024学年第一学期期末试卷
- 2011年公务员国考《申论》真题卷及答案(地市级)
- 《篮球体前变向运球技术》教案(共三篇)
- 多元化评价体系构建
- 部编版六年级下册道德与法治全册教案教学设计
- DBJ04∕T 290-2012 袖阀管注浆加固地基技术规程
- GB/T 17775-2024旅游景区质量等级划分
- 灯笼彩灯安装合同范本
- 物流无人机垂直起降场选址与建设规范
评论
0/150
提交评论