天天看點

DB2簡介和安裝部署

一.DB2相關概念

1.DB2體系結構:

  DB2體系結構中的最高一層是系統,一個系統表示DB2的一個安裝。在由很多機器組成 的網絡環境中,我們有時=也稱系統為資料庫分區,一個系統可以包含多個DB2執行個體,每個執行個體能夠管理一個或多個資料庫。

2.執行個體(Instance):

  執行個體也稱為資料庫管理器(Database Management Application),是資料庫管理器在記憶體中的映像,是管理資料的DB2代碼。執行個體相當于Informix  Server,在一台機器上可以有多個互相獨立的執行個體,執行個體之間彼此獨立,同時運作,不會互相影響。每個執行個體可以管理若幹個資料庫,一個資料庫隻屬于一個執行個體。執行個體可控制對資料執行的操作,并管理配置設定給執行個體的系統資源。每個執行個體都是獨立的運作環境,可以編目資料庫和設定配置參數。可以在同一實體伺服器上建立多個執行個體,并為每個執行個體提供唯一的資料庫伺服器環境。

3.資料庫(Database):

  關系資料庫使用一種表來管理資料,表由在行和列中以邏輯關系排列的資料組成,每個表的資料在邏輯上相關,在表之間能夠定義關系。每個資料庫包含一組系統編目表(也叫資料字典)、配置檔案和恢複日志,系統編目表用于描述資料的邏輯和實體結構,配置檔案包含所有為資料庫配置設定的配置參數值,恢複日志記錄正在進行的事務處理和可存檔的事務處理。資料庫可以是本地的,也可以是遠端的。本地資料庫實體上位于本地的機器上;當資料庫實體上駐留在另一台機器上時,則稱為遠端的。

4.表空間(Tablespace):

  表空間是資料庫中表資料與資料庫之間的邏輯中間層,資料庫中的實體空間組織為表空間的集合,而表空間是表的邏輯集合。表空間包含容器集合,容器是用來描述實體空間配置設定的一般術語。資料庫将資料存儲在自己的表空間容器中。

  表存儲在一個或幾個表空間中,為了提高性能,或者為了便于表空間的備份,可以将表中不同類型的資料分别存儲在不同的表空間中,比如将正常資料存儲在第一個表空間中,将表的索引存儲在第一個表空間中,将大對象資料存儲在第三個表空間中。

  表空間最終會映射到實體存儲媒體上,對實體存儲的合理使用可以讓管理者有效地控制資料庫的性能,例如,可以使用最快的裝置或記憶體硬碟來存儲頻繁使用的表,使用較慢的裝置存儲不經常使用的資料。表空間的概念提供了對底層存儲實體裝置的更加靈活的使用。

  表空間的規劃設計會顯著影響資料庫運作的性能。

  表空間具有以下類型:

  • 系統編目表空間(SysCatSpace)
  • 系統臨時表空間(SysTempSpace)
  • 使用者表空間(UserSpace)
  • 使用者臨時表空間(UserTempSpace)

  一個資料庫中必須存在兩個系統基本表空間,分别是系統編目表空間與系統臨時表空間。在資料庫中建立的任何對象都以在系統編目表空間中增加記錄的方式展現,對于臨時表空間,其占用磁盤大小是根據使用情況動态伸縮的,即僅在需要時才配置設定磁盤空間,并在使用後進行回收。此外,若使用者需要建立表,則需要建立使用者表空間,若需要使用臨時表,則需要建立使用者臨時表空間。

5.容器(Container):

  表空間有2種管理方式:

  • DMS(Database management Space)方式
  • DMS(System management Space)方式

  DMS與SMS方式在表空間建立是指定,建好後不能轉換。對于DMS方式,一個表空間對應了一個或多個容器(Container),容器指定了資料的實體存儲位置。對于SMS方式,隻能夠指定一個目錄,不能夠增加。

  容器分為三種類型:

  • Files  檔案
  • Devices  裝置
  • Directory  目錄

  檔案與裝置,用于DMS方式表空間;目前,用于SMS方式的表空間,此種方式不需要人工 管理資料存儲檔案,DB2可根據情況在目錄中自動增加存儲檔案,隻要磁盤空間允許。

  實質上,表空間是資料存儲的邏輯位置定義,容器則是資料存儲的實體位置定義。

6.緩沖池(bufferpool):

  緩沖池是一塊記憶體區域,所有索引和資料頁(除了LOB)都必須有序地經過該區域,進而進行處理。緩沖池是資料庫管理器使用的主要高速緩存。在資料庫性能問題方面,緩沖池是進行調優的最重要對象。

二. DB2安裝部署 

1.解壓,安裝

[root@root215 data]# tar zxvf db2_v101_linuxx64_expc.tar.gz             
[root@root215 data]# ls
db2_v101_linuxx64_expc.tar.gz expc                         
[root@root215 data]# cd expc/
[root@root215 expc]# ./db2_install 
DBI1324W  Support of the db2_install command is deprecated. For
................................省略..................................
Default directory for installation of products - /opt/ibm/db2/V10.1

***********************************************************
Install into default directory (/opt/ibm/db2/V10.1) ? [yes/no] #詢問是否安裝到這個位置上,輸入yes
yes
DB2 installation is being initialized.
................................省略..................................
The execution completed successfully.

For more information see the DB2 installation log at
"/tmp/db2_install.log.62881".
      

2.建立使用者,使用者組

一個使用者隻能擁有一個執行個體

[root@root215 expc]# groupadd -g 2000 db2iadm1          
[root@root215 expc]# groupadd -g 2001 db2fadm1         
[root@root215 expc]# useradd -m -g db2iadm1 -d /home/db2inst1 db2inst1
[root@root215 expc]# useradd -m -g db2fadm1 -d /home/db2fenc1 db2fenc1
[root@root215 expc]# passwd db2inst1
      

3.建立執行個體和樣本資料庫

[root@root215 expc]# cd /opt/ibm/db2/V10.1/instance/
[root@root215 instance]# chmod -R 755 *
[root@root215 instance]# ./db2icrt -p 50000 -u db2fenc1 db2inst1
DBI1446I  The db2icrt command is running, please wait.
...........................省略.................................
DBI10701  Program db2icrt completed successfully.
[root@root215 instance]# su - db2inst1
[db2inst1@root215 ~]$ db2sampl

  Starting the DB2 instance...
  Creating database "SAMPLE"...
...........................省略.................................
  \'db2sampl\' processing complete.
      

4.設定執行個體端口号,通訊方式

[db2inst1@root215 ~]$ db2 update dbm cfg using svcename 50000
DB20000I  The UPDATE DATABASE MANAGER CONFIGURATION command completed 
successfully.
[db2inst1@root215 ~]$ db2set DB2COMM=tcpip
[db2inst1@root215 ~]$ db2set -all      //檢視執行個體級變量
[i] DB2COMM=TCPIP
[i] DB2AUTOSTART=YES
[g] DB2_COMPATIBILITY_VECTOR=MYS
[g] DB2SYSTEM=root215
[g] DB2INSTDEF=db2inst1
      

5.啟動執行個體

[db2inst1@root215 ~]$ db2start
SQL1063N  DB2START processing was successful.
[db2inst1@root215 ~]$ lsof -i :50000
COMMAND   PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
db2sysc 96811 db2inst1    3u  IPv4  39452      0t0  TCP *:50000 (LISTEN)
      

  

DB2簡介和安裝部署