备份到磁带
备份数据库或表空间时,必须正确地设置块大小和缓冲区大小。 如果您正在使用可变块大小 (例如,在 AIX®上,如果块大小已设置为零) ,那么尤其如此。
对备份时可使用的固定块大小的数量有限制。 存在此限制的原因是 Db2® 数据库系统将备份映像头写出为 4 KB 块。 DB2 数据库系统支持的固定块大小只有 512、1024、2048 和 4096 个字节。 如果使用固定块大小,那么可以指定任何备份缓冲区大小。 但是您可能会发现,如果 DB2 数据库系统不支持该固定块大小,那么备份操作将无法成功完成。
如果数据库很大,那么使用固定块大小意味着您的备份操作可能花费比所预期更长的时间才能完成。 为了提高性能,可以使用可变块大小。
使用可变块大小时,必须指定备份缓冲区大小小于或等于正在使用的磁带设备的最大限制。 要获得优化的性能,缓冲区大小必须等于正在使用的设备的最大块大小限制。
db2 initialize tape on device using blksize
其中:- 台设备
- 是有效的磁带设备名。 在 Windows 操作系统上,缺省值为
\\.\TAPE0
。 - blksize
- 是磁带的分块因子。 它必须是 4096 的因子或倍数。 缺省值是该设备的缺省块大小。
tctl -b 0 -Bn -f /dev/rmt0 read > backup_filename.file
dd if=backup_filename.file of=/dev/rmt0 obs=4096 conv=sync
备份映像转储到名为 backup_filename.file 的文件中。 dd 命令使用块大小 4096,将映像转储到磁带上。
dd if=/dev/rmt1 of=/dev/rmt0 obs=4096
如果不可能使用两台磁带设备,那么可以使用 dd 命令将映像转储至原始设备,然后再将该映像从原始设备转储至磁带。 使用此方法的问题在于 dd 命令必须跟踪转储至原始设备的块数。 此块数必须在将映像移动回磁带时指定。 如果使用 dd 命令将映像从原始设备转储至磁带,该命令会将原始设备的整个内容转储至磁带。 dd 实用程序不能确定使用了多少原始设备空间来保留映像。
当使用 BACKUP 实用程序时,您需要知道磁带设备的最大块大小限制。 以下是一些示例:
设备 | 连接 | 块大小限制 | DB2 缓冲区大小限制(以 4-KB 页计) |
---|---|---|---|
8 毫米 | scsi | 131,072 | 32 |
3420 | s370 | 65,536 | 16 |
3480 | s370 | 61 440 | 15 |
3490 | s370 | 61 440 | 15 |
3490E | s370 | 65,536 | 16 |
7332(4 毫米)1 | scsi | 262,144 | 64 |
3490e | scsi | 262,144 | 64 |
35902 | scsi | 2,097,152 | 512 |
3570 (magstar MP) | 262,144 | 64 |
- 7332 没有块大小的限制。 256 KB 只是一个建议的值。 块大小限制由父适配器确定。
- 在 3590 支持 2 MB 的块大小时,如果性能完全可以满足您的需要,就可以尝试使用较低的值(例如 256 KB)。
- 关于设备限制的信息,请查看设备文档或向设备供应商咨询。
验证磁带设备的兼容性
仅在 UNIX , Linux®和 AIX 操作系统上,要确定是否支持磁带设备来备份 Db2 数据库,请执行以下过程:
作为数据库管理器实例所有者运行操作系统命令 dd,以便对磁带设备执行读写操作。 如果 dd 命令成功,那么可以使用磁带设备来备份 DB2 数据库。