`
jayyanzhang2010
  • 浏览: 371655 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

oracle 表空间设计原则

 
阅读更多

Oracle表空间设计原则

  常用原则:

1、一般较大的表或索引单独分配一个tablespace。
2、Read only对象或Read mostly对象分成一组,存在对应的tablespace中。
3、若tablespace中的对象皆是read only对象,可将tablespace设置成read only模式,在备份时,read only tablespace只需备份一次。
4、高频率insert的对象分成一组,存在对应的tablespace中。
5、增、删、改的对象分成一组,存在对应的tablespace中。
6、表和索引分别存于不同的tablespace。
7、存于同一个 tablespace中的表(或索引)的extent 大小最好成倍数关系,有利于空间的重利用和减少碎片。

 
根据以上原则,数据库表空间设计原则如下:

原则上每个schema对应一个表空间和一个相应索引表空间;每个schema下的大表对应一个单独的表空间和索引表空间;对于需要分区的特大表,则每个子分区对应一个单独的表

空间和索引空间。


    典型应用一:控制用户所占用的表空间配额。
  在一些大型的数据库应用中,我们需要控制某个用户或者某一组用户其所占用的磁盘空间。这就好像在文件服务器中,需要为每个用户设置磁盘配额一样,以防止硬盘空间

耗竭。所以,在数据库中,我们也需要限制用户所可以使用的磁盘空间大小。为了达到这个目的,我们就可以通过表空间来实现。
  我们可以在Oracle数据库中,建立不同的表空间,为其设置最大的存储容量,然后把用户归属于这个表空间。如此的话,这个用户的存储容量,就受到这个表空间大小的限

制。

  典型应用二:控制数据库所占用的磁盘空间。
  有时候,在Oracle数据库服务器中,可能运行的不止一个服务。除了数据库服务器外,可能还有邮件服务器等应用系统服务器。为此,就需要先对Oracle数据库的磁盘空间

作个规划,否则,当多个应用程序服务所占用的磁盘空间都无限增加时,最后可能导致各个服务都因为硬盘空间的耗竭而停止。所以,在同一台服务器上使用多个应用程序服务

,我们往往需要先给他们进行磁盘空间的规划和分配。各个服务都不能够超过我们分配给他的最大限额,或者超过后及时的提醒我们。只有这样,才能够避免因为磁盘空间的耗

竭而导致各种应用服务的崩溃。

  典型应用三:灵活放置表空间,提高数据库的输入输出性能。
  数据库管理员还可以将不同类型的数据放置到不同的表空间中,这样可以明显提高数据库输入输出性能,有利于数据的备份与恢复等管理工作。因为我们数据库管理员在备

份或者恢复数据的时候,可以按表空间来备份数据。如在设计一个大型的分销系统后台数据库的时候,我们可以按省份建立表空间。与浙江省相关的数据文件放置在浙江省的表

空间中,北京发生业务记录,则记录在北京这个表空间中。如此,当浙江省的业务数据出现错误的时候,则直接还原浙江省的表空间即可。很明显,这样设计,当某个表空间中

的数据出现错误需要恢复的时候,可以避免对其他表空间的影响。
  另外,还可以对表空间进行独立备份。当数据库容量比较大的时候,若一下子对整个数据库进行备份,显然会占用比较多的时间。虽然说Oracle数据库支持热备份,但是在

备份期间,会占用比较多的系统资源,从而造成数据库性能的下降。为此,当数据库容量比较大的时候,我们就需要进行设置多个表空间,然后规划各个表空间的备份时间,从

而可以提高整个数据库的备份效率,降低备份对于数据库正常运行的影响。

  典型应用四:大表的排序操作。
  我们都知道,当表中的记录比较多的时候,对他们进行查询,速度会比较慢。第一次查询成功后,若再对其进行第二次重新排序,仍然需要这么多的时间。为此,我们在数

据库设计的时候,针对这种容量比较大的表对象,往往把它放在一个独立的表空间,以提高数据库的性能。

  典型应用五:日志文件与数据文件分开放,提高数据库安全性。
  默认情况下,日志文件与数据文件存放在同一表空间。但是,这对于数据库安全方面来说,不是很好。所以,我们在数据库设计的过程中,往往喜欢把日志文件,特别是重

做日志文件,放在一个独立的表空间中,然后把它存放在另外一块硬盘上。如此的话,当存放数据文件的硬盘出现故障时,能够马上通过存放在另一个表空间的重做日志文件,

对数据库进行修复,以减少企业因为数据丢失所带来的损失。

  当然,表空间的优势还不仅仅这些,企业对于数据库的性能要求越高,或者数据库容量越大,则表空间的优势就会越大。
  在数据库设计的时候,我们建议数据库管理员按如下顺序设置表空间。

    第一步:建立表空间。
  在设计数据库的时候,首先需要设计表空间。我们需要考虑,是只建立一个表空间呢,还是需要建立多个表空间,以及各个表空间的存放位置、磁盘限额等等。
  到底设计多少个表空间合理,没有统一的说法,这主要根据企业的实际需求去判断。如企业需要对用户进行磁盘限额控制的,则就需要根据用户的数量来设置表空间。当企

业的数据容量比较大,而其又对数据库的性能有比较高的要求时,就需要根据不同类型的数据,设置不同的表空间,以提高其输入输出性能。
  
    第二步:建立用户,并制定用户的默认表空间。
  在建立用户的时候,我们建议数据库管理员要指定用户的默认表空间。因为我们在利用CREATE语句创建数据库对象,如数据库表的时候,其默认是存储在数据库的当前默认

空间。若不指定用户默认表空间的话,则用户每次创建数据库对象的时候,都要指定表空间,显然,这并不是很合理。

  另外要注意,不同的表空间有不同的权限控制。用户对于表空间A具有完全控制权限,可能对于表空间B就只有查询权限,甚至连连接的权限的都没有。所以,合理为用户配

置表空间的访问权限,也是提高数据库安全性的一个方法。

 

 

 

 

 

 

常用原则
1、一般较大的表或索引单独分配一个tablespace。 
2、Read only对象或Read mostly对象分成一组,存在对应的tablespace中。 
3、若tablespace中的对象皆是read only对象,可将tablespace设置成read only模式,在备份时,read only tablespace只需备份一次。 
4、高频率insert的对象分成一组,存在对应的tablespace中。 
5、增、删、改的对象分成一组,存在对应的tablespace中。 
6、表和索引分别存于不同的tablespace。 
7、存于同一个 tablespace中的表(或索引)的extent 大小最好成倍数关系,有利于空间的重利用和减少碎片。 
根据以上原则,数据库表空间设计如下:原则上每个schema对应一个表空间和一个相应索引表空间;每个schema下的大表对应一个单独的表空间和索引表空间;对于需要分区的特

大表,则每个子分区对应一个单独的表空间和索引空间。
分享到:
评论

相关推荐

    Oracle数据库表空间设计.pdf

    1、oracle体系结构 2、基本概念 3、表空间类型 4、表空间设计原则 5、表空间的应用 6、表空间的维护 7、表空间的监控 8、表空间相关数据字典

    ORACLE9i_优化设计与系统调整

    §9.4.4 临时表空间设计规划 100 §9.4.5 数据文件和日志文件在不同磁盘上 101 §9.5 数据库物理设计 101 §9.5.1 定量估计 101 §9.5.2 表空间与数据文件 102 §9.5.3 物理设计原则 103 §9.5.4 数据库物理设计内容...

    oracle数据库设计规范.doc

    5 3.3、数据库表空间设计原则 9 4、数据库逻辑设计原则 9 4.1、命名规范 9 4.2、命名 11 4.3、数据类型 12 4.4、设计 13 4.5、SQL编写 15 5、设计工具 17 附录 17 SGA 17 3NF 19 1、目的 定义数据库设计设计规范,...

    7数据库设计规范.doc

    4 3.2、数据库设计原则 5 3.3、数据库表空间设计原则 9 4、数据库逻辑设计原则 9 4.1、命名规范 9 4.2、命名 11 4.3、数据类型 12 4.4、设计 13 4.5、SQL编写 15 5、设计工具 17 附录 17 SGA 17 3NF 19 1、目的 定义...

    ORACLE数据库物理分布设计.doc

    ORACLE数据库物理分布设计 概述 我们无论使用哪种数据库,无论怎样设计数据库,我想都会遵从一个原则:数据安全性 和性能高效这两个主要方面,但是关于这两个方面的话题太多,在这里就不一 一陈述,我只是从数据库...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    oracle建议用户自己设计数据库管理和安全的权限规划,而不要简单的使用这些预定角色。将来的版本中这些角色可能不会作为预定义角色。  DELETE_CATALOG_ROLE, EXECUTE_CATALOG_ROLE,SELECT_CATALOG_ROLE这些角色...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第2/2部分)

     Bob Bryla是Oracle 9i和10g的认证专家,他在数据库设计、数据库应用程序开发、培训和Oracle数据库管理等方面拥有20多年的工作经验,他也足Dodgeville的Land'End公司的首席Internet数据库设计师和Oracle DBA. ...

    oracle10g课堂练习I(2)

    表空间中的空间管理 5-8 浏览存储结构 5-9 创建新表空间 5-10 本地管理表空间的存储 5-12 预配置数据库中的表空间 5-14 变更表空间 5-16 对表空间执行的操作 5-18 删除表空间 5-20 查看表空间信息 5-21 ...

    ORACLE数据库 安装配置规范 (V2.0.1)

    5.3 表空间设计 20 5.3.1 业务数据量的估算 20 5.3.2 表空间的使用规则 21 5.3.2.1 表空间的类型 21 5.3.2.2 表空间及其文件的命名规则 23 5.3.3 表空间的参数设置原则 25 5.3.3.1 数据表空间设置 25 5.3.3.2 临时表...

    政务平台数据库设计.doc

    表空间设计 遵照《数据库表空间命名规范》,数据库表空间设计如下: 表4-4表空间设计 "编号 "业务系统名称 "表空间名称 "总大小 " "1 "省级政务管理平台 "JSYZT "100G " 数据库用户设置 表4-5数据库用户设置 "用户 ...

    Oracle数据库性能优化的艺术 (文平) 高清PDF扫描版

    第8章完整呈现了oracle数据库的表分区能力,是解决与大规模数据处理相关的性能问题的关键;第9章从索引和执行计划的角度讲解了数据库性能优化的方法;第10~12章着重介绍了在数据库系统部署并运行后,如何获得数据库...

    数据库设计规范-编码规范.docx

    c) 编写数据库建数据库、建数据库对象、初始化数据脚本文件 4.3 设计原则 a) 采用多数据文件 b) 禁止使用过大的数据文件,unix系统不大于2GB,window系统不超过500MB c) oracle数据库中必须将索引建立在索引表空间里...

    理解地理信息系统空间数据库.pptx

    空间数据库设计的原则、步骤和技术方法 设计原则: 尽量减少空间数据存储冗余; 提供稳定的空间数据结构,在用户的需要改变时 ,数据结构能够做出相应的变化; 满足用户对空间数据及时访问的需求,高效提供 用户所...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第1/2部分)

     Bob Bryla是Oracle 9i和10g的认证专家,他在数据库设计、数据库应用程序开发、培训和Oracle数据库管理等方面拥有20多年的工作经验,他也足Dodgeville的Land'End公司的首席Internet数据库设计师和Oracle DBA. ...

    数据库课程设计-JAVA个人记账管理系统.doc.doc

    数据库课程设计_JAVA个人记账管理系统 目 录1 前言 12 需求分析 1 2.1 课程设计目的 1 2.2 课程设计任务 1 2.3 设计环境 1 2.4 开发语言 23 分析和设计 2 3.1 系统E-R模型 2 3.2 表空间及表的设计 2 3.3 视图设计 5 ...

    Oracle数据库性能优化技术开发者网络Oracle

    本文以数据库性能优化的基本原则为出发点,阐述了在数据库设计阶段如何避免竞争和如何优化数据访问,在数据库运行阶段如何从操作系统和数据库实例级别上调整内存和I/O来达到数据库性能优化的各种技术。 关键词:...

    数据库设计规范(3).doc

    3 3.1 数据库命名规则 3 3.2 数据库对象命名的一般原则 3 3.3 表空间(Tablespace)命名规则 4 3.4 表(Table)命名规则 4 3.5 字段命名规则 4 3.6 视图(View)命名规则 4 3.7 序列(Sequence)命名规则 5 3.8 存储过程...

    数据库物理设计经验谈

    下面我就以Oracle为例从优化操作系统、磁盘布局优化和配置、数据库初始化参数的选择、设置和管理内存、设置和管理CPU、设置和管理表空间、设置和管理回滚段、设置和管理联机重做日志、设置和管理归档重做日志、设置...

Global site tag (gtag.js) - Google Analytics