PRM-DUL成功案例:恢复了700GB损坏严重的Oracle数据库。 某中原企业存储断电重启后发现其700GB大小的数据库,存在十几万个坏块,数据库无法正常打开使用。
用户自行尝试采用ORACLE DUL做恢复,但是由于ORACLE DUL对于该超过500万个col$记录的数据字典出现DC_COLUMNS过大导致的coredump segmentfault,导致ORACLE DUL无法正常使用。
该场景中数据块的损坏模式主要是fracture断裂。诗檀软件工程师Biot.wang 通过修改checksum+ tailchk , tailchk=低2位的bas_kcbh+type_kcbh+seq_kcbh,伪装了大部分数据块为可用。此场景中之后exp可以导出大部分数据,但是由于数据字典严重损毁,所以可能出现表上字段混乱或者缺失数据等问题, 大部分情况可以用PRM-DUL的非字典模式(NON-DICT)来解决。
在这个案例中由于用户的表和索引过多,导致数据字典异常庞大,ORACLE原厂的DUL在加载数据字典时由于其内存分配方式直接导致出现了coredump segmentfault,而COL$.DAT又过大了,很难处理分片。
在这个问题上PRM-DUL由于采用了内置一个derby数据库,所以即便数据字典再大也不会有问题,而且内置数据库中的数据也做了索引,这保证了PRM-DUL能迅速处理字典操作。 另由于此例子中需要恢复的数据表实在太多,达到了几十万张,所以充分利用了PRM-DUL的schema-level Databridge功能。 仅仅花了2天时间就基本处理完这个case了。
最新版PRM-DUL下载地址: http://parnassusdata.com/sites/default/files/ParnassusData_PRMForOracle_3206.zip
免费的PRM-DUL License :http://www.parnassusdata.com/zh-hans/node/122
Leave a Reply