您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Oracle体系结构4625698710
Oracle体系结构1-2主要内容•Oracle体系结构及其组件例程数据库•例程内存结构后台进程•数据库物理结构逻辑结构1-3Oracle服务器的工作原理客户机服务器服务器进程(PGA区)用户进程(SQL语句)Oracleserver1-4处理过程可以简单的描述为:1.用户在其机器上运行基于Oracle的应用程序(如:SQL*PLUS、PL/SQLDeveloper等),即启动用户进程.2.客户机、服务器之间建立连接(Connect).3.服务器为用户建立会话(Session),并为该会话建立一个PGA(ProgramGlobalArea,程序全局区)以存储与该会话相关的信息.在同一个连接中,不同的用户有不同的会话.4.启动服务进程,由该服务进程负责执行该会话的各项任务.5.用户进程发送SQL语句(select、update、commit….)6.服务器进程解析、编译、执行SQL语句,然后将结果写入数据库并返回结果给用户进程。7.用户进程接收返回的SQL执行结果。8.在应用程序中显示SQL执行结果.1-5口令文件体系结构及其组件综述例程SGA重做日志缓冲区共享池数据字典高速缓存库高速缓存DBWRSMONPMONCKPTLGWROthers用户进程服务器进程PGA控制文件数据文件数据库数据高速缓存重做日志Java池大缓冲池参数文件归档日志1-6图示内容如下:Oracle的体系结构可分客户端、服务器两大部分。客户端:在客户机上安装管理工具后,运行工具启动用户进程。服务器:包括例程和数据库两部分。例程:包括SGA及后台进程。数据库:包括控制文件、数据文件、日志文件等操作系统文件.1-7涉及三种结构:Oracle的内存结构Oracle的进程结构Oracle数据库的存储结构•物理结构•逻辑结构1-8内存结构:SGA和PGA,使用内存最多的是SGA,同时也是影响数据库性能的最大参数.进程结构:包括前台进程、后台进程。前台进程是指服务进程和用户进程.前台进程是根据实际需要而运行的,并在需要结束后立刻结束。后台进程是指在Oracle数据库启动后,自动启动的几个操作系统进程.存储结构:分为逻辑存储结构、物理存储结构。逻辑存储结构是描述Oracle数据库中如何组织和管理数据。与操作系统平台无关。物理存储结构是Oracle数据库的外部存储结构。它对应操作系统相关文件。包括控制文件、数据文件、日志文件等操作系统文件.1-9Oracle服务器Oracle数据库服务器:•主要由两部分组成:物理数据库和数据库管理系统。•物理数据库是保存数据的物理存储设备。•数据库管理系统是用户与物理数据库之间的一个中间是软件层,又称例程。有一定的结构。•或称数据库服务器由例程和数据库组成Oracleserver1-10数据库服务器启动时:•Oracle首先要在内存中获取、划分、保留各种用途的区域,运行各种用途的后台,即:创建一个例程(instance);•然后由该例程装载(mount)、打开(open)数据库;•最后由这个例程来访问和控制数据库的各种物理结构1-11如果把Oracle数据库比作一部汽车,instance相当于汽车的发动机一样,启动oracle数据库前提应先启动instance.1-12当用户连接到数据库并使用数据库时,实际上是连接到该数据库的例程,通过例程来连接、使用数据库。所以例程是用户和数据库之间的中间层。例程与数据库的区别:•数据库指的是存储数据的物理结构,总是实际存在的;•例程则是由内存结构和一系列进程组成,可以启动和关闭。1-13SID(系统标识符)一台计算机上可以创建多个Oracle数据库,一个数据库上可以有多个例程。为了使例程间不混淆,每个例程都称为:SID(SystemIDentify)加以区分。1-14例程的组成一个Oracle例程是存取和控制一个数据库的软件机制,是接触Oracle数据库的方式,存取数据库中数据的一种手段,或者称之Oracle数据库管理系统。它由系统全局区(SystemGlobalArea,简称SGA)和后台进程组成。例程SGA重做日志缓冲区共享池数据字典高速缓存库高速缓存DBWRSMONPMONCKPTLGWROthers数据高速缓存Java池大缓冲池SGA后台进程1-15连接到例程建立连接和会话:•建立用户连接•建立会话建立会话数据库用户用户进程服务器进程建立连接Oracleserver1-16建立连接:是一个安全审核的过程。包括:提交的网络服务名是否正确;输入的用户名及密码是否存在且正确,连接的数据库对象是否存在等等,对这些一系列的过程进行审核。通过用户进程来连接。一旦建立了连接,Oracle服务器会给该用户调度一个服务器进程来完成该用户的请求命令服务。建立会话:服务器进程解析用户进程提供来的SQL语句,完成该次会话执行的各种任务。1-17数据库口令文件控制文件数据文件数据库重做日志参数文件归档日志Oracle保存数据的容器。分物理存储结构及逻辑存储结构。1-18Oracle数据库物理存储结构物理存储结构是现实的数据存储单元,对应于操作系统文件。Oracle数据库就是由驻留在服务器的磁盘上的这些操作系统文件所组成的。这些文件有数据文件、日志文件、控制文件。1-19物理存储结构物理结构主要包括以下三种文件:•控制文件•数据文件•重做日志控制文件数据文件重做日志1-20数据文件(DataFile)数据文件(DataFile)是物理存储Oracle数据库数据的文件。其特点如下:每一个数据文件只与一个数据库相联系。一个表空间可包含一个或多个数据文件。一个数据文件只能属于一个表空间。1-21重做日志文件(RedoFile)重做日志文件(RedoLogFile)记录所有对数据库数据的修改,以备恢复数据时使用。其特点如下:每一个数据库至少包含两个日志文件组。日志文件组以循环方式进行写操作。每一个日志文件成员对应一个物理文件。1-22控制文件控制文件(ControlFile)是一个较小的二进制文件,用于描述数据库结构。描述信息如下:数据库建立的日期。数据库名。数据库中所有数据文件和日志文件的文件名及路径。恢复数据库时所需的同步信息。要点注意:在打开和存取数据库时都要访问该文件。记录控制文件名及路径的参数为:CONTROL_FILES1-23参数文件参数文件(ParameterFile)也被称为初始化参数文件,用于存储SGA、可选的Oracle特性和后台进程的配置参数。当数据库启动,并在创建例程或读取控制文件之前,会先按其中的参数进行例程的配置。位置:$Oracle_home\dbs1-24口令文件:是个二进制文件,验证特权用户。位置:$Oracle_home\database\PWD%.ora归档日志文件:非活动的重做日志文件的备份。1-25逻辑存储结构•主要描述Oracle数据库的内部存储结构,从技术概念上描述Oracle数据库中如何组织、管理数据。•可以分为4部分:表空间、段、区、块。表空间段数据块区段1-26Oracle的逻辑结构是由一个或多个表空间组成。一个表空间(tablespace)由一组段组成一个段(segment)由一组区组成一个区(extent)由一批数据库块组成一个数据库块(block)对应一个或多个物理操作系统块。1-27表空间表空间是数据库的逻辑划分的最大单元,一个Oracle数据库至少有一个表空间,即system表空间。数据库表空间1表空间2表空间3数据文件数据文件数据文件数据文件数据文件表空间1表空间2表空间3数据文件数据文件数据文件数据文件数据文件表表表1-28安装完Oracle10g后,自动创建的表空间为:•Example示例表空间,存放例子数据库的方案对象。•SYSTEM系统表空间,存放关于表空间名称、控制文件、数据文件等管理信息,它属于sys、system方案。不能删除或重命名。•SYSAUX辅助系统表空间,用于减少系统表空间的负荷,提高效率。是Oracle10g新增加的表空间。•TEMP临时表空间,存放临时表和临时数据,用于排序。•USERS用户表空间,存放永久性用户对象及私有信息,也称数据表空间。注意:每一个数据库都应该有一个用户表空间,以便在创建用户时分配给用户,否则用户的数据将会使用SYSTEM表空间。•UNDOTBS1重做表,1-29段(Segment)段数据(表)段索引段临时段回退段段是表空间的下一个逻辑单位,是表空间中一个指定类型的逻辑存储结构,它由一个或多个区组成,段将占用并增长存储空间。分类如下:1-30区(extent)区(Extent)是由物理上连续存放的块构成,区是Oracle存储分配的最小单位,由一个或多个块组成。当在数据库中创建带有实际存储结构的方案对象(如表、索引)时,Oracle将为该方案对象分配若干个区,以便组成一个对应的段来为该方案对象提供初始的存储空间。当段中已分配的区都写满后,Oracle就为该段分配一个新的区,以便容纳更多的数据。分配的第一个区称初始区,以后分配的区称增量区。1-31数据库块(Block)数据库块(DatabaseBlock)是数据库使用的I/O最小单元,又称逻辑块或ORACLE块。一个数据库块对应一个或多个物理操作系统块,块的大小由参数DB_BLOCK_SIZE确定。数据块的大小是操作系统块大小的整数倍.以Win2K为例,操作系统块(OSblock)的大小为4kb,所以OracleBlock的大小可以是4kb,8kb,16kb等等。1-32存储结构总结Oracle数据库表空间块区段控制文件、重做日志文件等数据文件OS块逻辑存储结构物理存储结构物理存储结构与逻辑存储结构之间的关系从物理上看,数据库由控制文件、数据文件、重做日志文件等操作系统文件组成;从逻辑上来看,数据库是由系统表空间、用户表空间等组成。表空间是最大的逻辑单位,块是最小的逻辑单位。逻辑存储结构中的块最后对应到操作系统中的块.1-33内存结构Oracle内存结构由两个部分组成:•系统全局区(SGA):在启动例程时分配,是Oracle例程的基础组件。•程序全局区(PGA):当启动服务器进程时分配。1-34系统全局区(SGA)SGA是ORACLE系统为实例分配的一组共享缓冲存储区,用于存放数据库数据和控制信息,以实现对数据库数据的管理和操作。每个例程都只有一个SGA.它是不同用户进程与服务进程进行通信的中心,数据库的各种操作主要在SGA中进行,所以称其为系统全局区.创建例程时,Oracle为SGA分配内存;终止例程时,释放SGA所占用的内存.1-35系统全局区•SGA由以下内存结构组成:–共享池–数据高速缓存–重做日志缓冲区•在SGA内可以配置以下内存结构:–大缓冲池–Java池SGA重做日志缓冲区共享池数据字典高速缓存库高速缓存数据高速缓存Java池大缓冲池SGA1-36共享池•用于存储:–最近执行的SQL语句–最近使用的数据定义•由两个关键的内存结构组成:–库高速缓存–数据字典高速缓存•尺寸由参数SHARED_POOL_SIZE控制共享池数据字典高速缓存库高速缓存ALTERSYSTEMSETSHARED_POOL_SIZE=64M;1-37库高速缓存•存储最近解析使用的SQL和PL/SQL语句信息•Oracle在执行用户进程提交的各种SQL语句、PL/SQL前要对其进行解析(包括语法解析、对象确认、权限判断、操作优化等)并生成执行计划,占用一定的系统资源。•由两个部分组成:–共享SQL区–共享PL/SQL区1-38数据字典高速缓存•最近使用的对象定义集合•包括数据库文件、表、索引、列、用户、权限和其它数据库对象的信息•在解析阶段,服务器进程查看数据字典信息以解析对象名•数据字典缓存信息到内存,以提高查询和DML响应时间•尺寸由共享池尺寸确定1-39数据高速缓存•存储从数据文件检索的数据块副本•通过LRU算法管理•DB_BLOCK_SIZE确定了缓冲区数据块大小数据高速缓存1-40数据缓冲区数据文件初次访问数据时,Oracle将读取磁盘
本文标题:Oracle体系结构4625698710
链接地址:https://www.777doc.com/doc-11149 .html