Oracle9i关系数据库实用教程 第二章 Oracle体系结构新.ppt
文本预览下载声明
对数据库进行修改的任何事务(Transaction)在记录到重做日志之前都必须首先放到重做日志缓冲区(Redo Log Buffer.)中。重做日志缓冲区是专为此开辟的一块内存区域,重做日志缓存中的内容将被LGWR后台进程随时写入重做日志文件。 3.重做日志缓冲区 重做日志缓存是一个循环缓存区,在使用时从顶端向底端写入数据,然后再返回到缓冲区的起始点循环写入。重做日志缓冲区的大小(以字节为单位)由init.ora文件中的LOGBUFFER参数决定。 共享SQL池(Shared SQL Pool)相当于程序高速缓冲区,所有的用户程序都存放在共享SQL池中。 SQL共享池包括库高速缓存、数据字典高速缓存和服务器控制结构。 4.共享SQL池 共享池的大小取决于init.ora文件参数SHARED_POOL_SIZE,它是以字节为单位的。用户必须将这个值设得足够大,以确保有足够的可用空间来装载和存储PL/SQL块和SQL语句。 Java池为Java命令提供语法分析。 5.Java池 缓冲池把大数据集与其他的应用程序分开,以减少它们争夺数据块缓冲区内相同的资源。可以在SGA中创建多个缓冲池 。 6.多缓冲池 程序全局区PGA(Program Global Area,PGA),是单个Oracle进程使用的内存区域,不属于实例的内存结构。它含有单个进程工作时需要的数据和控制信息,PGA是非共享的,只有服务进程本身才能够访问它自己的PGA区。 2.3.2 程序全局区 排序区存在于请求排序的用户进程的内存中,由于排序需要内存空间,Oracle利用该内存排序数据,这部分空间称为排序区。该空间的大小为适应排序数据量的大小,可增长,但受初始化参数SORT_AREA_SIZER所限制。 2.3.3 排序区 软件代码区(Software Code Area)用于存储正在执行的或可以执行的程序代码。软件代码区是只读,可安装成共享或非共享。Oracle系统程序是共享的,多个Oracle用户可存取它,而不需要在内存有多个副本。用户程序可以共享也可以不共享。 2.3.4 软件代码区 2.4 数据库实例与进程 2.4.1 Oracle数据库实例 2.4.2 进程 数据库是指物理上的数据库文件或逻辑上的数据库结构。 基于之上管理和控制物理数据库的软件系统,称为数据库管理系统(DBMS)。 数据库实例是指软件系统中用来访问数据库文件集的存储结构以及后台进程的集合,它是存取和控制数据库的软件机制。 2.4.1 Oracle数据库实例 * * 2.1 物理结构 2.2 逻辑结构 2.3 内存结构 2.4 数据库实例与进程 2.5 数据字典 第二章 Oracle体系结构 2.1.1 数据文件 2.1.2 日志文件 2.1.3 控制文件 2.1.4 配置文件 2.1 物理结构 数据文件用来存储数据库中的全部数据,如数据库表中的数据和索引数据。通常为后缀名为.dbf格式的文件。 2.1.1 数据文件 日志文件(又称重做日志文件),用于记录数据库所做的全部变更(如增加、删除、修改),以便在系统发生故障时,用它对数据库进行恢复。 名字通常为Log*.dbf格式 2.1.2 日志文件 ? 根据在事务信息将被覆盖时,是否应该将文件归档,数据库分为以下两种归档模式:ARCHIVELOG(归档日志)或NOARCHIVELOG(非归档日志)模式。 每个Oracle数据库都有相应的控制文件,用于打开、存取数据库。它们是较小的二进制文件,其中记录了数据库的物理结构。 名字通常为Ctr*.ctl格式 2.1.3 控制文件 控制文件中的内容只能够由Oracle本身来修改。每个数据库必须至少拥有一个控制文件。一个数据库也可以同时拥有多个控制文件,但是一个控制文件只能属于一个数据库。 2.1.4 配置文件 配置文件是一个ASCII文本文件,记录Oracle数据库运行时的一些重要参数。名字通常为initsid*.ora格式,如:initCIMS.ora,SID相当于它所控制的数据库的标识符。每个Oracle数据库和实例都有它自己惟一的init.ora文件。 Oracle9i新引入一个服务器参数文件(SPFILE),一个服务器参数文件(SPFILE)可以被认为是在Oracle数据库服务器端的初始化参数文件。存储在一个服务器参数文件的初始化参数是永久的,它提供了由Oracle数据库服务器自我调节的一个基础。服务器参数文件是二进制文件,不能使用一个文本编辑器浏览或编辑。Oracle提供了浏览和查看相关参数的另外接口。 2.2.1 表空间 2.2.2 段 2.2.3
显示全部