|
Home > Archive > Oracle Server > July 2005 > RMAN: data block restore
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
RMAN: data block restore
|
|
| EdwardNing 2005-07-31, 7:23 am |
| 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 2005-07-31, 1:23 pm |
| EdwardNing (nospam) wrote:
> 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.
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 2005-07-31, 8:23 pm |
|
"hpuxrac" < johnbhurley@sbcgloba
l.net> wrote in message
news:1122833131.224809.26030@g43g2000cwa.googlegroups.com...
> EdwardNing (nospam) wrote:
>
> 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.
>
On Unix, what if you open a datafile with vi and change some of the contents
? Never tried it lol.
| |
| hpuxrac 2005-07-31, 8:23 pm |
|
Matthias Hoys wrote:
> "hpuxrac" < johnbhurley@sbcgloba
l.net> wrote in message
> news:1122833131.224809.26030@g43g2000cwa.googlegroups.com...
>
> 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.
| |
|
| 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?
|
|
|
|
|