Oracle-10g体系结构V1.0.docx_第1页
Oracle-10g体系结构V1.0.docx_第2页
Oracle-10g体系结构V1.0.docx_第3页
Oracle-10g体系结构V1.0.docx_第4页
Oracle-10g体系结构V1.0.docx_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

Oracle 10g 体系结构目录1概述32数据库(DATABASE)43实例(INSTANCE)54内存结构64.1PGA(Program Global Area)程序全局区64.2SGA(System Global Area)系统全局区64.2.1数据库高速缓冲区(Database Buffer Cache)64.2.2共享池(Shared Pool)74.2.3重做日志缓冲区74.2.4Java Pool84.2.5Lagre Pool84.2.6Stream Pool84.2.7排序区85ORACLE的存储结构105.1数据库的逻辑结构105.2数据库的逻辑结构的说明115.2.1表空间(Tablespace)115.2.2表空间、段、区、块他们之间的关系115.2.3ORACLE自动创建的表空间115.2.4段125.2.5区145.2.6块145.3物理存储结构145.3.1控制文件145.3.2数据文件155.3.3重做日志文件151 概述RACLE 10g数据库系统为具有管理ORACLE10g数据库功能的计算机系统。ORACLE 10g数据库服务器指的是数据库管理系统和数据库的总和。Oracle10g体系结构是指Oracle10g数据库服务器的主要组成以及这些组成部分之间的联系和操作方式。Oracle10g数据库服务器从宏观的方面来讲包括数据库(DB)和实例(Instance),其整体结构如图1-1所示:图 11 ORACLE10g数据库整体结构2 数据库(DataBase)数据库是一个数据的集合,不仅是指物理上的数据,也指物理、存储及进程对象的一个组合。3 实例(Instance)数据库实例(也称为服务器Server)就是用来访问一个数据库文件集的一个存储结构及后台进程的集合。它使一个单独的数据库可以被一个实例或多个实例访问(也就是ORACLE并行服务器- OPS)。实例和数据库的关系如图3-1和如图3-2所示:图 31(单实例访问)图 32 (多实例访问)注:决定实例的组成及大小的参数存储在init.ora文件中。要想访问数据库就要先启动实例,启动实例oracle就会分配一片被称为SGA内存结构,并启动一系列的后台进程。SGA中存放的是数据库的信息,这些信息被后台进程所共享。实例和数据库的关系是多对一的关系,一个实例可以驱动一个数据库,也可以是多个实例驱动一个数据库,多个实例驱动一个数据库就被称为集群RAC(Real Application Cluster)。4 内存结构4.1 PGA(Program Global Area)程序全局区用来存放的是服务器进程的数据和控制信息。4.2 SGA(System Global Area)系统全局区SGA(System Global Area)是系统全局区,是用来存放数据库例程的数据和控制信息的,这部分信息是共享的。当有多个用户并发的连接到数据库的例程的时候,它们可以共享SGA中的信息。sga区是例程内存结构的主要组成部分,每个例程都只有一个sga区,当多个用户同时连接到一个例程时,所有的用户进程,服务进程都可以共享使用sga区。它是不同用户进程与服务进程进行通信的中心,数据库的各种操作主要都在sga区中进行,sga使用内存最多,同时也是影响数据库性能的最大参数。sga是一块用于加载数据,对象并保存运行状态和数据库控制信息的一块内存区域,在数据库实例启动时分配,当实例关闭时释放,每个实例都用于自己的sga区。当数据库启动到nomount状态时,sga区已经分配,同时启动后台进程。SGA的各个不同区的用途为:4.2.1 数据库高速缓冲区(Database Buffer Cache)存放的是数据文件的副本,所有连接到数据库的用户都可以共享数据库高速缓冲区中的数据1) Default(默认池)默认数据都放在这个池中缓存,如果有些数据长期不用,数据会被踢出缓存2) Keep(保存池)一般将访问比较频繁的数据放在这个池中。此池的数据一直保存(除非其他段要数据),数据不会被踢出3) Recycle(回收池)是将不适合缓存的数据放在这个池中,以免因为这个数据比较大,将其他池的数据踢出缓存。回收池要小一些,以保证大的数据快速进入和离开缓存。4.2.2 共享池(Shared Pool)1) 库缓冲区用来运行的PL/SQL代码和存放使用过的SQL语句2) 字典缓冲区数据库对象信息被存放在数据字典表中,数据库对象信息包括用户帐号数据、数据文件名、段名、盘区的位置、表的说明及权限。当数据库需要这些信息的时候就会去读取数据字典表,把这些信息放到字典缓冲区中说明:共享池一般不会很大,也就300-500M就可以了4.2.3 重做日志缓冲区将数据写到在线重做日志当中,则在写到磁盘前要在重做缓存区中临时缓存一些数据。数据不会在“重做缓存区”里停留很长时间,LGWR(Log Writer)会在以下情况下触发:1)每3秒一次;2)无论何时提交请求(commit);3)LGWR切换日志时;4)重做日志区1/3满时,或者包含了1M日志数据时。 一般重做事务日志就几M,超过了3M就没意义了。4.2.4 Java Pool支持数据库中的java代码。一般比较小4.2.5 Lagre Pool它用于“大块”内存的分配,共享池不会处理如此大的内存。一般主要用于备份。4.2.6 Stream Pool设计数据库的共享和复制,设计流池可以避免在流数据库特性下“窃取”共享池10%的空间。4.2.7 排序区排序需要内存空间,ORACLE利用该内存排序数据,这部分空间称为排序区。排序区存在于请求排序的用户进程的内存中,该空间的大小为适就排序数据量的大小,可增长,但受初始化参数SORT_AREA_SIZER所限制关于排序区的设置是否有效:if ( 数据库版本 = 10gR1 )then if (workarea_size_policy=auto) then sort area size 无效 else sort area size 有效 end ifelse - 数据库版本 10gr1 if ( shared server 连接方式 ) then sort area size 有效 else - dedicated server连接方式 if (workarea_size_policy=auto) then sort area size 无效 else sort area size 有效 end if end ifend if数据库版本在10gR1之后,workarea_size_policy设置为MANUAL时,SORT_AREA_SIZER有效。版本在10gR1之前,当连接方式为共享服务器时,SORT_AREA_SIZER有效。当为专属服务器时,workarea_size_policy设置为MANUAL时,SORT_AREA_SIZER有效。5 Oracle的存储结构ORACLE10g数据库的存储结构是指逻辑结构在物理上是如何实现的,共有3层,如图5-1所示。图 51 数据库的存储结构ORACLE数据库的存储结构分为逻辑存储结构和物理存储结构。逻辑存储结构主要描述ORACLE数据库的内部存储结构,物理存储结构主要描述数据库的外部存储结构。从物理上看数据库由控制文件、数据文件、重做日志文件、初始化参数文件等操作系统文件组成。从逻辑上看数据库是由表空间组成的。表空间是最大的逻辑单位,块是最小的逻辑单位。5.1 数据库的逻辑结构Oracle 10g数据库的逻辑结构主要指从数据库使用者的角度来考查的数据库的组成,如图5-2所示。自下向上,数据库的逻辑结构共6层。图 52 数据库的逻辑结构5.2 数据库的逻辑结构的说明5.2.1 表空间(Tablespace)数据库可以划分成表空间。每个表空间都是相关对象的一个分组。表空间包含一个或多个段,每个表空间只能属于一个数据库,但是一个数据库可以包含多个表空间。5.2.2 表空间、段、区、块他们之间的关系多个块组成区、多个区组成段、多个段组成表空间、多个表空间组成逻辑数据库。表空间是最大的逻辑单位,一个数据库由多个表空间组成、一个表空间可以包含多个数据文件,但一个数据文件只能属于一个表空间。5.2.3 ORACLE自动创建的表空间1) SYSTEM系统表空间用来存放表空间名称、控制文件、数据字典、数据文件等信息;2) SYSAUX表空间SYSAUX表空间是新引进的用来存储与ORACLE供给特性有关的方案对象;3) TEMP表空间临时表空间存放临时表和临时数据用于排序。4) 工具表空间(Tools tablespace)用于保存Oracle数据库工具所需的数据库对象,这些工具表空间存放在工作时所用的专用表。旧的Oracle版本无此表空间。安装之后的工具表空间是Tools。5) 用户表空间(Users tablespace)用于存放一些实验例子用的空间,当然也可以用于存放应用系统的数据。旧版本无Users表空间。现在的用户表空间为 USERS 。6) 数据及索引表空间存放数据及索引的表空间,Oracle7以后都提倡在应用系统中,特别是具有大量数据的系统,要把数据和索引分开存放在不同的分区中,以便提高查询速度。在安装后索引表空间可能是INDX。数据表空间就是USERS。7) 回滚段表空间(Rollback Segment)Oracle数据库系统在运行Insert、Update、Delete时都需要一个磁盘空间来存放恢复信息(Undo Information),以便在进行恢复时能将原来信息读出来。安装后的回滚段表空间是RBS表空间。数据库管理员也可根据应用的需要建立另外的回滚段表空间。5.2.4 段用于存储表空间中某一种特定的、具有独立存储结构的数据库对象的数据,它是由一个或多个连续的区组成。段随着数据的增加而不断变大,段的增大过程是通过增加区的个数而实现的,每个区的大小是块的整数倍。下面是段类型:1) 表段存储表的所有数据,当用户创建表时就会在该用户默认的表空间中为该表分配一个与表名相同的表段,以便将来存储该表的所有数据,显然在一个表空间中创建了几个表在该表空间中就有几个表段。SELECT SEGMENT_NAME, TABLESPACE_NAME, BYTES, BLOCKS FROM USER_EXTENTS;查询数据字典USER_EXTENTS得到2) 表分区段用于存储分区表的所有数据,当用户创建分区表时,就会在该用户默认的表空间中为该表的每个分区分配一个表分区段,通过将一个大表的数据分散到不同的表分区段中,就能降低I/O次数、提高性能。3) 索引段存储索引的所有数据,当用户使用CREATE INDEX命令创建索引或在定义约束而自动创建索引时,就会在该用户的默认表空间中为该索引分配一个与索引名相同的索引段。SELECT INDEX_NAME, TABLE_OWER, TABLE_NAME, TABLESPACE_NAME FROM USER_INDEXS;查询数据字典USER_INDEXS得到。4) 索引分区段如果为分区表创建分区索引则会为每个分区索引分配一个索引分区段,功能与表分区段相同。5) 临时段用于存储排序操作所产生的临时数据,临时数据首先会被暂存到排序区(PGA)中,当排序区不足以暂存这些临时数据时,则会在该用户的临时表空间中自动创建一个临时段用于暂存这些临时数据排序结束时临时段会自动消除。6) 回退段存储数据修改之前的位置和值,利用这些信息可以回退未提交的事务,维护数据库的读一致性,并能从例程的崩溃中进行恢复。7) 撤销段5.2.5 区由物理上连续存放的块组成,一个区只能属于一个数据文件通过查询DBA_EXTENTS就可以知道已分配的区,查询DBA_FREE_SPACE就可以知道表空间中的空闲区。5.2.6 块最小的数据管理单位即数据管理中输入输出的最小单位。5.3 物理存储结构物理存储结构由控制文件、数据文件、重做日志文件组成。物理存储结构与逻辑存储结构在操作上的一个区别是逻辑存储结构只有创建、删除的操作而物理存储结构除了创建、删除外还有一个将其移动到另一个位置的操作这样可以实现多路复用和将他们安排到不同磁盘位置并更改名称的功能了。5.3.1 控制文件ORACLE 10G装完后自动创建的3个控制文件如下:C:oracleproduct10.2.0oradataorclcontrol01.ctlC:oracleproduct10.2.0oradataorclcontrol02.ctlC:oracleproduct10.2.0oradataorclcontrol03.ctl5.3.2 数据文件数据文件是实际存储插入到数据库表中的实际数据的操作系统文件,自动创建的6个表空间都有其对应的数据文件C:oracleproduct10.2.0oradataorclexample01.dbfC:oracleproduct10.2.0oradataorclsysaux01.dbfC:oracleproduct10.2.0oradataorclsystem01.dbfC:oracleproduct10.2.0oradataorcltemp01.dbfC:oracleproduct10.2.0oradataorclundotbs01.dbfC:oracleproduct10.2.0oradataorclusers01.dbf5.3.3 重做日志文件重做日志文件是当用户对数据进行修改时ORACLE实际上是先在内存中进行修改过段时间后再集中将内存中的修改结果写入到上面的数据文件中。重做日志文件就是随时保存这些修改结果为了丢

温馨提示

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

评论

0/150

提交评论