记一次Oracle坏块修复过程(二)

2015-07-16 12:09:17 · 作者: · 浏览: 19
? ? and block_id + blocks? -1 ;
? ? ? ? ? ?
?3)插入数据初始化坏块
Begin
?FOR i IN 1..1000000000 loop
? ? for j IN 1..100000 loop
? ? ? Insert into users.s VALUES(i,'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
? ? end loop;
? ? commit;
?END LOOP;
?END;


?7、验证是否存在坏块
Rman> Backup validate check logical datafile ;
或者validate datafile block , ? ;
?Select * from v$database_block_corruption ;
例如:
validate datafile 11? block 184959440, 184961480,184961481 ;
?Select * from v$database_block_corruption ;


?8、当第7步确认坏块已消除,即可删除测试表
DROP TABLE users.s purge;


?9、切换多次日志及checkpoint
?Alter system switch logfile ;
?Alter system checkpoint ;


?10、删除触发器
DROP trigger CORRUPT_TRIGGER ;
?DROP trigger corrupt_trigger1 ;
?DROP trigger corrupt_trigger2 ;