marksmithy69
asked on
Oracle Streams Question - Problems With Apply Process
Hello everyone. I am having a problem with my apply process. I have 2 databases which are both capturing changes, and propagating to one another. My problem is, one of the databases is not applying the changes that have propagated from the other. The changes are just sitting in the apply queue. If I go to the alert log, I see this error:
A005: warning -- apply server 1, sid 283 waiting on user sid 293 for event (since 601 seconds):
If I try and stop the apply process, I get a timeout error:
begin dbms_apply_adm.stop_apply ('APLY_FROM_CNTRL'); end;
ORA-26672: timeout occurred while stopping STREAMS process APLY_FROM_CNTRL
ORA-06512: at "SYS.DBMS_LOGREP_UTIL", line 628
ORA-06512: at "SYS.DBMS_APPLY_ADM", line 55
ORA-06512: at line 1
This whole process had been working perfectly until a few days ago, when out of nowhere it just decided to quit. Does anyone have any ideas? Thanks.
A005: warning -- apply server 1, sid 283 waiting on user sid 293 for event (since 601 seconds):
If I try and stop the apply process, I get a timeout error:
begin dbms_apply_adm.stop_apply ('APLY_FROM_CNTRL'); end;
ORA-26672: timeout occurred while stopping STREAMS process APLY_FROM_CNTRL
ORA-06512: at "SYS.DBMS_LOGREP_UTIL", line 628
ORA-06512: at "SYS.DBMS_APPLY_ADM", line 55
ORA-06512: at line 1
This whole process had been working perfectly until a few days ago, when out of nowhere it just decided to quit. Does anyone have any ideas? Thanks.
ASKER
Yep, I tried that earlier (I forgot to add that to the original thread), and I was able to stop the apply process, but upon restart I still get the same error in the alert log. This is the command FYI...
SQL> exec dbms_apply_adm.stop_apply ('APLY_FROM_CNTRL', true);
SQL> exec dbms_apply_adm.stop_apply ('APLY_FROM_CNTRL', true);
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
There wasn't a recovery performed lately, but there was a Dataguard failover. Our primary went down, and it failed over to the standby. After the primary came back up, I switched back over to the original primary. It was around this time when things started to go downhill with the apply process.
I'm not a dataguard person.
There aren't many streams folks around here (I use it but am far from an expert with it).
There are a few dataguard Experts around so they might be able to add some insight.
I've never thought about how to configure a dataguard setup with streams replication but I can see how it would be interesting to try.
Did you instantiate the primary and failover with streams or just the primary? I can see a dataguard failover messing up apply if the failover wasn't also replicating.
Did you by chance try a dataguard failover with streams before you went into production with it?
I'm definitely thinking Support SR now.
There aren't many streams folks around here (I use it but am far from an expert with it).
There are a few dataguard Experts around so they might be able to add some insight.
I've never thought about how to configure a dataguard setup with streams replication but I can see how it would be interesting to try.
Did you instantiate the primary and failover with streams or just the primary? I can see a dataguard failover messing up apply if the failover wasn't also replicating.
Did you by chance try a dataguard failover with streams before you went into production with it?
I'm definitely thinking Support SR now.
ASKER
Yes, this was tested before we went to production. We've had a failover occur before, with no problems with streams in the past. We use a virtual ip address, which checks the dataguard configuration. Whichever is the primary database is where the virtual ip points.
That's cool. I know very little about how dataguard works under the scenes but could imagine it confusing Streams.
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
Try forcing it down
And restart it.