Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> How to stop replication absolutely

How to stop replication absolutely

From: sealo <seahalo_at_gmail.com>
Date: 8 Jan 2007 19:53:19 -0800
Message-ID: <1168314799.453055.77960@38g2000cwa.googlegroups.com>


Hello,
I need to modify the record in one oracle. And this db is running replication with another.
Then, I do the general routine of stop replication like follows.

1. Stop the PUSH job to both side
2. Execute DBMS_REPUTIL.REPLICATION_OFF at local side
3. Truncate table  system.def$_aqcall and system.def\\$_aqerror;

And, the replication was stopped. Then I add some records into the table locally, and the mate side don't change.

The issue is , when I resume the replication 1. Start PUSH job to the both side
2. Execute DBMS_REPUTIL.REPLICATION_ON at local side

The recent inserted record are replicated to the mate again! It's not my expectation.

Only if I redo the STOP replication again before resume the replication, the recent change in local side will no replicated to the mate side.

Could someone tell me what''s wrong or how to improve it ?

P.S.
It's ORACLE 10g, linux x86 version.
The related shell code of stop replication.

......

    disable_push_job ${MY_DBName};
    if [ ${MATE_DBName}"x" != "x" ]; then

        disable_push_job ${MATE_DBName};     fi

    rc=`$ORACLE_HOME/bin/sqlplus -s repadmin/repadmin << EOF set pages 0
set feedback off;
set heading off;
set echo off;
whenever sqlerror exit failure
begin
DBMS_REPUTIL.REPLICATION_OFF;
end;
/

TRUNCATE TABLE system.def\\$_aqcall;
TRUNCATE TABLE system.def\\$_aqerror;
exit;
EOF`;     if [[ $? -ne 0 ]]; then

        error "FAILED - to turned off Replication on $v_my_db: on `date`";

        error "rc = $rc" ;
        return 1

    fi
......
Received on Mon Jan 08 2007 - 21:53:19 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US