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首先要進行格式化,這個過程比在檔案系統上格式化要慢,需要等待一段時間。資料檔案的體積要小於裸裝置的體積,需要留出部分空間做裸裝置的管理工作。