`
weiruan85
  • 浏览: 384076 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

表空间

    博客分类:
  • db2
阅读更多
1. 表,视图,索引的驻留在表空间里边。
   一个数据库可以有多个表空间。在首次创建数据库时db2 会默认创建一组表空间

2. SYSCATSPACE  系统编目表空间,用来存储关于数据库的元信息。不能删
   TEMPSPACE1  临时表空间,不能删
   USERSPACE1  用户表空间

按类型分为:规则表空间、大对象表空间、系统临时表空间、用户临时表空间
 
   规则表空间中包含用户数据的表。默认用户表空间名为USERSPACE1,索引也存储在规则表空间中,另外系统目录表也放在规则表空间中。默认的系统目录表空间名为SYSCATSPACE。

  临时表空间分为系统临时表空间和用户临时表空间。

  系统临时表空间用来存储各种数据操作(排序、重组表、创建索引、连接表)中所需的内部临时数据,虽然可以创建任意多个系统临时表空间,但建议用户只使用大多数表所使用的页大小创建一个,默认系统临时表空间名为TEMPSPACE1。
 
  用户临时表空间用来存储已说明全局临时表(已说明全局临时表存储的是应用程序临时数据)。用户临时表空间不是在数据库创建时默认创建的


3. SMS  DMS 

   sms : System Managed space
         空间需要的初始设置比较少,管理方面需要考虑的因素少,而且一般更容易创建
           和使用,因为空间会在需要时自动地分配。
   dms : Database Managed Space
         表空间需要在创建时预先分配空间,所以需要进行比较多的初始设置工作,管理
          方面也有更多需要考虑的因素。但是,它为用户提供了更大的灵活性,可以更好地
          控制数据的布局并改进数据访问的性能。比sms好。
   sms :  os关联
  
    SYSCATSPACE USERSPACE1 --- dms
    TEMPSPACE1  ---sms

4. bufferpool
    
     是一个内存块的集合,这些内存块采用页面的形式,首次创建时会默认创建一个
      IBMDEFAULTBP Buffer Pools
    
     db2支持不同的页面大小,2K,4K,8K,16K ,32K,IBMDEFAULTBP 中使用4K的页
      面大小,如果希望创建采用其他页面大小的表空间,那么首先要确保数据库中有采用这
      种页面大小的缓冲池。多个表空间可以使用同一个缓冲池。在创建或更改表空间时,可
      以指定要使用哪个缓冲池。选择和创建适当的缓冲池对于数据库性能很重要。可以根据
      需要创建新的缓冲池或更改现有的缓冲池


1.在Windows上创建一个SMS表空间

CREATE TABLESPACE RESOURCE MANAGED BY SYSTEM USING ('d:\acc_tbsp','e:\acc_tbsp','f:\acc_tbsp')

2.在Windows上创建一个DMS表空间,使用各自有5000页的两个文件容器

CREATE TABLESPACE RESOURCE MANAGED BY DATABASE USING  (FILE 'd:\db2data\acc_tbsp' 5000, FILE 'e:\db2data\acc_tbsp' 5000)

3.在例三所创建的表空间中添加一个容器

ALTER TABLESPACE RESOURCE ADD(FILE 'f:\db2data\acc_tbsp' 5000)

4.用RESIZE子句更改例三所创建的表空间的容器的大小

ALTER TABLESPACE RESOURCE RESIZE (file 'd:\db2data\acc_tbsp' 8000, file 'e:\db2data\acc_tbsp' 8000, file 'f:\db2data\acc_tbsp' 8000)

每个容器(文件)的大小变为8000页。把容器的容量变大不会出错,但是如果容器中的数据已经充满,再把容器的容量缩小,则会引起错误。

5.用EXTEND子句更改例三所创建的表空间的容器的大小

ALTER TABLESPACE RESOURCE EXTEND (file 'd:\db2data\acc_tbsp' 1000, file 'e:\db2data\acc_tbsp' 1000, file 'f:\db2data\acc_tbsp' 1000)

该命令的运行结果为在原有容量的基础之上,每个容器再增加1000页。



CREATE TABLESPACE "USERTBS3"
  IN DATABASE PARTITION GROUP "IBMDEFAULTGROUP"
  PAGESIZE 8K
  MANAGED BY SYSTEM
  USING
   ('G:\db2\USERSP3\USERTBS0'
   )
     ON DBPARTITIONNUM (0)
  USING
   ('G:\db2\USERSP3\USERTBS1'
   )
     ON DBPARTITIONNUM (1)
  USING
   ('G:\db2\USERSP3\USERTBS2'
   )
     ON DBPARTITIONNUM (2)
  USING
   ('G:\db2\USERSP3\USERTBS3'
   )
     ON DBPARTITIONNUM (3)
  EXTENTSIZE 16
  PREFETCHSIZE 16
  BUFFERPOOL "bp8"
  OVERHEAD 10.50
  TRANSFERRATE 0.14
  DROPPED TABLE RECOVERY OFF;



CREATE BUFFERPOOL "bp8"
  IMMEDIATE
  DATABASE PARTITION GROUP
    "IBMDEFAULTGROUP",
    "IBMTEMPGROUP",
    "SINGLE_PG",
    "IBMCATGROUP"
  SIZE 10000
  NUMBLOCKPAGES 0
  PAGESIZE 8 K;



CREATE TABLE "CCP"."BIL_ACCT_INFO_290_200901"
("PRD_INST_ID"      DECIMAL(20, 0),
  "INLOCAL_FEE_OLD"  DECIMAL(16, 2),
  "TRALD_FEE_OLD"    DECIMAL(16, 2),
  "BELOCAL_FEE_OLD"  DECIMAL(16, 2),
  "IP_FEE_OLD"       DECIMAL(16, 2),
  "MONTHLY_CHARGE_OLD"DECIMAL(16, 2),
  "SMS_FEE_OLD"      DECIMAL(16, 2),
  "VAS_FEE_OLD"      DECIMAL(16, 2),
  "FEE_OLD_11808"    DECIMAL(16, 2),
  "INLOCAL_FEE"      DECIMAL(16, 2),
  "TRALD_FEE"        DECIMAL(16, 2),
  "BELOCAL_FEE"      DECIMAL(16, 2),
  "IP_FEE"           DECIMAL(16, 2),
  "MONTHLY_CHARGE"   DECIMAL(16, 2),
  "SMS_FEE"          DECIMAL(16, 2),
  "VAS_FEE"          DECIMAL(16, 2),
  "FEE_11808"        DECIMAL(16, 2),
  "COUNT_INLOCAL"    INTEGER,
  "DUR_INLOCAL"      DECIMAL(20, 0),
  "COUNT_NET"        INTEGER,
  "DUR_NET"          DECIMAL(20, 0),
  "COUNT_TRALD"      INTEGER,
  "DUR_TRALD"        DECIMAL(20, 0),
  "COUNT_IP"         INTEGER,
  "DUR_IP"           DECIMAL(20, 0),
  "COUNT_VAS"        INTEGER,
  "DUR_VAS"          DECIMAL(20, 0),
  "COUNT_11808"      INTEGER,
  "DUR_11808"        DECIMAL(20, 0),
  "FEE_OLD"          DECIMAL(16, 2),
  "FEE"              DECIMAL(16, 2),
  "ACC_NBR"          VARCHAR(16)
)
  DATA CAPTURE NONE
IN "USERTBS2"
  PARTITIONING KEY
   (PRD_INST_ID
   ) USING HASHING
  NOT LOGGED INITIALLY;


分享到:
评论

相关推荐

    powerdesigner为表设置表空间

    ### PowerDesigner 15 中为 Oracle 表指定表空间的操作指南 #### 一、PowerDesigner 简介 PowerDesigner 是一款由 Sybase 公司(后被 SAP 收购)开发的数据建模工具,广泛应用于数据库设计和管理领域。它提供了...

    学习oracle创建一个表空间创建临时表空间创建用户表空间资源的权限

    在Oracle数据库系统中,表空间(Tablespace)是存储数据对象(如表、索引、视图等)的逻辑单位,而临时表空间(Temporary Tablespace)则用于存储临时数据,比如排序或联接操作产生的中间结果。创建和管理表空间及...

    oracle定时删除表空间的数据并释放表空间

    在Oracle数据库管理中,定期清理和优化表空间是至关重要的任务,这有助于保持数据库的高效运行和合理利用存储资源。本文将深入探讨如何在Oracle环境中实现定时删除表空间的数据并释放空间,主要涵盖以下几个关键知识...

    Oracle多个表空间合并成一个表空间,验证通过

    ### Oracle 多个表空间合并成一个表空间详解 #### 背景介绍 在进行数据库维护时,可能会遇到需要将多个表空间合并为一个的情况。这种情况通常发生在新项目的开发过程中,尤其是当新项目需要引用来自其他表空间的...

    db2表空间不足及处理

    DB2表空间不足及处理 DB2表空间不足是指数据库中的表空间不足,无法满足当前数据库的存储需求。这种情况下,DB2数据库会报-1585错误码,表明临时表空间不足。那么,如何解决这个问题呢? 首先,我们需要了解DB2表...

    Oracle 表空间 收缩

    ### Oracle 表空间收缩详解 #### 一、背景与需求 在Oracle数据库管理过程中,合理地管理和优化存储空间是非常重要的工作之一。有时,我们会遇到这样的情况:某个表空间占用的实际物理空间远大于其实际需要的空间,...

    获取oracle表空间脚本

    ### 获取Oracle表空间脚本 #### 背景与需求 在进行数据库备份与恢复的过程中,经常需要获取当前Oracle数据库中的表空间信息及其创建脚本。这样做的目的是为了确保在恢复过程中能够快速重建原有的数据库环境,包括...

    Oracle的Temp表空间和UNDO表空间的处理

    ### Oracle的Temp表空间与UNDO表空间处理详解 #### 一、Temp表空间处理 在Oracle数据库中,Temp表空间主要用于存储临时对象,如排序、分组等操作产生的临时数据。这些操作可能会导致Temp表空间迅速增大。然而,...

    Oracle用户(user)和表空间(tablespace).pdf

    表空间分为多种类型,包括系统表空间(如 `SYSTEM` 和 `SYSAUX`)、回滚表空间(UNDO)、临时表空间(TEMP)以及用户数据表空间(USERS)。系统表空间存放数据库系统组件,不建议存储用户数据;回滚表空间用于存储...

    db2表空间不足及处理.doc

    DB2表空间不足及处理 DB2表空间是数据库管理系统中用于存储数据的基本结构单元。DB2表空间不足可能会导致数据库性能下降,甚至崩溃。因此, DB2表空间的检查和处理是数据库管理员的重要任务之一。 一、DB2表空间的...

    表空间暴长后如何才能取消自动扩展

    - 如果需要取消的是一个重要的表空间,如UNDO表空间,建议先创建一个新的表空间,并将原有表空间中的数据迁移到新表空间中。 - 创建新表空间时,明确指定最大大小,不启用自动扩展功能。 - 将旧表空间中的数据...

    \Oracle 表空间与数据文件

    ### Oracle表空间与数据文件详解 #### 一、Oracle表空间与数据文件的概念 在Oracle数据库中,**表空间**是存储数据的基本单位之一,它是一个或多个数据文件的逻辑集合。表空间提供了数据存储的逻辑视图,而数据...

    oracle temp表空间不足解决方法

    Oracle数据库系统中,Temp表空间是用于存储临时段的地方,主要在执行排序、连接和创建索引等操作时使用。当遇到"Oracle temp表空间不足"的问题时,这通常意味着数据库运行过程中产生的临时数据超过了现有Temp表空间...

    oracle创建表空间用户等

    ### Oracle 创建表空间、用户及分配权限详解 在Oracle数据库管理中,创建表空间和用户是常见的基础操作之一。本文将详细介绍如何在Oracle数据库中创建表空间、创建用户并分配相应的权限,以及如何设置表空间的自...

    DB2表和表空间状态详解

    ### DB2表和表空间状态详解 #### 引言 IBM DB2 Universal Database(DB2 UDB)作为一款先进的数据库管理系统,提供了丰富的功能以确保数据的完整性和安全性。其中一个关键特性便是通过表和表空间的状态控制,实现...

    oracle查看表空间表信息

    ### Oracle 查看表空间表信息 在Oracle数据库管理中,了解如何查看表空间表信息是一项重要的技能。这有助于DBA(数据库管理员)或开发人员更好地理解数据库结构、优化查询性能以及进行必要的维护工作。 #### 标题...

    查询表空间占用、记录条数、表归属用户信息,并举例截除过期数据释放表空间,Oracle适用

    1、当前登录用户,所有表占用表空间情况,提供合计 和 明细查询,显示为M; 2、查看某个用户所有表各自占用表空间的大小,并显示各表数据的条数;——常用于清表前,确认选最多记录的先清; 3、全数据库查询所有表...

    Oracle临时表空间满的解决步骤

    解决 Oracle 临时表空间满的问题需要通过查看当前数据库的默认临时表空间、查看当前临时表空间的大小、创建新的临时表空间、将新建的临时表空间设置为数据库的默认临时表空间、删除原来的临时表空间、创建新的临时表...

Global site tag (gtag.js) - Google Analytics