Oracle9i的关系数据库实用教程第二章Oracle的体系结构

上传人:桔**** 文档编号:591648907 上传时间:2024-09-18 格式:PPT 页数:55 大小:146.50KB
返回 下载 相关 举报
Oracle9i的关系数据库实用教程第二章Oracle的体系结构_第1页
第1页 / 共55页
Oracle9i的关系数据库实用教程第二章Oracle的体系结构_第2页
第2页 / 共55页
Oracle9i的关系数据库实用教程第二章Oracle的体系结构_第3页
第3页 / 共55页
Oracle9i的关系数据库实用教程第二章Oracle的体系结构_第4页
第4页 / 共55页
Oracle9i的关系数据库实用教程第二章Oracle的体系结构_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《Oracle9i的关系数据库实用教程第二章Oracle的体系结构》由会员分享,可在线阅读,更多相关《Oracle9i的关系数据库实用教程第二章Oracle的体系结构(55页珍藏版)》请在金锄头文库上搜索。

1、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

2、归档日志或NOARCHIVELOG非归档日志形式。. 每每个个Oracle数数据据库都都有有相相应的的控控制制文文件件,用用于于打打开开、存存取取数数据据库。它它们是是较小小的的二二进制制文文件件,其其中中记录了了数数据据库的物理的物理结构。构。名字通常名字通常为Ctr*.ctl格式格式2.1.3 控制文件控制文件.控制文件中的内容只能够由Oracle本身来修改。每个数据库必须至少拥有一个控制文件。一个数据库也可以同时拥有多个控制文件,但是一个控制文件只能属于一个数据库。.2.1.4 配置文件配置文件配置文件是一个ASCII文本文件,记录Oracle数据库运行时的一些重要参数。名字通常为ini

3、tsid*.ora格式,如:initCIMS.ora,SID相当于它所控制的数据库的标识符。每个Oracle数据库和实例都有它自己惟一的init.ora文件。.Oracle9i新引入一个服务器参数文件SPFILE),一个服务器参数文件SPFILE可以被认为是在Oracle数据库服务器端的初始化参数文件。存储在一个服务器参数文件的初始化参数是永久的,它提供了由Oracle数据库服务器自我调节的一个基础。服务器参数文件是二进制文件,不能使用一个文本编辑器浏览或编辑。Oracle提供了浏览和查看相关参数的另外接口。.2.2.1表空间2.2.2段2.2.3区2.2.4数据库块2.2逻辑结构2.2.5模

4、式对象.1表空间的分类2表空间的使用3表空间中对象的存储2.2.1表空间.Oracle中除了用户创建的存放数据对象的数据表空间外,还有以下类型的表空间:(1System表空间(2回滚表空间RollBackTableSpace)(3临时表空间TempTableSpace)1表空间的分类.在数据库中使用多个表空间具有如下优势:(1能够将数据字典与用户数据分离开来,避免由于字典对象和用户对象保存在同一个数据文件中而产生的10冲突。(2能够将回退数据与用户数据分离开来,避免由于硬盘损坏而导致永久性的数据丢失。(3能够将表空间的数据文件分散保存到不同硬盘上,平均分布物理10操作。2表空间的使用.(4能够

5、将某个表空间设置为脱机状态或联机状态,以便对数据库的一部分进行备份和恢复。(5能够将某个表空间设置为只读状态,从而将数据库的一部分设置为只读状态。(6能够为某种特殊用途专门设置一个表空间,比如临时表空间等,以优化表空间的使用效率。(7能够更加灵活地为用户设置表空间限额。.如果表空间只对应一个数据文件,该表空间中所有的对象都存储在此数据文件中。如果表空间对应于多个数据文件,可将一个对象的数据存储在该表空间的任意一个数据文件中,也可将同一个对象的数据分布在表空间的多个数据文件中。3表空间中对象的存储.1数据段2.2.2段2索引段 3临时段 4回退段 .数据段中保存的是表中的记录。1数据段.在Ora

6、cle数据库中每个未分区索引都有一个索引段保存索引中的索引条目。对于一个分区索引,每个分区都有一个索引段保存它的数据。2索引段.当处理查询时,Oracle可能会需要使用到一些临时存储空间,用于临时保存解析过的查询语句以及在排序过程中产生的临时数据。Oracle会自动在专门用于存储临时数据的表空间为操作分配临时段。3临时段.回滚段用于存放数据修改之前的值包括数据修改之前的位置和值)。回滚段的作用主要有以下几方面:(1事务回滚(2事务恢复(3读一致性4回退段.区是由很多连续的数据块组成的数据库存储空间。缺省情况下,数据库会使用表空间中存储的存储参数来管理他们的区。2.2.3 区 .主要的几个存储参

7、数:主要的几个存储参数:INITIAL:段段建建立立时时分分配配的的第第一一个个区区的的大大小小单位:字节)单位:字节)NEXT:段段内内分分配配的的下下一一个个增增量量区区大大小小单单位:字节)位:字节)MAXEXTENTS:分配给段的区总数。:分配给段的区总数。MINEXTENTS:建建立立段段时时分分配配的的区区的的总总数数,也就是段的最小区数量。也就是段的最小区数量。PCTINCREASE:为为段段分分配配的的每每个个增增量量区区超超过上一个区的百分比。过上一个区的百分比。INITRANS:为为初初试试数数量量的的DML事事务务条条目目并并发发访访问问数数据据块块中中的的行行保保留留的

8、的预预分分配配空空间间数量。数量。NTKXTRANS:当当多多个个事事务务同同时时访访问问同同一一数数据据块块的的行行时时,为为数数据据块块中中每每个个DML事事务务的的条条目分配的空间。目分配的空间。 . 数数据据库库块块也也称称逻逻辑辑块块或或Oracle块块,它它对对应应磁磁盘盘上上一一个个或或多多个个物物理理块块,它它的的大大小小由由初初始始化化参参数数db_block_size在在文文件件init.ora中决定,典型的大小是中决定,典型的大小是2k。2.2.4 数据库块.Pckfree和Pctused两个参数用来优化数据块空间的使用。PCTFREE:块中保留用于UPDATE操作的空间

9、百分比,当数据占用的空间达到此上限时,新的数据将不能再插入到此块中;PCTUSED:指定块中数据使用空间的最低百分比;. Oracle数数据据库库的的模模式式对对象象包包括括表表、视视图图、序序列列、同同义义词词、索索引引、触触发发器器、存存储过程等。储过程等。 2.2.5 模式对象 .2.3内存结构2.3.1系统全局区2.3.2程序全局区2.3.3排序区2.3.4软件代码区. 系系 统统 全全 局局 区区 SGA, System Global Area.)是是内内存存结结构构的的主主要要组组成成部部分分,是是Oracle为为一一个个实实例例分分配配的的一一组组共共享享内内存存缓缓冲冲区区,保

10、保存存着着Oracle系系统统与与所所有有数数据据库库用用户户的的共共享享信信息息,包包括括数数据据维维护护、SQL语语句句分分析析,重做日志管理等。是实例的主要部分。重做日志管理等。是实例的主要部分。2.3.1系统全局区.数据块缓冲区中存放着Oracle系统最近从数据文件中读取的数据块。数据块缓冲区又称用户数据高速缓冲区,为所有与该实例相链接的用户进程所共享。1数据块缓冲区.数据块缓冲区的容量受物理容量限制。在Oracle9i中,数据库缓存的大小可以直接由初始化参数DB_ACHESIZE指定,该参数可以直接以K字节或M字节为单位来设置数据库缓存的大小。 .字典缓冲区用于保存数据字典中的行。数

11、据字典缓冲区也通过最近最少使用LRU算法来管理。大小由数据库内部管理。字典缓存区是SQL共享池的一部分,共享池的大小以字节为单位由数据库文件init.ora中的SHARED_POOL_SIZE参数来设置。2字典缓冲区.对数据库进行修改的任何事务Transaction在记录到重做日志之前都必须首先放到重做日志缓冲区RedoLogBuffer.)中。重做日志缓冲区是专为此开辟的一块内存区域,重做日志缓存中的内容将被LGWR后台进程随时写入重做日志文件。3重做日志缓冲区.重做日志缓存是一个循环缓存区,在使用时从顶端向底端写入数据,然后再返回到缓冲区的起始点循环写入。重做日志缓冲区的大小以字节为单位由

12、init.ora文件中的LOGBUFFER参数决定。 .共享SQL池SharedSQLPool相当于程序高速缓冲区,所有的用户程序都存放在共享SQL池中。SQL共享池包括库高速缓存、数据字典高速缓存和服务器控制结构。4共享SQL池.共享池的大小取决于init.ora文件参数SHARED_POOL_SIZE,它是以字节为单位的。用户必须将这个值设得足够大,以确保有足够的可用空间来装载和存储PL/SQL块和SQL语句。.Java池为Java命令提供语法分析。5Java池.缓冲池把大数据集与其他的应用程序分开,以减少它们争夺数据块缓冲区内相同的资源。可以在SGA中创建多个缓冲池 。6多缓冲池.程序全

13、局区PGAProgramGlobalArea,PGA),是单个Oracle进程使用的内存区域,不属于实例的内存结构。它含有单个进程工作时需要的数据和控制信息,PGA是非共享的,只有服务进程本身才能够访问它自己的PGA区。2.3.2程序全局区.排序区存在于请求排序的用户进程的内存中,由于排序需要内存空间,Oracle利用该内存排序数据,这部分空间称为排序区。该空间的大小为适应排序数据量的大小,可增长,但受初始化参数SORT_AREA_SIZER所限制。2.3.3排序区.软件代码区Software Code Area用于存储正在执行的或可以执行的程序代码。软件代码区是只读,可安装成共享或非共享 。

14、 Oracle系 统 程 序 是 共 享 的 , 多 个Oracle用户可存取它,而不需要在内存有多个副本。用户程序可以共享也可以不共享。 2.3.4软件代码区.2.4数据库实例与进程2.4.1Oracle数据库实例2.4.2进程.数据库是指物理上的数据库文件或逻辑上的数据库结构。基于之上管理和控制物理数据库的软件系统,称为数据库管理系统DBMS)。数据库实例是指软件系统中用来访问数据库文件集的存储结构以及后台进程的集合,它是存取和控制数据库的软件机制。2.4.1Oracle数据库实例.进程又称任务,是操作系统中一个极为重要的概念。一个进程执行一组操作,完成一个特定的任务。对Oracle数据库

15、管理系统来说,进程由用户进程、服务器进程和后台进程所组成。进程与程序的区别在于前者是一个动态概念,后者是一个静态实体;程序仅仅是指令的有序集合,而进程则强调执行过程。进程可以动态地创建,完成任务后即会消亡。2.4.2进程.当用户运行一个应用程序时,系统就为它建立一个用户进程。用户进程执行的是一个应用程序或Oracle工具程序的代码,以完成用户所指定的任务。用户进程不是实例。1用户进程服务器进程.服务器进程处理与应用程序相连的用户进程的请求,它与用户进程相通讯,为相连的用户进程的Oracle请求服务。2服务器进程.Oracle的后台进程主要包括:( 1 SMON系 统 监 控 进 程 syste

16、mmonitor)(2PMON进程监控进程processmonitor)(3DBWR数据库写进程(4LGWR日志文件写进程( 5 ARCH归 档 进 程 archiverprocess)(6RECO恢复进程(7LCKN封锁进程3后台进程.2.5 数据字典数据字典 2.5.1数据字典的结构2.5.2数据字典的用途.数据字典是Oracle数据库的核心组件,它是对用户来说为只读类型的表和视图组成。在其中保存着关于数据库系统本身以及其中存储的所有对象的基本信息。 .数据库对象所有的框架对象的定义表、视图、索引、群集、同义词、序列、过程、函数、包、触发器等)为框架对象如何分配和使用空间列的默认值完整性约

17、束信息数据库安全信息,包括用户、权限、角色等审计信息.一个数据字典包括基础表,动态性能视图及数据字典视图。数据字典视图又包含ALL视图,USER视图和DBA视图。2.5.1数据字典的结构. 1基础表基础表存存储储相相关关数数据据库库信信息息的的表表,这这些些数数据据库库的的信信息息包包括括表表、索索引引、约约束束,以以及及所所有有其其他他数数据据库库对对象象结结构构的的信信息息。它它们们属属于于SYS用用户户,通通过过运运行行SQL脚脚本本来来创创建建在在数数据据库库创创建建时时自自动动发发生生)。是是Oracle系系统统的的核核心心。只只有有Oracle才才能能写写和和读读取取这这些些表表。

18、基基础础表表中中的的存存储储的的信信息息通通常常是是经经过过加加密密处处理理的的。大大部部分分数数据据字字典典基基础础表的名称中都包含表的名称中都包含“”等特殊字符。等特殊字符。.2 2动态性能视图动态性能视图在在操操作作过过程程中中,OracleOracle维维护护了了一一种种“虚虚拟拟表表的的集集合合,记记录录当当前前数数据据库库的的活活动动。这这些些表表称称为为动动态态性性能能表表。SYSSYS拥拥有有动动态态性性能能表表,其其名名字字都都是是以以V_V_开开头头的的。在在这这些些表表上上面面创创建建的的视视图图被被称称为为动动态态性性能能视视图图dynamic dynamic perf

19、ormance performance viewview)。可可为为这这些些视视图图创创建建公共同义词,同义词名称以公共同义词,同义词名称以V V开头。开头。.3 3ALLALL视图视图包包含含了了用用户户查查询询表表时时可可以以访访问问的的所所有有对对象的信息。象的信息。. 4USER视图视图前前缀缀为为USER,每每个个数数据据库库用用户户都都拥拥有有一一套套属属于于自自己己的的USER视视图图。在在USER视视图图中包含了该用户模式下所有对象的信息。中包含了该用户模式下所有对象的信息。. 5DBA视图视图前前缀缀为为DBA,在在DBA数数据据字字典典视视图图中中包包含含着着全全部部数数据据库库对对象象的的信信息息。对对于于带带有有DBA前前缀缀的的视视图图,显显示示了了整整个个数数据据库库的的情情况况。因因而而,它它们们只只能能被被数数据据库库管管理理员员查查询询。授授予予系系统统权权限限SELECT ANY TABLE的的用用户户都能查询带有都能查询带有DBA前缀的视图。前缀的视图。.2.5.2数据字典的用途对于Oracle系统本身而言,当数据库实例运行时,会需要使用数据字典基础表中的信息。Oracle从基础表中读取信息,来判断用户要求访问的对象是否存在。同时,当用户对数据库结构、对象结构做出修改时,Oracle向基础表中写入相应的修改信息。.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号