- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
oracle dd工具
dd重要参数
参数含义if输入设备或者文件of输出设备或文件bsdd缓冲区。设定dd时一次io拷贝多少数据,它与输入文件和输出文件的block size都没有直接联系。
一般来说,bs越大,拷贝速度越快skip设定dd时从输入文件中跳过多少个dd缓冲区开始拷贝数据。一般在裸设备有offset时使用seek设定dd时从输出文件中跳过多少个dd缓冲区开始写入数据。一般在裸设备有offset时使用count设置dd的io数量。如果省略了count,表示完全拷贝输入文件到输出文件上dd参数适用范围
备份源备份目的地适用参数裸设备裸设备if of bs skip seek count裸设备文件系统if of bs skip count文件系统裸设备if of bs seek文件系统文件系统if of bsdd拷贝oracle数据文件需要考虑的因素
因素含义block size dd一次io的buffer大小offset只适用于裸设备,有些操作系统在裸设备上保留一定的空间给内部使用,拷贝时要跳过这部分内容block 0每一个oracle数据文件的头都包含一个与数据文件所在表空间的blocksize的相等的block
这个block是不计算入oracle数据文件的bytes的,但在操作系统中,它是会占用空间的。如何用dd测试磁盘速度?
首先要了解两个特殊的设备:
/dev/null:回收站、无底洞
/dev/zero:产生字符
??测试磁盘写能力
time dd if=/dev/zero of=/test.dbf bs=8k count=300000
因为/dev//zero是一个伪设备,它只产生空字符流,对它不会产生IO,所以,IO都会集中在of文件中,of文件只用于写,所以这个命令相当于测试磁盘的写能力。
??测试磁盘读能力
time dd if=/dev/sdb1 of=/dev/null bs=8k
因为/dev/sdb1是一个物理分区,对它的读取会产生IO,/dev/null是伪设备,相当于黑洞,of到该设备不会产生IO,所以,这个命令的IO只发生在/dev/sdb1上,也相当于测试磁盘的读能力。
??测试同时读写能力
time dd if=/dev/sdb1 of=/test1.dbf bs=8k
这个命令下,一个是物理分区,一个是实际的文件,对它们的读写都会产生IO(对/dev/sdb1是读,对/test1.dbf是写),假设他们都在一个磁盘中,这个命令就相当于测试磁盘的同时读写能力。
是否需要skip数据文件的block 0?
不需要。
因为block 0位于offset之后,而block 0是所有数据文件都需要的,无论它是基于裸备还是文件系统,且block0的大小只与oracle的block size有关,所以,把block 0也dd出来是必要的,不需要skip数据文件的block 0。
是否所有系统都有offset?
不是。aix和Turbo unix要注意offset,其他的一般没有。
如何计算数据文件的占用的实际空间大小?
实际的数据文件大小是在dba_data_files中的bytes + 1* blocksize。
如:
SQL select file_name,bytes from dba_data_files;
FILE_NAME BYTES BLOCKSIZE
/opt/oracle/oradata/test1/system01.dbf 360710144 8192
在操作系统查看文件大小:
[root@suk1 soft]# ls -l system01.dbf
-rw-r--r-- 1 oracle oinstall 360718336 Nov 15 11:53 system01.dbf
360718336 = 360710144 + 8192 (8192是数据文件所在表空间的blocksize)
一个裸设备的数据文件最多可以是多大?
这个和具体的操作系统和数据文件所在表空间的blocksize有关。
假设裸设备的大小是r,操作系统裸设备的offset为f,数据文件所在表空间的blocksize是b,则数据文件的最大大小为:
d=r – f – b*1 (1为block 0)
如裸设备大小为1008k,offset为0,表空间的blocksize为4k,则在此裸设备的数据文件的最大大小为:
d=1008-0-1*4=1004(k)
在裸设备之间拷贝数据文件
本例测试在裸设备之间拷贝oracle数据文件的步骤,并考虑两个问题:
1) 假设旧设备比新设备小,把大的裸设备数据文件拷贝到小的裸设备是
文档评论(0)