ORACLE 数据库管理系统介绍

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ORACLE 数据库管理系统介绍

1.ORACLE的特点:

可移植性ORACLE采用C语言开发而成,故产品与硬件和操作系统具有很强的独立性。从大型机到微机上都可运行ORACLE的产品。可在UNIX、DOS、Windows等操作系统上运行。可兼容性由于采用了国际标准的数据查询语言SQL,与IBM的SQL/DS、DB2等均兼容。并提供读取其它数据库文件的间接方法。

可联结性对于不同通信协议,不同机型及不同操作系统组成的网络也可以运行ORAˉCLE数据库产品。

2.ORACLE的总体结构

(1)ORACLE的文件结构一个ORACLE数据库系统包括以下5类文件:ORACLE RDBMS的代码文件。

数据文件一个数据库可有一个或多个数据文件,每个数据文件可以存有一个或多个表、视图、索引等信息。

日志文件须有两个或两个以上,用来记录所有数据库的变化,用于数据库的恢复。控制文件可以有备份,采用多个备份控制文件是为了防止控制文件的损坏。参数文件含有数据库例程起时所需的配置参数。

(2)ORACLE的内存结构一个ORACLE例程拥有一个系统全程区(SGA)和一组程序全程区(PGA)。

SGA(System Global Area)包括数据库缓冲区、日志缓冲区及共

享区域。

PGA(Program Global Area)是每一个Server进程有一个。一个Server进程起动时,就为其分配一个PGA区,以存放数据及控制信息。

(3)ORACLE的进程结构ORACLE包括三类进程:

①用户进程用来执行用户应用程序的。

②服务进程处理与之相连的一组用户进程的请求。

③后台进程ORACLE为每一个数据库例程创建一组后台进程,它为所有的用户进程服务,其中包括:

DBWR(Database Writer)进程,负责把已修改的数据块从数据库缓冲区写到数据库中。LGWR(Log Writer)进程,负责把日志从SGA中的缓冲区中写到日志文件中。

SMON(System Moniter)进程,该进程有规律地扫描SAG进程信息,注销失败的数据库例程,回收不再使用的内存空间。PMON (Process Moniter)进程,当一用户进程异常结束时,该进程负责恢复未完成的事务,注销失败的用户进程,释放用户进程占用的资源。

ARCH(ARCHIVER)进程。每当联机日志文件写满时,该进程将其拷贝到归档存储设备上。另外还包括分布式DB中事务恢复进程RECO和对服务进程与用户进程进行匹配的Dnnn进程等。

3.ORACLE的逻辑结构

构成ORACLE的数据库的逻辑结构包括:

(1)表空间

(2)5种类型的段(segment)

①数据段;②索引段;③回滚(rollbock)段;④临时段;⑤自举(bootstrap)段。

段的分配单位叫范围(Extent)

表空间(Tablespace)一个数据库划分成的若干逻辑部分称为表空间。一个数据库可以有一个或多个表空间,初始的表空间命名为SYSTEM,每一个逻辑表空间对应于一个或多个物理文件。DBA使用表空间做以下工作:

控制数据库对象,如表、索引和临时段的空间分配。为数据库用户设置空间配额。

利用个别表空间的在线或离线,控制数据的可用性。后备或恢复数据。

通过分配空间,以改进性能。

在每个数据库中都存在SYSTEM表空间,它在建立数据库时自动建立。在该表空间中,包含数据库的数据字典,其中存储全部数据库对象的名字和位置。

SYSTEM表空间总是在线的,像其它表空间一样,可以通过增加新的数据库文件来扩大。一个表空间可包含许多表和索引。但一个表和索引不能跨越表空间,可跨越组成表空间的文件。在DB的打开的情况下,DBA利用ALTER TABLESPACE语句,可以实施表空间的在线或离线。SYSTEM表空间必须在线。表空间离线有下列原因: 一般为了使部分数据库不能使用,而允许正常存取数据库其余部

分。执行表空间离线备份。

一个离线的表空间,不能被应用用户读或编辑。

可以增加数据文件扩大已有的表空间,也可增加新的表空间使数据库容量增大,或分配空间给某个应用。使用ALFER TABLESPACE ADD FILE语句将另一个数据文件加入到已存在表空间中。使用CREATE TABLESPACE语句可建立一个新的表空间。段(segment)表空间中的全部数据存储在以段划分的数据库空间中。一个段是分配给数据库用于数据存储的范围的集合。数据可以是表、索引或RDBMS 所需要的临时数据。段是表空间的下一个逻辑存储的级别。一个段不能跨越一个表空间,但可跨越表空间内的文件。一个数据库最多需要五种段类型:

数据段一个包含一个表(或聚集)的全部数据,一个表(或聚集)总有一个单个数据段。

索引段一个索引段包含对一个表(或聚集)建立的一个索引的全部索引数据。一个表可以有一个、多个或者没有索引段,取决于它所拥有的索引个数。一个聚集必须至少有一个索引段,即在聚集码上建立聚集索引。

回滚段每个DB有一个或多个回滚段。一个回滚段是DB的一部分,它记录在某一情况下被撤消的动作。回滚段用于事务控制和恢复。

临时段在处理查询时,ORACLE需要临时工作空间,用于存储语句处理的中间结果,这个区称为临时段。

自举段自举段在SYSTEM表空间中,在数据库建立时建立。它包括数据字典定义,在数据库打开时装入。

4.用户数据库对象

由用户建立的对象驻留在表空间中,含有真正的数据。数据库对象有表、视图、聚集、索引、伪列和序号生成器。

(1)聚集(Cluster)聚集是存储数据的一种可选择的方法。聚集包括存储在一起的一组表,它们共享公共列并经常一起使用。由于内容相关并且物理地存储在一起,存取时间得到改进,存储空间可以减少。聚集是一种优化措施。

聚集对性能的改进,依赖于数据的分布和SQL操作的内容。特别是使用聚集对连接非常有利。可以明显地提高连接的速度。建立聚集命令的基本格式:

SQL>CREATE CLUSTER〈聚集名〉(列定义[,…]);利用聚集建立表命令基本格式:

SQL>CREATE TABLE〈新表名〉(列定义[,…]CLUSTER〈聚集名〉(聚集列);

在聚集码上必须建立一个聚集索引,对于每一数据块上每个聚集码值有一索引项。这个索引必须在DML语句对聚集表操作前建立。建立索引的语句是:CREATE INDEX索引名ON CLUSTER聚集名;

(2)序号生成器序号(SEQUENCE)生成器为表中的单列或多列生成顺序号。利用序号可自动地生成唯一主码。使用SQL语句定义序号,给出一些信息(如序号名、是升序或降序、每个序号间的

相关文档
最新文档