第六篇 再述oracle数据库体系结构 之二:逻辑结构

转载 2007年10月10日 19:44:00

第六篇 再述oracle数据库体系结构 之二:逻辑结构
    oracle的逻辑结构包括表空间(tablespace),段(segment),数据块(data block)以及模式对象(schema)。
    oracle数据库在逻辑上是由多个表空间组成的,表空间在物理上包含一个或多个数据文件。而数据文件大小是块大小的整数倍;表空间中存储的对象叫段,比如数据段,索引段,和回退段。段由区组成,区是磁盘分配的最小单位。段的增大是通过增加区的个数来实现的。每个区的大小是数据块大小的整数倍,区的大小可以不相同;数据块是数据库中最小的I/O单位,同时也是内存数据缓冲区的单位,及数据文件存储空间单位。块的大小由参数DB_BLOCK_SIZE设置,其值应设置为操作系统块大小的整数倍。

一、表空间
1.什么是表空间?

    表空间是数据库中最大的逻辑单位,每一个表空间由一个或多个数据文件组成,一个数据文件只能与一个表空间相联系。每一个数据库都有一个SYSTEM表空间,该表空间是在数据库创建或数据库安装时自动创建的,用于存储系统的数据字典表,程序系统单元,过程函数,包和触发器等,也可用于存储用户数据表,索引对象。
    表空间具有在线(online)和离线(offline)属性,可以将除SYSTEM和RBS以外的其他作何表空间置为离线。
    查询表空间的文件信息:SELECT * FROM DBA_DATA_FILES。查询表空间的空闲空间信息:SELECT * FROM DBA_FREE_SPACE。若表空间的剩余空间不够,可以重新设置数据文件的大小:ALTER DATABASE DATAFILE 'filenamespec' RESIZE 500m。查询数据库中的表空间信息:SELECT * FROM DBA_TABLESPACE。

2.表空间的特性
a.限制用户可以使用的磁盘空间大小
SQL>ALTER USER user1 QUOTA 100M ON tablespace1
b.设置为离线、在线、只读、读写
SQL>ALTER TABLESPACE tbs1 ONLINE;
SQL>ALTER TABLESPACE tbs1 OFFLIKE;
SQL>ALTER TABLESPACE tbs1 READ ONLY;
SQL>ALTER TABLESPACE tbs1 READ WRITE;
  注意,在表空间被设置为READ ONLY或OFFLINE之后,该表空间数据文件的同步信息将不能改变,从而会造成不同步。在表空间置为READ WRITE或ONLINE之后,使用命令ALTER SYSTEM SWITCH LOGFILE强制执行多次日志切换后,系统自动保持所有数据文件的同步。
  不能将SYSTEM表空间置为READ ONLY或OFFLINE。如果undo空间中已经创建了回退段,且该回退段的状态为ONLINE,则undo表空间不能设置为READ ONLY或OFFLINE。
c.备份与恢复表空间
  数据库备份时,可以只备份一个独立的表空间。表空间备份可以在线执备份也可以离线冷备份。
d.优化I/O性能,应将表空间中的各数据文件放在不同的磁盘以平衡I/O。

3.临时表空间
  临时表空间用于为用户排序的ORDER BY语句使用。创建数据库时可以指定数据库的默认临时表空间。在创建用户的时候可以指定用户的默认临时表空间。
SQL>CREATE USER fey IDENTIFIED BY 12345 TEMPORARY TABLESPACE temp;
  在oracle8i中,如果创建用户时未指出用户的临时表空间,系统使用SYSTEM表空间作为该用户的临时表空间。而在oracle10g中,如果创建用户时未指出用户的临时表空间,系统使用TEMP表空间作为该用户的临时表空间。

二、段
  数据库的段可以分为四类:数据段、索引段、回退段、临时段。
1.数据段
  数据段是用于存储数据的段,他存储在数据表空间中。每一个表都有一个数据段(聚簇除外),表的数据存储在数据段中,默认情况下段名与表名相同。以下语句查询段的信息:
SQL>SELECT SEGMENTNAME,TABLESPACE,NAME,BYTES,BLOCKS FROM USER_EXTENTS;

2.索引段
  索引段用于存储索引,以下语句查询索引信息:
SQL>SELECT * FROM ALL_INDEXS
SQL>SELECT * FROM USER_INDEXS

3.回退段
  回退段用于存储用户数据修改之前的值,因而可以在特定条件下回退数据。回退段与事务是一对多的关系,一个事务只能使用一个回退段,而一个回退段可存放一个或多个事务的回退数据。
  在oracle8i及之前的版本中,管理回退段是项很复杂的工作,管理员需要根据每个事务的大小和事务数量来确定、计算回退段的数量及存储参数,在oracle9i之后,oracle增加了undo表空间,由系统自动管理它。从此不再需要考虑对回退段的管理。参数undo_management决定数据库使用的是回退段还是undo表空间,其值为auto表示使用undo表空间自动管理,manual表示手动管理回退段。

4.临时段
  临时段用于order by语句的排序以及一些汇总。

三、区
  区是磁盘空间分配的最小单位。磁盘按区划分,每次至少分配一个区。区存储于段中,它由连续的数据块组成。
  一个段中,最小的区的个数是由参数MINEXTENTS来确定。参数MAXEXTENTS决定一个数据段中的区的最大个数。这些参数是可以在线动态修改的。
  区的分配过程中,每次至分配5个区,如果所剩的空闲空间不够5个区,就会出现错误:ORA-01653。
  可以通过字典dba_tablespace查询表空间中区的信息。可以通过字典user_table查询段中区的信息。可以通过字典user_extents查询区的分配状况。

四、数据块
  数据块是数据中中最小的数据组织单位与管理单位,是数据文件磁盘存储空间单位,也是数据库I/O 的最小单位,数据块大小由DB_BLOCK_SIZE参数决定,不同的oracle版本DB_BLOCK_SIZE的默认值是不同的。
  9i以前的版本只能设定一种块大小,在9i及10g中,可以设定多种块大小,不同表空间可以指定不同的块大小。

五、模式对象
  模式对象是一种应用,包括:表、视图、聚簇、索引序列生成器、同义词、哈希、程序单元、数据库链等。模式对象以后在oracle schema专栏中详细说明。
   

 

Oracle--数据库体系结构(物理结构、逻辑结构、内存结构及后台进程)

Oracle数据库的体系结构包括四个方面:数据库的物理结构、逻辑结构、内存结构及进程。   1. 物理结构      物理数据库结构是由构成数据库的操作系统文件所决定,Oracle数据库文件包括:  ...
  • oChangWen
  • oChangWen
  • 2016年04月17日 10:23
  • 2661

Oracle物理结构、逻辑结构、内存结构

数据库(Database) 数据库是一个数据的集合,不仅是指物理上的数据,也指物理、存储及进程对象的一个组合。Oracle是一个基于B/S模式的关系型数据库管理系统(RDBMS)。 Ora...
  • weinabanta
  • weinabanta
  • 2013年10月06日 16:26
  • 3443

[数据结构]非线性结构——多维数组

多维数组和广义表是一种复杂的非线性结构,它们的逻辑特征是:一个数据元素可能有多个直接前驱和多个直接后继。 多维数组 1、一维数组(向量)——常用数据类型 一维数组(向量)是存储于计算机的连续存储空...
  • ouyangshima
  • ouyangshima
  • 2015年07月09日 21:25
  • 1716

oracle数据库体系结构之一【逻辑结构】.docx

  • 2012年08月13日 22:17
  • 18KB
  • 下载

ORACLE数据库学习之体系结构

Oracle 体系结构 ORACLE数据库体系结构决定了oracle如何使用网络、磁盘和内存。包括实例(instance),文件(file)和进程(process不包括后台进程)三部分。 实例:每...
  • caixingyun
  • caixingyun
  • 2013年12月15日 16:59
  • 1490

Oracle数据库体系结构介绍

在学习oracle中,体系结构是重中之重,掌握的越深入越好。在实际工作遇到疑难问题,其实都可以归结到体系结构中来解释,所以我们根据下面的示图了解一下oracle体系结构。 1.Summari...
  • u012848550
  • u012848550
  • 2013年12月12日 16:50
  • 293

Oracle数据库体系结构总结

数据库体系结构:结构组件汇总: 内存结构: 系统全局区 (SGA):数据库缓冲区高速缓存、重做缓冲区以及各种池 程序全局区 (PGA) 进程结构: 用户进程和服务器进程 后台进程:SMO...
  • demonson
  • demonson
  • 2014年09月21日 01:28
  • 1174

用Excel导入Oracle数据库中时候 提示在指定的DSN中,驱动程序和应用程序之间的体系结构不匹配 问题解决!!!

在指定的DSN中,驱动程序和应用程序之间的体系结构不匹配 今天在使用plsql通过odbc导入excel数据时发生了一个错误,截图如下: 错...
  • u012411231
  • u012411231
  • 2017年05月16日 13:26
  • 4623

Oracle数据库体系结构详解(上)

一、oracle数据库的整体架构 由上图可知,oracle数据库由实例和数据库组成。 二、数据库存储结构: 2.1数据库存储结构 Oracle数据库有物理结构和...
  • songwenbinasdf
  • songwenbinasdf
  • 2014年01月13日 17:26
  • 433

Oracle数据库体系结构

1、物理存储结构 Oracle数据库的物理存储结构主要包括:数据文件(Datafiles)、日志文件(Redo log files)、控制文件(Controlfiles)、参数文件(Paramete...
  • ruilin040
  • ruilin040
  • 2012年03月14日 16:44
  • 241
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第六篇 再述oracle数据库体系结构 之二:逻辑结构
举报原因:
原因补充:

(最多只允许输入30个字)