Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

When a plog is corrupted and it is required to recreate the corrupted plog we have to reset mine to start parsing again from old redo/archivelog and generate plog. This will re-create all the plogs from the corrupted plog.

Example : Plog 1056

1. First of all shutdown mine and apply.

2. Get REDO LOG sequence with which plog 1056 was created. Run following command on MINE server.

SQL> select REDO_THREAD,REDO_SEQUENCE,PLOG_SEQUENCE from DBRSMINE_RLOG_PLOG_MAP where PLOG_SEQUENCE=1056;REDO_THREAD REDO_SEQUENCE PLOG_SEQUENCE
 ----------- ------------- -------------
 1 1056 1056

3. Delete records from DBRSAPPLY_PLOG_HISTORY on APPLY server. Copy the table to some temp table as backup.

SQL> create table DBRSAPPLY_PLOG_HISTORY_TEMP as select * from DBRSAPPLY_PLOG_HISTORY;
Table created.
SQL>
SQL> delete from DBRSAPPLY_PLOG_HISTORY where SEQUENCE>=1056;
2 rows deleted.
SQL> commit;
Commit complete

.

4. Delete records from DBRSAPPLY_REDO_LOG_HISTORY on APPLY server. Copy the table to some temp table as backup.
Here SEQUENCE column denotes redo sequence. In RAC source, a plog is created from multiple redo's of different threads, therefore we have to delete records for all threads. ( 2 threads for 2 RAC source).

SQL> create table APP_REDO_HISTORY_TEMP as select * from DBRSAPPLY_REDO_LOG_HISTORY
Table created
SQL>
SQL> delete from DBRSAPPLY_REDO_LOG_HISTORY where SEQUENCE>=1056 and THREAD=1;
2 rows deleted.
SQL> commit;
Commit complete.
 
------ FOR THREAD 2: (IN RAC SOURCE) ------
SQL> delete from DBRSAPPLY_REDO_LOG_HISTORY where SEQUENCE>=XXXX and THREAD=2;

5. Reset MINE using following command. Execute this command in console when mine and apply are NOT running. 

dbvrep> ENGINE MINE RESET TO PLOG 1056

6. Delete plog files from mine and apply server as mine will generate new plogs for same sequneces.

oracle@dbvlin203[/home/oracle/reptest1/mine]: ls
1053.plog 1054.plog 1055.plog 1056.plog 1057.plog 1058.plog 1059.plog
oracle@dbvlin203[/home/oracle/reptest1/mine]: rm -r 1056.plog 1057.plog 1058.plog 1059.plog
oracle@dbvlin203[/home/oracle/reptest1/mine]:
-- Repeat on APPLY --

7. Now you can start mine and apply. Mine will start parsing from redo 1056 again.

When fetcher is used, delete archives from mine_stage. Output of step 2 will help you in identifying archives for deletion.

  • No labels