问题描述
大家好,
我正在与RMAN一起在测试数据库上工作,我想测试验证命令。
在文档中,我看到有两种类型的错误,验证可以检测:
-逻辑块损坏
-物理块损坏
您能给我一个造成损坏的过程吗,因为很难在Internet上找到测试用例。
有些人说: 使用Linux的dd命令,其他人说移动你的备份的数据文件...不清楚 :-)
致以最诚挚的问候,
大卫·D·来自巴黎
专家解答
Oracle块通常为8k,因此您可以简单地将一个荒谬的8k块放在数据文件的中间,例如
假设您的数据文件是1000块长。你可以做:
离线更改表空间
dd if = my_datafile bs = 8192计数 = 600 > t1
dd if =/dev/零bs = 8291计数 = 1 > t2
dd if = my_datafile bs = 8192跳过 = 601计数 = 399 > t3
t1 t2 t3> 我的数据文件
在线更改表空间
现在你有一个数据文件,在它中间的某个地方有一个充满零的块。
逻辑是一个更强硬的命题,因为你需要创建一个 * 有效 * 块与不正确的数据。为此,您需要一个十六进制编辑器以及一些有关如何格式化块的知识。
假设您的数据文件是1000块长。你可以做:
离线更改表空间
dd if = my_datafile bs = 8192计数 = 600 > t1
dd if =/dev/零bs = 8291计数 = 1 > t2
dd if = my_datafile bs = 8192跳过 = 601计数 = 399 > t3
t1 t2 t3> 我的数据文件
在线更改表空间
现在你有一个数据文件,在它中间的某个地方有一个充满零的块。
逻辑是一个更强硬的命题,因为你需要创建一个 * 有效 * 块与不正确的数据。为此,您需要一个十六进制编辑器以及一些有关如何格式化块的知识。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




