cancel
Showing results for 
Search instead for 
Did you mean: 

Function of Replicated Enqueue Server

Former Member
0 Kudos

Hello,

unfortunately I didn´t found a related thread to this topic except for this:

I have a question to the functionality of the Replicated Enqueue Server.

We have a high availability architecture where Oracle and the ASCS are protected by Oracle Real Application Cluster / CRS.

On node A are running the ASCS, on node B is running the Replicated Enqueue Server. (Platform is Linux x86_64)

During the HA tests there was the following situation:

1. Running transactions during a failover of the ASCS (SGEN, DBACOCKPIT etc)

2. ASCS startet on Node B --> correct!

3. The transactions from 1. were reset because of "lost of the lock table". --> not correct?

So my question is, why I have a replicated enqueue server with a replicated lock table when my transactions are reset because of "lost of the lock table"??

I thought when the ASCS are startet on node B the content of the repl. lock table would be loaded into the lock table of the "new" ASCS!

Can anybody help me?

It is important because I have to determine if our solution is working or not!

Thanks and best regards.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Can you check if replication of lock entries is taking place? Check the following link on how to do this:

http://help.sap.com/saphelp_nw70ehp1/helpdata/en/47/e8ee429bd54231e10000000a421937/frameset.htm

Kind regards,

Mark Dijsselbloem

Former Member
0 Kudos

Hi Mark,<br>

<br>

I read all the configuration information for standalone enqueue and replicated enqueue (thanks for the link, mark!). And I found a little bit a mismatch between the parameters given on help.sap.com (your link, mark) and the configuration ASCS/ERS according to the document "[Providing High Availability for SAP Ressources|http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d2827bef-0c01-0010-75a3-f96aa47fe920]" from oracle.<br>

<br>

So which one I should trust?!<br>

<br>

I also already checked the trace files dev_enqsrv, dev_enqrepl (ASCS work directory) and dev_enrepsrv (from ERS work directory ) and got some alarming messages:<br>

<br>

From /usr/sap/SID/ASCS01/work:<br>

<br>

<br>

<br>


---------------------------------------------------<br>
<br>
trc file: "dev_enqsrv", trc level: 1, release: "700"<br>
---------------------------------------------------<br>
systemid   390 (AMD/Intel x86_64 with Linux)<br>
relno      7000<br>
patchlevel 0<br>
patchno    133<br>
intno      20050900<br>
make:      multithreaded, Unicode, 64 bit, optimized<br>
pid        15002<br>
<br>
<br>
[Thr 47362741701344] Tue Apr 13 12:18:13 2010<br>
[Thr 47362741701344] ShadowTable:attach: ShmCreate - pool doesn't exist<br>
[Thr 47362741701344] Enqueue: EnqMemStartupAction Utc=1271153893<br>
[Thr 47362741701344] Enqueue Info: replication enabled<br>
[Thr 47362741701344] Enqueue Info: enque/replication_dll not set<br>
[Thr 47362741701344] ShadowTable:attach: ShmCreate - pool doesn't exist<br>
[Thr 47362741701344] *** ERROR => EnqRepAttachOldTable: failed to get information on old replication table: rc=-1 [enxxmrdt.h   393]<br>
[Thr 47362741701344] EnqRepRestoreFromReplica: failed to attach to old replication table: rc=-1<br>
[Thr 47362741701344] enque/backup_file disabled in enserver environment<br>
<br>
[Thr 47362741701344] Tue Apr 13 12:18:14 2010<br>
[Thr 47362741701344] ***LOG GEZ=> Server start [encllog.cpp  493]<br>
<br>
[Thr 47362741701344] Mon Apr 19 08:30:21 2010<br>
[Thr 47362741701344] calling doAsyncSignal ( 2 ) (SigThrDefaultHandler, 0x469b30)<br>
[Thr 47362741701344] caught SIGINT or SIGQUIT (2)<br>
[Thr 47362741701344] stopAllThreads: stop Thread worker thread ...

<br>

<br>

<br>


--------------------------------------------------<br>
trc file: "dev_enqrepl", trc level: 1, release: "700"<br>
---------------------------------------------------<br>
systemid   390 (AMD/Intel x86_64 with Linux)<br>
relno      7000<br>
patchlevel 0<br>
patchno    133<br>
intno      20050900<br>
make:      multithreaded, Unicode, 64 bit, optimized<br>
pid        15002<br>
<br>
<br>
[Thr 1115703616] Tue Apr 13 12:18:14 2010<br>
[Thr 1115703616] will sleep maximal 333 ms while waiting for response<br>
[Thr 1115703616] will sleep max 5000 ms when idle<br>
[Thr 1115703616] will wait maximal 1000 ms for input<br>
<br>
[Thr 1115703616] Tue Apr 13 12:18:45 2010<br>
[Thr 1115703616] A newly started replication server has connected<br>
[Thr 1115703616] ***LOG GEZ=> repl. activ [encllog.cpp  493]<br>
<br>
[Thr 1115703616] Mon Apr 19 08:30:13 2010<br>
[Thr 1115703616] *** ERROR => ReplicationThread::Loop(): fatal error (read) on connection 0xd99d10 (hdl 5) [eniothread.c 1966]<br>
[Thr 1115703616] ***LOG GEZ=> repl. closed [encllog.cpp  493]

<br>

<br>

<br>

<br>

From /usr/sap/SID/ERS02/work:<br>

<br>


--------------------------------------------------<br>
trc file: "dev_enrepsrv", trc level: 1, release: "700"<br>
---------------------------------------------------<br>
systemid   390 (AMD/Intel x86_64 with Linux)<br>
relno      7000<br>
patchlevel 0<br>
patchno    133<br>
intno      20050900<br>
make:      multithreaded, Unicode, 64 bit, optimized<br>
pid        2575<br>
<br>
<br>
[Thr 47328704183008] Mon Apr 12 13:44:50 2010<br>
[Thr 47328704183008] Replication server start with instance number 00<br>
[Thr 47328704183008] ShadowTable:create: ShmCreate(,SHM_CREATE,len=2752840) -> 0x2aaaaabeb000<br>
[Thr 47328704183008] Connected to Enqueue Server and created repl. table with 3603 lines<br>
<br>
[Thr 47328704183008] Mon Apr 12 13:47:23 2010<br>
[Thr 47328704183008] calling doAsyncSignal ( 2 ) (SigThrDefaultHandler, 0x455900)<br>
[Thr 47328704183008] caught SIGINT or SIGQUIT (2)<br>
[Thr 47328704183008] Enqueue replication server: normal shutdown

<br>

<br>

<br>

<br>

So I guess I have really a problem with my Replicated Enqueue.<br>

<br>

Does anybody know more about this?<br>

<br>

Edited by: Geraldine P. on Apr 23, 2010 3:35 PM<br>

<br>

Edited by: Geraldine P. on Apr 23, 2010 3:36 PM<br>

Edited by: Eric Brunelle on Apr 23, 2010 10:27 AM

Former Member
0 Kudos

why the markup of bold or code is not working??

former_member204746
Active Contributor
0 Kudos

I tried to edit your posting, it looks better now but is far from perfect.

I added "smaller-than" B R "higher-than" at the end of each lines... There is something wrong but my trick helped a bit.

Former Member
0 Kudos

Make sure the replicated lock file is available on the standby ASCS.

Some time the file systems get mounted over the top of the original file systems.

Also new function that an be added into a system see OSS note 1320910 it adds a function module that you can test enqueue and all of the parts in replication.

Former Member
0 Kudos

Hi Geraldine,

Have you checked note 1249256 - Locks are lost during failover

This might be helpful in the situation you have..

Kind regards,

Mark

Former Member
0 Kudos

Hi at all,

I have some new results.

I configured the Replicated Enqueue the same way as in the description of help.sap.com "Setting up Replication Server"! And now it seems to be working. There is no lost of the lock table and no error messages in the trace files.

This sap note "1249256 - Locks are lost during failover" I checked also before, and the recommendation for those line that should be in the START profile are also mentioned in the chapter of help.sap.com. Thanks Mark!

Ok, now it´s working......buuuut my question is still: Why is the configuration according to the document "Providing High Availabilty for SAP Ressources" not working? It should be the leading document.

Does anyone have experience with this documet or configuration within Oracle RAC?

Former Member
0 Kudos

Hi Geraldine,

Good to hear that it is finally working!

The ERS configuration for a RAC cluster is not different from an "normal" ERS implementation. I would stick to the SAP documentation, as you can see, it solved your issue..

The document you are referring to is 2 years old, so it is likely that new parameters etc. have been introduced.

Kind regards,

Mark