Hi, group, I am reading RMAN (9206) and have a question about data block
level restore.
First question is, how could I create a data block corruption for testing
purpose?
Second, if I restore only one block from older backups, what will happen to
the data inside the database? I am a little bit confused here. Say if the
data block contains data in a parent table, and I restored an older data
block, which does not have the entry of this row any more, what happens to
the child table entries which depends on this row?
Thans for your help.
hpuxrac - 31 Jul 2005 19:05 GMT
> Hi, group, I am reading RMAN (9206) and have a question about data block
> level restore.
[quoted text clipped - 9 lines]
>
> Thans for your help.
To create block corruption (for testing purposes ONLY on a test system)
you have 2 choices that I am aware of that work for windows or unix
based systems.
For windows, there are a bunch of free editors that can edit any block.
Use one of them to trash a block (just write binary ones to the whole
block for example).
On unix or linux based systems you can again use a hex editor or use
the dd command to copy in a block of all 1's or 0's or whatever you
choose.
You use the rman commands to detect and recover from block corruption.
Rman will recover the corrupted block and apply online redo entries to
bring the datablock to "what it should be". Child table entries in
other non corrupted blocks won't be affected at all.
Matthias Hoys - 31 Jul 2005 20:49 GMT
>> Hi, group, I am reading RMAN (9206) and have a question about data block
>> level restore.
[quoted text clipped - 29 lines]
> bring the datablock to "what it should be". Child table entries in
> other non corrupted blocks won't be affected at all.
On Unix, what if you open a datafile with vi and change some of the contents
? Never tried it lol.
hpuxrac - 31 Jul 2005 21:34 GMT
> >> Hi, group, I am reading RMAN (9206) and have a question about data block
> >> level restore.
[quoted text clipped - 32 lines]
> On Unix, what if you open a datafile with vi and change some of the contents
> ? Never tried it lol.
May work ok depending on what kind of oracle environment you are
running.
If raw dd is the recommended way to hose up your oracle database blocks.
kwr2k - 01 Aug 2005 00:10 GMT
I would like more info about what would happen to the child table as
mentioned in the original post? If a previous version of the data block
is restored by RMAN then records in that block will be out of sync with
the rest of the database/blocks, won't they?