DB2中使用裸裝置作為資料表空間容器,db2容器

來源:互聯網
上載者:User

DB2中使用裸裝置作為資料表空間容器,db2容器

DB2中使用裸裝置作為容器需要三個步驟:1. 建立LV。2. 綁定LV和裸裝置 3.建立資料表空間

 

1. 建立lv

root@ubuntu:~# vgdisplay <-查看可用的Volume Group

  root@ubuntu:~# vgdisplay

  --- Volume group ---

  VG Name               mainVG

  System ID             

  Format                lvm2

  Metadata Areas        1

  Metadata Sequence No  4

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                3

  Open LV               1

  Max PV                0

  Cur PV                1

  Act PV                1

  VG Size               2.00 GiB

  PE Size               4.00 MiB

  Total PE              511

  Alloc PE / Size       125 / 500.00 MiB

  Free  PE / Size       386 / 1.51 GiB

  VG UUID               b15u8R-Kt91-Tgfe-2RX8-buKP-dfU9-Uw5a2J

 

root@ubuntu:~# lvcreate -L 200M -n testlv mainVG  <--建立lv

  Logical volume "testlv" created

root@ubuntu:~# ls -l /dev/mainVG/testlv

lrwxrwxrwx 1 root root 7 Oct 31 02:28 /dev/mainVG/testlv -> ../dm-3

root@ubuntu:~# ls -l /dev/dm-3

brw-rw---- 1 root disk 252, 3 Oct 31 02:28 /dev/dm-3

可以看到新建立的lv只是一個符號連結,指向塊裝置dm-3

 

2. 建立裸裝置raw3,並綁定到lv上

root@ubuntu:~# modprobe raw

root@ubuntu:~# mknod /dev/raw/raw3 c 162 3 

root@ubuntu:~# raw /dev/raw/raw3 /dev/mainVG/testlv

/dev/raw/raw3:  bound to major 252, minor 3

root@ubuntu:~# chown qingsong:qingsong /dev/raw/raw3 

root@ubuntu:~# ls -l /dev/raw/raw3

crw-rw---- 1 qingsong qingsong 162, 3 Oct 31 02:32 /dev/raw/raw3

 

3. 切換至執行個體使用者,啟動資料庫,並建立資料表空間,容器使用剛剛建立的裸裝置。

qingsong@ubuntu:~$ db2start

SQL1063N  DB2START processing was successful.

 

qingsong@ubuntu:~$ db2 connect to qsmiao

 

   Database Connection Information

 

 Database server        = DB2/LINUXX8664 10.5.4

 SQL authorization ID   = QINGSONG

 Local database alias   = QSMIAO

 

qingsong@ubuntu:~$ db2 "create tablespace lvtbs managed by database using(device '/dev/raw/raw3' 300)"

DB20000I  The SQL command completed successfully.

 

 

不過,重啟機器之後,建立的裸裝置/dev/raw/raw3就會消失,目前沒有找到解決辦法,一種替代方案是一開機就自動建立一次,把下面4行添加進/etc/rc.local中

 

modprobe raw

mknod /dev/raw/raw3 c 162 3

raw /dev/raw/raw3 /dev/mainVG/thirdlv

chown qingsong:qingsong /dev/raw/raw3

 

 

測試環境:

Ubuntu 14.04

DB2 10.5.4

 

參考:

http://www.informix-zone.com/node/38#fromlog

歡迎批評指正


怎查看DB2的後台進程?怎看系統分配給資料庫的裸裝置

1. unix/linux ls -al|grep db2
2. 如果從 lv 的名字上看不出來…… 就連上資料庫,然後看錶空間容器吧……
 
我的資料表空間用的裸裝置,我怎擴大資料表空間,

使用裸裝置建立資料表空間和使用普通檔案系統建立資料表空間沒有太大區別,只是把資料檔案名換成裸分區名。在裸裝置上建立資料表空間,Oracle首先要進行格式化,這個過程比在檔案系統上格式化要慢,需要等待一段時間。資料檔案的體積要小於裸裝置的體積,需要留出部分空間做裸裝置的管理工作。
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.