




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章Oracle数据库系统体系结构,第二章Oracle数据库系统体系结构,本章内容,2.1ORACLE数据库体系结构2.2ORACLE数据库2.3ORACLE实例,重点:,掌握数据库的物理组成,及各部分功能。掌握ORACLE的SGA,各部分功能。,数据库的体系结构是指数据库的组成、工作过程与原理,以及数据在数据库中的组织与管理机制.,2.1ORACLE数据库系统体系结构,Oracle服务器提供开放、全面和综合的信息管理,它由Oracle数据库和Oracle实例组成.,Oracle服务器,Oracle数据库,Oracle实例,Oracle数据库是一个数据的集合,是一组落实到磁盘上的物理文件,管理数据库的后台进程和内存结构的集合称为Oracle实例,2.1ORACLE数据库系统体系结构,(1)Oracle数据库物理组成(page7)Oracle数据库物理上是由一组落实到磁盘的操作系统文件构成,这组文件包括:控制文件(ControlFile)重做日志文件(RedoLogFile)数据文件(DataFile)另外,参数文件(parameterfile)口令文件(Passwordfile)以及归档日志文件(ArchivedLogFile)并不属于数据库文件,但它们却直接对数据库产生影响。,Oracle数据库用来描述建立关系型数据库管理系统(RDBMS)的逻辑的和物理的数据结构。,2.2Oracle数据库,2.2.1Oracle数据库物理结构,数据库启动阶段,STARTUPNOMOUNT,STARTUPMOUNT,STARTUPOPEN,参数文件存放的是oracle创建特定数据库过程中以及以后启动和关闭数据库实例时所用到的有关控制文件以及数据库的一些参数信息,控制文件是一个很小的(通常是数据库中最小的)文件,记录数据库使用的所有数据文件和日志文件的物理位置、文件名和大小等。但它是数据库中的关键性文件,它对数据库的成功启动和正常运行都是至关重要的。,数据文件是实际存储插入到数据库表中的实际数据的操作系统文件,Oracle是用日志文件来随时保存修改结果的。即使发生故障导致数据库崩溃,Oracle也可以利用日志文件中的信息来恢复丢失的数据。,口令文件(PasswordFile),归档日志文件(ArchivedLogFile),如果创建数据库日志的类型选择的是归档状态,不仅会生成redologfile,而且还会ArchivedLog;每当当前的redologfile写满之后,出现日志切换,此时,归档进程会把写满的重做日志文件“复制”到指定的归档位置。可见:归档日志它其实是保存数据库事务日志的历史。,2.2.1Oracle数据库物理结构,selectstatus,namefromv$controlfile;selectfile#,name,blocksfromv$datafile;selectgroup#,status,type,memberfromv$logfile;,V$打头:动态性能视图,2.2.1Oracle数据库物理结构,(2)操作数据库物理文件,问题一:如何查看各种数据库文件?,方法一:OEM-管理-存储-相关的物理文件方法二:SQLPlus环境下通过查询动态性能视图来查看数据库文件的信息,2.2.1Oracle数据库物理结构,(2)操作数据库物理文件,问题二:完成如下数据库文件操作1)备份控制文件到跟踪文件.2)为数据库添加数据文件.3)为数据库增加日志组.4)为数据库日志组增加日志成员.,问题三:有时控制文件丢失或损坏,导致数据库无法启动,应该怎么办?,1、丢失一个控制文件,发现问题:ORA-00205:?提示信息-“错误识别控制文件”,由于系统找不到指定名字或大小的控制文件造成的。,分析解决:1)检查在参数文件中的control_files初始化参数的设置是否与磁盘实际存储的控制文件相对应。2)从其他控制文件中复制一个以新名字命名的副本,保证初始化参数文件中指定的控制文件与磁盘实际存放的控制文件一致.,2.2.1Oracle数据库物理结构,2、控制文件全部丢失,分析解决:1)启动数据库,观察数据库问题出现在哪个环节。2)关闭数据库,并将数据库启动到nomount状态。3)在D:oracleproduct10.2.0adminorcludump路径下选取某一情形下的CREATECONTROLFILE的SQL脚本,运行。4)如果关闭是非正常关闭或立即关闭,则执行recoverdatabase,备份控制文件:Alterdatabasebackupcontrolfiletotrace;-把控制文件备份到trace文件中,找最新的文件,里面有重建控制文件的SQL脚本(D:oracleproduct10.2.0adminorcludump)。,2.2.1Oracle数据库物理结构,2.2.2Oracle数据库逻辑结构P5,从逻辑上讲,一个数据库由若干个表空间组成,每个表空间中有若干个表或其他数据库对象,表空间又分为数据段、索引段等段,每个段中又分为若干区间,每个数据区间由若干个数据块组成。,表空间:数据库中最大的逻辑单位。每个表空间是由一个或多个数据文件组成的,一个数据文件只能与一个表空间相关联。,段:按照段所存储数据的特征,将段分为四种类型,即数据段、索引段、回退段和临时段。每个段又包含若干和区。,区:当段中的所有空间已完全使用时,系统自动为该段分配一个新区。,数据块:是Oracle服务器所能分配、读取或写入的最小存储单元。Oracle服务器以数据块为单位管理数据文件的存储空间。,逻辑层次,物理层次,用户,用户,用户,example,undotbs,users,System,Sysaux,temp,2019年12月5日星期四,2.3Oracle实例,实例(Instance)是Oracle为数据集合提供的一套动态访问物理数据库的内存机制。一个实例就是一套特殊的、由Oracle建立起来的内存结构和后台进程的集合。,2.3.1服务器端的内存结构(SGA+PGA),2.3.2进程,SGA(SystemGlobalArea)及其组成(重点)SGA如何完成用户操作(重点)诊断SGA中各种缓冲区的大小内存性能的诊断与优化,服务器进程后台进程,2.3.1服务器端的内存结构(SGA+PGA)page21,2.3Oracle实例,PGA(ProgramGlobalArea):程序全局区,该区域是一非共享区域,存放用户各自的私有变量、地址堆栈和其他运行时的信息.,SGA(SystemGlobalArea):系统全局区,是一个共享区域,存放最近使用的SQL语句、最近使用的数据、最近使用的数据字典等信息,供各个进程调用。,SGA(SystemGlobalArea)系统全局区及其组成-这是一组由Oracle分配的共享的内存结构。-主要用于在用户和数据库之间传递信息。-SGA由以下内存区域组成:-共享缓冲区(SharedPool)-数据高速缓冲区(DatabaseBufferCache)-日志缓冲区(RedoLogBufferCache)-大缓冲池(LargePool)-Java池(JavaPool)-Steams池(SteamsPool),2.3Oracle实例,信息交换,(1)共享缓冲池(SharePool)-包括库缓冲区(LibraryCache)和数据字典缓冲区(DataDictionaryCache)。-库缓冲区它是对SQL和PL/SQL程序进行语法分析、编译、执行的内存区域。库缓冲区又包含若干个上下文区contextarea,每个上下文区缓冲不用的SQL信息.-数据字典缓冲区存放有关数据库对象信息的系统表。,(2)数据缓冲区(DatabaseBufferCache)-它是SGA中的一个数据高速缓存区,用于保存SQL、PL/SQL运行的结果,供所有用户共享。它通常存储最常访问的数据库块。-按缓冲区使用情况可将其划分为:脏缓冲区、空闲缓冲区和忙缓冲区三种。-数据高速缓冲区工作原理,(3)重做日志缓冲区(RedoLogBufferCache)-该缓冲区用于记录实例的变化(DML、DDL和DCL操作)。日志在写入日志文件之前先被记录在重做日志缓冲区中,当重做日志缓冲区的数据积累到一定数量后再成批的、一次性的写入联机重做日志文件中。-重做日志缓冲区工作原理,重做日志文件,数据文件,三个缓冲区协同工作(1),2.3Oracle实例,重做日志文件,数据文件,三个缓冲区协同工作(2),2.3Oracle实例,重做日志文件,数据文件,2.3Oracle实例,诊断SGA中各种缓冲区的大小方法一:OEM-管理-内存参数方法二:通过动态性能视图观察SGA的信息v$sga/显示SGA摘要信息v$sgainfo/显示SGA详细信息方法三:在SQLPlus环境下查看相关的参数showparametershared_pool_size;showparameterdb_cache_size;showparameterlog_buffer;,内存的诊断与优化策略(高级数据库管理),2.3Oracle实例,-共享缓冲区的诊断与优化(提高),-数据高速缓冲区的诊断与优化(提高),-合理设置重做日志缓冲区的大小(提高),-诊断共享缓冲区的大小shared_pool_sizeshowparametershared_pool_size(手动内存分配方式下)select*fromv$sgainfo;-共享缓冲区的优化(扩展)原则:SQL语句的命中率越高,共享缓冲区的利用率越高,数据库的性能就越好。优化策略:1)制定SQL语句编码标准。2)通过调整参数shared_pool_size的值来改善共享缓冲区的利用率。,当利用率高于80%,建议增大共享缓冲池的尺寸;当利用率低于40%,建议减小该缓冲区的尺寸,避免服务器资源的过度浪费.,-诊断数据高速缓冲区的大小db_cache_sizeshowparameterdb_cache_size(手动分配内存方式下)select*fromv$sgainfo;-数据高速缓冲区的优化(提高)原则:数据高速缓冲区的命中率越高,数据库的性能就越好。优化策略:通过调整参数db_cache_size的值,来改善数据高速缓冲区的命中率。,当命中率低于90%,建议通过增大数据高速缓冲区的尺寸db_cache_size,来提高其命中率.,-诊断重做日志缓冲区的大小log_buffershowparameterlog_buffer(手动分配内存方式下)select*fromv$sgainfo;-合理设置重做日志缓冲区的大小(提高)关键:重做日志缓冲池的设置与数据库应用系统的类型有关。优化建议:具体参照下表.,设定日志缓冲区基本规则,ORACLE进程可以理解为一系列执行一定任务、提供不同服务信息的程序。主要有用户进程、服务器进程、后台进程三种类型。,2.3Oracle实例,2.3.2进程Process,用户进程(UserProcess):在客户端应用程序的总称。典型的用户进程SQLPlus/ServerManager/oracleforms/c/sapplication等客户端工具。,服务器进程(ServerProcess)当在客户端通过启用用户进程来发布相应的SQL指令,在服务器端会为每个用户进程分配一个相应的服务器进程。服务器进程会根据用户进程的请求完成与与数据库的通信。,秘书,2.3Oracle实例,ORACLE服务器连接模式(注意)根据用户进程和服务器进程之间的对应关系,oracle数据库又有两种连接模式:(1)专用服务器连接模式(2)共享服务器连接模式,专用服务器连接模式-它会为每个用户进程分配一个服务器进程与一个PGA内存。-优势:响应时间快劣势:对服务器资源要求高(服务器进程和PGA内存)-使用场所1)并发用户较少时使用专用服务器连接模式。2)对响应时间要求非常高的实时系统中,适合使用专用服务器连接模式。,共享服务器连接模式-多个用户进程共享一个服务器进程。-优势:缓解服务器对性能的需求劣势:响应时间较长-适用场合建议服务器资源吃紧且并发用户很多时使用共享服务器连接模式。,2.3.2.2后台进程BackgroundProcess(Page23)后台进程是指运行在服务器上的Oracle服务进程,这些进程在数据库启动过程中根据初始化参数的设置自动启动后,相互配合共同完成数据库服务器的功能。,2.3Oracle实例,2.3Oracle实例,DISK,MEMORY,2.3.2.3关于ORACLE服务器进程的操作1)查看专用服务器进程数selectcount(*)fromv$process;2)查看共享服务器的详细信息(名称,状态)selectname,statusfromv$shared_server;3)显示后台进程的信息selectname,paddrfromv$bgprocesswherepaddr00;,2.3Oracle进程,ORACLE服务器体系结构小结,Passwordfile,NetworkConnection,DBClient,DBServer,PGA,Parameterfile,Redologfile,Datafile,Controlfile,ArchivedLogfiles,Disk,Memory,UserProcess,S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论