Streams foreign archivelog restore

  • From: Rich <richa03@xxxxxxxxx>
  • To: Oracle-L Freelists <oracle-l@xxxxxxxxxxxxx>
  • Date: Wed, 27 Jul 2011 15:11:30 -0700

Hi All,
This is 11.2.0.2 DB (64-bit) on RHEL 5.6 using ASM.

This instance is the Streams destination for a 10.2.0.4 DB (non-ASM).

It is set up as real-time downstream capture.

It has been through:
stop apply
stop capture
shutdown immediate;
startup
start capture
start apply.

Now, the alertlog complains:
LOGMINER: Error 308 encountered, failed to read  logfile
+FRA/prdstr/foreign_archivelog/dbid_139235938/2011_07_27/thread_1_seq_9529.4234.757609859
...

RFS is still receiving logfiles on the downstream instance from the source
DB, so this was not a transport issue:
RFS LogMiner: Registered logfile
[+FRA/prdstr/foreign_archivelog/dbid_139235938/2011_07_27/thread_1_seq_9570.3015.757634233]
to LogMiner session id [3]

Seems that Oracle removed some of the necessary foreign archivelogs at
shutdown:
Deleted Oracle managed file
+FRA/prdstr/foreign_archivelog/dbid_139235938/2011_07_18/thread_1_seq_9529.4234.757609859
...

We have done this a number of times before (stop apply and capture,
shutdown, startup, start capture and apply) with no issue.

These archived redo files exist on the primary, however, I don't know how to
get them to the destination such that logminer can read them.

I know how to do this for "normal" archived redo and "normal" file system,
however, how is this (restoration of foreign archivelog files) done with
ASM?
A "straight" copy will not work as ASM will append it's serial numbers to
the file...

TIA,
Rich

Other related posts: