cancel
Showing results for 
Search instead for 
Did you mean: 

Recover Corrupted Archive log

former_member199632
Participant
0 Kudos

Hello,

In our standby server (SB server) there is a brapply process , which applies archived logs to Standby Server

  1. brarchive -u system/systempwd -c -f -d disk -m 30 -sd

Logs applying happens every 30min time.

(From PRD to SB Server logs are shipping.)

Suddenly, log apply process (brapply) fails.

When check the archPRD.log, we have examined that until log#78 , it applies successfully.

But , from log#78 onwards , its not applying

(Log#79, Log#80, Log#81, ..... arrives to SB server from Primary. But NOT applying)

While examining, we have noted that log#79 is corrupted.

(May be log#79...or may be log#80 even)

So, now... it requires to do the recovery process.

Kindly let me know how to do this?

Needs to recover the corrupted log file(s) , and then needs to start the brapply process again.

Here SB server uses oracle 10gR2.

DB is in MOUNT state

What will be the impact on the SB Server , if i issue this command;

SQL> ALTER DATABASE RECOVER STANDBY DATABASE UNTIL CANCEL;

Specify log: {=suggested | filename | AUTO | CANCEL}

CANCEL

Will that recover the corrupted log files? (log#79 or log#80)

How this recovery process happens?

(Is it one by one (79,80,81...etc) or.... recovery all together ?)

Is it automatically discovers the corrupted log file(s) or do we need to inform that recover this and that log files?

Is both the commands are same?

#recover database until cancel;

and

#alter database recover standby database until cancel;

Kindly help me to clarify my issue.

regards,

Zerandib

.

Accepted Solutions (1)

Accepted Solutions (1)

former_member188883
Active Contributor
0 Kudos

Hi Zerandib,

My suggestion also manually recover the corrupted log files , then remaining logs will apply automatically.

For Manuall log apply process do the following steps,

SQL>select name,status, deleted from v$archived_log where sequence#=79 and sequence#=80;

it will give the logfiles path.

scp the copied file to target(to standby machine). ('localpath/XXXXXx 79.XXXXx' )

Then in the standby database,

SQL> alter database recover managed standby database cancel;

SQL> recover automatic standby database until cancel;

< Give the full Path of the SCP'ed file >

Regards,

Deepak Kori

former_member199632
Participant
0 Kudos

Hi deepak,

Yh its worked.

Please let me know whats the difference between ,

SQL> alter database recover managed standby database cancel;

AND

SQL> recover automatic standby database until cancel;

is "recover automatic standby database until cancel" AND

"alter database recover automatic standby database until cancel"

are same? or difference/

regards,

Zerandib

former_member188883
Active Contributor
0 Kudos

Hi Zerabdin,

SQL> alter database recover managed standby database cancel;

Above command Cancels managed recovery operations.

SQL> recover automatic standby database until cancel;

Above command automatically generates the name of the next archived redo log file needed to continue the recovery operation. Oracle uses the LOG_ARCHIVE_DEST (or LOG_ARCHIVE_DEST_1) and LOG_ARCHIVE_FORMAT parameters (or their defaults) to generate the target redo log filename. If the file is found, the redo contained in that file is applied. If the file is not found, Oracle prompts you for a filename, displaying the generated filename as a suggestion.

Hence both the commands operate separetly.

Regards,

Deepak Kori

Answers (1)

Answers (1)

markus_doehr2
Active Contributor
0 Kudos

> While examining, we have noted that log#79 is corrupted.

Which errror message do you get in your alert_<SID>.log?

Markus

former_member199632
Participant
0 Kudos

Hello Markus

It said, until log#78 applying was success

But , it tried to recover log#79. It mentioned as recovery fail

How can we recover this ....

Whats happening ny this statement.

ALTER DATABASE RECOVER STANDBY DATABASE UNTIL CANCEL;

Please guide me

regards

Zerandib