DB2中使用裸设备作为表空间容器

DB2中使用裸设备作为容器需要三个步骤:1. 创建LV。2. 绑定LV和裸设备 3.创建表空间

1. 创建lv

[email protected]:~# vgdisplay <-查看可用的Volume Group

[email protected]:~# 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

[email protected]:~# lvcreate -L 200M -n testlv mainVG  <--创建lv

Logical volume "testlv" created

[email protected]:~# ls -l /dev/mainVG/testlv

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

[email protected]:~# 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上

[email protected]:~# modprobe raw

[email protected]:~# mknod /dev/raw/raw3 c 162 3

[email protected]:~# raw /dev/raw/raw3 /dev/mainVG/testlv

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

[email protected]:~# chown qingsong:qingsong /dev/raw/raw3

[email protected]:~# ls -l /dev/raw/raw3

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

3. 切换至实例用户,启动数据库,并创建表空间,容器使用刚刚创建的裸设备。

[email protected]:~$ db2start

SQL1063N  DB2START processing was successful.

[email protected]:~$ db2 connect to qsmiao

Database Connection Information

Database server        = DB2/LINUXX8664 10.5.4

SQL authorization ID   = QINGSONG

Local database alias   = QSMIAO

[email protected]:~$ 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

欢迎批评指正

时间: 2024-10-12 22:27:50

DB2中使用裸设备作为表空间容器的相关文章

DB2支持的三种表空间SMS、DMS、DMS的自动存储

DB2支持的三种表空间SMS.DMS.DMS的自动存储 DB2中,表空间是数据库与这个数据库中存储的表之间的逻辑层.表空间在数据库中创建,表在表空间中创建.容器是一个物理存储设备.它可以由目录名.设备名或文件名标识.容器被分配给表空间.表空间可以跨许多容器(类似于Oracle中datafile的概念),这意味着可以突破操作系统对于一个容器可以包含的数据量的限制.DB2 支持三种表空间: ·         系统管理的空间(System-Managed Space,SMS):在这里,由操作系统的文

DB2查看表空间和增加表空间容量

Db2 connect to xxx Db2 “LIST TABLESPACES SHOW DETAIL” Tablespace ID = 7 Name = TSASNAA Type = Database managed space Contents = All permanent data. Large table space. State = 0x0000 Detailed explanation:[@[email protected]] Normal Total pages = 14800

【db2】表空间的管理,创建,维护

 ************************************************************************   ****原文:blog.csdn.net/clark_xu 徐长亮的专栏 ************************************************************************    1 存储物理结构      datapage数据页是db2的最小存储结构:有4KB,8KB,16KB,32KB 操作系

【DB2】表空间相关详细说明

-.创建表空间 1.创建用户表空间 声明:在指定表空间创建路径的时候,需要指定空文件夹,非空文件夹会导致创建报错!!!如果文件夹不存在,那么在创建表空间的时候会自动创建文件夹! 1.1 创建SMS表空间 CREATE TABLESPACE <NAME> MANAGED BY SYSTEM USING ('<path>') 例子:db2 "create tablespace tbs1 managed by system using ('/db2home/db2inst1/d

DB2表空间重定向恢复数据库实战

DB2的备份恢复有点坑,当源系统和目标系统的路径设置不同时,要手动进行重定向恢复,本文是我一次实战操作之后总结的过程,仅供参考. 一.发出重定向恢复命令 DB2 RESTORE DB OLDDB FROM "C:\OLDDBbak" TAKEN AT 20150717164847 TO "C:" INTO NEWDB REDIRECT 其中,OLDDB是旧数据库.备份的数据库名称,NEWDB是新数据库名称,不用事先创建也可以,C:\OLDDBbak是备份文件放置的目

Oracle中的表空间

表空间是什么? Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构是指构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念及它们之间的关系. 表空间是数据库数据库逻辑结构的一个重要组件.表空间可以存放各种应用对象,如表.索引.而每个表空间由一个或多个数据文件组成. 表空间的分类 1.永久性表空间: 一般保存表.视图.过程和索引等的数据.SYSTEM.SYSAUX.USERS.TEMP表空间是默认安装的. 2.临时性表空间: 只用于保存系统中短期活动的数据,

表空间、缓冲池

表空间是数据库系统中数据库逻辑结构与操作系统物理结构之间建立映射的重要存储结构,它作为数据库与实际存放数据的容器之间的中间层,用于指明数据库中数据的物理位置.任何数据库的创建都必须显式或隐式的为其指定表空间,且数据库中的所有数据都位于表空间中. 用户可以根据硬件环境以及成本等需求,通过指定建立在不同容器上的表空间来自由选择数据的物理存储位置.同时由于备份和恢复可以在表空间级别执行,用户能够进行更多粒度的备份恢复控制. 理解表空间前先理解容器. 容器(Container) 容器是物理存储设备,可以

linux添加裸设备

1.什么裸设备?字符设备?块设备? 裸设备:也叫裸分区(原始分区),是一种没有经过格式化,不被Unix/Linux通过文件系统来读取的特殊字符设备.裸设备,也叫裸分区(原始分区),是一种没有经过格式化,不被Unix通过文件系统来读取的特殊字符设备.它由应用程序负责对它进行读写操作.不经过文件系统的缓冲.裸设备可以绑定一个分区,也可以绑定一个磁盘. 字符设备:对字符设备的读写不需要通过OS的buffer.它不可被文件系统mount. 块设备:对块设备的读写需要通过OS的buffer,它可以被mou

db2中的常用命令及使用方法

一.高(重要度) 1.启动一个db 2实例使用:  net start instanceName 2.停止一个db 2实例使用:  net stop instanceName 3.启动配置助手:  db2=>!db2ca 4.手工配置连接:  db2=>catalog node/db 5.删除视图:  db2=>drop view view_name 6.创建表:  db2=>create table tablename 7.列出活动的数据库和连接数:  db2=>list