使用容器来存储数据时,数据库管理器支持使用块设备接口(即原始 I/O)直接访问磁盘(原始)。
在 Linux 环境中工作时应使用下列信息。在 Linux/390 上,数据库管理器不支持直接磁盘访问设备。
要在 Linux 上配置原始 I/O:
在本示例中,要使用的原始数据库分区是 /dev/sda5。它应该不包含任何有用的数据。
# fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 255 heads, 63 sectors, 1106 cylinders
Units = cylinders of 16065 * 512 bytes
| 设备引导 | 开始 | 结束 | 块 | 标识 | 系统 |
|---|---|---|---|---|---|
| /dev/sda1 | 1 | 523 | 4200997 | 83 | Linux |
| /dev/sda2 | 524 | 1106 | 4682947+ | 5 | 扩展 |
| /dev/sda5 | 524 | 1106 | 4682947 | 83 | Linux |
Command (m for help): q
#
/dev/sda5 中的页数是:num_pages = floor( (4682947 * 1024)/4096 )
num_pages = 1170736
CREATE TABLESPACE dms1
MANAGED BY DATABASE
USING (DEVICE '/dev/sda5' 1170736)
CREATE TABLESPACE TS4
MANAGED BY DATABASE USING (DEVICE 'C:\JUNCTION\DISK_1' 10000,
DEVICE 'C:\JUNCTION\DISK_2' 10000)
数据库管理器首先查询分区以了解其中是否存在文件系统 R;如果存在,那么不将该分区视为原始设备,并在该分区上执行一般文件系统 I/O 操作。数据库管理器所支持的所有其他页大小也支持原始设备上的表空间。
在 V9 以前,使用 Linux 上的原始控制器实用程序来直接访问磁盘。现在,不推荐使用此方法,也不鼓励使用此方法。如果 Linux 操作系统仍支持此方法,那么数据库管理器就会仍允许使用它,但是,在 db2diag 日志文件中将有一条消息指示已不推荐使用该方法。
CREATE TABLESPACE dms1
MANAGED BY DATABASE
USING (DEVICE '/dev/raw/raw1' 1170736)