《02_Oracle体系结构和组件1185.pptx》由会员分享,可在线阅读,更多相关《02_Oracle体系结构和组件1185.pptx(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、大型数据库技术Oracle体系结构和组件主要组件一览InstanceSGARedo logbuffer cacheShared poolData Dict.cacheLibrarycacheDBWRSMONPMONCKPTLGWROthersUserprocessServerprocessPGAControl filesData files Archived log filesParameterfilePasswordfileRedo log filesDatabaseDatabasebuffer cacheOracle服务器一个Oracle服务器:l是一个数据库管理系统,它为信息管理提供开放
2、的、全面的集成方法l由一个Oracle实例和一个Oracle数据库组成Oracle ServerOracle实例一个Oracle实例:l是一种存取Oracle数据库的方法l总开放一个且仅一个数据库l由存储和进程结构组成Background structuresMemory structuresSGARedo logbuffer cacheDatabase buffer cacheShared poolDBWRSMONPMONCKPTLGWROthersData DictionarycacheLibrarycacheInstance建立连接和创建对话连接到一个Oracle实例,由建立用户连接和创
3、建对话两部分组成Connection establishedSession createdDatabase userUserprocessOracle serverServerprocessOracle数据库一个Oracle数据库l是被看作一个单元的数据的集合l由三种文件类型组成Control filesData files Archived log filesParameterfilePasswordfileRedo log filesOracle Database物理结构一个Oracle数据库的物理结构,是由为数据库信息提供真实物理存储的操作系统文件决定的l控制文件l数据文件l重做日志文件
4、ControlfilesData files(includes data dictionary)HeaderOnlineredo logfiles)内存结构Oracle内存结构由两个存储区域组成:l系统全局区(System Global Area,SGA):在实例启动时被分配,是Oracle实例的一个基本组件l程序全局区(Program Global Area,PGA):在服务器进程启动时分配系统全局区(SGA)lSGA由几个存储结构组成:共享池数据库缓冲高速缓存重做日志缓冲其它结构(例如锁管理、统计数据)lSGA中能配置两个可选存储结构大池Java池系统全局区(SGA)lSGA是可变大小的,
5、使用SGA_MAX_SIZE来设置大小lSGA组件分配SGA内存空间,并分割成更小的颗粒分配连续的虚拟内存基于SGA_MAX_SIZE来分配大小共享池共享池用于存储最近执行的SQL语句和最近使用过的数据定义l它包括两个关键的性能相关的存储结构:库高速缓存数据字典高速缓存l由参数SHARED_POOL_SIZE来决定大小Shared poolData dictionarycacheLibrarycacheALTER SYSTEM SET SHARED_POOL_SIZE=64M;库高速缓存库高速缓存存储的是最近使用过的SQL和PL/SQL语句相关的信息。库高速缓存:l使得共同使用的语句可以共享l
6、可由最近最少使用(LRU)算法来管理l由两种结构组成:共享SQL区域共享PL/SQL区域l它的大小由共享池大小的设置来决定数据字典高速缓存数据字典高速缓存是数据库中最近最多使用的定义的集合l它包括数据库文件、表、索引、列、用户、特权和其它数据库对象的有关信息l在解析阶段,服务器进程查看数据字典,核对信息,以解析对象名,并验证存取l把数据字典信息高速缓存到内存,提高查询响应时间l大小由共享池大小的设置来决定数据库缓冲器高速缓存数据库缓冲器高速缓存,存储由数据文件中重新获得的数据块的拷贝l它使得获得和更新数据时,能获得高性能l它由最近最少使用(LRU)算法来管理lDB_BLOCK_SIZE决定基本
7、块大小Database buffercache数据库缓冲器高速缓存l由独立的子高速缓存组成DB_CACHE_SIZEDB_KEEP_CACHE_SIZEDB_RECYCLE_CACHE_SIZEl数据库缓冲器高速缓存,能使用ALTER_SYSTEM动态地调节大小,包括增加或减小lDB_CACHE_ADVICE能被设置为收集统计量,以预测不同高速缓存的大小调整ALTER SYSTEM SET DB_CACHE_SIZE=96M;重做日志缓冲器高速缓存重做日志缓冲器高速缓存,记录了所有的对数据库数据块所做的改变l它的主要目的是恢复l内部已记录的改变被称为重做项目l重做项目包括重建或重做改变的信息l
8、大小由LOG_BUFFER来定义Redo logbuffer cache大池大池是SGA中内存的一个可选区域,只在共享服务器环境中配置l它减轻了共享池的负担l这个配置好的存储区域,用于会话内存(UGA)、I/O控制和备份和存储操作l跟共享池不同,大池不使用LRU列表l大小由LARGE_POOL_SIZEALTER SYSTEM SET LARGE_POOL_SIZE=64M;Java池Java池用于解析Java命令l建立和使用Java时需要l它被存储在数据库表中,以与PL/SQL相同的方式l由JAVA_POOL_SIZE以参数来决定它的大小程序全局区(PGA)PGA,是为每一个连接到Oracl
9、e数据库的用户进程预留的内存UserprocessStackspaceSession informationsort area,cursor informationSGAShared SQL areasSGASessioninformation PGA Dedicated server Shared server ServerprocessShared SQL areasStackspacesort area,cursor information进程结构Oracle进程是一个程序,根据它的类型不同,能请求信息、执行一系列步骤、或者执行一个特定的工作。Oracle利用不同类型的进程:l用户进程:
10、始于数据库用户请求Oracle服务器连接的时候l服务器进程:连接到Oracle实例,始于用户建立会话时l后台进程:当一个Oracle实例启动时可利用用户进程用户进程是一个程序,它请求与Oracle服务器的连接l它必须首先建立一个连接l它不直接与Oracle服务器进行交互Database userServerprocessUserprocessConnection established服务器进程服务器进程是一个程序,它与Oracle服务器直接作用l它回应用户进程产生的调用,并返回结果l可能是独占的或共享的服务器Connection establishedSession createdDatab
11、ase userUserprocessOracle serverServerprocess后台进程硬盘和内存之间的关系被保持,并由Oracle的后台进程驱动l必须的后台进程:DBWn PMON CKPT LGWR SMON RECOl可选的后台进程ARCn LMON Snnn QMNn LMDn CJQ0 Pnnn LCKn Dnnn数据库写进程(DBWn)DBWn写的时机:l检查点Checkpointl脏数据达到阈值时l无自由缓存时l超时时lRAC ping响应l表空间离线时l表空间只读时l表DROP或TRUNCATEl表空间BEGIN BACKUPInstanceSGADatabase b
12、uffercacheDBWnControl filesData files Redo log filesDatabase日志写进程(LGWR)LGWR写:l在提交时l在1/3满时l在有2MB需重做时l每3秒钟l在DBWn写之前InstanceSGADBWnRedo logbufferControl filesData files Redo log filesLGWRDatabase系统监控(SMON)责任:l实例恢复:在重做日志中前滚改变为用户存取打开数据库回滚未提交的事务处理l每3秒钟对自由空间的整理l 对临时段的清空InstanceSGASMONControl filesData file
13、s Redo log filesInstanceSGASMONDatabase进程监控(PMON)进程失败后清理:l回滚事务处理l释放锁l释放其它资源l重启死锁的调度器InstanceSGAPMONPGA area检查点Checkpoint(CKPT)负责:l在检查点通知DBWnl用检查点信息更新数据文件头l用检查点信息更新控制文件InstanceSGADWW0Redo LogBufferLGWRInstanceSGADBWnLGWRCKPTControl filesData files Redo log files归档日志(ARCn)l可选的后台进程l在ARCHIVELOG模式下,自动归档在
14、线重做日志l保留对数据库所做的所有改变的记录Control filesData files Redo log filesArchived Redo log filesARCn逻辑结构lOracle体系的逻辑结构,指示怎样使用一个数据库的物理空间。l这个结构中存在的层次,由表空间、段、分区和块组成。TablespaceData fileSegmentBlocksExtentSegment处理SQL语句l连接到一个实例,使用:用户进程服务器进程l所使用的Oracle服务器组件依赖于SQL语句的类型:查询返回行DML语句改变日志记录提交保证事务恢复l一些Oracle服务器组件不参与SQL语句的处理处理SELECT语句l搜索共享池l验证语句l验证数据源l获得锁l检查优先级l解析语句l执行语句l从游标取值处理DML语句l解析语句l执行语句从数据和取消段中读数据到缓冲高速缓存锁数据和取消段记录前面的图像,以取消锁,并更新数据锁缓冲高速缓存中的任意改变的锁都被标记为脏缓存生成重做信息总结在这一节,你应该已经学到:l解释数据库文件:数据文件、控制文件、在线重做日志l解释SGA存储器结构:数据库缓冲高速缓存、共享SQL池和重做日志缓存l解释主要后台进程:DBWn、LGWR、CKPT、PMON、SMON和ARCn。数据库设计基础l本章课程在数据库原理与应用这门课程中已讲l这里做简单介绍