oracle术语

本文介绍了Oracle数据库系统的结构原理,包括数据库块、面向对象的关系数据库、客户/服务器结构等基本概念,详细解析了Oracle数据库的组成部分,如数据字典、表空间与数据文件、Oracle实例等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

   §2.1  术语

     数据库块(BLOCK)

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

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

      瓶颈(Bottleneck)

   指限制系统性能的部件。

       面向对象的关系数据库

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

      客户/服务器结构(Client/Server)

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

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

       瘦客户机(Thin  Client)

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

      数据在线分析处理(OLAP)

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

      多线程(MTS)

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

     数据仓库(Data Warehouse)

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

       实例(Instance)

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

      对象(Objects)

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

       数据库文件(Datafile)

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

       控制文件(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数据字典l       表空间与数据文件l       Oracle实例(Instance)

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

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

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

         列的缺省值。

         约束信息的完整性。

        Oracle用户的名字。

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

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

        其它产生的数据库信息。

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

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

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

   1)系统表空间(System tablespace)

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

   2)临时表空间(Temporary  tablespace )

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

   3)工具表空间(Tools tablespace)

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

   4)用户表空间(Users tablespace)

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

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

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

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

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

   Tablespace 1                                                          Tablespace 2

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

   §2.2.3 Oracle实例Oracle实例(Instance)是由一组后台进程和内存结构组成。每个运行的数据库系统都与实例有关。所以,有时称Oracle实例为数据库操作系统。下面是Oracle实例的解释。

    Oracle进程Oracle有两种类型的进程: 服务器进程和后台进程(server processesand background processes)。

   服务器进程Oracle服务器进程是处理用户与实例连接的事务。任务是:

       分析和执行应用所发出的SQL语句。

       从数据文件读必要的数据到SGA区的共享数据区。

        返回必要信息给应用。

   后台进程Oracle系统使用一些附加的进程来处理系统的必须的工作。这些进程叫后台进程:

      数据库写 (DBW0 或DBWn)

       日志写 (LGWR)

       检测点 (CKPT)

       系统监视 (SMON)

      进程监视 (PMON)

      归档 (ARCn)

       恢复 (RECO)

        锁(LCK0)

       工作队列 (SNPn)

      队列监视 (QMNn)

       发布(Dispatcher) (Dnnn)

        服务器 (Snnn)

    Oracle的内存结构(SGA)

    SGA结构为:

      数据高速缓冲区l       重做日志缓冲区l       共享池l       大的共享池(可选)

        数据字典缓冲区l       其它数据缓冲区

   §2.3  Oracle数据库文件ORACLE数据库是一个复杂的数据库操作系统,由一系列部件组成,主要有:1)初始化参数文件、2)数据文件、3)控制文件、4)日志文件等。

   §2.3.1 初始化参数文件初始化参数文件(initialization parameter file)INITsid.ORA,是 ORALE RDBMS主要的配置点,它是配置参数和数值的集合。每一个参数值都控制或修改数据库和实例的某个方面。早期的版本把参数都写在 initsid.ora 文件中,但在ORACLE8之后,多数参数已不在该文件中出现,需修改这些参数时只能在SQL>;下用SET SESSION 或 SET SYSTEM 来进行。 查看系统参数可用。例如:

   SQL>;select * from v$parameter;

   来列出。

   Oracle初始化参数文件是一个可以编辑的文本文件。它是在数据库实例启动时被访问,从而得到数据文件、日志文件、控制文件等的路径,此外,初始化参数文件还提供实例所用的参数等。

   初始化参数文件 INITsid.ORA 参见 附录 .

   §2.3.2 数据文件用于存放所有数据库的数据文件,Oracle安装过程中自动建立多个必要的数据文件。这些数据文件用于存放Oracle系统的基本数据。在应用系统开发过程中,我们可根据需要另建立一些数据文件。

   如果数据文件按它们存放的数据类型来分的话,可以分为:l       用户数据

   存放应用系统的数据为用户数据。

      系统数据

   管理用户数据和数据库系统本身的数据,如数据字典,用户建立的表的名字,类型等都记录在系统数据中。

   §2.3.3 控制文件控制文件是由Oracle数据库实例在启动时被访问的内部二进制文件,它们所存放的路径由参数文件的control_files=参数来确定。

   Oracle一般有两个或更多的控制文件,每个控制文件记录有相同的信息,在数据库运行中如果某个控制文件出错时,Oracle会自动使用另外一个控制文件。当所有的控制文件都损坏时系统将不能工作。

           Oracle数据库至少有一个控制文件;l       一般数据库系统安装完成后,自动创建两个以上控制文件;

     为了安全一般建议创建多个控制文件;l       控制文件可用下面命令查到:

    selectname,value from v$parameter where name like’control_files’;

   §2.3.4 重做日志文件重做日志文件是Oracle系统中一个很重要的文件。特点是:

         重做日志是Oracle的日记帐,负责记录所有用户对象或系统变更的信息;

       安装完成后有多个重做日志文件,它们是几个分为一组,组内的重做日志文件大小要一样;

      为了使系统性能更好可以在创建多重做日志文件组;

      重做日志文件可以名下面命令查到:

    select *from v$logfile;

   §2.3.5 其它支持文件除了上面的三类文件外,还有:l       Sqlnet.ora文件;l       Tnsnames.ora文件;l       Listener.ora文件等。

 


欢迎您使用http://Blogmove.cn提供的"博客搬家"和"博文三窟"服务.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值