学无止境
分类: AIX
2013-08-23 09:19:24
不同的UNIX对裸设备的管理不完全相同,特别要注意的是某些UNIX在每个裸设备的头部要保留一定的空间,应用程序在使用裸设备时不可以覆盖这一部分,否则会对裸设备造成损坏。所以一个裸设备的实际可用空间是分配给裸设备的空间再减去这部分操作系统保留空间。下面是常用UNIX的OS Reserved Size列表:
UNIX OS Reserved Size
------------ ----------------
SUN Solaris 0
HP-UX 0
IBM AIX 4k
Tru64 UNIX 64k
Linux 0
dd命令
UNIX上读写裸设备不能使用cp, cpio, tar等命令,必须用dd,下面是几个dd常用参数的简单说明,更详细的信息请参考UNIX使用手册或用命令man dd。
dd [ operand=value ... ]
if=file 指定输入文件,缺省值是标准输入
of=file 指定输出文件,缺省值是标准输出
bs=n 设置输入和输出的块大小为n字节,也可以用“k”作单位
skip=n 在拷贝之前跳过n个输入块,缺省值是0
seek=n 在拷贝之前从输出文件首部跳过n块,缺省值是0
count=n 指定拷贝的块数,缺省拷贝到输入文件结束
从文件系统迁移到裸设备时,按下表公式确定dd的参数
| OS_RESERVED_SIZE>0 | OS_RESERVED_SIZE=0
------+--------------------------+---------------------------------
bs | OS_RESERVED_SIZE | 1024k or larger
seek | 1 | 0
从裸设备迁移到文件系统时,按下表公式确定dd的参数,min表示二者之中取较小的
| OS_RESERVED_SIZE>0 | OS_RESERVED_SIZE=0
-------+--------------------------------------+------------------
bs | min(db_block_size,OS_RESERVED_SIZE) | db_block_size
skip | OS_RESERVED_SIZE /bs | 0
count | file_size /bs | file_size /bs
下表列出了常用OS上的ORACLE REDO_BLOCK_SIZE:
OS REDO_BLOCK_SIZE
----------------- ---------------
Windows 512
SUN Solaris 512
HP-UX 1024
IBM AIX 512
Compaq Tru64 UNIX 1024
Linux 512
注意,从文件系统迁移到裸设备时,裸设备一定要足够大,才能保证迁移文件的成功。