程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> 使用DB2 V9進行非增量重定向還原(二)

使用DB2 V9進行非增量重定向還原(二)

編輯:DB2教程

表空間用來存儲表,抽象物理存儲,由一個或多個容器組成,也就是說表空間可以分布在一個或多個物理設備上。有4k、8k、16k、32k的四種頁面大小的表空間。為了提高性能,可以將一個表的索引存儲到另一個表空間,將大對象存儲到第三個表空間,任何表的數據都循環存儲在表空間的所有容器中;默認的表空間有:SYSCATSPACE(4K,存儲系統目錄和表)、TEMPSPACE1(4K,臨時表空間)、USERSPACE1(4K,用戶表空間)。

  表空間的類型有四種:REGULAR(如USERSPACE1)、SYSTEM TEMPORARY(如TEMPSPACE1)、LARGE(用來存儲LOB數據)、USER TEMPORARY(用來存儲用戶臨時表)。

  表空間按管理方式分為系統管理表空間(SMS:system manage space)和數據庫管理表空間(DMS)。對於SMS表空間,每個容器都是操作系統的文件空間中的一個目錄,由操作系統的文件管理器控制存儲空間。對於DMS 表空間,每個容器或者是固定大小的預分配文件,或者是物理設備(例如,磁盤),由數據庫管理器控制存儲空間。

  SMS表空間,其容器是文件系統的目錄,是非預分配的,大小的限制為文件目錄的大小,容器的個數在創建的時候決定,不能修改;如果使用SMS表空間,用戶數據不能分開存儲,也就是不能把用戶數據分別存儲在數據、索引、大數據表空間中。DMS表空間,其容器可是是file或raw devices ,其容器可以增加,修改,或改變大小;如果使用DMS表空間,用戶數據可以分開存儲,也就是可以把用戶數據分別存儲在INDEX,TABLE和LOB表空間中。

  緩沖池是指從磁盤讀取高速緩存表和索引數據頁時或修改它們時分配給它們的主存儲器。緩沖池的目的是改進系統性能。從內存訪問數據要比從磁盤訪問數據快得多,因此,數據庫管理器需要讀寫磁盤(I/O)的次數越少,性能也越好。可以創建多個緩沖池,雖然在大多數情況下只需要一個,建議對每一種頁大小的表空間分別建一個緩沖池。

  緩沖池用來進行表或索引的緩存,一個數據庫至少要有一個緩沖池 ,緩沖池的頁大小可以是4k,8k,16k或32k; 表空間的頁面大小要和緩沖池保持一致,緩沖池的目的是用來減少直接的I/O訪問,提高I/O訪問速度。默認的緩沖池為IBMDEFAULTBP(4K)。

  在DB2 V9中如果想讓數據庫管理器自動調整緩沖池,首先數據庫參數SELF_TUNING_MEM需要設置為ON,其次,緩沖池在創建的時候需要指定AUTOMATIC屬性,比如創建緩沖池BP1,可以使用如下命令創建:

CREATE BUFFERPOOL "BP1" IMMEDIATE SIZE 250 AUTOMATIC PAGESIZE 4 K ;


  對已經創建好的緩沖池如果也想讓數據庫管理器自動調整,可以用ALTER BUFFERPOOL命令修改,比如修改IBMDEFAULTBP緩沖池: 

ALTER BUFFERPOOL IBMDEFAULTBP IMMEDIATE SIZE 250 AUTOMATIC;


  容器是物理存儲設備。可以用目錄名、設備名或文件名來標識它。

  可以為表空間分配容器,單個表空間可以橫跨多個容器,但每個容器只能屬於一個表空間。

  對自動存儲器數據庫,創建表空間時,有兩種存儲器類型可以選擇:

  (1)DB2管理存儲器(自動存儲器)

  (2)手工管理存儲器

  如果新建的表空間使用DB2管理存儲器(自動存儲器),根據要創建的表空間類型不同,其空間管理會有所區別,當其表空間類型是常規或者大型時,將自動創建成數據庫管理空間(DMS), 當其表空間類型是系統臨時或者用戶臨時時,將自動創建成系統管理空間(SMS)。使用自動存儲,就不再需要擔心如何添加容器以及監控容器的增長等,自動存儲會自動增加表空間在磁盤和文件系統上的大小。

  如果新建的表空間是使用手工管理存儲器,其空間管理又分系統管理空間(SMS)和數據庫管理空間(DMS)兩種方式。對於使用自動存儲功能的表空間,其容器和空間管理完全由DB2數據庫管理器確定,因此,系統管理空間(SMS)和數據庫管理空間(DMS)只在使用手工管理存儲器的表空間中會直接用到,在使用自動存儲器功能的表空間中不會直接用到。同樣,容器的定義和管理也只在使用手工管理存儲器的表空間中會直接用到,在使用自動存儲器功能的表空間其容器完全由DB2數據庫管理器確定。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved