您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Oracle10g体系结构
Version3.0火龙果整理uml.org.cnOracle10g体系结构火龙果整理uml.org.cn2概要•DBA的职责•Oracle体系结构由内存结构、进程结构、存储结构组成•内存结构由SGA、PGA组成•存储结构由逻辑存储、物理存储组成•进程结构由用户进程和Oracle进程组成.火龙果整理uml.org.cn3什么是DBA?•数据库管理员是一个或一组全面负责管理和控制数据库系统的人员。简称:DBA(DataBaseAdministrator)火龙果整理uml.org.cn4DBA的主要职责•了解ORACLE数据库的体系结构•负责数据库管理系统的安装和升级•启动和关闭数据库•管理和监控数据库用户•管理数据库特权•管理存储空间•建立数据库•后备和恢复数据库火龙果整理uml.org.cn5DBA与理论知识•作为一名合格的DBA,必须深入地掌握Oracle10g数据库的体系结构.在理论知识的指导下,才会使许多难以理解和掌握的操作变得容易.火龙果整理uml.org.cn6Oracle工作原理客户服务器服务器进程(PGA区)用户进程(SQL语句)Oracleserver数据库系统处理过程示意火龙果整理uml.org.cn7处理过程可以简单的描述为:1.用户在其机器上运行基于Oracle的应用程序(如:SQL*PLUS、PL/SQLDeveloper等),即启动用户进程.2.客户机、服务器之间建立连接(Connect).3.服务器为用户建立会话(Session),并为该会话建立一个PGA(ProgramGlobalArea,程序全局区)以存储与该会话相关的信息.在同一个连接中,不同的用户有不同的会话.4.启动服务进程,由该服务进程负责执行该会话的各项任务.5.用户进程发送SQL语句(select、update、commit….)6.服务器进程解析、编译、执行SQL语句,然后将结果写入数据库并返回结果给用户进程。7.用户进程接收返回的SQL执行结果。8.在应用程序中显示SQL执行结果.Oracle工作原理客户服务器服务器进程(PGA区)用户进程(SQL语句)Oracleserver火龙果整理uml.org.cn8处理查询用户进程服务器进程解析StatementOKHandle执行OKHandle提取ResultsSELECT*FROMempORDERBYename;火龙果整理uml.org.cn9总体结构数据高速缓存日志高速缓存共享池大池Java池SGA(SystemGlobalArea,系统全局区)PGA(ProgramGlobalArea,程序全局区)BackgroundProcesses后台进程File文件控制文件数据文件数据文件日志文件日志文件参数文件参数文件服务进程会话区堆栈区排序区DBWRARCHCKPTSMONLGWRRECOSNPnPMON控制文件总体结构的三大部分火龙果整理uml.org.cn10总体结构其中:•内存结构:包括SGA和PGA.使用内存最多的是SGA,同时也是影响数据库性能的最大参数.•进程结构:包括前台进程、后台进程.前台进程是指服务进程和用户进程.前台进程是根据实际需要而运行的,并在需要结束后立刻结束。后台进程是指在Oracle数据库启动后,自动启动的几个操作系统进程.•存储结构:包括控制文件、数据结构、日志文件等操作系统文件.数据高速缓存日志高速缓存共享池大池Java池SGA(SystemGlobalArea,系统全局区)PGA(ProgramGlobalArea,程序全局区)BackgroundProcesses后台进程File文件控制文件数据文件数据文件日志文件日志文件参数文件参数文件服务进程会话区堆栈区排序区DBWRARCHCKPTSMONLGWRRECOSNPnPMON控制文件火龙果整理uml.org.cn11存储结构•Oracle数据库的存储结构分为逻辑存储结构和物理存储结构,这两种存储结构既相互独立又相互联系.数据库结构数据文件日志文件控制文件参数文件物理结构表空间段范围数据库块逻辑结构火龙果整理uml.org.cn12逻辑存储结构•逻辑存储结构主要描述Oracle数据库的内部存储结构,即从技术概念上描述在Oracle数据库种如何组织、管理数据.•因此,逻辑存储结构是和操作系统平台无关的,是由Oracle数据库创建和管理的.火龙果整理uml.org.cn13物理存储结构•物理存储结构主要描述Oracle数据库的外部存储结构,即在操作系统种如何组织、管理数据.•因此,物理存储结构是和操作系统平台有关的.火龙果整理uml.org.cn14注意•必须对这两种存储结构有清晰的理解,并且要清楚在一个具体数据库应用系统中,这两种存储结构的具体对应关系,否则就不能进行正常的管理操作、数据库备份与恢复、性能优化等。火龙果整理uml.org.cn15存储结构Oracle数据库表空间块区段控制文件、重做日志文件等数据文件OS块逻辑存储结构物理存储结构物理存储结构与逻辑存储结构之间的关系从物理上看,数据库由控制文件、数据文件、重做日志文件等操作系统文件组成;从逻辑上来看,数据库是由系统表空间、用户表空间等组成。表空间是最大的逻辑单位,块是最小的逻辑单位。逻辑存储结构中的块最后对应到操作系统中的块.Version3.0火龙果整理uml.org.cnOracle10g体系结构逻辑结构火龙果整理uml.org.cn17Oralce的逻辑结构组成Oracle的逻辑结构是由一个或多个表空间组成。•一个表空间(tablespace)由一组段组成•一个段(segment)由一组区组成•一个区(extent)由一批数据库块组成•一个数据库块(block)对应一个或多个物理块火龙果整理uml.org.cn18逻辑结构示意图TablespaceDatabaseBlocksExtent84KSegment112KDatabaseDataFile表空间段区块火龙果整理uml.org.cn19数据库块(Block)数据库块(DatabaseBlock)是数据库使用的I/O最小单元,又称逻辑块或ORACLE块。一个数据库块对应一个或多个物理块,块的大小由参数DB_BLOCK_SIZE确定。火龙果整理uml.org.cn20数据库块(Block)块的大小是操作系统块大小的整数倍.以Win2K为例,操作系统块(OSblock)的大小为4kb,所以OracleBlock的大小可以是4kb,8kb,16kb等等。如果块的大小为4kb,某表每行的数据是100bytes.,如果某查询语句只返回1行数据,那么,在将数据读入到数据高速缓存时,读取的数据量时4kb而不是100bytes.火龙果整理uml.org.cn21数据块的结构•标题:包括通用的块信息,如块地址/段类型等,最佳大小为85-100bytes。•表目录:存储聚集中表的信息,这些信息用于聚集段。•行目录:包括这块中的有效行信息,允许使用每行开头的2bytes。•自由空间:这块中能插入或修改的一组空间。•行数据:存储表或索引的数据。火龙果整理uml.org.cn22数据块的结构CommandandVariableHeaderTableDirectoryRowDirectoryFreeSpaceROWDATA数据库块的结构格式火龙果整理uml.org.cn23控制块的几个参数pctfree20%左右它们是互相消涨的pctused40%左右Inittrans在单一块中最初活动的交易事务数Maxtrans在单一块中最大交易事务数火龙果整理uml.org.cn24PCTUSED•PCTUSED(占用百分比)用于行的INSERT的操作,当块的百分比小于PCTUSED时,可通过行DELETE或UPDATE来减少列存储。火龙果整理uml.org.cn25PCTFREE•PCTFREE(自由百分比)用于行的UPDATE操作,在遇到PCTFREE后,这块被填满且不能进行INSERT操作。火龙果整理uml.org.cn26数据块自由空间的结构PCTFREE=20%PCTUSED=40%PCTFREE=20%PCTUSED=40%FreeSpace火龙果整理uml.org.cn27区(extent)区(Extent)是数据库存储空间分配的逻辑单位,一个区由一组数据库块组成,区是由段分配的,分配的第一个区称初始区,以后分配的区称增量区。火龙果整理uml.org.cn28决定extent的参数initial最初分配的空间数(缺省为10k,5个数据块)next下一步分配的空间数maxextents最大分配的extent数minextents最小分配的extnet数,所有重做日志回滚段的存储结构,必须成对地分配extentpctincrease增长率,指数级增长,optimal尽量设小,或为0(缺省为空,仅用于回滚段)freelistpctincrease100()n1+火龙果整理uml.org.cn29段(segment)段(Segment)是表空间中一个指定类型的逻辑存储结构,它由一个或多个区组成,段将占用并增长存储空间。火龙果整理uml.org.cn30段的分类段的分类火龙果整理uml.org.cn31表空间(tablespace)表空间是最大的逻辑单位,对应一个或多个数据文件,表空间的大小是它所对应的数据文件大小的总和。火龙果整理uml.org.cn32表空间与数据库之间的关系数据库、表空间、数据文件、方案对象(schemaobject)之间的关系表空间1表空间2数据库数据文件1数据文件2数据文件3数据文件4方案对象3方案对象6方案对象5方案对象4方案对象2方案对象1火龙果整理uml.org.cn33Oracle10g创建的表空间Oracle10g自动创建的表空间有:Example(实例表空间)Sysaux(辅助系统表空间)System(系统表空间)Temp(临时表空间)Undotbs(重做表空间)Users(用户的表空间)火龙果整理uml.org.cn34SYSTEM(系统)表空间System:系统表空间,存放关于表空间的名称、控制文件、数据文件等管理信息,是最重要的表空间.它属于Sys、System两个schema(方案),仅被这两个或其他具有足够权限的用户使用。但是均不可删除或者重命名System表空间.火龙果整理uml.org.cn35其他表空间Temp:临时表空间存放临时表和临时数据,用于排序。Users:用户表空间,永久存放用户对象和私有信息,也被成为数据表空间。Sysaux:辅助系统表空间,用于减少系统负荷,提高系统的作业效率.一般地:系统用户使用system表空间,非系统用户使用Users表空间Version3.0火龙果整理uml.org.cnOracle10g体系结构物理结构火龙果整理uml.org.cn37Oracle数据库物理结构•数据文件•日志文件•控制文件•参数文件火龙果整理uml.org.cn38数据文件(DataFile)是物理存储Oracle数据库数据的文件。其特点如下:•每一个数据文件只与一个数据库相联系。•数据文件一旦被建立则不能修改其大小。•一个表空间可包含一个或多个数据文件。•一个数据文件只能属于一个表空间.数据文件(DataFile)火龙果整理uml.org.cn39重做日志文件(RedoFile)重做日志文件(RedoLogFile)记录所有对数据库数据的修改,以备恢复数据时使用。其特点如下:•每一个数据库至少包含两个日志文件组。•日志文件组以循环方式进行写操作。•每一个日志文件成员对应一个物理文件。火龙果整理uml.org.cn40日志开关(LogSwitch)日志开关(LogSwitch)是为实现日志文件组的循环使用而设置的。出现日志开关的情况如下:•当一个日志文件组被填满时•关闭数据库时•DBA手动转移日志开关火龙果整理uml.org.cn41日志文件写操作Lo
本文标题:Oracle10g体系结构
链接地址:https://www.777doc.com/doc-9165 .html