This discussion is archived
2 Replies Latest reply: Apr 27, 2013 11:08 AM by SherrieK RSS

# of threads required between RAC Primary and RAC Standby

SherrieK Newbie
Currently Being Moderated
Oracle 11.1.0.7
Primary 3 Node RAC
Standby 2 Node RAC

Our primary (3 nodes) has 4 groups on each node, with the thread# relating to the instance number. For example, we have thread 1, 2, 3 each with 4 multiplexed groups.

Our standby was created with RMAN Duplicate and it also has 3 threads, but there are only 2 nodes.

The purpose of this Data Guard implementation is to migrate our development and acceptance environments to another data center with different hardware.

The new site has been running well and we started migrating development, where we did a switchover to the new environment; our standby databases are now our primary databases. We are going to keep the Data Guard implementation for awhile just to be sure all of the developers and applications are good.

I was going to drop the 3rd thread from the new primary (old standby) because there are only 2 nodes. I can take it down to 2 groups and then receive the error:
ORA-01567: dropping log 9 would leave less than 2 log files for instance play3 (thread 3)
ORA-00312: online log 9 thread 3: '+ASM_FRA_DA/dgplay/onlinelog/group_9.28331.811864225'

This group’s status is:
THREAD# GROUP# MEMBER SEQ STATUS
-------- ------- ------------------------------------------------------------ ---- ---------
3 5 +ASM_FRA_DA/dgplay/onlinelog/group_5.8108.813676681             0 UNUSED
6 +ASM_FRA_DA/dgplay/onlinelog/group_6.8109.813676687             0 UNUSED
9 +ASM_FRA_DA/dgplay/onlinelog/group_9.28331.811864225            0 UNUSED
22 +ASM_FRA_DA/dgplay/onlinelog/group_22.18321.811184283           0 UNUSED

Plans are to un-Data Guard these environments to decommission the hardware. At that time I’m sure I can remove thread# because it’s not needed.

My question has to do with the logs needed between primary and standby. What I’m seeing is that the greatest number of threads are needed on each side, but not quite sure why if they are UNUSED. Can anyone elaborate on this? I can find no documentation that talks about this.

Sherrie
  • 1. Re: # of threads required between RAC Primary and RAC Standby
    Balazs Papp Expert
    Currently Being Moderated
    Hi,

    You could do:

    ALTER DATABASE DISABLE THREAD 3;

    check status of the groups in the thread, if any of them <> UNUSED, then archive them:

    ALTER SYSTEM ARCHIVE LOG GROUP x;

    Then drop the groups.
    My question has to do with the logs needed between primary and standby. What I’m seeing is that the greatest number of threads are needed on each side, but not quite sure why if they are UNUSED. Can anyone elaborate on this? I can find no documentation that talks about this.
    Actually a RAC standby can work with just 1 instance started, because the MRP process runs only on 1 instance. Opening the standby is another story.
    But of course you should have enough standby redo logs on the standby site to receive redo from the primary site.
  • 2. Re: # of threads required between RAC Primary and RAC Standby
    SherrieK Newbie
    Currently Being Moderated
    Hi. Thank you for the quick response!

    We are not running Active Data Guard and don't plan on opening the standby for read-write, and we have enough standby logs.

    Right now my STANDBY is 3-node and PRIMARY is 2-node, but the PRIMARY shows 3 threads of redo of which thread 3 is UNUSED.

    Is this needed for something in the Data Guard implementation? Should I go ahead and drop thread 3 from my PRIMARY? Sometimes what we CAN do as opposed to what we SHOULD do are not the same. Eventually we are going to un-Data Guard this environment so it not be an issue then, but I'm trying to understand. Maybe it's something that I should just safely ignore for now.

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points