Oracle数据库实例及其相关概念

数据库 Oracle
Oracle数据库通常由两部分组成:Oracle数据库实例和数据库。本文详述了数据库实例,以及数据库、表空间、数据文件及基本定义。

完整的Oracle数据库通常由两部分组成:Oracle数据库实例和数据库。
1)数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等);
2)Oracle数据库实例则是一组Oracle后台进程/线程以及在服务器分配的共享内存区。

在启动Oracle数据库服务器时,实际上是在服务器的内存中创建一个Oracle实例(即在服务器内存中分配共享内存并创建相关的后台内存),然后由这个Oracle数据库实例来访问和控制磁盘中的数据文件。Oracle有一个很大的内存快,成为全局区(SGA)。

一、数据库、表空间、数据文件

1.数据库
数据库是数据集合。Oracle是一种数据库管理系统,是一种关系型的数据库管理系统。
通常情况了我们称的“数据库”,并不仅指物理的数据集合,他包含物理数据、数据库管理系统。也即物理数据、内存、操作系统进程的组合体。

数据库的数据存储在表中。数据的关系由列来定义,即通常我们讲的字段,每个列都有一个列名。数据以行(我们通常称为记录)的方式存储在表中。表之间可以相互关联。以上就是关系模型数据库的一个最简单的描述。

当然,Oracle也是提供对面象对象型的结构数据库的***大支持,对象既可以与其它对象建立关系,也可以包含其它对象。关于OO型数据库,以后利用专门的篇幅来讨论。一般情况下我们的讨论都基于关系模型。

2.表空间、文件
无论关系结构还是OO结构,Oracle数据库都将其数据存储在文件中。数据库结构提供对数据文件的逻辑映射,允许不同类型的数据分开存储。这些逻辑划分称作表空间。

表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。为了便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序。例如:USER表空间供一般用户使用,RBS表空间供回滚段使用。一个表空间只能属于一个数据库。

每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)。一个数据文件只能属于一个表空间。在Oracle7.2以后,数据文件创建可以改变大小。创建新的表空间需要创建新的数据文件。数据文件一旦加入到表空间中,就不能从这个表空间中移走,也不能与其它表空间发生联系。

如果数据库存储在多个表空间中,可以将它们各自的数据文件存放在不同磁盘上来对其进行物理分割。在规划和协调数据库I/O请求的方法中,上述的数据分割是一种很重要的方法。

3.Oracle数据库的存储结构分为逻辑存储结构和物理存储结构:
1)逻辑存储结构:用于描述Oracle内部组织和管理数据的方式;
2)物理存储结构:用于描述Oracle外部即操作系统中组织和管理数据的方式。

二、Oracle数据库实例

为了访问数据库中的数据,Oracle使用一组所有用户共享的后台进程。此外,还有一些存储结构(统称为System Gloabl Area,即SGA),用来存储最近从数据库查询的数据。数据块缓存区和SQL共享池(Shared SQL Pool)是SGA的***部分,一般占SGA内存的95%以上。通过减少对数据文件的I/O次数,这些存储区域可以改善数据库的性能。

Oracle数据库实例(instance)也称作服务器(server),是用来访问数据库文件集的存储结构及后台进程的集合。一个数据库可以被多个实例访问(这是Oracle并行服务器选项)。

决定实例大小及组成的参数存储在init.ora文件中(在9i中是spfile)。Oracle数据库实例启动时需要读这个文件,并且在运行时可以由数据库管理员修改。对该文件的任何修改都只有在下一次启动时才启作用。实例的init.ora文件件通常包含实例的名字:如果一个实例名为orcl,那么init.ora文件通常被命名为initorcl.ora。另一个配置文件config.ora用来存放在数据库创建后就不再改变的变量值(如数据库的块大小)。实例的config.ora文件通常也包含该实例的名字:如果实例的名字为orcl,则config.ora一般将被命名为configorcl.ora。为了便于使用config.ora文件的设置值,在实例的init.ora文件中,该文件必须通过IFILE参数作为包含文件列出。

【编辑推荐】

  1. Oracle实例Introduction
  2. 发挥Oracle数据库数据管理功能的3个方案
  3. JDBC连接Oracle数据库10大技巧描述
  4. Oracle数据库表的大小修改5方案
  5. Oracle数据库锁的常用类型有哪些
责任编辑:王婧瑶 来源: 互联网
相关推荐

2011-03-25 11:13:15

Oracle数据库进程

2011-05-19 13:25:14

Oracle数据库

2011-08-24 17:08:28

Oracle数据库归档模式

2010-04-26 10:52:46

Oracle 数据库

2011-03-29 10:47:49

ORACLE数据库

2010-04-22 16:58:21

Oracle PLSQL

2009-07-02 00:00:00

OOPOracle

2010-03-18 09:28:14

Oracle数据库迁移

2010-04-14 15:45:49

Oracle 数据库

2010-04-13 10:55:35

Oracle数据库

2010-04-06 11:30:09

Oracle 数据库

2010-04-15 09:27:37

Oracle数据库

2010-04-15 08:57:29

Oracle数据库

2011-08-18 17:05:16

Oracle数据库的服

2011-05-26 15:27:08

Oracle数据库

2011-08-16 18:55:10

Oracle数据库构造过程

2011-08-11 16:55:34

Oracle数据库AWR

2010-04-30 13:26:50

Oracle数据库

2010-04-02 16:03:20

Oracle数据库

2009-08-07 15:38:15

精通C#数据库编程
点赞
收藏

51CTO技术栈公众号