Chinaunix首页 | 论坛 | 博客
  • 博客访问: 165968
  • 博文数量: 72
  • 博客积分: 1426
  • 博客等级: 上尉
  • 技术积分: 720
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-02 13:40
个人简介

一个做了几年技术的老白菜

文章分类

全部博文(72)

文章存档

2011年(4)

2010年(13)

2009年(55)

我的朋友

分类: Oracle

2009-05-17 19:19:53

第三节:Oracle 数据库(Database)

Oracle存储结构:包括控制文件、数据结构、日志文件等操作系统文件.

Oracle数据库的存储结构分为逻辑存储结构和物理存储结构,这两种存储结构既相互独立又相互联系.

1.逻辑存储结构:

逻辑存储结构主要描述Oracle数据库的内部存储结构,即从技术概念上描述Oracle数据库种如何组织、管理数据.

因此,逻辑存储结构是和操作系统平台无关的,是由Oracle数据库创建和管理的.

2.物理存储结构:

物理存储结构主要描述Oracle数据库的外部存储结构,即在操作系统种如何组织、

管理数据.

因此,物理存储结构是和操作系统平台有关的.

     从物理上看,数据库由控制文件、数据文件、重做日志文件等操作系统文件组成;

从逻辑上来看,数据库是由系统表空间、用户表空间等组成。

表空间是最大的逻辑单位,块是最小的逻辑单位。

逻辑存储结构中的块最后对应到操作系统中的块.

3.1物理结构
物理结构是物理操作系统文件的集合

3.1.1控制文件

 控制文件(Control File)是用来连接实例和database的,是一个较小的二进制文件,用于描述数据库结构。数据库结构信息文件。

描述信息如下:

数据库建立的日期。

数据库名。

数据库中所有数据文件和日志文件的文件名及路径。

恢复数据库时所需的同步信息。

3.1.2 数据文件
  
每个Oracle数据库都有一个或者多个物理数据文件(datafile),数据文件包含了所有的数据库数据,数据库的逻辑结构的数据(如表、索引等)都被物理地存储在分给数据库的数据文件中。

数据文件包含下列类型的数据:表数据、索引数据、数据字典定义、回滚事务所需的信息、存储过程、函数和数据包的代码、用来排序的临时数据

 

3.1.3重做日志文件(Redo log files)

重做日志文件(Redo Log File)记录所有对数据库数据的修改,以备恢复数据时使用。

1.特点:(1)每一个数据库至少包含两个日志文件组。

(2)日志文件组以循环方式进行写操作。

(3)每一个日志文件成员对应一个物理文件。

2.日志切换(Log Switch)
是为实现日志文件组的循环使用而设置的。出现日志开关的情况如下: 当一个日志文件组被填满时;关闭数据库时;DBA手动转移日志开关

3. 镜像日志文件

是为防止日志文件的丢失,在不同磁盘上同时维护两个或多个联机日志文件的副本。

   其特点:每个日志文件组至少包含两个日志文件成员。每组的成员数目相同。 同组的所有成员同时被修改。 同组的成员大小相同,不同组的成员大小可不同

 

3.1.4归档日志文件(archive log file)

归档重演日志文件(archive log file)就是对写满的重演日志文件复制若保存生成的文件。可以通过设置数据库在归档模式(ARCHIVELOG mode)下来自动地保存日志文件。归档进程(ARCO)在后台负责把写满的重演日志文件复制到归档日志目标中。归档日志文件在数据库恢复时起决定性作用。

3.1.5初始化参数文件(parameter file)

参数文件(parameter file)包含了一组关于数据库和实例的配置参数。Oracle推荐用户使用一个服务器参数文件(SPFILE)作为维护初始化参数的动态手段。一个服务器参数文件允许用户在一个服务器端的磁盘文件里持久地保存和管理初始化参数。
   
参数文件(Parameter File是一个文本文件,可直接使用操作系统下的文本编辑器对其内容进行修改。该文件只在建立数据库或启动实例时才被访问,在修改该文件之前必须关闭实例。

    初始参数文件:init.ora

    生成参数文件:initSID.oraconfig.ora

3.1.6Related files

 

3.2逻辑结构

Oracle的逻辑结构是由一个或多个表空间组成。

         一个表空间(tablespace)由一组段组成

          一个段(segment)由一组区组成

          一个区(extent)由一批数据库块组成

          一个数据库块(block)对应一个或多个物理块

 

3.2.1表空间(tablespace)

表空间是最大的逻辑单位,对应一个或多个数据文件,表空间的大小是它所对应的数据文件大小的总和。
Oracle 10g
自动创建的表空间有:

Example(实例表空间)Sysaux(辅助系统表空间)System(系统表空间)Temp(临时表空间)Undotbs(重做表空间)Users(用户的表空间)

1System : 系统表空间,存放关于表空间的名称、控制文件、数据文件等管理信息,是最重要的表空间.

        它属于SysSystem两个schema(方案),仅被这两个或其他具有足够权限的用户使用。但是均不可删除或者重命名System表空间。

2. Temp: 临时表空间存放临时表和临时数据,用于排序。

3.Users: 用户表空间,永久存放用户对象和私有信息,也被成为数据表空间。

4.Sysaux:辅助系统表空间,用于减少系统负荷,提高系统的作业效率.

3.2.2(segment)
   
段(Segment是表空间中一个指定类型的逻辑存储结构,它由一个或多个组成,段将占用并增长存储空间。

3.2.3(extent)
   
(Extent)是数据库存储空间分配的逻辑单位,一个区由一组数据库块组成,区是由段分配的,分配的第一个区称初始区,以后分配的区称增量区

3.2.4(block)

数据库块(Database Block是数据库使用的I/O最小单元,又称逻辑块或ORACLE块。

    一个数据库块对应一个或多个物理块,块的大小由参数DB_BLOCK_SIZE确定。

块的大小是操作系统块大小的整数倍。如果块的大小为4kb,某表每行的数据是100 bytes.,如果某查询语句只返回1行数据,那么,在将数据读入到数据高速缓存时,读取的数据量时4kb而不是100 bytes.

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