Oracle体系结构和组件_第1页
Oracle体系结构和组件_第2页
Oracle体系结构和组件_第3页
Oracle体系结构和组件_第4页
Oracle体系结构和组件_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大型数据库技术Oracle体系结构和组件,主要组件一览,Oracle服务器,一个Oracle服务器:是一个数据库管理系统,它为信息管理提供开放的、全面的集成方法由一个Oracle实例和一个Oracle数据库组成,Oracle实例,一个Oracle实例:是一种存取Oracle数据库的方法总开放一个且仅一个数据库由存储和进程结构组成,Backgroundstructures,Memorystructures,SGA,Redologbuffercache,Databasebuffercache,Sharedpool,DBWR,SMON,PMON,CKPT,LGWR,Others,DataDictionarycache,Librarycache,Instance,建立连接和创建对话,连接到一个Oracle实例,由建立用户连接和创建对话两部分组成,Oracle数据库,一个Oracle数据库是被看作一个单元的数据的集合由三种文件类型组成,物理结构,一个Oracle数据库的物理结构,是由为数据库信息提供真实物理存储的操作系统文件决定的控制文件数据文件重做日志文件,内存结构,Oracle内存结构由两个存储区域组成:系统全局区(SystemGlobalArea,SGA):在实例启动时被分配,是Oracle实例的一个基本组件程序全局区(ProgramGlobalArea,PGA):在服务器进程启动时分配,系统全局区(SGA),SGA由几个存储结构组成:共享池数据库缓冲高速缓存重做日志缓冲其它结构(例如锁管理、统计数据)SGA中能配置两个可选存储结构大池Java池,系统全局区(SGA),SGA是可变大小的,使用SGA_MAX_SIZE来设置大小SGA组件分配SGA内存空间,并分割成更小的颗粒分配连续的虚拟内存基于SGA_MAX_SIZE来分配大小,共享池,共享池用于存储最近执行的SQL语句和最近使用过的数据定义它包括两个关键的性能相关的存储结构:库高速缓存数据字典高速缓存由参数SHARED_POOL_SIZE来决定大小,ALTERSYSTEMSETSHARED_POOL_SIZE=64M;,库高速缓存,库高速缓存存储的是最近使用过的SQL和PL/SQL语句相关的信息。库高速缓存:使得共同使用的语句可以共享可由最近最少使用(LRU)算法来管理由两种结构组成:共享SQL区域共享PL/SQL区域它的大小由共享池大小的设置来决定,数据字典高速缓存,数据字典高速缓存是数据库中最近最多使用的定义的集合它包括数据库文件、表、索引、列、用户、特权和其它数据库对象的有关信息在解析阶段,服务器进程查看数据字典,核对信息,以解析对象名,并验证存取把数据字典信息高速缓存到内存,提高查询响应时间大小由共享池大小的设置来决定,数据库缓冲器高速缓存,数据库缓冲器高速缓存,存储由数据文件中重新获得的数据块的拷贝它使得获得和更新数据时,能获得高性能它由最近最少使用(LRU)算法来管理DB_BLOCK_SIZE决定基本块大小,Databasebuffercache,数据库缓冲器高速缓存,由独立的子高速缓存组成DB_CACHE_SIZEDB_KEEP_CACHE_SIZEDB_RECYCLE_CACHE_SIZE数据库缓冲器高速缓存,能使用ALTER_SYSTEM动态地调节大小,包括增加或减小DB_CACHE_ADVICE能被设置为收集统计量,以预测不同高速缓存的大小调整,ALTERSYSTEMSETDB_CACHE_SIZE=96M;,重做日志缓冲器高速缓存,重做日志缓冲器高速缓存,记录了所有的对数据库数据块所做的改变它的主要目的是恢复内部已记录的改变被称为重做项目重做项目包括重建或重做改变的信息大小由LOG_BUFFER来定义,大池,大池是SGA中内存的一个可选区域,只在共享服务器环境中配置它减轻了共享池的负担这个配置好的存储区域,用于会话内存(UGA)、I/O控制和备份和存储操作跟共享池不同,大池不使用LRU列表大小由LARGE_POOL_SIZE,ALTERSYSTEMSETLARGE_POOL_SIZE=64M;,Java池,Java池用于解析Java命令建立和使用Java时需要它被存储在数据库表中,以与PL/SQL相同的方式由JAVA_POOL_SIZE以参数来决定它的大小,程序全局区(PGA),PGA,是为每一个连接到Oracle数据库的用户进程预留的内存,进程结构,Oracle进程是一个程序,根据它的类型不同,能请求信息、执行一系列步骤、或者执行一个特定的工作。Oracle利用不同类型的进程:用户进程:始于数据库用户请求Oracle服务器连接的时候服务器进程:连接到Oracle实例,始于用户建立会话时后台进程:当一个Oracle实例启动时可利用,用户进程,用户进程是一个程序,它请求与Oracle服务器的连接它必须首先建立一个连接它不直接与Oracle服务器进行交互,服务器进程,服务器进程是一个程序,它与Oracle服务器直接作用它回应用户进程产生的调用,并返回结果可能是独占的或共享的服务器,后台进程,硬盘和内存之间的关系被保持,并由Oracle的后台进程驱动必须的后台进程:DBWnPMONCKPTLGWRSMONRECO可选的后台进程ARCnLMONSnnnQMNnLMDnCJQ0PnnnLCKnDnnn,数据库写进程(DBWn),DBWn写的时机:检查点Checkpoint脏数据达到阈值时无自由缓存时超时时RACping响应表空间离线时表空间只读时表DROP或TRUNCATE表空间BEGINBACKUP,日志写进程(LGWR),LGWR写:在提交时在1/3满时在有2MB需重做时每3秒钟在DBWn写之前,系统监控(SMON),责任:实例恢复:在重做日志中前滚改变为用户存取打开数据库回滚未提交的事务处理每3秒钟对自由空间的整理对临时段的清空,进程监控(PMON),进程失败后清理:回滚事务处理释放锁释放其它资源重启死锁的调度器,检查点Checkpoint(CKPT),负责:在检查点通知DBWn用检查点信息更新数据文件头用检查点信息更新控制文件,归档日志(ARCn),可选的后台进程在ARCHIVELOG模式下,自动归档在线重做日志保留对数据库所做的所有改变的记录,逻辑结构,Oracle体系的逻辑结构,指示怎样使用一个数据库的物理空间。这个结构中存在的层次,由表空间、段、分区和块组成。,Tablespace,处理SQL语句,连接到一个实例,使用:用户进程服务器进程所使用的Oracle服务器组件依赖于SQL语句的类型:查询返回行DML语句改变日志记录提交保证事务恢复一些Oracle服务器组件不参与SQL语句的处理,处理SELECT语句,搜索共享池验证语句验证数据源获得锁检查优先级解析语句执行语句从游标取值,处理DML语句,解析语句执行语句从数据和取消段中读数据到缓冲高速缓存锁数据和取消段记录前面的图像,以取消锁,并更新数据锁缓冲高速缓存中的任意改变的锁都被标记为脏缓存生成重做

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论