How to handle dead (corrupted) block in AUL (MyDUL)?

Links: http://www.dbatools.net/mydul/aul_deadblock.html

    In Oracle we know that it's possible to contain some corrupted blocks that cannot be read, We could use dbv or rman to check them. But in AUL/MyDUL, it's still possible to recover rows from these corrupted blocks, unless the corruption caused the AUL/MyDUL abort the running, due to the corruption caused the AUL/MyDUL memory access out of bound. I do not want to call them corrupted blocks, I named them as dead blocks. We could get them skipped with some extra steps.

    First we need to identify them out, I will introduce "set verbose 1" command to you, with this setting, AUL/MyDUL will print out the relative data block address (RDBA) of the last processing block, so if program died, we just mark the last block as corrupted, then we restart the processing. If there are more than one dead blocks, we may take some round trips. As following:

AUL> set verbose 1
  Current VERBOSE is : 1
AUL> unload table mydul.t_lob to t_lob.txt;
2006-08-12 14:11:15
Unload OBJD=9946 FILE=4 BLOCK=219 CLUSTER=0 ...
Recover rows from RDBA=16777436 ...
Recover rows from RDBA=16777437 ...
Recover rows from RDBA=16777438 ...
Recover rows from RDBA=16777439 ...
Recover rows from RDBA=16777440 ...
<< program aborted here>>

    Then we mark the last block as corrupted and restart the processing:

AUL> corrupt rdba 16777440
AUL> corrupt list
Corrupted Blocks List:
  RDBA = 16777440 , FILE = 4 , BLOCK = 224
AUL> unload table mydul.t_lob to t_lob.txt;
2006-08-12 14:13:46
Unload OBJD=9946 FILE=4 BLOCK=219 CLUSTER=0 ...
Recover rows from RDBA=16777436 ...
Recover rows from RDBA=16777437 ...
Recover rows from RDBA=16777438 ...
Recover rows from RDBA=16777439 ...
Recover rows from RDBA=16777440 ...
Block check failed at RDBA=0x010000e0=16777440
Recover rows from RDBA=16777553 ...
Recover rows from RDBA=16777554 ...
2006-08-12 14:13:49

    The "Block check failed ..." line means AUL/MyDUL skip this marked block. Enjoy it!

Post a comment

« Previous | Main | Next »

Powered by
Movable Type 3.36