oracle数据库工作原理

oracle数据库工作原理

ID:43325251

大小:98.00 KB

页数:11页

时间:2019-09-30

oracle数据库工作原理_第1页
oracle数据库工作原理_第2页
oracle数据库工作原理_第3页
oracle数据库工作原理_第4页
oracle数据库工作原理_第5页
资源描述:

《oracle数据库工作原理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、oracle工作原理(2007-05-180&47:40)转载▼分类:计算机技术第一篇Oracle架构总览先让我们来看一张图这张就是0racle9i的架构全图。看上去,很繁杂。是的,是这样的。现在让我们來梳理一下:一、数据库、表空间、数据文件1・数据库数据库是数据集合。Oracle是一种数据库管理系统,是一种关系型的数据库管理系统。通常情况了我们称的“数据库”,并不仅指物理的数据集合,他包含物理数据、数据库管理系统。也即物理数据、内存、操作系统进程的组合体。数据库的数据存储在表中。数据的关系由列來定义,即通常我们讲的字段,每个列都有一个列名。数据以行(我

2、们通常称为记录)的方式存储在表中。表之间可以相互关联。以匕就是关系模熨数据库的一个最简单的描述。当然,Oracle也是提供对面象对象型的结构数抵阵的瑕强大支持,对象既可以与其它对象建立关系,也可以包含其它对象。关于00型数据库,以后利用专门的篇幅來讨论。一般情况下我们的讨论都基于关系模型。2•表空间、文件无论关系结构还是OO结构,Oracle数据库都将其数据存储在文件中。数据库结构提供对数据文件的逻辑映射,允许不同类型的数据分开存储。这些逻辑划分称作表空间,表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空

3、间)。为了便于管理和提高运行效率,可以使用一些附加农空间來划分用户和应用程序。例如:USER表空间供一般用户使用,RBS表空间供冋滚段使用。一个表空间只能属于一个数据库。每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)o一个数据文件只能属于一个表空间。在Oracle7.2以后,数据文件创建可以改变大小。创建新的表空间需要创建新的数据文件。数据文件一旦加入到表空间中,就不能从这个表空间中移走,也不能与其它表空间发生联系。如果数据库存储在多个表空间屮,可以将它们各自的数据文件存放在不同磁盘上来对其进行物理分割。在规划和协调数

4、据库I/O请求的方法中,上述的数据分割是--种很重要的方法。数据库、表空间、文件之间的关系如下图所示;二、数据库实例为了访问数据库中的数据,Oracle使用一组所有用户共享的后台进程。此外,还有一些存储结构(统称为SystemGloablArea,即SGA),用来存储最近从数据库查询的数据。数据块缓存区和SQL共享池(SharedSQLPool)是SGA的最大部分,一般占SGA内存的95%以上。通过减少对数据文件的I/O次数,这些存储区域可以改善数据库的性能。数据库实例(instance)也称作服务器(server),是用來访问数据库文件集的存储结构及后

5、台进程的集合。一个数据库可以被多个实例访问(这是Oracle并行服务器选项)。实例与数据库的关系如下图所示:决定实例大小及组成的参数存储的init.ora文件屮(在9i中是spfile)。实例启动时需要读这个文件,并且在运行时可以由数据痒管理员修改。对该文件的任何修改都只有在下一次启动时才启作用。实例的init.ora文件件通常包含实例的名字:如果一个实例名为orcl,那么init.ora文件通常被命名为initorcl.orao另一个配置文件config.ora用來存放在数据库创建后就不再改变的变量值(如数据库的块大小)。实例的config.ora文件

6、通常也包含该实例的名字:如果实例的名字为Orel,则config.ora一般将被命名为configorcl.ora<>为了便于使用config.ora文件的设置值,在实例的init.ora文件屮,该文件必须通过IFILE参数作为包含文件列出。注:关于初始化参数文件,再另起篇幅详细介绍。通过以上对数据库及实例的介绍,Omclc数据库结构可分为三个范畴:数据库内部结构(如表)存储区内部的结构(包括共享存储区和进程)数据库的外部结构三、数据库的内部结构即Oracle数据的逻辑表现层,也称oracleschema,包括以下这些内容:表、列、约束条件、数据类型(包

7、括抽象数据类型)分区与子分区用户与模式索引、簇和散列簇视图序列过程、函数、软件包和触发器同义词权限及角色数据库链接段、盘区和块回滚段快照与显形图各部分的具体介绍以后将在Oralceschema栏日中讨论。四、Oracle内部存储结构包括内存缓冲池与后台进程:1•系统全局区(SGA),主要包括:a.数据块缓存区数据块缓存区(datablockbuffercache)是SGA屮的一个高速缓存区域,用来存储从数据库屮读取数据段的数据块(如表、索引和簇)。数据块缓存区的大小由数据库服务器init.ora文件中的DB_LOCK_BUFFERS参数决定(用数据库块的

8、个数表示)。在调整和管理数据库吋,调整数据块缓存区的大小是一个重要的部分。因为数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。