Chinaunix首页 | 论坛 | 博客
  • 博客访问: 671442
  • 博文数量: 845
  • 博客积分: 5000
  • 博客等级: 大校
  • 技术积分: 5015
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-15 16:22
文章分类

全部博文(845)

文章存档

2011年(1)

2008年(844)

我的朋友

分类:

2008-10-15 16:26:26

        racle数据库系统是一个复杂的软件系统。如果不了解其内部的结构原理及关系,就不可能设计和编写出高质量的应用软件系统,也不可能管理好一个复杂的应用系统。为了给以后章节的打好基础,本章简要给出 ORACLE 8 /ORACLE8i数据库系统结构的描述。

        §2.1 术语

         数据库块(BLOCK)

        ORACLE 数据库中的最小和处理单位,包含块本身的头信息数据或PL/SQL代码。

        ORACLE 块的大小是可以在安装时选择“自定义安装”来指定,也可以在CREATE DATABASE创建数据库实例时指定。其最小为2K,最大可达为64K。

         瓶颈(Bottleneck)

        指限制系统性能的部件。

         面向对象的关系数据库

        具有关系数据库的全部功能,同时又支持面向对象的数据库,称作面向对象关系数据库系统。7是一种功能完备的关系数据库系统;oracle8是一种面向对象的关系数据库系统。

         客户/结构(Client/Server)

        有客户机、、网络三要素的结构,客户机(PC机)通过网络与服务器相连和工作。

         胖客户机(Fat Client)

        一般的Client/Server结构中的客户机均为胖客户机。因为这些客户机需要配置较高的设备,如内存、硬盘、主频、CD_ROM等。

         瘦客户机(Thin Client)

        也称作NC(网络计算机),是一种内存配置小(过去指一般只有4M,现无法定义),无硬盘,只有处理心片的处理机。

         数据在线分析处理(OLAP)

        是一种能以快速、交互、方便的方式洞察数据情况的技术。如 Express,Cognos(加拿大)的Power Play, Business Objects公司的Business Object 等。

         多线程(MTS)

        一个用户可以同时运行多个程序对数据库进行访问,比如Visual C/可以提供同时启动多个进程,而Visual Basic则不能。

         数据仓库(Data Warehouse)

        支持大量数据信息的叫做支持数据仓储或数据仓库。当把几个小型数据库集成为一个大型数据库,并为一个较广泛的组织服务时,如果该数据库存储历史数据,提供决策支持,提供数据汇总,提供只读数据,并且实质上充当所有向它提供数据的相关成品数据库的数据接收器,那么它通常被叫做数据仓库。

         实例(Instance)

        是访问Oracle数据库所需的一部分计算机内存和辅助处理后台进程。

         对象(Objects)

        是实现世界实体的软件表示,如表、索引、视图、同义词、过程等。

         数据库文件(Datafile)

        Oracle系统中用于存放数据(应用系统数据)的文件。(<>P14中的例子不准确,容易误导读者)。

         控制文件(Control File)

        Oracle中存放系统用的一些数据的文件。如数据文件的路径及文件名,初始化文件路径及 文件名等都存放在控制文件中。

         日志文件(Logs File)

        也叫事务记录文件,该文件记录有事物对数据库进行的一切修改操作或事务。

         DBA(Database administrator-数据库管理员)

        是管理数据库系统的技术工具或人员,在完备的数据库系统中都提供DBA功能。

         灰数据块(Dirty data block)

        存放在内存中的原始数据已被修改,而修改后的数据还未写入数据库中。

         热数据块(Hot data block)

        存放着那些经常被修改数据叫热数据块。

         LRU(Least Recently Used-最近最少用)

        Oracle系统使用的一种算法,对于在内存中但最近又不用的数据块(内存块)叫做LRU,Oracle会根据那些数据属于LRU而将其移出内存而腾出空间来加载另外的数据。

         表(Table)

        存放专门数据而建立和分配的空间。

         表空间(Tablespace)

        是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间。

         回滚(Rollback)

        将用户(或者说事务)改变的数据恢复到上一次所处的状态。

         恢复信息(Undo Information)

        记录用于恢复的信息称作恢复信息。回滚就是根据恢复信息内容进行恢复的。

 

        §2.2 Oracle数据库结构

        Oracle数据库结构是Oracle数据库系统的主要部分,它是一些可以看得见的软件,包括:

         Oracle 数据字典
         表空间与数据文件
         Oracle实例(Instance)

        §2.2.1 Oracle 数据字典

        Oracle数据库的重要部分是数据字典。它存放有Oracle数据库所用的有关信息,对用户来说是一组只读的表。数据字典内容包括:

         数据库中所有模式对象的信息,如表、视图、簇、及索引等。

         分配多少空间,当前使用了多少空间等。

         列的缺省值。

         约束信息的完整性。

         Oracle用户的名字。

         用户及角色被授予的权限。

         用户访问或使用的审计信息。

         其它产生的数据库信息。

        数据库数据字典是一组表和视图结构。它们存放在SYSTEM表空间中。

        数据库数据字典不仅是每个数据库的中心。而且对每个用户也是非常重要的信息。用户可以用SQL语句访问数据库数据字典。

        §2.2.2 表空间与数据文件

        简单说,表空间就是一个或多个数据文件(物理文件)的集合(逻辑文件)。一般有下面的表空间:

        1)系统表空间(System tablespace)

        是各种不同版本的Oracle必备的部分,存放Oracle系统的一些信息,一般只有一个SYSTEM表空间。

        2)临时表空间(Temporary tablespace )

        由于Oracle工作时经常需要一些临时的磁盘空间,这些空间主要用作查询时带有排序(Group by,Order by等)等算法所用,当用完后就立即释放,对记录在磁盘区的信息不再使用,因此叫临时表空间。一般安装之后只有一个TEMP临时表空间。

        3)工具表空间(Tools tablespace)

        用于保存Oracle数据库工具所需的数据库对象,这些工具表空间存放在工作时所用的专用表。旧的Oracle版本无此表空间。安装之后的工具表空间是Tools。

        4)用户表空间(Users tablespace)

        用于存放一些实验例子用的空间,当然也可以用于存放应用系统的数据。旧版本无Users表空间。现在的用户表空间为 USERS 。

        5)数据及索引表空间

        存放数据及索引的表空间,Oracle7以后都提倡在应用系统中,特别是具有大量数据的系统,要把数据和索引分开存放在不同的分区中,以便提高查询速度。在安装后索引表空间可能是INDX。数据表空间就是USERS。

        6)回滚段表空间(Rollback Segment)

        Oracle数据库系统在运行Insert、Update、Delete时都需要一个磁盘空间来存放恢复信息(Undo Information),以便在进行恢复时能将原来信息读出来。安装后的回滚段表空间是RBS表空间。数据库管理员也可根据应用的需要建立另外的回滚段表空间。

        Oracle 以表空间来存储逻辑数据并 以物理数据相连。如图:

        Tablespace 1 Tablespace 2

        数据库被分成一个或多个逻辑部件称作表空间。而表空间又被分成称作段(segment)的逻辑部件。这些段再细分就叫扩展(extents)。

[1]      

【责编:michael】

--------------------next---------------------

阅读(193) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~