版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章Oracle数据据库的体体系结构构本章要点点:了解Oracle的物物理存储储结构。了解Oracle的逻逻辑存储储结构。了解Oracle进程程结构。了解Oracle内存存结构。熟悉Oracle中的的数据字字典。理解数据据字典的的作用。22.1物物理理存储结结构Oracle的的物理存存储结构构是由存存储在磁磁盘中的的操作系系统文件件所组成成的,Oracle在在运行时时需要使使用这些些文件。一般Oracle数据据库在物物理上主主要由3种类型型的文件件组成,分别是是数据文文件(*.dbf)、控制文文件(*.ctl)和和重做日日志文件件(*.log)。32.1.1数数据文文件数据文件件(DataF
2、ile)是是指存储储数据库库数据的的文件。数据文件件一般有有以下几几个特点点。(1)一一个表表空间由由一个或或多个数数据文件件组成。(2)一个数据据文件只只对应一一个数据据库。而而一个数数据库通通常包含含多个数数据文件件。(3)数据文件件可以通通过设置置其自动动扩展参参数,实实现其自自动扩展展的功能能。如果想要要了解数数据文件件的信息息,可以以查询数数据字典典dba_data_files和v$datafile。其中,dba_data_files主要有如如下字段段。file_name:数据文文件的名名称以及及存放路路径。file_id:数据文文件在数数据库中中的ID号。tablespace_na
3、me:数据文文件对应应的表空空间名。bytes:数据文文件的大大小。blocks:数据文文件所占占用的数数据块数数。status:数据文文件的状状态。autoextensible:数据文文件是否否可扩展展。42.1.1数数据文文件另一个数数据字典典v$datafile则记录了了数据文文件的动动态信息息,它主主要有如如下字段段。file#:存放数数据文件件的编号号。status:数据文文件的状状态。checkpoint_change#:数据文文件的同同步号,随着系系统的运运行自动动修改,以维持持所有数数据文件件的同步步。bytes:数据文文件的大大小。blocks:数据文文件所占占用的数数据块数
4、数。name:数据文文件的名名称以及及存放路路径。52.1.2控控制文文件控制文件件(ControlFile)是一一个很小小的二进进制文件件,用于描描述和维维护数据据库的物物理结构构。在Oracle数数据库中中,控制制文件相相当重要要,它存存放有数数据库中中数据文文件和日日志文件件的信息息。【例2.3】使用数据据字典v$controlfile,查看当前前数据库库的控制制文件的的名称与与路径,具体如如下:SQL COLUMNname FORMATA50;SQL SELECTname FROMv$controlfile;NAME-E:APPADMINISTRATORORADATAORCLCONTR
5、OL01.CTLE:APPADMINISTRATORORADATAORCLCONTROL02.CTLE:APPADMINISTRATORORADATAORCLCONTROL03.CTL62.1.3重重做日日志文件件重做日志志文件(Redo LogFile)是记录录数据库库中所有有修改信信息的文文件,简简称日志志文件。日志文件件是数据据库系统统的最重重要的文文件之一一,它可可以保证证数据库库安全,是进行行数据库库备份与与恢复的的重要手手段。如如果日志志文件受受损,数数据库同同样可能能会无法法正常运运行。Oracle中中的日志志文件组组是循环环使用的的,当所所有日志志文件组组的空间间都被填填满后,
6、系统将将重新切切换到第第一个日日志文件件组。发发生日志志切换时时,日志志文件组组中已有有的日志志信息是是否被覆覆盖,取取决于数数据库的的运行模模式。72.1.4其其他文文件1参数数文件参数文件件用于记记录Oracle数据据库的基基本参数数信息,主要包包括数据据库名和和控制文文件所在在路径等等。参数数文件分分为文本本参数文文件和服服务器参参数文件件。2备份份文件文件受损损时,可可以借助助于备份份文件对对受损文文件进行行恢复。对文件件进行还还原的过过程,就就是用备备份文件件替换该该文件的的过程。3归档档重做日日志文件件归档重做做日志文文件用于于对写满满的日志志文件进进行复制制并保存存,具体体功能由
7、由归档进进程ARCn实实现,该该进程负负责将写写满的重重做日志志文件复复制到归归档日志志目标中中。4警告告、跟踪踪日志文文件当一个进进程发现现了一个个内部错错误时,它可以以将关于于错误的的信息存存储到它它的跟踪踪文件中中。而警警告文件件则是一一种特殊殊的跟踪踪文件,它包含含错误事事件的说说明,而而随之产产生的跟跟踪文件件则记录录该错误误的详细细信息。82.2逻逻辑辑存储结结构Oracle数数据库的的逻辑存存储结构构如图2-1所所示。92.2.1表表空间间(Tablespace)表空间是是Oracle中最大大的逻辑辑存储结结构,它它与物理理上的一一个或多多个数据据文件相相对应,每个Oracle数
8、数据库都都至少拥拥有一个个表空间间,表空空间的大大小等于于构成该该表空间间的所有有数据文文件大小小的总和和。在安装Oracle时时,Oracle数据据库系统统一般会会自动创创建一系系列表空空间(如如system)。可可以通过过数据字字典dba_tablespaces查看看表空间间的信息息。102.2.1表表空间间(Tablespace)表 空 间说 明sysaux辅助系统表空间。用于减少系统表空间的负荷,提高系统的作业效率。该表空间由Oracle系统内部自动维护,一般不用于存储用户数据system系统表空间,用于存储系统的数据字典、系统的管理信息和用户数据表等temp临时表空间。用于存储临时的
9、数据,例如存储排序时产生的临时数据。一般情况下,数据库中的所有用户都使用temp作为默认的临时表空间。临时表空间本身不是临时存在的,而是永久存在的,只是保存在临时表空间中的段是临时的。临时表空间的存在,可以减少临时段与存储在其他表空间中的永久段之间的磁盘I/O争用undotbs1撤消表空间。用于在自动撤消管理方式下存储撤消信息。在撤消表空间中,除了回退段以外,不能建立任何其他类型的段。所以,用户不可以在撤消表空间中创建任何数据库对象users用户表空间。用于存储永久性用户对象和私有信息112.2.2段段(Segment)按照段中中所存储储数据的的特征,可以将将段分为为4种类类型1数据据段2索引
10、引段3临时时段4回退退段122.2.3区区(Extent)在Oracle数据库库中,区区是磁盘盘空间分分配的最最小单位位,由一一个或多多个数据据块组成成。当一一个段中中的所有有空间被被使用完完后,系系统将自自动为该该段分配配一个新新的区。一个或多多个区组组成一个个段,所所以段的的大小由由区的个个数决定定。不过过,一个个数据段段可以包包含的区区的个数数并不是是无限制制的,它它由如下下两个参参数决定定。minextents:定义义段初始始分配的的区的个个数,也也就是段段最少可可分配的的区的个个数。maxextents:定义义一个段段最多可可以分配配的区的的个数。132.2.4数数据块块(Block
11、)数据块(也可以以简称为为块)是是用来管管理存储储空间的的最基本本单位,也是最最小的逻逻辑存储储单位。Oracle数据库库在进行行输入输输出操作作时,都都是以块块为单位位进行逻逻辑读写写操作的的。数据块都都具有相相同的结结构,其其结构如如图2-2所示示。块的默认认大小,由初始始化参数数db_block_size指定,数数据库创创建完成成之后,该参数数值无法法再修改改。通过过SHOW PARAMETER语句可以以查看该该参数的的信息,如下:SQL SHOWPARAMETER db_block_size;NAMETYPEVALUE-db_block_sizeinteger8192142.3Orac
12、le进程程结构Oracle数数据库启启动时,会启动动多个Oracle后后台进程程,后台台进程是是用于执执行特定定任务的的可执行行代码块块,在系系统启动动后异步步地为所所有数据据库用户户执行不不同的任任务。通过查询询数据字字典v$bgprocess,可以以了解数数据库中中启动的的后台进进程信息息。152.3.1DBWn进程程DBWn(Database Writer,数数据库写写入)进进程,是是Oracle中采用用LRU(Least Recently Used,最近最最少使用用)算法法将数据据缓冲区区中的数数据写入入数据文文件的进进程。DBWn进程主主要有如如下几个个作用:管理数据据缓冲区区,以便
13、便用户进进程总能能找到空空闲的缓缓冲区。将所有修修改后的的缓冲区区数据写写入数据据文件。使用LRU算法法将最近近使用过过的块保保留在内内存中。通过延迟迟写来优优化磁盘盘I/O读写。162.3.1DBWn进程程其工作过过程如下下。(1)当当一个个用户进进程产生生后,服服务器进进程查找找内存缓缓冲区中中是否存存在用户户进程所所需要的的数据。(2)如如果内内存中没没有需要要的数据据,则服服务器进进程从数数据文件件中读取取数据。这时,服务器器进程会会首先从从LRU中查找找是否有有存放数数据的空空闲块。(3)如如果LRU中中没有空空闲块,则将LRU中中的DIRTY数据块块移入DIRTYLIST(弄脏脏表
14、)。(4)如如果DIRTYLIST超长,服务器器进程将将会通知知DBWn进程程将数据据写入磁磁盘,刷刷新缓冲冲区。(5)当当LRU中有有空闲块块后,服服务器进进程从磁磁盘的数数据文件件中读取取数据并并存放到到数据缓缓冲区中中。172.3.2LGWR进程程LGWR(LogWriter,日志写写入)进进程,是是负责管管理日志志缓冲区区的一个个后台进进程,用用于将日日志缓冲冲区中的的日志数数据写入入磁盘的的日志文文件中。LGWR进程将将日志信信息同步步地写入入在线日日志文件件组的多多个日志志成员文文件中,如果日日志文件件组中的的某个成成员文件件被删除除或者不不可使用用,则LGWR进程可可以将日日志信
15、息息写入该该组的其其他文件件中,从从而不影影响数据据库正常常运行,但会在在警告日日志文件件中记录录错误。182.3.3CKPT进程程CKPT(Check Point,检查查点或检检验点)进程,一般在在发生日日志切换换时自动动产生,用于缩缩短实例例恢复所所需的时时间。在在检查点点期间,CKPT进程程更新控控制文件件与数据据文件的的标题,从而反反映最近近成功的的SCN(SystemChangeNumber,系统统更改号号)。在Oracle数据库库中,控控制检查查点产生生的参数数有如下下两种。log_checkpoint_timeoutlog_checkpoint_interval192.3.4SM
16、ON进程程SMON(SystemMonitor,系统统监控)进程,用于数数据库实实例出现现故障或或系统崩崩溃时,通过将将联机重重做日志志文件中中的条目目应用于于数据文文件,执执行崩溃溃恢复。SMON进程一一般用于于定期合合并字典典管理的的表空间间中的空空闲空间间,此外外,它还还用于在在系统重重新启动动期间清清理所有有表空间间中的临临时段。202.3.5PMON进程程PMON(ProcessMonitor,进进程监控控)进程程,用于于在用户户进程出出现故障障时执行行进程恢恢复操作作,负责责清理内内存存储储区和释释放该进进程所使使用的资资源。PMON进程周周期性检检查调度度进程和和服务器器进程的的
17、状态,如果发发现进程程已死,则重新新启动它它。PMON进进程被有有规律地地唤醒,检查是是否需要要使用,或者其其他进程程发现需需要时也也可以调调用此进进程。212.3.6ARCn进程程ARCn(ArchiveProcess,归归档)进进程,用用于将写写满的日日志文件件复制到到归档日日志文件件中,防防止日志志文件组组中的日日志信息息由于日日志文件件组的循循环使用用而被覆覆盖。一个Oracle数据据库实例例中,允允许启动动的ARCn进进程的个个数由参参数log_archive_max_processes决定。222.3.7RECO进程程RECO(Recovery,恢复复)进程程存在于于分布式式数据库
18、库系统中中,用于于自动解解决在分分布式数数据库中中出现的的事务故故障。当一个数数据库服服务器的的RECO进程程试图与与一个远远程服务务器建立立通信时时,如果果远程服服务器不不可用或或者无法法建立网网络连接接,则RECO进程将将自动在在一个时时间间隔隔之后再再次连接接。232.4Oracle内存存结构Oracle内内存结构构是影响响数据库库性能的的主要因因素之一一,其结结构如图图2-3所示。242.4.1系系统全全局区(SGA)系统全局局区(SystemGlobal Area,SGA)是Oracle为为系统分分配的一一组共享享的内存存结构,可以包包含一个个数据库库实例的的数据或或控制信信息。1数
19、据据缓冲区区数据缓冲冲区用于于存储从从磁盘数数据文件件中读取取的数据据,供所所有用户户共享。由于系系统读取取内存的的速度要要比读取取磁盘快快得多,所以数数据缓冲冲区的存存在可以以提高数数据库的的整体效效率。2日志志缓冲区区日志缓冲冲区用于于存储数数据库的的修改操操作信息息。3共享享池共享池用用于保存存最近执执行的SQL语语句、PL/SQL程程序的数数据字典典信息,它是对对SQL语句和和PL/SQL程序进进行语法法分析、编译和和执行的的内存区区域。共共享池主主要包括括如下两两种子缓缓存。库缓存(LibraryCache)数据字典典缓存(DataDictionary Cache)4大型型池大型池,
20、用于提提供一个个大的缓缓冲区供供数据库库的备份份与恢复复操作使使用,它它是SGA的可可选区域域。5Java池池Java池,用用于在数数据库中中支持Java的运行行。252.4.2程程序全全局区(PGA)程序全局局区(Program GlobalArea,PGA)是是Oracle系统分分配给一一个进程程的私有有内存区区域。程序全局局区的大大小由参参数pga_aggregate_target决定,可以通通过SHOWPARAMETER语句查查看该参参数的信信息,如如下:SQL SHOWPARAMETER pga_aggregate_target;NAMETYPEVALUE-pga_aggregate
21、_targetbiginteger20M262.5数数据据字字 典数据字典典是由Oracle自自动创建建并更新新的一组组表,它它是Oracle数据据库的重重要组成成部分,提供了了数据库库结构、数据库库对象空空间分配配和数据据库用户户等有关关的信息息。数据字典典的所有有者为sys用用户,而而数据字字典表和和数据字字典视图图都被保保存在system表表空间中中。272.5.1Oracle数据字字典介绍绍Oracle数数据字典典(DataDictionary)是是存储在在数据库库中的所所有对象象信息的的知识库库,Oracle数据据库管理理系统使使用数据据字典获获取对象象信息和和安全信信息,而而用户和
22、和数据库库系统管管理员则则用数据据字典来来查询数数据库信信息。Oracle数数据字典典保存有有数据库库中对象象和段的的信息,例如表表、视图图、索引引、包、存储过过程以及及与用户户、权限限、角色色、审计计和约束束等相关关的信息息。282.5.1Oracle数据字字典介绍绍视图类型说 明USER视图USER视图的名称以user_为前缀,用来记录用户对象的信息。例如user_tables视图,它记录用户的表信息ALL视图ALL视图的名称以all_为前缀,用来记录用户对象的信息以及被授权访问的对象信息。例如all_synonyms视图,它记录用户可以存取的所有同义词信息DBA视图DBA视图的名称以db
23、a_为前缀,用来记录数据库实例的所有对象的信息。例如dba_tables视图,通过它可以访问所有用户的表信息V$视图V$视图的名称以v$为前缀,用来记录与数据库活动相关的性能统计动态信息。例如v$datafile视图,它记录有关数据文件的统计信息GV$视图GV$视图的名称以gv$为前缀,用来记录分布式环境下所有实例的动态信息。例如gv$lock视图,它记录出现锁的数据库实例的信息292.5.2Oracle常用数数据字典典1基本本的数据据字典Oracle中中基本的的数据字字典如表表2-3所示。字典名称说 明dba_tables所有用户的所有表的信息dba_tab_columns所有用户的表的字段
24、信息dba_views所有用户的所有视图信息dba_synonyms所有用户的同义词信息dba_sequences所有用户的序列信息dba_constraints所有用户的表的约束信息dba_indexes所有用户的表的索引简要信息dba_ind_columns所有用户的索引的字段信息dba_triggers所有用户的触发器信息dba_sources所有用户的存储过程信息dba_segments所有用户的段的使用空间信息dba_extents所有用户的段的扩展信息dba_objects所有用户对象的基本信息cat当前用户可以访问的所有基表tab当前用户创建的所有基表、视图和同义词等dict构成
25、数据字典的所有表的信息302.5.2Oracle常用数数据字典典2与数数据库组组件相关关的数据据字典Oracle中中与数据据库组件件相关的的数据字字典如表表2-4所示。数据库组件数据字典中的表或视图说 明数据库v$datafile记录系统的运行情况表空间dba_tablespaces记录系统表空间的基本信息dba_free_space记录系统表空间的空闲空间的信息控制文件v$controlfile记录系统控制文件的基本信息v$controlfile_record_section记录系统控制文件中记录文档段的信息v$parameter记录系统各参数的基本信息数据文件dba_data_files记录系统数据文件以及表空间的基本信息v$files
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年度公务员考试《常识》模拟题库附参考答案详解(研优卷)
- 2024-2025学年度刑法期末考试考试黑钻押题【研优卷】附答案详解
- 2024-2025学年度政法干警常考点试卷带答案详解(精练)
- 2026年数字化供应链标准研制与贯标试点
- 2026年粘结剂喷射成形Ti6Al4V合金工艺优化与粉末级配
- 2026年将农村智慧养老服务站纳入数字乡村建设指南的政策解读
- 2024-2025学年度医师定期考核考前冲刺测试卷附答案详解【夺分金卷】
- 2024-2025学年宁夏葡萄酒与防沙治沙职业技术学院单招《语文》通关题库附参考答案详解(能力提升)
- 2024-2025学年度燃气职业技能鉴定题库检测试题打印附答案详解(培优B卷)
- 2024-2025学年度粮油食品检验人员能力提升B卷题库含答案详解【达标题】
- 北京2025年北京市人民政府外事办公室所属事业单位招聘笔试历年参考题库附带答案详解
- 2025年十堰市教育局直属学校招聘真题
- 2025年云南省文山州砚山县辅警招聘考试题库附答案解析
- 《轨道工程施工技术》课件 长钢轨铺设
- 2026年苏州工业职业技术学院单招职业技能测试必刷测试卷带答案
- 2026年商洛职业技术学院单招职业倾向性考试题库必考题
- 触电事故应急处理培训试题及答案
- 急危重症护理学第五版人卫版题库及答案解析
- 动静脉内瘘物理检查方法
- DB43-T 2628-2023 埋地排水用UHMW一PTE方型增强排水管技术规范
- 2025版建筑行业简易采购合同模板下载
评论
0/150
提交评论